컴퓨터과학/0 +운영체제

[운영체제] 2. Interrupts

힘들면힘을내는쿼카 2022. 3. 21. 22:06
728x90
반응형

2022.03.06 - [컴퓨터 공학/0 +운영체제] - [운영체제] 1. 컴퓨터 구조(CPU 동작원리)

 

[운영체제] 1. 컴퓨터 구조(CPU 동작원리)

특수대학원을 다니면서 운영체제 강의 내용을 정리하려고 한다. 이번 글은 1주차 강의 학습내용을 정리하려고한다. 우리는 컴퓨터를 사용한다... 그것도 매일!! mac, windows...? 뭐가 더 좋은걸까?

howisitgo1ng.tistory.com

 

 

운영체제는 interrupt handler, exception handler의 모음이라고 말 할 수 있다.

그렇다면 인터럽트란 무언인가..?

 

 

인터럽트(interrupt)란 CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 등의 장치에 예외상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것을 말한다.

즉, 간단하게 말하면 인터럽트가 발생한 부분을 먼저 처리하는 것을 의미한다.

 

 

1. N+1번지의 User Program을 실행

2. 인터럽트 발생(N+1번지의 User Program까진 실행한다.)

3. Stack Pointer에 T-M번지가 입력되고 그번지에 있는 명령을 Program Counter에 전달

4. Program Counter에 Y번지 입력

5. Interrupt Service Routine 실행

6. Return Y+L번지의 데이터

7. PC에 Y+L 입력

8. Stack Pointer에 T입력

9. PC에 N+1번지 입력되고 User Program을 다시 실행한다.

 


메모리의 종류..!

 

메모리의 종류는 다음과 같이 나누어 진다.

  • Register(1ns)
  • Cache(2ns)
  • Main Memory(10ns)
  • Magnetic disk(10ms)
  • Magnetic tape(100s)

 

Cache Memory

캐시 메모리는 가격이 비싸서 공학적으로 우리가 잘 설계하여 사용해야한다.

  • cache size, block size를 고려
  • 언제 cache에 새로운 데이터를 넣을 건지?
  • 어느 cache에 새로운 데이터를 넣을 건지?(mapping function)
  • cache가 다 찼을때 어느 데이터를 지울 것인지?(replacement policy)
  • write policy
    • wirte back: 캐시 메모리만 바꾸고 메인메모리는 나중에 바꾸는 방법
    • write through: 캐시, 메인 메모리 동시에 바꾸는 방법

캐시 메모리는 block 단위로 main memory에서 read/write 한다.

 

Cache Memory: Mapping

  • Fully Associative Mapping
  • Direct Mappping
  • Set Associative Mapping

 

Fully Associative Mapping

 - 캐시에 제일 과거에 참조된 데이터를 지우고 메모리의 새로운 데이터를 저장한다.

 - 비교회로가 Tag마다 들어가서 가격이 비싸다.

 - 속도가 빠르다.

Fully Associative Mapping

 

Direct Mapping

 - Index를 이용하기 때문에 1개의 비교회로를 이용하여 가격이 싸다.

 - 성능은 떨어진다.(같은 index를 참고 할때 성능문제 발생)
        00000, 01000, 02000도 똑같이 Index 00에 저장되고 지워지고 한다.

Direct Mapping

 

 

Set Associative Mapping

 - Fully Associative Mapping + Direct Mapping 사용

 - index도 사용하고 비교회로도 2개 사용

Set Associative Mapping

 


캐시 메모리 성능 측정

  • 캐시 access time: 0.1us
  • main memory access time: 1us
  • 캐시 hit rate: 0.95
  • 평균 access time
    • 0.95*0.1us + 0.05*0.1us+1us = 0.095 + 0.055 = 0.15us
  • 일반적인 Hit rate는 높다. 그이유는 Locality of Reference(참조 지역성)때문.
  • Locality
    • Temporal Locality(시간)
      • Iterative loops, subroutines(한 번 참조한 데이터, 코드는 다시 참조 할 가능성이 높다.)
    • Spatial Locality(시간)
      • Tavles, arrays(한 번 참조한 데이터의 이웃 데이터는 참조 할 가능성 높다. Block 단위 사용.)
    • Working Set

Disks

 - 모든 head는 기계적인 장치로 동시에 움직인다.


 

I/O Device

interrupt controller는 정해진 우선 순위에 따라서 신호를 전달한다.

interrupt가 발생하면 current instruction까진 수행을 완료한다.

2가지 방식으로 i/o를 처리하는데 다음과 같다.

  1. Programmed I/O
  2. Interrupt-driven I/O

Programmed I/O방식은 I/O 처리가 끝날 때 까지 cpu가 기다린다.

Interrupt-driven I/O방식은 I/O가 발생하면 cpu가 command명령을 날린 뒤, cpu가 원래 실행중인 것을 처리한다. 그 이후 입출력이 완료되면 interrupt handler를 통해 해당 입출력 종료를 수행한다.

 


 

Dual Mode of Processors

우리는 앞서 kernel mode, user mode가 있다는 것을 배웠다.

이 처럼 프로세서는 2가지 모드를 지원하는데, user program은 직접 i/o를 호출 할 수 없다.

user program에서 i/o 처리를 하기 위해서는 다음과 같은 과정이 필요하다.

  1. user program이 interrupt(system call)한다. --> user mode
  2. os에서 해당 명령을 받아 처리한다. interrupt return --> kernel mode

(os는 code data 형태이고, process형태가 아니다.)

interrupt return 하면 kernel mode --> user mode
interrupt 하면 user mode --> kernel mode

 

user mode

  • less-privileged mode
  • user program은 일반적으로 이 모드에서 실행된다.
  • can not privileged instructions
  • 인터럽트, 트랩(trap)이 발생하면 kernel mode로 변경된다.

System mode, control mode, kernel mode

  • more privileged mode
  • kernel of the operating system
  • can execute privileged instructions

privileged instructions

  • i/o instructions
  • set processor status
  • access privileged memory area

 

아래 사진을 통해 요약 할 수 있다.

Dual mode of processors
Dual mode of processors

 


 

buses

데이터 교환을 위해 개발된 하네스의 일종

bridge는 빠른 버스와 느린 버스 사이의 데이터 교환을 위해 개발되었다.

 


 

반응형

 

요약

  • Processes
    • 실행 중인 프로그램, 실행의 주체, 자원을 할당 받은 주체
  • Address spaces
    • processes가 여기서 실행된다./code data, heap, stack....
  • Files
    • storage system(unix에서는 개념이 조금 다름)
  • I/O
  • Protection
    • 이중모드 지원(보호 기능)
  • The shell
    • core(kernel)은 아니고, user mode에 해당 된다.(응용프로그램)
  • Ontogeny Recapitultes Phylogeny(개체의 발생은 계통 발생을 반복한다.)
    • Large Memories
    • Protection hardware
    • Disks
    • Virtual Memory

Ontogeny Recapitultes Phylogeny

 

 

728x90
반응형