본문 바로가기
Operating System

Computer System Overview (1)

by mangstory 2021. 4. 2.

Operating System 이란?

 

 

-       Computer resource를 관리하는 system sw

-       크게 3가지로 분류 CPU, memory, I/O devices

 

 

<Computer system >

프로그램은 처음에 HDD에 있다가 전원을 켜면 Main Memory로 올라감

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

 

휘발성메모리중...

SRAMstatic ram으로 빠르고 비싸다->Poor density

DRAMdynamic 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 deviceirq를 가지고있다.

- 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