운영체제
- 운영체제는 매우 특별한 프로그램이기 때문에 항상 컴퓨터가 부팅될 때 메모리 내 커널 영역이라는 공간에 따로 적재되어 실행된다.
- 커널 영역을 제외한 나머지 영역, 사용자가 이용하는 프로그램이 적재되는 영역을 사용자 영역 이라고 한다.
- 운영체제는 실행할 프로그램을 메모리에 적재하고, 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리를 관리한다.
- 운영체제는 응용 프로그램과 하드웨어 사이에서 응용 프로그램에 필요한 자원을 할당하고, 올바르게 실행되도로 관리하는 역할을 한다.
- 운영체제의 핵심 서비스를 담당하는 부분을 커널이라고 한다.
- 운영체제가 제공하는 서비스 중 커널에 포함되지 않는 서비스도 있는데, 사용자 인터페이스가 있다. 그 종류에는 그래픽 유저 인터페이스와 커맨드 라인 인터페이스가 있다.
- 그래픽 유저 인터페이스 : 윈도우 바탕화면이나 스마트폰의 화면처럼 그래픽을 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스
- 커맨드 라인 인터페이스 : 명령어를 기반으로 컴퓨터와 상호작용할 수 있는 인터페이스
사용자 인터페이스는 운영체제가 제공하는 서비스이지만, 이는 그저 컴퓨터와 상호작용하기 위한 통로일뿐, 커널에 속한 기능은 아니다.
- 이중 모드 : 이중 모드란 cpu가 명령어를 실행하는 모드를 크게 사용자 모드와 커널 모드로 구분하는 방식.
- 사용자 모드
사용자 모드는 운영체제 서비스를 제공받을 수 없는 실행 모드. 즉, 커널 영역의 코드를 실행할 수 없는 모드이다. 일반적인 응용프로그램은 사용자 모드로 실행된다.
- 커널 모드
운영체제 서비스를 제공받을 수 있는 실행 모드. 즉, 커널 영역의 코드를 실행할 수 있는 모드.
- 사용자 모드로 실행되는 프로그램이 자원에 접근하는 운영체제 서비스를 제공받으려면 운영체제에 요청을 보내 커널 모드로 전환되어야 하는데, 이때 운영체제 서비스를 제공받기 위한 요청을 시스템 호출이라고 한다.
-> 1) 하드 디스크에 데이터를 저장하는 시스템 호출을 발생시켜 커널 모드로 전환
-> 2) 운영체제 내의 하드디스크에 데이터를 저장하라는 코드를 실행함으로써 하드디스크에 접근
-> 3) 하드디스크에 접근이 끝났다면 다시 사용자 모드로 복귀하여 실행을 계속 이어나감
프로세스 관리
- 실행중인 프로그램을 프로세스라고 한다. 작업관리자의 프로세스 항목을 보면 확인할 수 있다.
- 컴퓨터를 사용하는 동안 메모리 안에서는 새로운 프로세스들이 마구 생성되고, 사용되지 않는 프로세스는 메모리에서 삭제된다.
- cpu는 한번에 하나의 프로세스만 실행할 수 있기에 cpu는 이 프로세스들을 번갈아 가며 실행하고 또 다른 프로세스로 실행을 전환하는 것을 반복한다.
- 운영체제는 프로세스들에 공정하게 cpu를 할당하기 위해 어떤 프로세스부터 cpu를 이용하게 할 것인지, 얼마나 오래 이용하게 할지 결정할 수 있어야 하는데 이를 cpu 스케줄링이라고 한다.
- 모든 프로세스는 실행을 위해 자원을 필요로 한다. 그리고 운영체제는 프로세스들이 사용할 자원에 접근하고 조작함으로써 프로세스에 필요한 자원을 할당해 준다.
출처 : 혼자 공부하는 컴퓨터 구조 + 운영체제(강민철)
'컴퓨터구조+운영체제' 카테고리의 다른 글
프로세스 (1) | 2023.12.21 |
---|---|
RAID의 정의와 종류 (2) | 2023.12.05 |
보조기억장치 (1) | 2023.12.05 |
메모리의 주소, 캐시 메모리 (0) | 2023.12.01 |
RAM의 특징과 종류 (1) | 2023.12.01 |