Computer Startup

김동윤·2023년 7월 25일
  • BIOS(Basic Input Output System):
    컴퓨터 시작할 때 지원해주는 프로그램
    self test를 통해 cpu로부터 모든 시스템을 초기화
    커널 위치를 알아 로딩해주고 실행해준다.

  • CMOS :
    부팅에 필요한 정보들을 담고 있는 메모리

💻 구동 과정

  1. 하드웨어 정보를 모으고 시스템을 실행한다

  2. 부트섹터의 데이터를 메인메모리로 로드한다

  3. CPU가 bootstrapped code를 실행한다

  4. 디스크에서 OS를 로드한다

  • bootstrapped code:
    부트섹터에서 가져온 complex boot program(안에 os를 실행하는 정보가 담김)

💻 Computer System Operation

  • 일반적인 작동
    device: ex) 하드디스크
    device controller: ex) 하드디스크의 HW
    device driver: ex) 하드디스크의 SW

  • CPU와 I/O device는 동시 실행 가능하다(동시 실행 가능한 것과 메모리 사이클을 위해 경쟁하는 것은 다르다)

  • CPU는 데이터를 로컬 버퍼에서/로 메인 메모리로/에서 옮긴다

  • I/O device는 데이터를 device에서/로 로컬 버퍼로/에서 옮긴다

  • device controller:
    각각의 디바이스 컨트롤러는 특정 디바이스 종류를 맡고 있다

    각각의 디바이스 컨트롤러는 로컬 버퍼가 존재한다

    디바이스 컨트롤러는 CPU에게 인터럽트를 발생시켜 실행이 끝났다는 것을 알려준다

💻 Common Function of Interrupts

  • 모든 서비스 루틴을 가진 IVT을 통해 ISR의 제어를 전송한다.
  • IVT(interrupt vector):
    인터럽트가 발생했을 때 실행하는 서비스 루틴들의 주소를 포함하는 테이블
  • ISR(interrupt service routine):
    인터럽트가 발생했을 때 실행되는 특별한 서비스 루틴
  • 운영체제 내 모든행동은 interrupt를 발생시킨다.
  • interrupt 구조는 무조건 interrupt된 주소를 저장해야한다.
  • 우선순위가 낮은 interrupt가 발생하면 그것을 disabled 상태로 만든다.
  • trap은 에러나 유저 요청에 의해 발생하는 소프트웨어적인 interrupt

P1 실행중 clock interupt가 발생하면 ivt에 가서 해당 interupt 정보(어떤 서비스를 제공하는지)를 찾고 거기에 저장되있는 포인터를 통해 해당 주소로 이동한다. handler가 isr을 살행하고 제어를 cpu에게 넘겨준다.

profile
Back-End

0개의 댓글