[OS]운영체제의 큰 그림

Michelle Kim·2025년 5월 7일

CS-지식

목록 보기
12/15

OS 운영체제의 큰 그림

🟠 운영체제 2가지 핵심기능

1. 자원 할당 및 관리
- CPU관리: CPU스케줄링
- 메모리 관리: 가상 메모리
- 파일/디렉터리 관리: 파일 시스템

2. 프로세스 및 스레드 관리
- 프로세스와 스레드
- 동기화와 교착 상태

🟠 운영체제의 역할

🔹 자원이란?

프로그램 실행에 마땅히 필요한 요소

  • 실행에 필요한 '데이터'를 자원(소프트웨어)
  • 실행에 필요한 '부품'을 자원(하드웨어)

🔹 CPU관리: CPU스케줄링

CPU스케줄링: 운영체제는 실행중인 모든 프로그램들이 공정하고 합리적으로 CPU할당 받도록 할당 순서와 사용 시간을 결정한다.

CPU관리: CPU스케줄링

  • 기본 개념 : 우선순위, 스케줄링 큐, 선점형과 비선점형
  • CPU스케줄링 알고리즘
  • 리눅스 CPU스케줄링

🔹 메모리 관리: 가상 메모리

가상 메모리: 운영체제는 새롭게 실행하는 프로글매을 메모리에 적재하고, 종료된 프로그램을 메모리에서 삭제한다. 동시에 낭비되는 메모리 용량이 없도록 효율적으로 관리해야 한다. 실제 물리적인 메모리 크기보다 더 큰 메모리를 이용할 수 있도록 하는 기술

메모리 관리: 가상 메모리

  • 물리 주소와 논리 주소
  • 메모리 할당
  • 페이징과 페이지 교체 알고리즘

🔹 파일/디렉터리 관리: 파일 시스템

파일 시스템: 운영체제는 보조기억장치를 효율적으로 관리하기 위해 파일 시스템을 활용한다. 파일 시스템은 보조기억장치 내의 정보를 파일 및 폴더(디렉터리)단위로 접근, 관리할 수 있도록 만드는 운영체제 내부 프로그램이다.

파일/디렉터리 관리: 파일 시스템

  • 파일과 디렉터리
  • 파일 시스템

🔹 프로세스 및 스레드 관리

프로세스: 실행 중인 프로그램
스레드: 프로세스를 이루는 실행의 단위

운영체제는 이 프로세스에 필요한 자원을 할당하고, 스레드는 프로세스가 할당받은 자원을 이용해 프로세스의 작업을 수행한다.
운영체제는 프로세스와 스레드가 올바르게 처리되도록 실행의 순서를 제어하고, 프로세스와 스레드가 요구하는 자원을 적절하게 배분할 수 있어야 한다.

프로세스 및 스레드 관리

  • 프로세스와 스레드
  • 동기화와 교착 상태

🟠 시스템 콜과 이중모드

커널 영역: 운영체제는 매우 특별한 프로그램. 메모리 내의 커널 영역이라는 공간에 따로 적재되어 실행된다.
사용자 영역: 커널 영역 외에 사용자 응용 프로그램이 적재되는 공간

Q. 어떻게 응용프로그램은 커널 영역에 적재된 운영체제 코드를 실행할까?

🔹 시스템 콜

운영체제의 서비스를 제공받기 위한 수단(인터페이스), 호출 가능한 함수의 형태를 가짐

  • 프로그램은 시스템 콜을 통해 사용자모드와 커널 모드를 빈번히 오가며 운영체제의 소스코드를 실행한다.

🔹 이중모드

2개의 모드로 구분하여 실행하는 것
1. 사용자 모드: 사용자 영역에 적재된 코드를 실행할 때 실행모드
- 운영체제 서비스를 제공받을 수 없는 실행모드
- 사용자 모드로 실행되는 명령어는 실수라도 자원에 접근할 수 없다.

2. 커널 모드: 커널 영역에 적재된 코드를 실행할 때의 실행모드
- CPU가 커널 모드로 명령어를 실행하면 자원에 접근하는 명령어를 비롯한 모든 명령어를 실행할 수 있다.
- 자원에 접근할 수 있다.

profile
🇬🇧영국대학교)Computer Science학과 졸업 📚Data, AI, Backend 분야에 관심이 많습니다. 👉Email: kimbg9876@gmail.com

0개의 댓글