커널 모드와 사용자 모드
운영체제의 핵심 서비스는 커널 모드에서 실행되며, 그 중 하나가 바로 공유 자원 관리이다. 예를 들어 파일 시스템, 메모리 등과 같은 자원은 여러 프로세스에 의해 동시에 요청될 수 있고, 이에 대한 접근과 사용을 적절히 관리하는 것이 필수적이다. 커널 모드에서는 이러한 자원들에 대한 접근을 제어하고, 충돌이나 데이터 손상을 방지하는 역할을 한다.
사용자 모드에서는 이러한 공유 자원 관리를 직접 수행하지 않는데, 여러 사용자 또는 프로세스가 자원에 직접 접근할 경우 데이터의 일관성과 안정성이 위협받을 수 있기 때문이다.
컨텍스트 스위칭
컨텍스트 스위칭 과정에서 운영체제는 현재 프로세스의 상태(컨텍스트)를 저장하고, 다음에 실행할 프로세스의 저장된 상태를 복원한다.
이때 저장되는 정보에는 프로세스의 프로그램 카운터, 레지스터 상태, 메모리 관리 정보, 열린 파일 목록 등이 포함된다.
fsync()
fsync() 함수는 열려 있는 파일 디스크립터와 관련된 모든 수정된 데이터를 보조기억장치에 동기화한다. 곧 파일의 쓰기 작업이 메모리에만 저장되는 것이 아니라, 실제 저장장치에도 반영되도록 보장한다. 이를 통해 시스템이 예기치 않게 중단되더라도, 데이터의 무결성을 보장할 수 있다.
다만 fsync()를 사용하게 되면, 보조기억장치 I/O 작업이 증가하여 시스템의 전반적인 성능 저하가 발생할 수 있다는 점을 고려해야 한다. 특히 빈번한 fsync() 호출은 보조기억장치 작업 부하를 증가시키고, 이에 따라 시스템의 반응 속도가 느려질 수 있다.
MLFQS
각 프로세스 정보 (도착 시간, CPU 버스트 시간)
- 프로세스1
- 도착 시간: 5
- CPU 버스트 시간: 14
- 프로세스2
- 도착 시간: 8
- CPU 버스트 시간: 2
- 프로세스3
- 도착 시간: 25
- CPU 버스트 시간: 5
- 프로세스4
- 도착 시간: 27
- CPU 버스트 시간: 2
- 프로세스5
- 도착 시간: 29
- CPU 버스트 시간: 2
대기열
- 대기열1: 시간 할당량 2인 Round Robin 방식
- 대기열2: 시간 할당량 5인 Round Robin 방식
- 대기열3: FCFS 방식
진행 과정
- P1(대기열1, 대기열2 강등)
- P2(대기열1, 완료)
- P1(대기열2, 대기열3 강등)
- P1(대기열3, 완료)
- P3(대기열1, 대기열2 강등)
- P4(대기열1, 완료)
- P5(대기열1, 완료)
- P3(대기열2, 완료)
정답 (가장 늦게 끝나는 프로세스)
P3
'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글
[CS기초] 페이지 결함(Page Fault)과 Lazy Loading, 페이지 교체 정책 (1) | 2025.06.10 |
---|---|
[CS기초] 가상 메모리 시스템의 기본 구조 (Virtual Memory, Page Table, TLB) (0) | 2025.06.09 |
[CS기초] 10-11주차 개념정리 (0) | 2025.05.27 |
[CS기초] Segmentation Fault 핵심 정리 (1) | 2025.05.18 |
[CS기초] Interrupt란 무엇인가? (0) | 2025.05.18 |