0. 운영체제와 컴퓨터
0. 운영체제와 컴퓨터
1. 운영체제의 역할과 구조
운영체제의 역할
1. CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당, 프로세스의 생성과 삭제, 지원 할당 및 반환 관리 2. 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리 3. 디스크 파일 관리 : 디스크 파일을 어떤 방법으로 보관 할지 관리 4. I/O 디바이스 관리 : 키보드 마우스와 컴퓨터 간 데이터를 주고 받는 것을 관리
운영체제의 구조
운영체제의 구조는 다음과 같다.
- 유저 프로그램
- GUI
- 시스템 콜
- 커널
- 드라이버
- 하드웨어
GUI, 시스템 콜, 커널, 드라이버 부분이 운영체제 부분이다.
시스템 콜
시스템 콜이란 운영체제가 커널에 접근하기 위한 인터페이스이다.
유저 프로그램이 I/O 요청으로 트랩을 발동하면 올바른 요청인지 확인 후 유저 모드가 커널 모드로 변환되어 실행된다.
2. 컴퓨터의 요소
컴퓨터의 구성 요소
- CPU
- DMA 컨트롤러
- 메모리
- 타이머
- 디바이스
- 컨트롤러
CPU
CPU는 메모리에 존재하는 명령어를 해석해서 실행하는 장치 운영체제의 커널이 프로그램을 메모리에 올려 프로세스로 만들면 CPU가 처리하는 방식이다.
제어장치
제어장치는 프로세스 조작을 지시하는 CPU의 한 부품이다. 입출력 장치 통신 제어, 명령어 해석, 데이터 처리 순서를 결정한다.
레지스터
레지스터는 CPU 안에 있는 임시기억장치이다. CPU와 직접 연결되어 있어 연산 속도가 메모리보다 수십 수백배 빠르다. CPU는 자체적으로 데이터를 저장할 방법이 없기에 레지스터를 거쳐 데이터를 전달한다.
산술논리연산장치
산술논리연산장치는 덧셈과 같은 산술 연산, 배타적 논리합 같은 논리 연산을 계산하는 디지털 회로이다.
> CPU의 연산 처리 > > 1. 제어장치가 메모리에 계산할 값을 로드한다. 또한 레지스토에도 로드한다. > 2. 제어장치가 레지스터에 있는 값을 계산하라고 산술논리연산장치에 명령 > 3. 제어장치가 계산된 값을 다시 레지스터에서 메모리로 계싼한 값을 저장
인터럽트
인터럽트는 신호가 들어왔을 때 CPU를 잠깐 정지시키는 것을 의미한다. IO 디바이스, 산술 연산 등의 프로세스 오류로 인해 발생한다. 인터럽트 간에는 우선순위도 있으며 하드웨어, 소프트웨어 인터럽트로 나뉜다.
1. 하드웨어 인터럽트 :
IO 디바이스 에러
2. 소프트웨어 인터럽트 :
트랩이라고도 불리며 프로세스 에러
DMA 컨트롤러
DMA 컨트롤러는 IO 디바이스가 메모리에 직접 접근 가능하도록 하는 하드웨어 장치이다. CPU의 일을 보조 해주는 장치이다.
메모리
메모리는 데이터나 상태, 명령어 등을 기록하는 장치이며 CPU는 계산 메모리는 기억을 담당한다고 보면 된다.
타이머
타이머는 특정 프로그램에 작업 시간을 정한다. 시간이 많이 걸리는 프로그램이 작동할 때 제한을 걸기 위해 필요하다.
디바이스 컨트롤러
디바이스 컨트롤러는 컴퓨터와 연결되어 있는 IO 디바이스들의 작은 CPU를 말한다.