학교/운영체제

[OS] 3. Operating System Structures

daykim 2022. 5. 24. 15:05

Operating-System Operations

Booting procedure

  1. power on
  2. 메인보드에 전력공급
  3. CPU에 전력공급
  4. Flash memory에 BIOS 저장
    • BIOS (Basic Input Output System)
      : 컴퓨터의 H/W와 OS 처음으로 연결해줌. 일종의 Firmware
  5. POST for CMOS, computer H/W
    • POST : 컴퓨터의 CPU, 메인 메모리, 그래픽카드, 하드디스크 등 device가 제대로 작동하는지 체크
    • CMOS : real time clock, 비휘발성 메모리가 있다. 컴퓨터 시스템의 날짜, 시간 정보, 디스크, 부팅 관련 내용이 CMOS 칩에 작성되어있다. => CMOS에 저장된 내용을 BIOS가 출력하는 형태
    • OS 구동시 프로세스 형태로 바뀌어 다른 프로세스들처럼 상주하며 실행된다.
      OS 발동 이후엔 컴퓨터에 대한 작업 전부 게시하고, 전원 끝나는 시점까지 총괄 관리
  6. 메모리에 MBR 적재
    • MBR (master boot record) : 부팅하기 위한 내용이 포함되어있다.
  7. OS kernel을 가져와 memory에 적재
  8. power off 될 때까지 OS가 전체 컴퓨터 시스템 관리

 

Multiprogramming

다수의 프로세스를 처리하는 상황에서 컴퓨터 자원에 대해 노는 자원이 없도록 만드는 방법론

CPU와 자원 이용률의 최대화가 목표다. but 100%의 이용률은 overhead를 발생

  • 일반적으로 사용자는 여러개의 프로그램을 동시에 실행시킨다.
    -> 임의 시점에서 프로세스는 단일이 아닌 여러개 다중 존재할 수 있다.
  • if 하나의 프로세스만 CPU를 점유한다면, I/O에 대한 일을 처리해야 할 때 해당 CPU는 대기해야 하는 상황이 발생
    => Multiprogramming은 이를 방지하기 위해 다른 대기중인 프로세스에게 그 CPU 자원을 일시적으로 넘겨주도록 하는 것

 

Multitasking

batch 프로세싱에 초점 맞춘 multiprogramming 개념

Interactive 등 응용들도 포괄할 수 있는 프로세스 처리 방법론

  • 메모리에 적재된 다수의 프로세스에 대해 CPU 자원을 나눠서 사용할 수 있게 하는 방법론
    (각각의 상황에 대해 순번을 정해 할당받을 수 있게 하는 방법론)
  • Interaction 관점에서 성능을 높이는 것이 목적
    현재 돌아가는 모든 프로세스에 대해 빠르게, 제대로 받고 있다고 인식하게 하는 반응시간을 제공하는 것
  • 각 프로세스를 CPU에 어떻게 할당할지 스케줄링 기법 필요

 

Dual-mode

컴퓨터 자원에 대해 두 가지 모드를 설정하고, 둘 중 선택된 모드에 맞춰 OS 또는 프로세스가 접근 가능하도록 한다.

Mode bit

  • 컴퓨터 H/W로부터 제공된다.
  • OS 작업과 사용자 작업을 구분할 수 있는 기능 제공

User-mode

  • mode bit가 1인 경우
  • 일반 유저 프로세스로 H/W에 접근한다.

Kernel-mode

  • mode bit가 0인 경우
  • OS가 H/W 자원 관리시 사용
  • OS가 관리자 역할을 할 수 있도록 하는 것이 목적
  • risk가 있는 명령어를 kernel mode에서만 처리되도록 한 것

 

System call

System call 방법론

사용자 프로세스가 OS에게 권한 있는 명령을 수행하도록 요청하는 수단을 제공

  • 기본 프로세서의 기능에 따라 호출된다.

Trap

system call을 프로세스가 보낼 때, S/W 적으로 Interrupt를 발생시켜 호출하는 것

  • system call 처리 후에는 Trap이 발생했던 위치로 돌아가 하던 동작 이어서 수행
  • ex)
    user mode인데 직접 접근하려고 할 때 trap을 발생시킨다.
    프로세스 H/W 모두 trap 발동 가능. 이런 경우 에러 메시지 출력 후 원인되는 프로세스 강제 종료

 

Timer

컴퓨터 시스템의 안전을 위해 특정 프로세서가 CPU 자원을 독점하는 상황을 막기 위한 H/W

  • 프로세스 : 프로그램 메모리에 적재되어 CPU 자원을 받아 자신의 Task를 처리하는 것
  • 운영체제가 설정한 고정 카운트 만큼 시간이 지나면 Timer가 Interrupt를 발생시킨다.
    ISR 호출된다.
  • OS만 접근 가능한 기능 -> 안전성

 

System Call

유저 프로세스가 OS로부터 직접 제공받아야 하는 특정 서비스를 해달라고 요청하는 것

 

System Call Parameter Passing(전송)

3 approaches

  1. CPU parameter 값 자체를 전달
    • 구현 쉽다
    • register 크기 작다.
  2. 파라미터를 블록, 메모리 등에 저장 후 그 주소를 레지스터에 저장해
    OS가 레지스터의 값 받아 파라미터에 접근하도록 함
  3. 메모리 stack을 이용해 수행
    • system call에 필요한 파라미터들을 stack에다 push하면, OS가 pop 작업으로 파라미터 꺼내서 사용

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

[운영체제] 2. 운영체제 구조  (0) 2023.01.09
[운영체제] 1. 서론  (0) 2023.01.07
[OS] 2-2. Computer Structures  (0) 2022.05.24
[OS] 2-1. 운영체제의 종류  (0) 2022.05.24
[OS] 1. 운영체제 개요  (0) 2021.09.01