학교/운영체제

[OS] 2-2. Computer Structures

daykim 2022. 5. 24. 14:35

Operating System

H/W에 직접적, 주도적으로 접근, 관리하는 시스템 S/W

 

컴퓨터 시스템의 개요

CPU

  • 연산 작업 처리
  • 현대 컴퓨터들은 단일 CPU가 아닌, 멀티 코어 기반의 프로세서를 탑재한다.

Memory

  • 주기억 장치
  • CPU 이외에 컴퓨터에서 발생하는 요청 작업처리를 위한 작업공간인 shared Memory가 있다.
    => 단일 프로세스만이 아니라 여러 프로세스가 공유해 사용한다.

다수의 device controller

  • I/O device에서 발생한 요청 작업 처리하는 관리자

Bus

  • 컴퓨터와 공유 메모리 사이의 접근을 제공한다.
  • 통로 공간의 크기에 따라 성능에 영향을 미친다.

 

Interrupt

CPU가 어떤 프로그램을 수행하고 있을 때, 예외상황이 발생하게 되어 처리가 필요한 경우에
수행하던 동작을 멈추고 발생한 일을 우선 처리하는 것
.

Interrupt 기반 장치 관리

  • 해당 Interrupt Service Routine(Interrupt handler)으로 jump 후, 
    CPU의 현재 상태 레지스터들을 stack 레지스터에 대피시킨 후에 해당 루틴을 수행하도록 한다.
  • interrupt 수행이 끝나면 대피시킨 데이터들을 복구하고, 멈췄던 일들을 이어서 수행

Interrupt Service Routine(ISR)을 위한 전송 제어

  • Interrupt 발생마다 generic routine 호출해 정보 조사하고,
    맞는 handler, ISR을 찾는 것은 컴퓨터 성능에 비효율적 결과를 도출 (Slow)
  • ISR위치를 제공해주는 주소배열인 interrupt 배열 사용 (Fast)

Interrupted된 computation의 Resumption

  • 중단된 계산을 위해 상태 정보를 저장하고, Interrupt를 처리한 후 복원한다.
  • 저장된 반환 주소는 interrupt 서비스 후 프로그램 카운터(PC)에 load된다.

 

Storage Structure

EEPROM

  • 전기신호 주면 메모리 안의 데이터 지워진다.
  • 비휘발성 메모리
  • Bootstrap program등을 위해 사용
  • 한 번에 1byte씩, 쓰고 지우는 속도 느림, 횟수제한

Processor register

  • 가장 빠른 메모리
  • 메인 메모리에 프로세스 올라가면 계산해 결과 나온 것을 별도의 operand(임시 저장장소)에 저장

Main memory

  • 중간에 전원 꺼지면 데이터 날아간다
  • 일반적으로 DRAM의 형태
  • Random access

Secondary storage (보조기억장치)

  • 대용량 data등을 저장하기에 main memory는 빠르지만 비싸고, 휘발성이라 적합하지 않기 때문에 사용
  • ex) HDD, SSD, Flash memory

 

Storage Hierarchy (계층 구조)

 

Caching

더 빠른 저장 시스템에 정보를 복사한다.

ex) CDN

  • 네트워크 거리상 가장 가까운 서버에 접근해 데이터 받을 수 있게 해주는 네트워크
    => 데이터에 빠르게 접근 가능

Cache

CPU에서 연산작업을 위해 main memory에 올라온 프로세스의 Instruction을 가져와 레지스터에 적재 후 계산한다.

하지만 레지스터는 비싸고 용량크기가 작다.

연산에 필요한 데이터 저장위해 메인 메모리에 여러번 접근해 data 읽고 쓰는데 레지스터는 비효율적

따라서 중간에 별도의 메모리를 두고 자주 쓰는 데이터를 넣어놓고 사용하면 처리성능 좋아짐

 

I/O Structure (입출력 구조)

Direct Memory Access (DMA)

  • 메모리 속도에 가까운 정보를 전송
  • CPU의 간섭 없이 local buffer에서 메인 메모리로 직접 데이터 블록을 전송
  • byte 당 하나의 인터럽트가 아닌 블록당 하나의 인터럽트가 생성된다.
  • DMA를 통해 데이터를 읽고 쓰는 방법은 인터럽트를 발생시키지 않아 성능이 좋다.

 

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

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