[중간정리] 10-11주차: 커널모드/사용자모드, 컨텍스트 스위칭, fsync, MLFQS

2025. 5. 28. 18:17·크래프톤 정글/CS기초(키워드, 개념정리)

커널 모드와 사용자 모드

운영체제의 핵심 서비스는 커널 모드에서 실행되며, 그 중 하나가 바로 공유 자원 관리이다. 예를 들어 파일 시스템, 메모리 등과 같은 자원은 여러 프로세스에 의해 동시에 요청될 수 있고, 이에 대한 접근과 사용을 적절히 관리하는 것이 필수적이다. 커널 모드에서는 이러한 자원들에 대한 접근을 제어하고, 충돌이나 데이터 손상을 방지하는 역할을 한다.

 

사용자 모드에서는 이러한 공유 자원 관리를 직접 수행하지 않는데, 여러 사용자 또는 프로세스가 자원에 직접 접근할 경우 데이터의 일관성과 안정성이 위협받을 수 있기 때문이다.

 

 

컨텍스트 스위칭

컨텍스트 스위칭 과정에서 운영체제는 현재 프로세스의 상태(컨텍스트)를 저장하고, 다음에 실행할 프로세스의 저장된 상태를 복원한다.

 

이때 저장되는 정보에는 프로세스의 프로그램 카운터, 레지스터 상태, 메모리 관리 정보, 열린 파일 목록 등이 포함된다.

 

 

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 방식

진행 과정

  1. P1(대기열1, 대기열2 강등)
  2. P2(대기열1, 완료)
  3. P1(대기열2, 대기열3 강등)
  4. P1(대기열3, 완료)
  5. P3(대기열1, 대기열2 강등)
  6. P4(대기열1, 완료)
  7. P5(대기열1, 완료)
  8. 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
'크래프톤 정글/CS기초(키워드, 개념정리)' 카테고리의 다른 글
  • [CS기초] 페이지 결함(Page Fault)과 Lazy Loading, 페이지 교체 정책
  • [CS기초] 가상 메모리 시스템의 기본 구조 (Virtual Memory, Page Table, TLB)
  • [CS기초] 10-11주차 개념정리
  • [CS기초] Segmentation Fault 핵심 정리
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리)
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어)
        • Equipped in 정글(나만무) N
        • 마이 정글(WIL, 에세이)
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[중간정리] 10-11주차: 커널모드/사용자모드, 컨텍스트 스위칭, fsync, MLFQS
상단으로

티스토리툴바