[혼공컴운] 4주차 - 운영체제 시작하기 (chapter 9)

회색몽구스·2023년 2월 4일
0

chapter 09 운영체제 시작하기

09-1 운영체제를 알아야 하는 이유

핵심 키워드: 운영체제, 문제 해결

운영체제란

실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램이 운영체제입니다.

운영체제는 컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행됩니다. 운영체제는 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 이들이 올바르게 실행되도록 돕습니다.

운영체제를 알아야 하는 이유

운영체제가 하드웨어를 조작하고 관리하는 기능들을 제공하기 때문에 개발자는 하드웨어를 조작하는 코드를 직접 작성할 필요 없이 운영체제의 도움을 받아 간편하게 개발할 수 있습니다.

또한, 운영체제는 하드웨어의 상태는 어떠한지, 여러분의 코드가 어떻게 실행되었는지, 하드웨어 상에 어떤 문제가 있었는지 등을 여러분에게 상세히 알려줄 수 있고, 이를 통해 여러분은 문제 해결의 실마리를 찾을 수 있습니다.

09-2 운영체제의 큰 그림

핵심 키워드: 커널, 이중 모드, 시스템 호출, 운영체제 서비스

운영체제의 심장, 커널

자원에 접근하고 조작하는 기능, 프로그램이 올바르고 안전하게 실행되게 하는 기능이 운영체제의 핵심 서비스로 이를 담당하는 부분을 커널이라고 합니다.

운영체제가 제공하는 서비스 중 커널에 포함되지 않는 서비스도 있는데, 대표적으로 사용자 인터페이스입니다. 그 종류로 그래픽 유저 인터페이스커맨드 라인 인터페이스가 있습니다.

이중 모드와 시스템 호출

운영체제는 응용 프로그램들이 자원에 접근하려고 할 때 오직 자신을 통해서만 접근하도록 하여 자원을 보호합니다. 응용 프로그램의 요청을 받은 운영체제는 응용 프로그램 대신 자원에 접근하여 요청한 작업을 수행합니다.

커널 모드는 운영체제 서비스를 제공받을 수 있는 실행 모드로 CPU가 커널 모드로 명령어를 실행하면 자원에 접근하는 명령어를 비롯한 모든 명령어를 실행할 수 있습니다.

사용자 모드로 실행되는 프로그램이 자원에 접근하는 운영체제 서비스를 제공받으려면 운영체제에 요청을 보내 커널 모드로 전환되어야 합니다. 이때 운영체제 서비스를 제공받기 위한 요청을 시스템 호출이라고 합니다.

시스템 호출은 일종의 인터럽트로 소프트웨어 인터럽트라고 합니다.

운영체제의 핵심 서비스

프로세스 관리 (→ GOTO chapter 10)

프로세스가 동시에 실행되는 환경에서는 ‘프로세스 동기화’가 필수적이고, ‘교착 상태’를 어떻게 해결하는지 (→ GOTO chapter 12, 13)

자원 접근 및 할당

CPU 스케쥴링 (→ GOTO chapter 11)

메모리가 부족할 경우 이를 어떻게 극복하는지 (→ GOTO chapter 14)

입출력 장치의 인터럽트 서비스 루틴을 제공

파일 시스템 관리 (→ GOTO chapter 15)

profile
끄아아아아 할 수 있다

0개의 댓글