본문 바로가기
CS/운영체제

운영체제의 정의

by Mecodata 2023. 1. 2.

운영체제(OS, Operating System)

- 실행할 프로그램에 필요한 자원을 할당하고 프로그램이 올바르게 실행되도록 돕는 특별한 프로그램

- 응용 프로그램과 하드웨어 사이에서 하드웨어를 조작하여 응용 프로그램에 필요한 자원을 할당하고 응용 프로그램이 올바르게 실행되도록 관리하는 소프트웨어 => OS가 없다면 하드웨어를 조작하는 코드를 개발자가 직접 작성해야 함

- 응용 프로그램 (Application Program) = 사용자가 특정 목적을 위해 사용하는 일반적인 프로그램

 

- 메모리 관리 = OS는 실행할 프로그램을 메모리에 적재하고 더 이상 실행되지 않는 프로그램을 메모리에서 삭제하며 지속적으로 메모리 자원을 관리

- CPU 스케줄링 = 최대한 공정하게 여러 프로그램에 CPU 자원 할당 (우선순위 및 얼마나 오랫동안 CPU를 이용할지 결정)

하나의 CPU는 하나의 프로세스만 실행할 수 있음

 

- 작성한 소스 코드가 하드웨어를 제대로 실행하지 못하면 오류 메세지를 출력

=> OS를 공부해야하는 이유 = 오류 메세지에 대한 이해를 통하여 문제를 해결하기 위해

 

커널(Kernel)  

- OS의 핵심 서비스를 담당하는 부분 (자동차의 엔진, 사람의 심장과 같은 역할)

- 사용자 인터페이스(UI)는 커널에 속하지 X (사용자와 컴퓨터 간의 통로)

 

이중 모드(Dual Mode)

- OS는 응용 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지하여 자원을 보호

=> 응용 프로그램이 자원에 접근하려고 할때 OS를 거쳐서 접근할 수 있도록하는 OS가 문지기 역할을 수행

- 이중 모드 = CPU가 명령어를 실행하는 모드를 사용자 모드와 커널 모드로 구분하는 방식

- 시스템 호출(System Call) = OS 서비스를 제공받기 위하여 응용 프로그램이 사용자 모드 => 커널 모드로 전환하기 위해  OS에 보내는 요청 (소프트웨어 인터럽트의 한 종류)

※ 시스템 호출 과정 = 시스템 호출로 커널 모드로 전환 => OS 서비스를 실행 => 다시 사용자 모드로 복귀

사용자 모드

- OS 서비스를 제공받을 수 없는 실행 모드

- 일반적인 응용 프로그램은 사용자 모드로 실행

커널 모드

- OS 서비스를 제공받을 수 있는 실행 모드

 

운영체제의 핵심 서비스

- 프로세스(실행 중인 프로그램) 관리 = 동시다발적으로 생성/실행/삭제되는 다양한 프로세스를 관리

- 자원 접근 및 할당(CPU, 메모리, 입출력장치)

- 파일 시스템 관리 

 

'CS > 운영체제' 카테고리의 다른 글

동기화  (0) 2023.01.23
CPU 스케줄링  (0) 2023.01.16
스레드  (0) 2023.01.04
프로세스  (0) 2023.01.02

댓글