반응형
데스크톱 운영체제
- 윈도우
- macOS
- 리눅스
스마트폰 운영체제
- 안드로이드
- IOS
운영체제란?
- 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행 되도록 돕는 특별한 프로그램
- 메모리 내 커널영역(kernel space)라는 공간에 따로 적재되어 실행된다. 커널영역을 제외한 나머지 영역, 사용자가 이용하는 응용 프로그램이 적재되는 영역을 사용자영역이라고 한다.
- 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리한다.
- 최대한 공정하게 여러 프로그램에 CPU 자원을 할당한다.
- 운영체제 서비스로 프로세스 관리, 자원 접근 및 할당, 파일 시스템 관리가 있다.
응용프로그램은 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램을 의미. 워드 프로세서, 인터넷 브라우저, 메모장, 게임 등이 응용프로그램이다.
커널이란?
- 프로그램이 올바르고 안전하게 실행되게 하는 기능
- 어떤 커널을 사용하냐에 따라 실행하고 개발하는 프로그램이 하드웨어를 이용하는 양상이 달라진다. 전체적으로 볼 땐, 컴퓨터 전체의 성능도 달라질 수 있다.
- 커널에 포함되지 않는 서비스도 있는데 사용자 인터페이스가 대표적이다.
사용자 인터페이스(UI: User Interface)
- 윈도우의 바탕화면과 같이 사용자가 컴퓨터와 상호작용할 수 있는 통로
- 그래픽 유저 인터페이스(GUI) - 그래픽을 기반으로 컴퓨터와 상호작용, 커맨드 라인 인터페이스(CLI) - 명령어를 기반으로 컴퓨터와 상호작용으로 나뉜다.
운영체제는 응용 프로그램들이 자원에 접근하려고 할 때 오직 자신을 통해서만 접근하도록하여 자원을 보호한다. 이러한 운영체제의 문지기 역할은 이중 모드로써 구현된다.
이중모드(dual mode)
- CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널모드로 구분하는 방식.
- 사용자 모드는 운영체제 서비스를 제공받을 수 없는 실행 모드다. 즉, 커널 영역의 코드를 실행할 수 없는 모드.
- 커널모드는 운영체제 서비스를 제공 받을 수 있는 실행모드. 즉, 커널 영역의 코드를 실행할 수 있는 모드.
- 사용자 모드로 실행되는 프로그램이 자원에 접근하는 운영체제 서비스를 제공받으려면 운영체제에 요청을 보내 커널모드로 전환되어야 한다. 이 때 운영체제 서비스를 제공받기 위한 요청을 시스템 호출(system call)이라고 한다.
반응형
'혼자 공부하는 컴퓨터구조 + 운영체제' 카테고리의 다른 글
CPU 스케줄링 (0) | 2022.10.27 |
---|---|
프로세스와 스레드 (0) | 2022.10.22 |
입출력장치 (0) | 2022.10.17 |
보조기억장치 (0) | 2022.10.15 |
메모리와 캐시 메모리 (0) | 2022.10.11 |