Operating System 이란?
보통 "컴퓨터" 하면 하드웨어와 소프트웨어로 구성되어 있는 걸 생각할 수 있다.
하드웨어적인 부품들로는 램, 마우스, 디스크, 그래픽 카드 등이 있고 소프트웨어적인 부분은 계산기, 크롬 웹브라우저, 게임 등이 있다.
예를 들어,
- 하드웨어 : CPU, 쿨러, 마더보드, 메모리, 그래픽 카드, 하드 드라이브, 전원 공급장치, PC 케이스, 스피커, 마우스, 키보드
- 소프트웨어 : Genshin.exe
위의 모든 것이 있다면 나는 원신을 하기 위한 모든 재료를 갖춘 셈이다. 하지만 이렇듯 재료만 있다고 실제 게임을 실행할 수 있는 건 아니다. 그렇다면 어떻게 게임을 실행할 수 있을까?
Operating System (OS)
Concept
OS란 소프트웨어와 하드웨어를 연결해 주는 시스템이라고 생각하면 된다. OS는 모든 프로세스, 파일, 메모리와 하드웨어를 관리한다. 위의 예시에서도, "윈도우"라는 운영체제를 사용하여 하드웨어와 소프트웨어 둘을 응용하여 게임을 즐길 수 있다.
OS의 역할
1. 테스크 수행
2. 하드웨어 제어
3. 리소스 관리
4. UI/인터페이스 제공
위의 예시처럼 OS는 하드웨어와 소프트웨어를 통제하여 원하는 테스크(게임)을 실행할 수 있게 해 주며 소프트웨어를 통제하기 위해 리소스를 관리하거나 CPU 스케줄링을 통해 테스크를 통제하고 수행하게 된다.
대표적인 OS
대표적으로 리눅스, 애플, 윈도우가 있다.
위 외에도 다양한 OS들이 있겠지만 공통적으로 4가지 매니저를 가지고 있다
Essential Managers
메모리 매니저
메모리 매니저는 메모리의 모든 요청을 스캔하며 메모리에 job을 더 넣을 수 있는지 없는지 확인한다.
프로세스 매니저
프로세스 매니저는 CPU를 어디에 어떻게 활용할 것인지 정하는 매니저이다. 각 job의 프로세스를 추적한다.
파일 매니저
모든 파일을 확인 (.sh 는 실행 파일)
디바이스 매니저
장비를 어떻게 효율적으로 사용할 수 있는지 관리
+ 네트워크 매니저도 존재.
여기서 프로세스 매니저와 메모리 매니저 위주로 학습할 예정이다.
Reference
https://www.youtube.com/watch?v=GjNp0bBrjmU&ab_channel=ClickView
https://www.youtube.com/watch?v=5AjReRMoG3Y&ab_channel=SMKS
'STUDY > OS' 카테고리의 다른 글
03. CPU의 예측 (0) | 2022.12.01 |
---|---|
02. Process VS Thread (0) | 2022.11.30 |
01. Kernel (0) | 2022.11.30 |