📚 CS/운영체제

[OS] 운영체제란 ? - 종류, 역할, 구조

수댕ʕت̫͡ʔ 2024. 8. 11. 23:17

이 포스팅은 공부를 위해서 "면접을 위한 CS 전공지식 노트 책" 을 참고했다.

🔊 운영체제 (OS) 란?

운영체제 (Operating System)은 컴퓨터의 하드웨어와 소프트웨어 자원을 관리해주는 일종의 일꾼이다. 운영체제는 사용자와 컴퓨터 하드웨어 간의 인터페이스 (GUI, CUI) 를 제공한다. 또한 제한된 메모리와 시스템 자원을 효율적으로 분배하여, 여러 응용 프로그램이 동시에 실행될 수 있도록 해준다.

 

💻 운영체제의 종류

1. 윈도우 (Windows) : 마이크로소프트에서 개발한 운영체제이다. GUI 기반의 인터페이스를 제공하고 세계적으로 유명한 운영체제 중 하나이다.

나무위키

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

위키피아

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

위키피아 - 리눅스 (GUI)
리눅스 (CUI)

 

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

위키피아 - 유닉스

 

📌 CUI vs GUI 차이는 뭘까?

여기서 CUI와 GUI의 차이는 무엇이냐면..

 

1. GUI : Graphical User Interface 의 약자로 그래픽을 사용하여 컴퓨터와 상호작용하는 인터페이스이다. 즉 위의 그림중 WindowOS, macOS가 대표적이다.

 

2. CUI : Character User Interface 의 약자로 사용자가 키보드만을 사용해서 문자를 기반으로 상호작용하는 것을 말한다. 

 

 

다시 돌아와서!

 

😊 운영체제의 역할

운영체제의 커널이 담당 한다. 밑의 그림과 같다. 커널은 OS의 두뇌와 같다고 생각하면 된다.

CS 지식의 정석 강의 필기

 

1) CPU 스케줄링과 프로세스 상태 관리 : CPU를 사용하려는 여러 프로세스 중에서 어떤 프로세스가 언제 CPU를 사용할지 결정하고 프로세스의 생성과 관리, 자원 할당 및 반환을 관리한다.

 

2) 메모리 관리 : 프로그램에 필요한 메모리를 할당하고, 메모리 사용을 최적화한다. 

 

3) 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리한다.

 

4) I/O 디바이스 관리 : 키보드, 마우스, 프린터 등 입출력 장치와의 데이터 전송을 관리한다.

 

 

📚 운영체제의 구조

그렇다면 운영체제의 구조는 어떻게 구성될까?

다음과 같다.

유저 프로그램이 맨위에 있고, 그 다음 인터페이스, 시스템콜, 커널, 하드웨어로 구성된다. 

여기서 인터페이스, 시스템콜, 커널, 드라이버, 파일시스템 등이 운영체제를 지칭한다.

 

운영체제의 구조

 

오늘은 운영체제가 뭔지, 역할, 종류, 구조에 대해서 알아보았다.