[OS] 1-3. 운영체제에 대한 관점

공부 스파이럴·2024년 2월 22일
0

운영체제

목록 보기
10/27

자원 관리자 관점

  • 운영체제의 기능은 자원이 효율적으로 사용되도록 관리하고 다양한 요구를 가지는 사용자 간에 발생할 수 있는 자원에 대한 경쟁 및 이로 인한 충돌을 해결하는 것
  • 시스템 자원 : 프로세서, 기억장치, 각종 장치, 프로그램이나 데이터 같은 정보 등
  • 각 자원에 대한 수행 과정
    • 자원의 상태를 추적/저장
    • 어떤 프로세스가 언제 어떤 자원을 얼마나 취할 것인지를 결정하기 위한 정책 수립
    • 자원의 할당
    • 자원의 회수

프로세스 관리 기능

  • 중앙처리장치와 프로세스(process)의 상태를 추적, 저장
    -> 트래픽 제어기
  • 어떤 작업에게 프로세서(processor)를 사용하도록 할 것인지를 결정
    -> 작업 스케줄러는 제시된 모든 작업 중 하나를 선택하여 그 작업이 필요로 하는 자원을 할당
  • 만약 다중 프로그래밍 시스템이라면 어떤 프로세스가 언제 얼마나 중앙처리장치를 차지할 것인지를 결정해야 하는데 이는 프로세스 스케줄러에 의해 결정됨
  • 디스패쳐(dispatcher)는 필요한 하드웨어 레지스터를 설정함으로써 프로세스에게 중앙처리장치를 할당
    -> 프로세스 스케줄러
  • 프로세스가 수행을 종료하였거나, 어떤 이유로 인하여 사용의 양도 또는 허용된 사용 시간을 초과하였을 경우 중앙처리장치를 회수

기억장치 관리 기능

  • 기억장치상태를 추적, 저장
    -> 기억장치의 어떤 부분이 사용되고, 어떤 부분이 사용되고 있지 않은가?
    -> 만약 사용된다면 어떤 프로세스에 의해 사용되는가를 추적, 저장
  • 다중 프로그래밍 환경 하에서, 어떤 프로세스에게 언제, 얼마의 기억 장치를 할당할 것인지를 결정
  • 프로세스가 기억장치를 요구하면 앞에서 결정한 내용에 따라 할당
  • 프로세스가 더 이상 기억장치를 필요로 하지 않게 되면 회수

장치 관리 기능

  • 채널 등의 제어장치 및 입출력장치와 같은 각종 장치들의 상태를 추적, 저장
    -> I/O traffic controller
  • 장치를 할당하는데 어떤 방법이 효율적인지를 결정
    -> 각 장치마다 대기 큐를 유지함으로써 스케줄링을 구현
    -> I/O scheduling
  • 해당 장치를 할당하고 입출력 동작을 시작
  • 입출력이 종료되면 자동적으로 자원을 회수

정보 관리 기능

  • 정보의 위치, 사용 여부 및 상태 등을 추적, 관리
    -> 파일 시스템
  • 어떤 작업에게 정보 자원을 사용하도록 할 것인지를 결정
    • 정보보호를 위한 대책을 수립하고, 접근(access) 루틴(방법)을 제공
  • 정보 자원을 할당
  • 정보 자원을 회수

프로세스 관점

  • 다중 프로그래밍 환경 : 복수의 프로세스(실행 중의 사용자 프로그램)를 나타냄
  • 여러 작업이 수행되어야 할 경우, 중앙처리장치가 처리할 수 있는 것은 어느 한 시점에서 볼 때 오직 하나의 프로세스뿐임
  • 선택 받지 못한 프로세스는 자신의 위상에 따라 상태를 변화시켜야 함
  • 운영체제는 하나의 작업이 제시되어 완료될 때까지 하나의 프로세스에 대하여 그 상태를 변환시키고 관리할 책임이 있음

계층 구조 관점

-> 자원관리 루틴이 어떻게 수행되고, 이 루틴들이 상호간에 어디에 논리적으로 위치하는가?

  • 많은 시스템 모듈에서 필요로 하는 주된 기능은 ‘내부적 확장 기계’로, 그 이외의 모듈은 ‘외부적 확장 기계’로 분류
  • 어떤 시스템 모듈들은 사용자 프로세스와 같은 방법으로 확장된 기계에서 수행하도록 할 수 있음
  • 운영체제의 커널(kernal)
    • 프로세스의 계층으로 운영되는 운영체제의 모듈과는 달리 확장된 기계 개념으로 운영되는 모든 운영체제 모듈을 총칭

커널의 구성 레벨 및 레벨 별 해당 모듈(예)

  • 레벨 1 : 프로세서 관리 하위 모듈(동기화 프리미티브, 프로세스 스케줄러)
  • 레벨 2 : 기억장치 관리(메모리 할당 및 회수)
  • 레벨 3 : 프로세서 관리 상위 모듈(메시지, 프로세스의 생성 및 제거)
  • 레벨 4 : 장치 관리(입출력 트래픽 제어기)
  • 레벨 5 : 정보 관리(파일 시스템)

0개의 댓글