1. 프로세스와 스레드
프로세스
운영체제에서 수행중인 프로그램
스레드
하나의 프로세스가 갖는 다양한 작업 형태.
스레드가 많을수록 프로세스가 동시에(엄밀히 말하면 동시는 아니지만) 다양한 작업을 할 수 있다.
2. 프로세스 스케줄링의 평가 기준
운영체제가 다음에 실행할 프로세스를 정하는 기준.
CPU 사용률 (CPU utilization)
전체 시스템 시간 중 CPU가 작업을 처리하는 시간의 비율. 높을수록 좋다.
처리량 (Throughput)
CPU가 단위 시간당 처리하는 프로세스의 개수. 많을수록 좋다.
반환시간 (Turnaround time)
프로세스가 시작해서 끝날 때까지 걸리는 시간. 짧을수록 좋다.
대기시간 (Waiting time)
프로세스가 준비 큐에서 대기한 시간의 총합. 짧을수록 좋다.
응답시간 (Response time)
요청 후 첫 번째 응답이 오기 시작할 때까지의 시간. 짧을수록 좋다.
3. 프로세스 스케줄링 방식
선점형 스케줄링
강제적으로 실행 중인 프로세스를 중단하고 CPU를 선점하는 방식.
선점 시 먼저 실행 중인 프로세스는 인터럽트를 발생시키고 실행상태에서 준비상태로 변경한다.
스케줄링 방식 | 설명 |
RR (Round Robin) |
프로세스간에 우선순위를 두지 않고 같은 크기의 CPU 시간을 할당한다. 프로세스가 할당된 시간 내에 작업을 완료하지 못하면 준비 큐 리스트의 가장 뒤로 보내지며 CPU는 대기 중인 다른 프로세스로 넘어간다. |
SRT (Shortest Remaining Time) |
가장 짧은 시간이 소요되는 프로세스를 먼저 처리한다. 남은 시간이 더 짧은 프로세스가 준비 큐에 들어오면 바로 선점 후 처리하도록 한다. |
MLQ (Multi Level Queue) |
작업이나 우선순위마다 별도의 ready queue를 사용한다. 각각의 큐는 자신만의 스케줄링 기법을 사용한다. |
비선점형 스케줄링
한 프로세스에 CPU를 할당하면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 방식.
모든 프로세스를 공정하게 처리할 수 있으나 상황에 따라 짧은 작업을 수행하는 프로세스가 긴 작업 종료시까지 대기할 수도 있다.
스케줄링 방식 | 설명 |
FCFS (First Come First Served) |
먼저 큐에 들어온 프로세스를 먼저 처리한다. |
SJF (Shortest Job First) = SPN (Shortest Process Next) |
가장 짧은 시간이 소요되는 프로세스를 먼저 처리한다. |
4. 프로세스 페이징 (Process Paging)
프로세스를 나눈 조각을 page, 메모리를 나눈 조각을 frame이라고 한다.
페이징은 page를 frame에 할당하는 것을 말한다.
page는 순서대로 frame에 할당되지 않기 때문에 실제 page위치를 표시한 페이지 테이블(page table)을 사용한다.
페이징을 제대로 하지 못하면 CPU 사용량이 낮아져 시스템 반응 속도가 느려진다.
페이지 교체 알고리즘
필요한 페이지가 메모리에 존재하지 않는 경우 이를 페이지 부재(Page Fault)라고 한다.
페이지 부재가 발생한 경우 해당 페이지를 찾아 빈 프레임에 할당해야 하는데,
빈 프레임이 없을 경우 프레임 중 일부를 스왑 영역으로 보내야 한다.
이 때 어떤 프레임을 선택해서 스왑 영역으로 보낼 것인지 선택하는 알고리즘이 페이지 교체 알고리즘이다.
알고리즘 | 설명 |
OPT (Optimal) |
앞으로 가장 오랫동안 사용하지 않을 페이지를 교체한다. 현실적으로 구현하기는 불가능하다. |
FIFO (First-In First Out) |
가장 먼저 메모리에 올라온 페이지를 교체한다. |
LRU (Least Recently Used) |
가장 오랫동안 사용하지 않은 페이지를 교체한다. |
LFU (Least Frequently Used) |
사용 빈도가 가장 낮은 페이지를 교체한다. 페이지를 몇 번 사용했는지를 기준으로 선정한다. |
MFU (Most Frequently Used) |
사용 빈도가 가장 많은 페이지를 교체한다. |
NUR (Not Used Recently) |
최근에 사용한 적이 없는 페이지를 교체한다. |
프로세스 페이징 관련 용어
국부성(Locality)
프로세스가 참조하는 페이지는 메모리 내에 특정 페이지에 집중된다.
워킹셋(Working set)
프로세스가 자주 참조하는 페이지의 집합을 주기억장치 내에 유지하는 기법.
스레싱(Thrashing)
프로세스 처리시간보다 페이지 교체시간이 더 길어지는 현상.
성능 저하의 원인이 되며 워킹셋을 사용하여 방지할 수 있다.
'자격증 공부노트 > 디지털 포렌식 전문가 2급' 카테고리의 다른 글
[디지털 포렌식 전문가] 11. 파일시스템과 운영체제 _ OSI 7계층, 프로토콜 (0) | 2024.04.30 |
---|---|
[디지털 포렌식 전문가] 10. 파일시스템과 운영체제 _ 공격 대응방안 (0) | 2024.04.27 |
[디지털 포렌식 전문가] 8. 파일시스템과 운영체제 _ 디스크 스케줄링 (0) | 2024.04.26 |
[디지털 포렌식 전문가] 7. 파일시스템과 운영체제 _ 파일시스템 (0) | 2024.04.24 |
[디지털 포렌식 전문가] 6. 컴퓨터 구조와 디지털 저장매체 (2) | 2024.04.19 |