02. 운영체제의 개념과 구조

헬리코박도·2021년 10월 15일
0

운영체제

목록 보기
3/10

공룡책 ch01, 02


운영체제란?

  • 컴퓨터의 하드웨어를 관리하는 소프트웨어
  • 응용프로그램과 사용자와 하드웨어 간의 매개 역할

컴퓨터 시스템의 4가지 구성 요소

  • 하드웨어
  • 운영체제
  • 응용 프로그램
  • 사용자

부트스트랩 프로그램 bootstrap program

  • 컴퓨터 구동 시 가장 먼저 실행되는 프로그램
  • 운영체제를 메모리에 불러오는 역할을 함

인터럽트 Interrupts

  • 하드웨어 장치가 CPU에 시스템 버스를 통해 신호를 보내 인터럽트를 트리거함
  • CPU는 한 번에 하나의 일 밖에 못하기 때문에 인터럽트가 작동하면 CPU가 하던 일을 중지하여 저장하고 인터럽트를 처리한다.

폰 노이만 아키텍처

  • 명령어를 메모리에서 fetch하여 해석하고 처리하는 사이클
  • 명령어는 instruction register에 저장됨
  • 명령어를 해석할 때 피연산자를 불러오는데 피연산자는 internal register에 저장됨
  • 명령어 처리결과는 다시 메모리에 저장됨

Storage System

  • 계층형 구조로 이루어짐
  • 아래층으로 갈 수록 속도가 느려지고 저장 공간이 커짐

입출력 구조 I/O Structure

  • 왼쪽의 device가 cpu에 인터럽트를 주고 데이터를 주고 받는 형태는 소량의 데이터에는 적합하지만 대용량에는 오버헤드가 발생하여 적합하지 않음
  • DMA Direct Memory Access: 오른쪽의 구조로 디바이스가 메모리에 직접 접근하여 데이터를 받아옴
  • OS 개발의 가장 큰 중점은 I/O 구조 설계이다.

SMP Symmetric MultiProcessing

  • 가장 흔한 멀티프로세서 시스템
  • 메모리에 연결된 여러 개의 CPU가 존재하며 각 CPU에 레지스터와 캐시가 존재함.

멀티코어 디자인 Multi-core design

  • 하나의 프로세서 내에 여러 개의 코어가 존재하는 구조

멀티프로그래밍 Multiprogramming

  • 여러 개의 프로그램을 동시에 메모리에 올리고 실행
  • CPU 사용 효율을 높힐 수 있음

멀티태스킹(멀티프로세싱) Multitasking

  • 멀티프로그래밍을 논리적으로 확장한 것
  • 하나의 CPU를 시분할하여 사용, 하나의 CPU로 여러 개의 작업을 동시에 하기 가능함(Concurrency)
  • CPU Scheduling: 멀티태스킹을 할 때 CPU가 어느 작업을 어떤 순서로 할지 스케쥴링하는 것

운영체제의 두 가지 모드

  • User mode: 보안을 위해 사용자에게 허가된 모드, 직접적인 하드웨어 제어 불가
  • Kernel mode: 유저 모드에서 시스템 콜을 받으면 커널 모드로 넘어감. 직접적인 하드웨어 제어가 가능함

가상화 Virtualization

  • 남는 자원을 통해 가상의 컴퓨터 환경 구현
  • 동시에 여러 개의 OS 동작
  • VMM Virtual Machin Manager: 가상 OS들을 관리

시스템 콜 System Call

  • 응용 프로그램이 OS에 서비스를 요청할 수 있게 제공되는 인터페이스
  • OS API
profile
Data Engineer

0개의 댓글