새소식

인기 검색어

TL

21/09/13 TL. 컴퓨터 시스템의 구조

  • -

  • device controller : 각 device가 갖고 있는 일종의 cpu이다.
  • local buffer : 각 device가 갖고 있는 일종의 메모리이다.
  • mode bit : 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 OS에 피해가 가지 않도록 하는 일종의 보호장치이다.
    • 1 사용자 모드 : 사용자의 프로그램을 실행한다.
    • 0 모니터 모드 : OS 코드를 수행한다. 커널 모드, 시스템 모드라고도 한다.
    • 보안을 해칠 수 있는 특수 명령은 모니터 모드에서만 실행할 수 있는데 이를 특권 명령이라고 한다.
    • 인터럽트가 발생시 하드웨어가 mode bit을 0으로 바꾸고, 사용자 프로그램에게 CPU를 넘기기 전엔 mode bit을 1로 세팅한다.
    • 위험한 명령인데 mode bit가 1이다? 불손한 명령으로 여기고 OS에 cpu를 넘긴다.
  • PC : Program Counter. 다음번에 실행할 레지스터의 메모리 주소를 가지고 있다.
    • ex) 사용자 프로그램 A를 가리키고 있다면 A를 실행중이라는 의미이다.
  • timer : 일정 시간 간격으로 인터럽트를 발생한다. os가 프로그램에 cpu를 넘겨줄 때 타이머를 세팅한다. os가 cpu를 독점중인 프로그램에게서 cpu를 혼자서는 가져올 수 없기 때문에 사용한다. time sharing을 구현하기 위해 널리 사용된다.
  • 시스템콜 : 사용자 프로그램이 OS의 서비스를 받기 위해 커널 함수를 호출하는 것을 말한다.

🍉 인터럽트

인터럽트 당한 시점의 레지으터와 PC를 저장한 후 CPU의 제어를 인터럽트 제어 루틴에 넘긴다.

  • 일반적으로 인터럽트는 하드웨어 인터럽트를 일컫는다.
  • 소프트웨어 인터럽트는 Trap이라고 한다.
    • Exception : 프로그램이 오류를 범한 경우이다.
    • System call : 프로그램이 커널 함수를 호출한 경우이다.
  • OS는 인터럽트에 의해 동작한다.

🍉 동기식 입출력과 비동기식 입출력

🥥 동기식 입출력

  • I/O 요청 후 입출력 작업이 완료된 후에야 프로그램에 제어가 넘어간다.
  • 구현방법 1
    • I/O가 끝날 때까지 CPU를 낭비시킨다.
    • 매시점 하나의 I/O만 일어날 수 있다.
  • 구현방법 2
    • I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗는다.
    • I/O 처리를 기다리는 줄에 그 프로그램을 줄 세운다.
    • 다른 프로그램에게 CPU를 준다.

🥥 비동기식 입출력

  • I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어간다.

🍉 DMA

Direct Memory Access. CPU의 중재 없이 device controller가 device의 buffer storage 내용을 메모리에 block 단위로 직접 전송한다.

  • 인터럽트가 너무 자주 발생하는 것을 방지하기 위해 사용된다.
  • 바이트 단위가 아니라 block 단위로 인터럽트를 발생시킨다.

 

해당 내용은 KOCW - 이화여대 반효경 교수님의 강의 내용을 정리한 것입니다.

출처 : http://www.kocw.or.kr/home/cview.do?cid=4b9cd4c7178db077

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.