[운영체제] 1주차 공부

김서영·2021년 9월 12일
0

운영체제 스터디

목록 보기
1/10


이화여대 반효경 교수님 강의 : http://www.kocw.or.kr/home/cview.do?cid=4b9cd4c7178db077

운영체제(Operating System)

기본 구조 / 목적 / 기능


컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층.

컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공하고, 자원을 효율적으로 관리 (주어진 자원으로 최대한의 성능을 내도록, 특정 사용자/프로그램이 CPU를 독식하지 않도록)

CPU 스케줄링

FCFS (First-Come First-Served)

프로세스의 도착한 순서대로 처리해주는 기법.
은행에서의 번호표처럼 먼저 온 순서대로~
공평해보이지만, 효율적이진 않음.
혹여나 첫번째로 오는 프로세스가 시간을 많이 잡아먹게 되면, 다른 프로세스들이 너무 오래 기다리게 됨.

SJF (Shortest-Job-First)

금번 CPU 사용시간이 가장 짧은 프로세스를 제일 먼저 스케줄하는 기법. Minimum average waiting time을 보장.
다만, CPU 사용시간이 오래 걸리는 프로세스의 경우 계에에에에속 기다려야 하는 starvation이 발생할 수 있음.
효율성은 좋지만, 형평성이 별로.

Round Robin

각 프로세스는 동일 크기의 CPU 할당시간을 가지고, 할당시간이 끝나면, 인터럽트를 발생시켜 CPU를 빼앗기고 CPU 대기 큐에 다시 줄을 섬.
어떤 프로세스도 (n-1)*할당시간 이상 기다리지 않음.
대기시간이 프로세스의 CPU 사용시간에 비례.

메모리 관리


디스크(파일시스템)은 비휘발성으로 컴퓨터 전원이 나가더라도, 정보를 여전히 갖고 있다. 디스크(파일시스템) 속 실행파일 A와 B는 가상 메모리에 자신의 영역을 정한다. 그리고 그 중 당장 필요한 부분은 메모리에 올린다.
메모리 공간을 휘발성이므로, 컴퓨터 전원이 꺼지면 정보가 모두 날라간다. 메모리의 공간이 한정적이기 때문에 어떤 중요하지 않은 부분은 디스크(스왑영역)로 쫓겨나기도 한다.
메모리의 연장선이라고 볼 수 있으나, 디스크(스왑영역)은 비휘발성으로 컴퓨터 전원이 나가도 정보는 살아있다. 다만, 메모리에 정보가 날라가기 때문에 디스크(스왑영역)의 정보가 불필요해진다.

CPU가 요청한 페이지 순서대로 메모리에 올려뒀다, 다만 5번 페이지를 올리기에는 메모리 공간이 한정적이라 하나를 쫓아내야하는데 이때 어떤 걸 쫓아내야하는가?
(미래를 모르는 상황이기 때문에 다음에 잘 나오지 않을 페이지를 골라야 효율적임)

LRU (가장 오래전에 참조 페이지 삭제)

위의 경우 1번 삭제

LFU (참조횟수가 가장 적은 페이지 삭제)

위의 경우 4번 삭제

어느 것도 장단점이 있기 때문에 잘 해결해야함.
어느 페이지가 미래에 인기 있을 지 모르기 때문.

디스크 스케줄링

디스크 큐에 따라 디스크 헤드를 이동하는 데, 헤드의 이동 시간을 최소화하는 것이 중요.

디스크 접근 시간의 구성 / 스케줄링

FCFS (First-Come First-Served)

디스크 큐 순서대로 이동.
예를 들어, 1에서 99로 이동해야한다면 헤드 이동이 길어지기 때문에 비효율적

SSTF(Shortest Seek Time First)

누가 현재 위치에서 헤드 이동이 누가 제일 짧은지 파악 후 이동.
Starvation 문제 (멀리 있다고 계에에에에에속 기다려야할 수도....)
따라서 효율적이지만 형평성 문제 발생

SCAN (가장 근간이 되는 방법)

헤드가 한쪽 끝에서 다른쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리.
다른 한쪽 끝에 도착하면 역방향으로 이동하며 오는 길목에 있는 모든 요청을 처리.
특정 위치가 차별 받는 것이 없고, 헤드의 이동이 짧아진다는 장점이 있음.
대표적인 예가 엘레베이터 스케줄링.

저장장치 계층구조와 캐싱(caching)

CPU - Main Memory - Disk (일반적 순서)

계층도를 살펴보면,
위로 올라갈 수록 빠르고 비쌈. 따라서, 적은 용량만 사용..
밑으로 가면 느리지만 가격이 저렴해 용량을 많이 쓸 수 있음.
속도 차이를 완충하기 때문임.

  • Primary - CPU의 직접 접근 가능, 휘발성
  • Secondary - Primary를 통해 접근, 비휘발성, IO장치들

플래시메모리

반도체 장치이고 우리가 사용하는 장치는 대부분 NAND형.

profile
하지만 저는 이겨냅니다. 김서영이죠?

0개의 댓글