컴퓨터 구조 + 운영체제 #08

박영무·2024년 12월 14일
post-thumbnail

참고 서적: 혼자 공부하는 컴퓨터 구조 + 운영체제 (강민철, 한빛미디어)


I. 운영체제

1. 운영체제

1) 운영체제란

  • 모든 프로그램은 실행을 위해 자원을 필요로 한다.
    • 자원에는 컴퓨터의 네 가지 핵심 부품이 포함된다.
  • 메모리의 커널 영역에 적재되는 프로그램이다.
  • 메모리 관리: 운영체제는 실행해야 할 프로그램을 메모리에 적재시키며, 종료되는 프로세스는 메모리에서 삭제한다.
  • CPU 관리: 메모리에 적재된 프로세스 중 무엇을 우선적으로 실행할지, 얼마나 오랫동안 실행할지 등을 결정하는 역할을 한다.

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

  • 운영체제는 프로그램을 위한 프로그램이다.
  • 프로그램을 만드는 개발자는 운영체제를 알아야 한다.

II. Kernel

1. 운영체제가 제공하는 핵심적인 서비스

  • 자원에 접근하고 조작하는 기능
  • 프로그램이 올바르고 안전하게 실행되도록 하는 기능

2. Kernel

  • 운영체제의 핵심 서비스를 담당하는 부분이다.

III. System Call, Dual Mode

1. 자원 보호

  • 사용자가 자원에 직접 접근하는 것은 매우 위험하다.
  • 따라서 운영체제는 사용자가 오직 운영체제 자신을 통하여만 접근할 수 있도록 하여 자원을 보호한다.
  • 즉, 응용 프로그램이 자원에 접근하기 위해서는 운영체제의 코드를 실행하여야 한다.

2. 이중 모드

  • CPU가 명령어를 실행하는 모드이며, 사용자 모드커널 모드로 구분된다.

1) 사용자 모드

  • 운영체제의 서비스를 제공받을 수 없는 실행 모드
  • 커널 영역의 코드를 실행할 수 없는 실행 모드
  • 자원 접근 불가

2) 커널 모드

  • 운영체제의 서비스를 제공받을 수 있는 실행 모드
  • 자원 접근을 비롯한 모든 명령어를 실행할 수 있는 실행 모드

3) Flag Register

  • supervisor 플래그: 1일 경우 커널 모드, 0일 경우 사용자 모드로 실행 중임을 나타낸다.
  • Flag Register
    • 부호 플래그 zero 플래그 carry 플래그 overflow 플래그 interrupt 플래그 supervisor 플래그

3. 시스템 호출

  • SW 인터럽트의 일종으로, 운영체제의 서비스를 제공받기 위해 사용자 모드에서 커널 모드로 전환하는 방법이다.

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

1. 프로세스 관리

1) 프로세스

  • 프로세스는 Memory에 적재되어 실행 중인 프로그램이다.
  • 운영체제는 동시다발적으로 생성, 실행, 삭제되는 다수의 프로세스를 관리한다.

2. 자원 접근 및 할당

1) CPU 접근 및 할당

  • 모든 프로세스는 CPU를 할당 받아야 한다.
  • CPU 스케줄링: 어떤 프로세스를 먼저, 얼마나 오래 실행할지를 결정한다.
  • 프로세스와 스레드, 프로세스 동기화, 교착 상태 해결에 대하여 학습할 예정이다.

2) 메모리 접근 및 할당

  • 페이징, 스와핑 등에 대해 학습할 예정이다.

3) 입출력 장치 접근 및 할당

  • 응용 프로그램이 입출력 장치에 접근하려 할 때 운영체제는 ISR을 제공함으로써

3. 파일 시스템 관리

1) 파일과 디렉터리

  • 파일들을 디렉터리 단위로 묶어 저장 장치에 보관한다.
profile
시행착오는 성장의 밑거름입니다.

0개의 댓글