티스토리 뷰

컴퓨터 시스템의 작동 개요

CPU는 현재 수행해야 할 메모리 주소의 명령을 있는 그대로 처리한다.

CPU가 수행해야 할 메모리 주소를 담고있는 레지스터를 프로그램 카운터(PC) 라고 부른다.

즉 CPU는 PC가 가르키는 메모리 여역의 명령을 처리한다.

시스템 동작이 CPU에 의해서만 이루어지는것은 아니다.

입출력 장치와 이들 장치를 전담하는 컨트롤러 및 버퍼로 구성된다. (컨트롤러는 작은 CPU, 버퍼는 그에 상응하는 메모리)

PC가 메모리 주소 중 운영체제가 존재하는 부분을 가르키고 있으면 현재 운영체제의 코드를 수행중이며, CPU가 커널모드에서 수행중이라고 한다.

PC가 메모리 주소 중 사용자 프로그램이 존재하는 부분을 가르키고 있으면 사용자모드라고 한다.

CPU가 수행하는 명령에는 일반명령과 특별 명령이 있다.

  • 일반 명령 : 메모리에서 자료를 읽어와서 CPU에서 계산하고 결과를 메모리에 쓰는 일련의 명령

  • 특권 명령 : 보안이 필요한 명령으로 입출력 장치, 타이머 등 각종 장치를 접근하는 명령

특권명령의 경우 운영체제만 수행할수 있도록 제한된다.

이러한 제한을 주기 위해 CPU내 모드 비트(mode bit)를 둔다. ( 0. 특권명령, 1. 일반명령 )

사용자 프로그램 실행중 특권 명령이 필요한 경우, 운영체제에게 특권 명령의 대행을 요청한다.

이러한 서비스 요청을 시스템 콜(system call) 이라고 부른다.

디스크에서 자료를 읽어오는 시스템콜을 예시로 들면

  1. CPU가 컨트롤 레지스터를 세팅해 디스크 컨트롤러에게 데이터를 읽어오라는 명령을 내린다.
  2. 디스크 컨트롤러는 디스크로부터 데이터를 읽어와서 자신의 로컬 버퍼에 저장한다.
  3. 작업이 완료되면 디스크 컨트롤러가 CPU에게 인터럽트를 발생시켜 입출력 작업이 완료되었음을 통지한다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   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
글 보관함