티스토리 뷰

1. 컴퓨터 시스템의 기본 구성

하드웨어(CPU, 메모리, I/O)

운영체제: 하드웨어와 응용 프로그램의 사용을 제어, 조정하는 역할

응용 프로그램

사용자

 

2. 운영체제의 정의와 하는 일

정의

  • 커널은 컴퓨터에서 항상 실행되는 하나의 프로그램
  • 시스템 프로그램으로서 모든 프로그램을 포함하고 시스템 운영과 관련 있는 응용 프로그램

 

하는 일

  • 리소스 할당의 주체: 모든 리소스를 관리하고 자원에 대해 충돌되는 요청 사이에서 효율적이고 공정하게 사용, 리소스 분배
  • 제어 프로그램: 프로그램 실행을 제어, 오류 및 부적절한 사용 방지
  • 하나 이상의 CPU, 장치 컨트롤러는 공유된 메모리에 대한 접근을 제공하는 공용 버스를 통해 연결되고, 메모리를 두고 경쟁하는 CPU와 디바이스의 동시 실행

3. 컴퓨터 시스템의 작동

* 부트스트랩(=부팅)

: PC 전원버튼을 누른 직후부터 운영체제가 메모리에서 동작하기 시작할 때까지의 모든 과정

1) 메인보드에 전력 공급

2) CPU가 ROM에 저장된 BIOS 루틴 시작

3) BIOS는 셀프테스트를 통해 주변 하드웨어를 체크

4) Master Boot Record에 존재하는 부팅정보를 읽어오는 부트스트랩 실행

5) 휘발성 메모리인 RAM에 Bootloader를 적재. 디스크에 있는 OS(커널) 코드를 복사하여 메모리에 적재 초기화

 

* 컴퓨터 시스템 동작 전제

입출력 장치와 CPU는 동시 실행 가능.

각 장치 컨트롤러는 특정 디바이스 유형을 담당, 로컬 버퍼 존재.

CPU는 메인 메모리로 로컬 버퍼간 데이터 이동.

입출력은 장치에서 컨트롤러의 로컬 버퍼로 전달.

장치 컨트롤러는 인터럽트를 발생시켜 CPU에 작업 완료를 알림.

4. 인터럽트란

정의: CPU가 프로그램을 구동 중일 때 입출력이나 예외 상황이 발생하여 처리가 필요한 경우에 CPU에 신호를 보내는 것

하드웨어 인터럽트: 하드웨어가 발생시키는 인터럽트로 CPU외의 하드웨어가 CPU에게 신호를 보내야 할 경우 발생.

소프트웨어 인터럽트: 사용자 프로그램이 인터럽트 하는 경우 발생. 예외 상황, supervisor call.

 

* 인터럽트 발생/종료 Flow

: 기존에 기동되고 있던 유저 프로세스에 인터럽트 신호가 발생

=> CPU가 현재 수행중이던 작업을 중지

=> 인터럽트가 시작되는 인터럽트가 지정된 위치로 실행 위치 변경

=> 인터럽트 실행

=> 인터럽트 종료

=> 인터럽트 이전, 수행중이던 작업을 재개 (수행중이던 작업의 복귀 주소를 미리 저장 필요)

 

Ch02. 운영체제 구조

1) 운영체제 서비스

유저인터페이스: GUI, CLI, 터치스크린

프로그램 실행

IO 수행

파일시스템 조작

통신

리소스 할당

로깅

보호와 보안

 

2) 운영체제 동작 - 시스템 콜

시스템 콜: 응용프로그램에서 운영체제에게 어떠한 기능(시스템 자원)을 수행해달라고 하는 하나의 수단

- 정의: 프로세스가 하드웨어에 접근해서 필요한 기능을 사용할 수 있게 함. 커널 영역의 기능을 사용자 모드가 사용 가능하게 하는 하나의 수단.

 

듀얼 모드

- 사용자와 운영체제는 시스템 자원을 공유

- 사용자에게 제한을 두어 사용자가 메모리 내 주요 운영체제 자원에 직접적으로 접근할 수 없도록 함

- 운영체제에서 프로그램이 구동되는데에 있어서 파일을 일거나 쓰거나 화면에 메시지를 출력하는 등 많은 부분을 커널모드로 사용

 

프로세스 제어

- 프로세스 생성 및 종료

- 로드, 실행

- 프로세스 속성 가져오기, 설정

- Wait, Signal 이벤트

- 메모리 할당 및 해제

 

파일 관리

- 파일 생성 및 삭제

- 열기, 닫기

- 읽기, 쓰기, Reposition

- 파일 속성 값 확인 및 지정

 

통신

- 연결 생성 및 삭제

- 메시지 보내기, 받기

- 전송상태 정보

- 원격장치 연결 또는 분리

 

보호

- 파일 권한 얻기 및 설정

 

시스템 콜 과정

- 유저가 커널에게 시스템 콜 요청 => 커널은 시스템 콜 수행 => 시스템 콜 결과를 유저에게 반환 => 프로세스 제어 / 파일 관리 / 장치 관리 / 정보 유지 / 통신 / 보호

 

 

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

Ch04. 스레드와 동시성 / Ch05. CPU 스케줄링  (0) 2023.12.29
Ch03. 프로세스 관리  (0) 2023.12.28
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함