운영체제 CH 1

김영민·2022년 3월 18일
0

운영체제란 ?

컴퓨터라는 하드웨어를 운영하는 소프트웨어


1. Ubiquity of Computing Devices

산재 되어있는 Computing Devices

Computing Devices은 운영체제가 반드시 필요


2. Complexity is Our Enemy →”너무" 다양한 것이 문제다.

다양성에 따른 처리해야 할 것이 너무 많다.

Diversity of Hardware( and Standards)

  • CPU : ISA, cache size, clock speed
  • Memory size, type, disk size, type
  • I/O devices : keyboard, mouse, touchapd, camera ...
  • Network : wifi, wired, 5G, ...
  • Interfaces : USB,type-c,PCI,Bluetooth,zigbee, ...

Diversity of Software to run

  • Text editor, Calculartor, game ,web browser, ...

계속 업데이트 되면서 점점 커지고, 바뀌면서 더 문제가 됨


3. What is an Operating System?

  • 하드웨어를 관리( manage ) 하는 프로그램
  • 컴퓨터 사용자와 컴퓨터 하드웨어 간의 중간자 역할 ( 하드웨어 —— 운영체제 —— 유저 (복잡한 detail을 알 필요는 없음) )
  • OS의 목표
    • 유저 프로그램을 실행하고 user problems 해결을 쉽게 해줌
    • Computer system을 사용하기 편하게 해줌
    • computer H/W를 효율적으로 쓸 수 있게 해줌

4. Abstract View of Computer System

  • Computer System Components ( 컴퓨터 시스템 구성요소)
    • H/W, OS, Applications, Users

User ↔ System and application programs ↔ OS ↔ Computer Hardware

  • 어플리케이션은 컴퓨터 하드웨어와 직접적으로 연결되지 않음

5. O.S View Points (관점)

User View

  • Home PC user
    • 주요 목적은 사용하기 쉬움이다.
    • Resource utilization(자원의 사용퍼센트) 는 고려의 대상이 아님
  • Mainframe / minicomputer ( 대형 컴퓨터 )
    • Resource utilization을 maximize ( 100%로 유지하려는 , 사용자의 편의와는 상관 X )
  • WorkStation ( 서버급 컴퓨터)
    • Dedicated resource per user, but connected to shared resources : 공유된 자원을 잘 쓰도록 함이 목적
  • Mobile devices

System View

  • Resource allocator : 자원 분배를 조율
    • Resource: CPU, memory, storage, I/O devices, ...
    • Handle conflicting requests :충돌이 나는 경우 조율
  • Control program: 통제
    • 에러를 막고, 컴퓨터 사용의 오용을 막음

6. Definition of OS

Entire package consisting of the central S/W that manages resources and the accompanying S/W tools

  • Kernel + system programs

7. Computer System Organization

  • CPU : 계산
  • Memory : 프로그램들과 데이터
  • I/O devices : disk, monitor,printers, Networtk 등등
  • System bus : communication channel

  • CPU와 device controllers는 평행하게 실행된다.
  • memory controller가 엑세스를 동기화

8. OS가 필요할 때

  • 각각의 유저들은 프로그램을 돌린다.
    • 모두가 프린트를 사용할 때 → OS가 할 일 : 줄 세우기 (FIFO 등등 )
    • 모두가 메모리를 원할 때 → OS가 할 일 : allocator( 조율 ) 의 역할
    • 다른 것의 데이터를 훔쳐보려고 할 때 → OS가 할 일 : 보안 쪽 문제 (OS가 막아줘야 함)
  • 프로그래머가 쓰길 원할 때
    • 어떠한 laptop에도 쓸 수 있게 → 표준화 필요
    • 많은 파일을 관리하고 싶을 때
    • 다른 컴퓨터와 communicate하는 프로그램을 만들고 싶을 때
  • Owner가 원하는 것은
    • CPU와 memory의 남용 방지
    • 새로운 디스크를 추가할 때 → OS가 새로 해줘야 함
    • 네트워크에서 와이파이로 바꿀 때 → ( ex) 동영상 스트리밍 중 네트워크에서 와이파이 변환 등 )

9. Computer Operations

  • Start-Up : 부팅 시
    • Bootstrap program: 컴퓨터가 실행될 때 제일 처음 시작되는 프로그램 ( OS 아님 )
      • ROM이나 EEPROM(펌웨어)에 저장되어있음 → 고정 메모리 영역 (OS와 별도, 부팅 시 무조건 켜짐)
      • CPU registers, device Controllers, Memory를 초기화
      • OS kernel를 시작하고 부팅 → 약속된 장소에서 기계적으로 읽어서 OS인지 모르지만, OS가 실행 되는 것
    • System daemons : 컴퓨터가 가동되면, 백그라운드에서 계속 실행 ( 무한 루프, 종료하지 않음 )
      • 커널이 백그라운드에서 실행되는 동안 전체 실행
      • “init”이 첫번째 process (처리) → 이것이 많은 다른 데몬들을 시작시킴

10. Computer Operations

  • Interrupt : 간섭

    • CPU가 하던 일을 멈추고, interrupt handler가 작동하도록 하는 event
  • H/W interrupt

    • timer, keyboard, mouse(좌표마다),DMA
  • S/W interrupt = systemcall

  • interrupt handling은 CPU의 key function

  • interrupt vector: interrupt handler의 주소들의 리스트 (순서대로 핸들링 하기 위해서)

  • interrupted instruction의 주소를 저장, register state도 저장 ( ⇒ interrupt 로 넘어가기 이전의 것들을 기억)


11. interrupt Timeline

I/O request → CPU에서 idle로 명령 → I/O device가 transferring ( 버스를 통해 ) → I/O interrupt processing


12. Storage Structure

  • 프로그램을 실행하려면 메모리 로드해야 함.
    • Memory: RAM ( = CPU와 연동되는 장치)
    • load/store instruction
  • 폰 노이만 아키텍쳐
    • instruction(명령) 과 data(데이터) 가 같은 메모리에 저장되어있음, single link to the CPU
    • CPU can have multiple functional units
    • Memory access can be enhanced by use of cache
  • Secondary storage
    • 대게 HDD 의미
    • main memory가 volatile이고 매우 작기 때문에 필요

13. Storage Structure

  • Storage device hierarchy
  • SSD = faster than HDD and non- volatile
  • NVRAM

14. I/O structure

  • Device controller
    • CPU는 device controller들과 common bus를 통해 연결 됨 (SCSI controller)
    • 이 컨트롤러 안의 자체의 버퍼, 특별한 목적의 register가 있다(각양각색)
    • data in/out을 책임 짐
    • OS는 device driver를 가지고 있다.
      • device driver는 다양한 controller에 상호작용하기 위해 필요한 소프트웨어이며, 각 회사에서 제공하는 것

15. Computer System Architecture

  • single-processor Systems
    • 하나의 주요 목적 프로세서(CPU) + 특별 목적의 프로세서
  • Multiprocessor Systems
    • 통신량 증가, but N CPU ≠ N times performance

16. Computer System Architecture

  • Asymmetric multiprocessing
  • Symmetric multiprocessing (SMP) → CPU끼리의 communicate X
    • 모든 프로세서가 peers
    • 물리적으로 다른 칩들이 memory 하나와 연결
  • Multicore system
    • 칩 하나에 코어 여러 개 ,(코어 = CPU 비슷한 말)
    • 코어끼리 공유하는 cache가 따로 있음.

0개의 댓글