Operating System 이란?
- Computer resource를 관리하는 system sw
- 크게 3가지로 분류 CPU, memory, I/O devices
<Computer system >
CPU와 메인메모리와 I/O디바이스의 흐름이 정리된 그림이다.
CPU는 모든 명령어를 수행하는 장치라고 할 수 있다.
그 명령어는 메인메모리에 적재되어 있으며 메인메모리에 있는 data는 전원이 꺼지면(shut down) 모두 날라가게 된다.
하지만 디스크는 전원이 꺼져도 날라가지 않고 모두 남아있다.
하드디스크에 있던 데이터는 전원이 켜지면 메인메모리로 올라가게 된다.
CPU 와 메인메모리와 디스크 사이의 데이터 이동은 bus를 이용한다.
하지만 이 버스를 이용하면 속도가 매우 느려지기 때문에 CPU 효율에 영향을 줄 수 있다.
따라서 SRAM을 두어 메인메모리까지 이동하는 일을 줄일 수 있다.
CPU : 모든 일을 처리함
CPU내부에 PC, IR, PSW, SRAM, ALU, Resister file등이 있다.
- PC : 다음에 실행될 명령어의 주소를 저장
- IR : 최근에 반입한 명령어를 저장
- PSW : (privilege states, condition code)저장
- SRAM : System bus는 너무 느려서 최대한 이용하지 않기 위해 SRAM을 둠(main memory보다 빠르다)
- ALU : 산술, 논리 연산 회로
- Resister file : register 집합
Main Memory : instruction이나 data를 담고있는 하드웨어 장치(주소체계), DRAM
휘발성 메모리로 전원을 셧다운하면 담고 있는 메모리나 데이터가 날아간다.(저장되지 않음)
대용량이고 저렴하다. 굉장히 느리다. (SRAM과 반대)
I/O device : 입출력 장치
프로그램은 비휘발성 대용량 메모리인 HDD에 저장되어 있다가
전원을 켜면 Main memory로 넘어간다.
(하드웨어가 처리하기엔 너무 느려 프로그램을 main memory로 보냄)
휘발성메모리/비휘발성메모리
휘발성 메모리
-> 전원이 꺼지면 저장된 정보가 날라간다.
ex) SRAM, DRAM
비휘발성 메모리
->전원이 꺼져도 저장된 정보를 계속 유지한다.
ex) ROM, Flash Memory
휘발성메모리중...
SRAM은 static ram으로 빠르고 비싸다->Poor density
DRAM은 dynamic ram으로 느리고 저렴하며 대용량이다>High density
비휘발성 메모리중...
HDD는 비휘발성 장치로 충격에 약하다(자성체 이용)
Flash Memory는 빠르다. read속도가 write속도보다 빠르다. 반드시 이전 것을 지워야한다.(이게 느림)
CPU의 가장 큰 목적은 명령어를 처리하는 것이다.
<Register>
1. General purpose register
- eax,ebx 이런애들
- 메인메모리를 소량화하게 도와준다.
- 중간결과저장
- Register file(범용레지스터집합) : 모든 일반목적레지스터를 담고있다.
2. Special purpose register
- PC : 다음에 수행될 명령어의 주소를 저장
- IR : 최근에 반입한 명령어를 저장
- PSW : (privilege states, condition code)
- MAR : memory bus를 탈 일이 있을 때 메모리로부터 fetch될 명령어의 주소를 저장
- MBR : MAR의 주소에 있는 데이터를 저장
[Instruction cycle]
다음에 수행될 명령어를 fetch하고 명령어를 수행하는 과정이 반복된다.
While(1){
Fetch instruction from memory //MAR,MBR에 저장
Decode instruction
Execute instruction //명령어 수행 중, 또다른 명령어에 접근해야 할 때 MAR,MBR다시 등장
(get other operands if necessary)
Store result
}
I/O 디바이스는 모두 IRQ라인을 가지고 있다.
IRQ는 특별한 하드웨어에 의해 인터럽트 벡터에 매핑되고 CPU에 넘겨진다.
여기서 특별한 하드웨어가 'PIC'이다.
PIC(programmable interrupt controller)
- I/O device는 irq를 가지고있다.
- Irq는 PIC를 거치며 벡터형태로 cpu에 전달된다. (irq,device)
- CPU에 interrupt 발생여부를 전달
- 또한 PIC는 여러 request를 우선순위 할 필요가 있다? (APIC를 말하는건가)
'Operating System' 카테고리의 다른 글
Process Description andControl 2 (2) | 2021.04.13 |
---|---|
Process Description and control 1 (0) | 2021.04.11 |
User program and System Call (2) | 2021.04.11 |
Operating System (0) | 2021.04.10 |
Computer System Overview (2) (0) | 2021.04.03 |