[OS] Ch1_Instruction of OS

윰지·2020년 6월 30일
0

OS_운영체제

목록 보기
1/13

운영체제란?


정의

  • 컴퓨터 시스템을 운영하는 소프트웨어
  • user/application과 computer hardware사이에서 돌아가는 소프트웨어 프로그램
  • 하드웨어를 잘 포장해서 응용 프로그램들이 쉽게 쓸 수 있도록 하는 소프트웨어

목적

  • user 프로그램을 실행시키고 문제 해결
  • application이 hardware를 쓰는데 부족함이 없도록 도와준다.
  • Use computer hardware in an efficient and safe manner.

What Operating System Do


Application/user view

  • convenience, ease of use, good performance
  • 프로그램을 실행시키기 위한 실행 환경을 제공

System view

  • Resource manager
  • Control program

Computer-System Organization


현대의 일반적인 컴퓨터 시스템은 여러개의 CPU(Central Processing Unit)와 device controller로 구성된다. 그리고 이들은 common bus로 이어져 메모리를 공유한다.

Computer Startup
컴퓨터를 키면 bootstrap(부트스트랩)이라는 초기화 프로그램이 실행된다. ROM이나 EEPROM에 저장되어 있고, 펌웨어(firmware)라고 불린다. ROM에 저장되어 있는 코드를 BIOS 코드라 하고, 그 코드의 가장 앞에 위치한 코드가 부트스트랩이다. 시스템을 초기화하고 boot loader를 실행한다. Boot loader는 최종적으로 운영체제를 실행한다.

Computer-System Operation
입출력 장치와 CPU는 동시에 실행될 수 있다. Device controller는 CPU에게 interrupt를 통해 이벤트 발생을 알린다.

Computer System Architecture


Single-Processor Systems
하나의 메인 CPU만 탑재, 장치에 따라 목적을 가진 프로세서가 들어간다.

Multiprocessor Systems

  • parallel systems or multicore systems
  • 분류
    • Asymmetric Multiprocessing : 각 프로세서가 특정된 일을 맡아서 한다.
    • Symmetric Multiprocessing(SMP) : 운영체계와 메모리를 공유하는 여러 프로세서가 프로그램을 수행하는 것

Multi-core design
하나의 칩(chip)에 코어(core)를 늘리는 것이다. 칩 내부의 통신이 칩 사이의 통신보다 빨라 더 효율적이다. 또한 하나의 칩에 코어를 여러개 담으면 전력을 더 적게 사용한다.

Operating System Operations


Multiprogramming & Multitasking
Multiprogramming이란 여러 프로그램을 로드하고 한 프로세스가 대기 상태가 되면 다른 프로세스의 작업을 수행하는 시스템이다. 이를 통해 CPU의 사용 효율을 높일 수 있다.
Multitasking은 Time sharing이라고도 부른다. Multitasking 시스템에서 CPU는 여러 프로세스를 전환하며 프로세스를 실행하지만 전환이 자주 발생하여 사용자에게 빠른 response time을 제공한다. 운영체제의 스케줄링에 따라 조금씩 번갈아 가면서 수행되는 것이다.

Dual-Mode & Multimode

  • Multi mode로 시스템을 보호한다.
  • CPU operates in user mode or kernel mode.
  • User mode에서 돌 수 있는 instruction은 kernel mode에서 돌 수 있는 instruction의 subset이다.
  • user mode : 더하기, 곱하기, if문 등
  • kernel mode : 사용자의 동작 방해, protection을 해야하는 중요한 instruction(privileged instructions)
    Privileged Instructions
    • kernel mode에서만 동작한다.
    • User mode에서 privileged instruction을 돌리려고 하면 CPU가 exception을 날린다.(interrupt와 비슷) 날리면 kernel mode로 진입한다. 그러면 운영체제가 상황을 살펴본다.
    • executed carefully
      • Direct I/O access
        파일에서 저장장치를 통해 데이터를 읽고 쓰는 것
      • Accessing/manipulating system registers
        • Control registers
        • Interrupt service routine table
      • Memory state management
      • HLT instruction
  • Mode bit을 보면 자신이 user mode에 있는지 kernel mode에 있는지 알 수 있다.

0개의 댓글