운영체제
컴퓨터 하드웨어 바로 위에 설치 되어 사용자/다른 소프트웨어, 하드웨어를 연결하는 소프트웨어 계층
- 사용자 및 소프트웨어와 어떻게 인터랙션 하는가?
- 하드웨어와 어떻게 인터랙션 하는가?
운영체제의 목표
운영체제 위치 관점에 따라서 크게 두 가지의 목표가 있다.
컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
(-> 사용자 및 소프트웨어와 어떻게 인터랙션 하는가?)
- 운영체제는 동시 사용자 및 프로그램들이 각각 독자적인 컴퓨터에서 수행되고 있는 것과 같은 환상을 제공
- 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행
컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공
(-> 하드웨어와 어떻게 인터랙션 하는가?)
- 프로세서, 기억장치, 입출력 장치 등의 효율적 관리 (메모리 공간을 적절히 분배)
- 사용자 및 운영체제 보호
- 프로세스, 소프트웨어 자원 등을 관리
운영체제의 구조
운영체제 = 커널 + 인터페이스
커널
프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아 놓은 것으로 운영체제의 성능을 좌우
인터페이스
사용자의 명령을 전달, 실행 결과를 사용자에게 알려주는 역할
시스템 호출 및 디바이스 드라이버
커널 내부에 있는 것들 ..
시스템 호출
커널이 자신을 보호하기 위해서 만든 인터페이스
사용자 및 프로그램이 직접 컴퓨터 자원에 접근하는 것을 제어
> 그러므로 사용자 또는 응용 프로그램이 컴퓨터 자원을 사용하기 위해서는 시스템 호출을 해야 한다.
(보통 printf(). write()와 같은 함수의 형태로 제공)
드라이버
커널과 하드웨어의 인터페이스를 담당
컴퓨터 하드웨어 종류는 다양하므로 각 하드웨어에 맞는 인터페이스를 개발하는 것은 불가능, 하드웨어 제작자가 만든 소프트웨어를 받아서 설치하여 하드웨어를 사용할 수 있도록 해주는, 이 때의 소프트웨어를 디바이스 드라이버라고 한다.
'OS' 카테고리의 다른 글
[질문] 프로세스, 쓰레드 (0) | 2022.08.29 |
---|---|
시스템 콜과 인터럽트 (0) | 2022.08.29 |
프로세스 - 상태 (0) | 2022.08.29 |
쓰레드 (0) | 2022.08.29 |
프로세스 - 개념, 메모리 구조, 상태변화 (0) | 2022.08.29 |