-
[운영체제] 1. OS 와 ProcessCS/운영체제 2023. 3. 7. 12:52
OS
컴퓨터에 돌아가는 많은 프로그램과 애플리케이션은 각각 하는 일이 다르다. 하지만 비슷한 부분들이 많이 겹쳐있고, 이 작업을 각각 app마다 갖는 것은 비효율적이다.
이런 app들의 공통분모를 OS라고 한다.
시간이 지날수록 더욱 많은 범위가 os에 포함된다. GUI가 없던 시절 옛날 컴퓨터에는 도스창이 운영체제에 속했지만, 윈도우가 보편화되고 GUI가 널리 쓰이기 시작하면서, 많은 app들이 GUI를 지원하게 되어, GUI또한 os에 포함되게 되었다.
웹 브라우저도 대표적으로 OS에 포함되는 부분이다. 마이크로소프트의 엣지는 어떤 방법으로도 삭제할 수 없다고..
OS에 포함되는 건 시간에 따라 점차 늘어날 것으로, chat gpt또한 상용화가 된다면 OS에 포함될 것으로 보인다.
OS는 자원 관리자
컴퓨터 자원은 크게 공간 리소스와 시간 리소스로 나뉜다.
공간 리소스의 예로는 메모리 공간, 하드디스크 등이 있고, 시간 리소스의 예로는 CPU타임, 사운드 카드 등이 있다.
- 메모리 공간은 Text / Data / Bss / Stack으로 다시 나뉘는데, 이를 프로세스 공간이라고 한다.
Process vs Processor
프로세스는 실행되고 있는 프로그램으로, 죽어있는 프로그램이 메모리에 올라가면서 프로세스로써 실행이 된다.
프로세서는 cpu를 말한다. 운영체제에서는 주로 프로세스에 대해 다루게 된다.
Batch processing & Interactive processing
Batch processing은 일괄 처리하는 것을 의미한다. 시험을 보고 난 뒤 OMR카드를 일괄적으로 처리하는 것처럼 말이다.
효율적으로 일을 처리할 수 있다는 장점이 있다. 보통 하드웨어가 비싼 경우 사용한다.
Interactive processing은 실시간으로 처리하는 것을 의미한다.
게임이나 워드 프로그램 처럼 사용자의 요청을 실시간으로 처리할 때 사용한다.
Multiprocessing
Cpu가 1개 밖에 없고, 동시 다발적으로 일을 처리해야 한다고 생각해보자. 오디오 카드나 프린터 등 컴퓨터 장치들이 어떻게 multiprocessing을 할 수 있을까?
Cpu의 사용 시간을 짧게 쪼개서 각각 device에 할당해주면 된다. 하지만 이는 결국 Real Multiprocessing이 아닌, 동시에 하는 것처럼 보이는 순차적인 processing이다.
정답은 컴퓨터 device마다 소형 cpu를 가지고 있으면 된다. Intel cpu 등의 기본 cpu가 있고, 각각 장치마다 소형 cpu가 있음으로써 Real Multiprocessing이 가능해진다.
참고로 메모리에는 이 소형 cpu가 없기 때문에 DMA가 메모리와 cpu 사이에서 이 역할을 한다.
객체지향 언어 3가지 조건의 개념 ( Java )
- 추상화 : 실세계의 물체를 컴퓨터로 표현하는 것
- 다형성 : 객체가 다양한 형태를 가질 수 있는 것
- 상속 : 부모 객체로부터 기능을 물려받고 새로운 기능을 추가하는 것
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 2. 운영체제의 역할 (0) 2023.03.14