이 포스팅은 공부를 위해서 "면접을 위한 CS 전공지식 노트 책" 을 참고했다.
🔊 운영체제 (OS) 란?
운영체제 (Operating System)은 컴퓨터의 하드웨어와 소프트웨어 자원을 관리해주는 일종의 일꾼이다. 운영체제는 사용자와 컴퓨터 하드웨어 간의 인터페이스 (GUI, CUI) 를 제공한다. 또한 제한된 메모리와 시스템 자원을 효율적으로 분배하여, 여러 응용 프로그램이 동시에 실행될 수 있도록 해준다.
💻 운영체제의 종류
1. 윈도우 (Windows) : 마이크로소프트에서 개발한 운영체제이다. GUI 기반의 인터페이스를 제공하고 세계적으로 유명한 운영체제 중 하나이다.

2. macOS : 애플이 개발한 운영체제 이다. 주로 애플의 맥 컴퓨터에 사용되고 GUI 기반의 인터페이스를 제공한다.

3. 리눅스 (Linux) : 오픈 소스 운영체제이다. 다양한 배포판이 있으며 서버, 데스크톱, 임베디드 시스템 등에 사용된다. GUI, CUI 모두 제공한다.


4. 유닉스 (Unix) : 다중 작업 및 다중 사용자를 지원하는 운영체제이다. 안전성과 보안성이 높고 주로 서버와 메인프레임 컴퓨터에 사용된다. CUI 기반이지만 GUI 환경도 제공할 수 있다.

📌 CUI vs GUI 차이는 뭘까?
여기서 CUI와 GUI의 차이는 무엇이냐면..
1. GUI : Graphical User Interface 의 약자로 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스이다. 즉 위의 그림중 WindowOS, macOS가 대표적이다.
2. CUI : Character User Interface 의 약자로 사용자가 키보드만을 사용해서 문자를 기반으로 상호작용하는 것을 말한다.
다시 돌아와서!
😊 운영체제의 역할
운영체제의 커널이 담당 한다. 밑의 그림과 같다. 커널은 OS의 두뇌와 같다고 생각하면 된다.

1) CPU 스케줄링과 프로세스 상태 관리 : CPU를 사용하려는 여러 프로세스 중에서 어떤 프로세스가 언제 CPU를 사용할지 결정하고 프로세스의 생성과 관리, 자원 할당 및 반환을 관리한다.
2) 메모리 관리 : 프로그램에 필요한 메모리를 할당하고, 메모리 사용을 최적화한다.
3) 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리한다.
4) I/O 디바이스 관리 : 키보드, 마우스, 프린터 등 입출력 장치와의 데이터 전송을 관리한다.
📚 운영체제의 구조
그렇다면 운영체제의 구조는 어떻게 구성될까?
다음과 같다.
유저 프로그램이 맨위에 있고, 그 다음 인터페이스, 시스템콜, 커널, 하드웨어로 구성된다.
여기서 인터페이스, 시스템콜, 커널, 드라이버, 파일시스템 등이 운영체제를 지칭한다.

오늘은 운영체제가 뭔지, 역할, 종류, 구조에 대해서 알아보았다.
'📚 CS > 운영체제' 카테고리의 다른 글
| [OS] 가상 메모리 (1) | 2024.10.14 |
|---|---|
| [OS] 메모리 계층 (레지스터, 캐시, 주기억장치, 보조기억장치) (2) | 2024.10.01 |
| [OS] 인터럽트 & DMA 컨트롤러 (0) | 2024.09.25 |
| [OS] CPU에 대해서 (1) | 2024.08.12 |
| [OS] 시스템 콜 (System Call), Modebit 이란? (0) | 2024.08.12 |