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 공유하기 URL 복사카카오톡 공유페이스북 공유엑스 공유 게시글 관리 구독하기Soko! 저작자표시 Contents 🍉인터럽트 🍉동기식입출력과비동기식입출력 🥥동기식입출력 🥥비동기식입출력 🍉DMA 당신이 좋아할만한 콘텐츠 21.09.22 TL. js - 생성자 함수에 의한 객체 생성 2021.09.22 21/09/17 TL. 자바스크립트 - 함수(2), 스코프 2021.09.18 21/09/12 TL. 자바스크립트 - 함수(1) 2021.09.12 21/09/11 TL. 객체 리터럴, 원시 값과 객체의 비교 2021.09.12 댓글 0 + 이전 댓글 더보기