OS (Operating System)
운영체제 (Operating System)
운영체제란? 컴퓨터 자원을 효울적으로 관리하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어이다.
주요 운영체제로는 윈도우, LINUX, MAC등이 있다.
OS는 커널을 의미하는데 일반적으로 커널에 여러가지 추가된 상태를 OS라고 통칭하여 부르고 있고 운영체제의 코어를 커널이라고 생각할 수 있다. 운영체제는 사용자가 사용하는 응용프로그램이 효율적으로, 적절하게 동작하도록 지원하는 것이 목표이다.
1. 운영체제의 역할
- 시스템 자원 관리자 역할
- 프로세스 관리는 다중 작업을 지원하며, CPU 스케줄링과 프로세스 간 통신을 담당한다.
- 메모리 관리는 물리적인 메모리를 효율적으로 할당하고 관리한다.
- 파일 시스템 관리는 파일 및 디렉토리 생성, 읽기, 쓰기, 삭제 등 파일 관리 작업을 수행한다.
- 디바이스 관리는 입출력 장치와의 상호 작용을 관리하며, 드라이버와 인터럽트 처리를 포함한다.
- 사용자와 컴퓨터간의 인터페이스를 제공
- 응용프로그램 제어
⚛︎ 안드로이드는 OS 인가?
-> 아니다. 안드로이드는 리눅스 커널과 프로그램 사이에 많은 시스템 프로그램과 함수들이 존재하고있다.
커널 (Kernel)
커널이란? 운영체제의 핵심부분으로, 하드웨어와 소프트웨어 간 인터페이스 역할을 한다.
- 커널은 프로세스 관리, 메모리 관리, 파일 시스템 관리 등의 중요한 서비스를 제공한다.
- 커널은 모놀리식(Monolithic) 커널 또는 마이크로 커널(Microkernel) 형태로 설계될 수 있다.
쉘 (Shell)
쉘 이란? 사용자가 운영체제 기능과 서비스를 조작할 수 있도록 인터페이스를 제공하는 응용 프로그램
- 터미널 환경 (CLI) 와 GUI로 분류된다.
- 유명한 쉘로는 리눅스 bash가 있다.
시스템 콜 (시스템 호출 인터페이스)
시스템 콜 이란? 시스템 콜은 커널에 접근하기 위한 프로세스와 커널 간의 인터페이스이다.
- 운영체제가 운영체제 각 기능을 사용할 수 있도록 시스템 콜이라는 명령 또는 함수를 제공한다.
- 커널에 요청이 필요할때 시스템콜을 이용하여 요청하고 커널은 이 요청을 처리한다.
- 쉘은 시스템콜을 사용해서 사용자가 커널의 기능을 사용할 수 있도록 사용법 제공한다.
- 시스템 콜은 보안 및 권한 관리에 중요한 역할을 한다.
API(Application Programming Interface)
API 란? 함수 또는 라이브러리이다.
- API 내부에는 필요시 해당 운영체제의 시스템콜을 호출하는 형태로 만들어짐
- 응용프로그램을 만들기 위한 인터페이스를 제공한다. (형태는 함수)
- OS에서 제공하는 API는 다양한 프로그래밍 언어에서 호출할 수 있다.
만약 OS를 만든다면?
OS 개발 -> 시스템 콜 개발 → API 개발 → shell 프로그램 개발 → 응용프로그램 개발
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 커널모드와 사용자 모드 (1) | 2023.12.10 |
---|