Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

코드와이

[CS 이론] 운영체제(2) 본문

CS이론/운영체제

[CS 이론] 운영체제(2)

코드와이 2021. 7. 15. 17:06

 

컴퓨터 시스템 구조

 : 컴퓨터(CPU + Memory) + I/O device(Disk, 모니터, 키보드, 마우스 ... )

 


 

Device Controller

  • I/O device Controller
    • 각각의 I/O device 들에 붙어있는 작은 CPU
    • 제어 정보를 위해 control register, status register 를 갖는다.
    • local buffer(device controller 의 작업 공간) 를 갖는다.
  • I/O 는 실제 device 와 local buffer 사이에서 일어남
  • Device controller 는 I/O 가 끝났을 경우 interrupt 로 CPU 에 그 사실을 알린다.

 

I/O 수행

  • 모든 입출력 명령은 특권 명령
  • 사용자 프로그램은 어떻게 I/O를 하는가?
    • 시스템콜(System call)
      • 사용자 프로그램은 운영체제에게 I/O 요청
    • trap을 사용해서 인터럽트 벡터의 특정 위치로 이동
    • 제어권이 인터럽트 벡터가 가리키는 인터럽트 서비스 루틴으로 이동
    • 올바른 I/O 요청인지 확인 후 I/O 수행
    • I/O 완료 시 제어권을 시스템콜 다음 명령으로 옮김

 

인터럽트(Interrupt)

  • 인터럽트 당한 시점의 레지스터와 Program Counter 를 save 한 후 CPU 의 제어를 인터럽트 처리 루틴에 넘긴다.
  • Interrupt(하드웨어 인터럽트) : 하드웨어가 발생시킨 인터럽트
  • Trap(소프트웨어 인터럽트)
    • Exception : 프로그램이 오류를 범한 경우
    • System call : 프로그램이 커널 함수를 호출하는 경우
  • 인터럽트 벡터 : 해당 인터럽트의 처리 루팀 주소를 가지고 있다.
  • 인터럽트 처리 루틴(인터럽트 핸들러) : 해당 인터럽트를 처리하는 커널 함수

 

Registers

CPU 안에는 Memory 보다 빠르면서 정보를 저장할 수 있는 작은 공간들

 

mode bit

CPU 에서 실행되는 것이 운영체제인지 사용자 프로그램인지 구분

 

DMA Controller & memory Controller

CPU 가 Interrupt 를 많이 당하면 빠른 장치임에도 불구하고 비효율적으로 일하게 된다.

DMA(Direct Memory Access) Controller 를 둔다.

DMA Controller 도 메모리에 접근해서 일을 하기 때문에 CPU와의 충돌을 피하기 위해 memory Controller 가 존재한다. 

 

 

 

'CS이론 > 운영체제' 카테고리의 다른 글

[CS 이론] 운영체제(3)  (0) 2021.07.24
[CS 이론] 운영체제(1)  (0) 2021.07.14