운영체제 1장 - Introduction

어흥·2024년 5월 3일

Computer Science

목록 보기
1/28

Introduction

운영체제의 주요한 역할과 컴퓨터 시스템에서 주요한 하드웨어를 소개했다. 앞으로 운영체제에서 설명해야할 중요한 개념들을 짓고 넘어가는 장

What OS do?

운영체제

컴퓨터의 하드웨어 자원을 할당하고 분배하고 관리하는 software이다.

  • 이때 하드웨어는 메모리, CPU, 입출력 장치, 저장장치가 이에 해당된다.

컴퓨터와 사용자를 연결하고 응용프로그램의 기초를 제공하는 역할이 있다.

커널은 운영체제의 핵심이며 운영체제는 메모리에 상주하는 커널과 그렇지 않은 커널 모듈로 이루어져 있다.

OS 역할은 사용자의 편의성 제공, 자원 할당. 프로그램 제어로 나눌 수 있다.

컴퓨터 시스템은 크게 4가지로 구성된다.

하드웨어, 운영체제, 응용 프로그램, 사용자로 이루어져 있다.

컴퓨터 시스템은 cpu와 여러개의 device controller로 이루어져 있으며 메모리에 있는 데이터를 common bus를 통해 전달받는다.

저장 장치 피라미드

저장 장치 피라미드는 다음과 같다.

위로 갈수록 속도는 빠르지만 가격이 올라가 용량이 작아진다.

Register: 프로세스 내에서 데이터를 보관하는 저장장치이다.

Cache: 레지스터와 메인메모리 사이에 존재하는 빠른 저장장치로, 메모리에서 자주 쓰이는 데이터를 복사하여 빠른 접근을 보장한다.

MM: CPU가 접근할수 있는 유일한 대량 메모리다. 휘발성 저장장치이기 때문에 전원이 꺼지면 저장할 수 없다.

보조 저장 장치 : HDD, NVM. 비휘발성 저장장치이다.

Multiprogramming and multitasking

multiprogramming: 메모리에 여러 프로그램을 상주해 놓고 다른 프로세스가 대기 상태가 되면 다른 프로세스의 작업을 수행하는 시스템

multitasking: process마다 일정 작업 시간을 정해놓고 번갈아가며 작업하는 방식

switch가 자주 일어나 사용자에게 빠른 응답 시간을 제공한다.

Computer system organizations

computer system은 여러개의 cpu와 device controllers로 구성되 있으며 common bus로 이어져 있어 이를 통해 memory를 공유한다.

입출력

장치와 메모리/ 로컬 버퍼 사이의 데이터 전송을 담당.

  • 장치 제어기 ( device controller) : 장치에 존재함
  • 장치 드라이버 ( device driver ) : 운영체제에 존재함. 운영체제는 여러 장치 드라이버 지원을 위해 공통 인터페이스를 제공한다.

interrupts

device controller가 CPU에게 특정 이벤트 발생을 알리기 위해서 interrupt를 사용한다.

interrupt가 발생하면 커널은 기존의 작업을 중단하고 interrupt를 처리한 후에 중단한 작업을 시작한다.

OS Operations

부트스트랩 프로그램

메모리는 휘발성으로 컴퓨터 전원을 끄면 커널이 메모리에 상주할 수 없다.

따라서 커널이 디스크에 저장된다. 디스크에 저장된 커널을 비휘발성 저장장치인 EEPROM이나 ROM에 저장된 부트스트랩 프로그램이 메모리에 올린다.

부트스트랩 프로그램 실행 과정

  1. 시스템을 초기화시킨다. (register, device controller, main memory)
  2. 디스크에서 os 커널을 찾아 메모리에 로드한다.

event 처리

보통 이벤트는 interrupt를 사용해서 처리한다. (보통 소프트웨어 내부 연산에 의한 인터럽트는 trap이라고 한다.)

Dual mode

os의 실행모드를 구별하여 권한을 달리하는 것을 말한다.

  • mode bit
    • user mode (1)
    • kernal mode(0) (= supervisor mode, system mode, privileged mode)

os의 mode 전환은 system call에 의해 이루어진다.

  • user application이 system call을 호출하여 kernal mode로 전환하고 해당 system call을 처리한다.

0개의 댓글