테키테크 TEKITECH

[운영체제] Ch09. 운영체제 이해하기 본문

그리고/스터디

[운영체제] Ch09. 운영체제 이해하기

TEKI 2023. 2. 12. 21:00

운영체제 이해하기

  1. 커널과 이중 모드 및 시스템 호출
  2. 운영체제의 핵심 서비스

 


 

1.  커널과 이중 모드 및 시스템 호출

운영체제의 핵심 서비스를 담당하는 부분을 커널이라고 한다. 따라서 운영체제가 설치된 모든 기기에는 커널이 있고, 어떤 커널을 사용하는지에 따라 프로그램이 하드웨어를 이용하는 양상 및 컴퓨터 전체의 성능에 차이가 생길 수 있다. 커널에 포함되지 않는 서비스에는 사용자 인터페이스 등이 있다. 

운영체제는 하드웨어 자원 관리와 보호를 위해 오직 자신을 통해서만 자원에 접근하도록 한다. 이러한 문지기 역할은 CPU가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 이중 모드로 구현된다. 

◈  사용자 모드
사용자 모드는 운영체제 서비스를 제공받을 수 없는 실행 모드 즉, 커널 영역의 코드를 실행할 수 없는 모드이다. 

◈  커널 모드
운영체제 서비스를 제공받을 수 있는 실행 모드 즉, 커널 영역의 코드를 실행할 수 있는 모드이다. 

CPU가 커널 모드로 명령어를 실행하면 자원에 접근하는 명령어를 비롯한 모든 명령어를 실행할 수 있다. 운영체제는 커널 모드로 실행되기 때문에 자원에 접근할 수 있다. 하지만 일반적인 응용 프로그램은 기본적으로 사용자 모드로 실행되므로 자원에 접근할 수 없다. 사용자 모드로 실행되는 프로그램이 자원에 접근하는 운영체제 서비스를 제공받으려면 운영체제에 요청(시스템 호출)을 보내 커널 모드로 전환해야 한다. 일반적으로 응용 프로그램은 실행 과정에서 운영체제 서비스를 매우 빈번하게 이용하므로 그 과정에서 시스템 호출을 빈번하게 발생시킨다.

 

 

2.  운영체제의 핵심 서비스

[1]  프로세스

실행 중인 프로그램으로, 일반적으로 하나의 CPU는 한 번에 하나의 프로세스만 실행할 수 있기에 CPU는 프로세스들을 번갈아가면서 조금씩 실행한다.

[2]  자원 접근 및 할당

모든 프로세스는 실행을 위해 자원을 필요로 하며, 운영체제는 프로세스들이 사용할 자원에 접근/조작하여 프로세스에 필요한 자원을 할당해준다.

◈  CPU
하나의 CPU는 한 번에 하나의 프로세스만 실행할 수 있으므로 공정하게 CPU를 할당하기 위해 CPU 스케줄링을 한다.

◈  메모리
메모리에 적재되는 프로세스들은 크기도, 주소도 모두 가지각색으로 메모리가 부족하거나 메모리 공간이 있음에도 프로세스를 적재하지 못하는 경우가 없도록 운영체제는 메모리를 잘 할당해야 한다.

◈  입출력장치
입출력장치가 발생시키는 하드웨어 인터럽트를 포함한 인터럽스 서비스 루틴은 운영체제가 제공하는 기능으로 커널 영역에 있다.

[3]  파일 시스템 관리  

디렉토리로 묶어 파일을 관리하는 파일 시스템도 운영체제의 핵심 서비스 중 하나이다.

 

반응형
Comments