OS
OS(운영체제)의 구조와 원리
tioon
2023. 9. 24. 00:30
OS(운영체제)란?
-컴퓨터 하드웨어와 소프트웨어 애플리케이션 간의 인터페이스 역할을 하는 특수한 소프트웨어입니다. 운영체제의 주요 기능은 하드웨어관리, 프로세스관리,메모리 관리, 파일 시스템관리, 사용자 인터페이스제공 등의 기능이 있습니다.
이것처럼 시스템의 중심적인 관리자 역할을 하며, 하드웨어와 애플리케이션 사이에서 중개자 역할을 수행합니다.
애플리케이션과 운영체제는 시스템 콜을 통해 연결이 되고, 운영체제와 하드웨어는 드라이버를 통해 연결이 됩니다.
운영체제의 내부구조
- 시스템 프로그램
-시스템 프로그램은 기본적인 시스템 작업을 지원하는 프로그램을 말하며, 대화식 인터페이스를 제공하는 쉘, 파일 복사, 디스크 정리, 백업등의 도구를 나타냅니다 - 커널
-커널은 운영체제의 핵심 부분으로, 시스템의 모든 자원과 서비스의 관리를 담당합니다.
- 프로세스 관리
프로세스의 생성, 종료, 스케줄링, 동기화 등을 관리합니다. - 메모리 관리
RAM의 할당, 회수, 페이지 교체 알고리즘 등을 담당합니다. - 파일 시스템 관리
파일의 생성, 삭제, 읽기 쓰기 등의 작업을 처리합니다. - 하드웨어 관리
-하드웨어 장치와의 I/O 관리 및 데이터 전송을 관리합니다.
- 프로세스 관리
- API
-개발자가 운영체제나 그 외의 라이브러리의 기능을 프로그램에서 사용할 수 있게 하는 함수나 프로토콜의 집합입니다. 개발자가 코드에서 사용 시, 하나 이상의 시스템 콜을 사용해 실제 작업을 수행할 수 있습니다. - GUI
-그래픽을 사용하여 사용자와 시스템 간의 상호작용을 지원하는 인터페이스 입니다.
이로 인해, 사용자 친화적인 인터페이스를 통해 훨씬 직관적이고 편리하게 시스템을 제어할 수 있습니다.
커널의 작동 방식
- 사용자 모드(User Mode)
-프로세스가 대부분의 시간동안 실행되는 기본모드이며, 직접적으로 하드웨어에 접근할 수 없고, 중요 시스템 명령을 수행할 수 없습니다.
시스템 콜을 통해 커널 모드로 전환될 수 있습니다. - 커널 모드(Kernel Mode)
-운영체제의 핵심인 커널이 실행되는 모드이며, 직접적으로 하드웨어와 시스템 명령에 직접 접근할 수 있습니다.
커널은 프로세스 관리, 메모리 관리, I/O 작업등의 중요한 시스템 자원을 건드리기에 신중하게 써야합니다.
커널의 종류
- Monolithic Kernel
- 모든 커널의 서비스가 하나의 프로그램 형태로 실행됩니다.
- 커널이 하나의 덩어리로 되어있기에 속도가 빠릅니다.
- 유연성이 떨어지며, 버그나 오류가 전체 시스템에 영향을 주기에 안정성과 보안성이 떨어집니다. - Micro Kernel
- 최소한의 기능만을 커널 모드에서 실행하며, 나머지는 사용자 모드에서 별도의 프로세스로 실행됩니다.
- 커널의 기능이 서비스간의 통신으로 이루어지기에 속도가 느립니다.
- 유연하며, 한 서비스에서의 오류가 다른 서비스에 영향을 끼치지않아 안정성과 보안성이 뛰어납니다. - Hypervisor
- 단일 Hypervisor위에 여러개의 가상 OS를 올려 작동시키는 기술로, 한 커널위에 여러개의 가상 OS들이 연결됩니다.
- 가상화 기술인 만큼 직접적으로 하드웨어를 다루는거보다 속도가 느립니다.
- 하나의 물리 컴퓨터에서 여러 종류의 게스트 OS를 운용이 가능합니다.