sungwony

[운영체제의 기초] Evolution of OS (2) 본문

development/강의노트

[운영체제의 기초] Evolution of OS (2)

일상이상삼상 2020. 3. 17. 00:57

이 포스트는 SNU에서 제공하는 운영체제의 기초 강의를 개인 학습용으로 정리한 포스트입니다


강의 목표

  • 사용자를 위한 연결된 멀티미디어 서비스를 제공하는 OS의 특징을 익힌다

 

Phase3 : 90년대 중반 ~ 현재

 

인터넷이 선택이 아닌 필수로 변하였다

개인용 PC의 커다란 성능의 향상을 이루었다

멀티미디어 제공이 과거보다 매우 중요하여짐

 

Downloading과 Streaming

Downloading은 전체 데이터를 확보한 다음에 작업을 실행할 수 있음

Streaming은 일부 데이터만을 확보하여도 작업을 실행할 수 있음 

 

스케줄링 방식의 변화

중요한 일을 먼저 처리해주는 우선순위 기반 스케줄링에서 Continuous Media를 원활하게 처리하기 위한 Bandwidth 스케줄링으로 변화

: proportional share scheduling, fair share scheduling

 

Function of OS

 

현대 OS의 특징

1. Large

- 10M's of lines of code(1000만 라인의 코드)

2. Complex

- 비동기적 동작(Asynchronous behaviors)

- 다원적인 하드웨어(Hardware idiosyncrasies)

- 서로 다른 사용자의 요구와 성능 목표

3. Poorly understood

- 시스템의 수명이 빌더보다 길다

- 완전히 디버그 하기 매우 복잡하다

- 동작을 예측하기 어렵다

- 추측을 통해 튜닝이 이뤄진다

 

OS의 기능

1. Coordinate

- 효율적이고 공정하게 협력하도록 허용

2. Illusion Generate

- 깨끗하고 높은 수준의 인터페이스를 하드웨어로 내보냄

3. Standard Library

- 모두가 필요로 하는 표준 기능을 제공

 

Coordinator로서의 OS

 

OS가 Coordinate 하는 장치

- CPU Scheduler

- I/O System

- Memory Management System

- Files System

- Network System

 

Q. Network System은 I/O System의 일종이라고 볼 수 있는데 분리된 이유는?

 

Char I/O Device

- I/O의 단위가 Bytes인 장치

Block I/O Device

- I/O의 단위가 Block인 장치

- I/O 관리에 따라 성능에 큰 영향을 미칠 수 있음

Network I/O Device

- Network를 제어하는 장치(예 : 소켓)

 

네트워크 만의 고유한 특징을 관리해 주기 위해 네트워크 시스템의 분리가 이루어짐

 

Q. Files System과 I/O System의 차이는?

File System은 Disk Drive를 관리하는 I/O 시스템으로 Memory Hierachy를 가지고 있다.

Hard Disk Drive > Memory > Cache 와 같이 CPU와 가까울 수록 읽기 속도의 차이가 나타나는 것을 Memory Hierachy 라고 한다.

성능에 민감한 OS의 여러가지 기능이 Block I/O를 위해 존재하고 이런 것들을 모아놓은 것이 Files System이다.

I/O System은 주로 Char I/O를 처리하는 주요 기능들을 관장한다

 

Illusion Generator로서의 OS

 

하드웨어의 복잡성을 비교적 단순하게 접근할 수 있도록 추상화한 추상 레이어를 제공

 

Abstraction의 실패

Time-Sharing 시스템에서의 Thrashing

사용자의 수가 어떤 임계점을 넘어서는 순간 응답 시간이 급격히 증가하는 현상