728x90
728x90
운영체제 핵심 기능
메모리 관리 기법
반입 기법
주기억 장치에 적재할 다음 프로세스의 반입 시기를 결정하는 기법
메모리로 적재 시기 결정(When)
- 요구 반입 기법
- 예상 반입 기법
배치 기법
디스크에 있는 프로세스를 주기억장치의 어느 위치에 저장할 것인지 결정하는 기법
- 최초 적합(First-fit)
- 최적 적합(Best-fit)
- 최악 적합(Worst-fit)
할당 기법
실행해야 할 프로세스를 주기억장치에 어떤 방법으로 할당할 것인지 결정하는 기법
메모리 적자 방법 결정(How)
- 연속 할당 기법
- 분산 할당 기법
교체 기법
재배치 기법으로 주기억장치에 있는 프로세스 중 어떤 프로세스를 제거할 것인지를 결정하는 기법
메모리 교체 대상 결정(Who)
- 프로세스의 Swap In/Out
- FIFO, Optimal, LRU, LFU, 시계 알고리즘, MFU
프로세스 관리
프로세스 상태
- 생성(Create) 상태 : 사용자에 의해 프로세스가 생성된 상태
- 준비(Ready) 상태 : CPU를 할당받을 수 있는 상태
- 실행(Running) 상태 : 프로세스가 CPU를 할당받아 동작 중인 상태
- 대기(Waiting) 상태 : CPU를 양도하고 완료까지 대기 리스트에서 기다리는 상태
- 완료(Complete) 상태 : 프로세스가 CPU를 할당받아 주어진 시간 내에 완전히 수행을 종료한 상태
프로세스 상태 전이
- 디스패치(Dispatch) : 프로세스는 준비 상태에서 실행 상태로 전이
- 타이머 런 아웃(Timer run out) : 프로세스는 실행 상태에서 준비 상태로 전이
- 블록(Block) : 프로세스는 실행 상태에서 대기 상태로 전이
- 웨이크 업(Wake-up) : 프로세스는 대기 상태에서 준비 상태로 전이
프로세스 스케줄링
프로세스 스케줄링 용어
- 서비스 시간 : 프로세스가 결과를 산출하기까지 소요되는 시간
- 응답시간 : 프로세스들이 입력되어 서비스를 요청하고 반응하기 시작할 때까지 소요되는 시간
- 반환시간 : 프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간
- 대기시간 : 프로세스가 프로세서에 할당 대기까지 큐에 대기하는 시간
- 평균 대기시간 : 프로세스가 대기 큐에서 대기하는 평균 시간
- 종료시간 : 요구되는 Processing Time을 모두 수행하고 종료된 시간
- 시간 할당량 : 한 프로세스가 프로세서를 독점하는 것을 방지하기 위해 서비스되는 시간 할당량
- 응답률 : (대기시간 + 서비스 시간) / 서비스 시간
프로세스 스케줄링 유형
- 선점형 스케줄링(Preemptive Scheduling) : 하나의 프로세스가 CPU를 차지하고 있을 때 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식
- 비선점형 스케줄링(Non Preemptive Scheduling) : 한 프로세스가 CPU를 할당받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스 CPU 점유가 불가능한 스케줄링 방식
선점형 스케줄링 알고리즘
- 라운드로빈(Round Robin) : 프로세스는 같은 크기의 CPU 시간을 할당하고 프로세스가 할당된 시간 내에 처리 완료되지 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어가는 방식
- SRT(Shortest Remaining Time First) : 가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점되는 방식
- 다단계 큐(Multi Level Queue) : 작업들을 여러 종류 그룹으로 분할하고 여러 개의 큐를 이용하여 상위 단계 작업에 의한 하위단계 작업이 선점 당하는 방식
- 다단계 피드백 큐(Multi Level Feedback Queue) : FCFS(FIFO)와 라운드 로빈 스케줄링을 혼합한 것으로 새로운 프로세스는 높은 우선순위, 프로세스의 실행시간이 길어질수록 점점 낮은 우선순위 큐로 이동하여 마지막 단계는 라운드 로빈을 적용하는 방식
비선점형 스케줄링 알고리즘
- 우선순위(Priority) : 프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU 할당
- 기한부(Deadline) : 작업들이 명시된 시간이나 기한 내에 완료되도록 계획
- FCFS(First Come First Service) : 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당
- SJF(Shortest Job First) : 프로세스가 도착하는 시점에 따라 그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유
- HRN(Highest Response Ratio Next) : 대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택
프로세스 관리-교착상태
교착상태는 다중프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태이다.
교착상태 발생 조건
- 상호 배제(Mutual Exclusive) : 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없는 상태
- 점유와 대기(Hold & Wait) : 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태
- 비선점(Non Preemption) : 한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고 오직 점유한 프로세스만이 해제 가능한 상태
- 환형 대기(Circular Wait) : 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태
교착상태 해결 방법
- 예방(Prevention) : 상호 배제를 제외한 나머지 교착상태 발생 조건을 위배하는 방안
- 회피(Avoidance) : 안전한 상태를 유지할 수 있는 요구만 수락
- 발견(Detection) : 감시 알고리즘을 통해 시스템의 교착 상태 검사
- 복구(Recovery) : 교착상태가 없어질 때까지 프로세스를 순차적으로 Kill하여 제거
728x90
반응형
'CS' 카테고리의 다른 글
네트워크 계층 구조 (0) | 2023.04.11 |
---|---|
가상화와 클라우드 (0) | 2023.04.11 |
운영체제 명령어 활용 (0) | 2023.04.11 |
운영체제의 종류 (0) | 2023.04.10 |
애플리케이션 통합 테스트 (0) | 2023.04.10 |
댓글