본문 바로가기
cs/오퍼레이팅 시스템

[OS]1. OS란?

by 장인이 2021. 3. 7.

목차

1. OS란?

2. OS의 역할

3. OS의 위치

4. OS의 목적

5. OS 재정의

 

1. OS란?

 OS(오퍼레이팅 시스템)는 사실 이것이 '무엇'이라고 정의하기 쉽지 않습니다. 그 이유는, 하는 일과 역할이 너무 다양하기 때문입니다. 하지만, OS의 역할들에 대해 살펴본다면, 대략적으로 OS에 대해 정의할 수 있을 것입니다.

 

후에 정리할 OS의 역할을 토대로 대략적으로 정리해 보자면,

1) OS는 프로그램이다!

2) 컴퓨터 하드웨어(CPU, 메모리, ...)를 관리하는

3) 다른 응용 프로그램의 수행을 제어하는

 

 참고로 OS가 다루는 응용 프로그램을 확인하기 위해서는, 작업관리자를 켜보면 됩니다. 이때 앱과 백그라운드 프로세스에 뜨는 프로그램들 모두가, OS에서 현재 수행을 제어하는 응용 프로그램의 목록을 나타낸 것입니다.

 

2. OS의 역할

 위에서도 언급했듯이, OS는 크게 2가지의 역할을 가지고 있으며, 각각의 역할 마다 세부적인 요소들이 있습니다.

 

1) Hardware management(하드웨어 관리)

- Access to I/O devices(키보드, 마우스 등과 같은 I/O 장치에 접근)

- Access to files(파일 접근)

- Accounting(CPU, 하드웨어가 얼만큼 사용되는지 통계값)

- Error detection(에러 잡기)

 

2) Program execution(많은 프로그램들 관리)

- Scheduling(말 그대로, 해야 할 일들을 할당)

- Error reporting(에러 report)

 

3. OS의 위치

 OSapplication program(응용 프로그램)computer hardware(하드웨어) 사이에 위치하고 있습니다. OS가 그 사이에 위치하는 이유는,

 

- 응용프로그램이 바로 hardware에 접근하는 경우, 불안정할 수 있습니다. 따라서, 응용 프로그램은 system call(즉, api)를 invoke(호출)하여 접근하게 됩니다.

 

 위의 그림을 보면, system and application programs 이라고 적혀있는데,

- application program: 게임, 문서와 같은 응용 프로그램

- system program: 작업 관리자와 같이 시스템 관리하기 위한 프로그램

 

4. OS의 목적

 결국 OS를 사용하기 위한 목적이 정해져 있습니다.

1) 유저 프로그램을 실행하고, 유저가 겪는 문제를 쉽게 해결하도록 한다.

2) 컴퓨터 시스템을 사용하기 편하게 한다.

3) 컴퓨터 하드웨어를 효과적으로 관리한다.

 

 처음에는 DOS화면으로 이루어져 있던 OS가 시간이 지나면서 리눅스, 윈도우 같은 OS가 출시되었으며, 현재는 ipad 등 여러 OS가 출시되고 있습니다. ( CLI(Command Line Interface)에서 GUI, App으로 발전 )

 

5. OS 재정의

 따라서 OS를 지금까지 나온 역할과 목적들을 통하여 다시 정의하자면,

 

1) OS는 resource allocator(자원 할당자)이다.

- 모든 resouce를 관리한다

: CPU 시간, 메모리 공간, fil-storage 공간, I/O device 등 모든 것을 관리한다

 

- 동시에 실행되는 process(프로그램)들이 너무 많기 때문에, concurrently(연속적, 번갈아서) 실행하게 된다.

: Concurrently란, 실제로는 약간의 텀을 두며 실행하지만, 동시에 실행시키는 것처럼 보이는 것을 말한다.

<Concurrently>

2) OS는 control program이다.

- OS는 프로그램들을 실행하고, 에러와 부적절한 사용으로부터 예방하는 역할을 지니고 있다.

'cs > 오퍼레이팅 시스템' 카테고리의 다른 글

[OS]2. Resource Manager, RMA, Interrupt  (0) 2021.03.07

댓글