본문 바로가기
[ Computer Science ]/Operating System

[운영체제] 운영체제 3판 연습문제 1장~2장

by dev charlotte 2023. 10. 30.

운영체제 3판 / 생능출판 / 박규석 배인한

 

# 1장. 운영체제 소개 

1. 운영체제의 영역은 프로세스 관리, 메모리 관리, 파일시스템 관리, 입출력 관리로 구성됨. 

2. 운영체제의 주목적은 컴퓨터 시스템 리소스를 효율적으로 관리하여 사용자 프로그램이 원활하게 작동할 수 있도록 지원하는 것

3. 다중 프로그래밍은 여러 응용 프로그램이 동시에 메모리에 있을 때 CPU가 번갈아가며 실행함으로써 시스템 활용도를 최대화하는 방법으로 자원 활용을 최적화하고 처리 시간은 감소시켜 사용자 응답 시간을 단축하고 자원의 경제성을 높이는 방법이다. 

4. 다중프로그래밍은 하나의 CPU가 여러 응용프로그램을 번갈아가며 실행하는 단일 프로세서 방식으로 여러 프로그램이 동시에 메모리에 상주하는 것이고 다중 처리 시스템은 둘 이상의 독립적인 프로세서가 서로 협력하여 작업하는 컴퓨터 시스템으로 여러 프로세서가 동시에 작업을 처리하는 병렬 컴퓨팅 방식이다. 

5.

- batch processing 일괄처리 시스템 - 사용자 개입 없이 일련의 작업이 순차적으로 실행. 리소스 효율적 활용

- multiprogramming 다중 프로그래밍 시스템 - 단일CPU가 여러 프로그램을 번갈아가며 실행. 유휴상태 최소화

- timesharing 시분할 시스템 - CPU 시간을 여러 사용자가 공유하기 위해 분할하여 사용. 대화형에 적합

- realtime 실시간 시스템 - 즉각적인 응답

- distributed processing  분산 처리 시스템 - 여러 컴퓨터가 네트워크를 통해 함께 작업

- embedded 임베디드 시스템 - 특정 기능을 수행하는 장치가 내장된 것. 제한된 자원을 가지고 특정 제어나 모니터링 작업

6. 운영체제를 보는 관점

- 자원 관리자 관점 -> 자원 상태 추적, 어떤 프로세스에 어떤 자원을 어떻게 할당할지 

- 프로세스 관점 -> 여러 작업 수행시 중앙처리장치가 처리할 수 있는 것은 하나의 프로세스 . 하나의 작업 완료까지 하나의 프로세스 상태 변화 관리. 실행 중인 프로그램 관련 

- 계층 구조 관점 -> 하드웨어, 커널, 시스템 콜, 응용프로그램 등 상위 계층 서비스로 하위 계층을 관리

7. 인터럽트 

- 실행 중인 프로그램의 흐름을 일시 중단시키고 다른 특정 작업을 처리하는 매커니즘, 하드웨어나 소프트웨어에 이벤트가 발생했을 때 CPU에 신호 보냄

 

# 2장 . 프로세스와 스레드 관리

1. 

- 비선점 프로세스는 스스로 반납하지 않고 계속 실행되는 프로세스 . 프로세스 실행 중에 인터럽트 처리 불가능 . 현재 작업이 완료되거나 대기 상태여야만 처리할 수 있음 -> 일괄처리 배치시스템, 시분할 타임쉐어 시스템

- 선점 프로세스는 다른 프로세스가 현재 실행 중인 프로세스보다 우선순위가 높으면 중단시키거나 교체할 수 있음 . 실행 중에도 인터럽트 처리가 가능 -> 실시간 리얼타임 시스템, 다중 멀티프로그래밍 시스템

2. 라운드 로빈 

- 다중 프로그래밍 환경에서 CPU가 여러 프로세스 공평하게 나눠가며 사용할 수 있도록 하는 시간 할당량이 동일한 것. 완료되지 못하면 뒤로 가서 다시 사용할 수 있음. 시분할 시스템. 응답 시간을 일정하게 유지하여 실행 보장. 각 실행 시간이 다르면 오버헤드 가능성. 짧은 시간이 많을 경우 응답시간이 길어지거나 오버헤드

3. 다단계 큐 스케쥴링 알고리즘 

- 프로세스 여러 개를 서로 다른 우선 순위나 서로 다른 큐로 나누어 스케쥴링하는 방법으로 각 큐는 독립적인 스케쥴링 알고리즘을 가지고 미리 정의된 규칙에 따라 프로세스가 각 큐로 할당됨. 각 큐는 다른 프로세스 적용되며 각 큐마다 우선순위가 지정되어 실행되고 각 큐는 독립적으로 CPU 시간을 우선순위에 맞게 할당 받을 수 있음. 기아 문제가 발생할 수 있음 -> 다단계 피드백 큐 스케쥴링 알고리즘 에이징으로 해결

4. 스케쥴링 단위가 되는 스레드의 특성 - 실행, 대기, 준비, 차단, 완료 상태