티스토리 뷰

SoftWare/OS

OS - 1. Introduction(1)

White Whale 2016. 3. 8. 18:11
728x90

1. OS 정의

운영체제란 사용자와 하드웨어를 중재해주는 프로그램. 사용자가 하드웨어를 손쉽게 이용할 수 있도록 도와주는 시스템이다. 그리고 우리는 OS를 아래 3가지로 정의한다.

1. Resource Allcator(자원관리자) - 모든 자원 관리
2. Contrl Program - 오류와 부도덕한 시용을 피하며 프로그램 실행
3. Kernel - 항상 메모리에 올라와 즉시 실행 가능한 프로그램

OS는 사용 환경에 따라 시스템 중심의 OS와 유저 중심의 OS로 나눌 수 있다.

1. 시스템 중심의 OS : 자원 이용의 효율성을 중요시하며 단위시간당 일처리량(Throughput)과 프로그램에 대한 최대 가용시간을 중요시 하는 곳에 쓰인다.
2. 유저 중심의 OS : 사용에 대한 편리, 빠른 응답(Response time), 안정성과 같이 유저가 우선순위인 곳에 사용된다.

 

2. 운영체제 등장 배경

1. 사용자 문제를 보다 쉽게 해결 -> 컴퓨터 하드웨어 제작
2. 순수 하드웨어만으로 사용이 어려움 -> 해당 응용프로그램 개발
3. I/O 통제와 같은 공동으로 사용하는 것(ex.Bus) 등장으로 효율적인 자원 활용에 대한 요구 발생 -> 운영체제 등장

 

3. Computer System Structure

Computer Hardware에는 CPU, Memory, I/O device가 있다.

 

4. Computer System Operation

1. CPU는 공용처리기, I/O는 범용처리기이다.
2. CPU와 I/O는 각각의 프로세스로 각각 동작한다(동시성)
3. I/O는 각각의 장치제어기(device controller)를 가지고 장치제어기는 control reg, status reg와 같은 레지스터와 로컬 버퍼를 가진다. 그리고 자신이 제어하는 장치와 로컬버퍼간의 데이터 전송을 담당한다.
4. I/O장치의 동작이 끝났을 때 장치제어기는 CPU에 동작이 끝났다는 interrupt를 발생시킨다.
5. CPU는 memory와 장치제어기의 Local buffer사이의 데이터 이동을 관리한다.  

 

5. Computer Start UP

1. firmware(펌웨어)의 정의 : 펌웨어는 소프트웨어와 하드웨어의 중간에 해당하는 것이며 소프트웨어를 하드웨어화한 것,  시스템의 효율을 높이기 위해 ROM(read-only memory)이나 EEPROM에 넣은 기본적인 프로그램, 대부분 펌웨어는 ROM에 있어 ROM을 펌웨어라고 부르기도 한다.[출처 - 네이버 지식백과]
2. 컴퓨터를 구동하기 위해 실행할 초기 프로그램이 있어야한다. 초기 프로그램은 부트스트랩 프로그램이라도 불리며 펌웨어이며 ROM에 들어 있다.
3. Bootstrap Program이 메모리에 올라가(Loaded) 동작하면 시스템의 모든 면을 초기화 하고 운영체제의 적재 및 실행을 위해 운영체제의 커널을 메모리에 적재한다. 이후 운영체제가 init프로세스와 같은 첫번째 프로그램을 실행시킨다.

 

6. Interrupt & Trap(Exception)

1. PC(Program Counter) Register : 프로그램 카운터 레지스터로 다음 번에 수행될 명령어의 주소를 가지고 있다.
2. 명령어의 수행이 끝났을 때 인터럽트의 발생 여부를 확인하고 발생하였으면 PC를 증가시켜 다음 명령어 주소를 메모리에서 가져오는 것이 아니라 일단 PC(현재 명령어 주소)를 저장한 후 해당 인터럽트를 처리할 수 있는 핸들러의 주소를 가져온다.
3. OS는 interrupt를 처리하는 명령어(Interrupt Service Routines)주소를 모아 놓은 interrupt vector를 가지고 있다.

4. Exception은 Interrupt와 달리 내부에서 명령어를 수행 중 해당 주소에 명령어가 없거나 명령어 자체가 잘못되었을 때 발생한다.

 

7. Storage Structure

1. Main memory : 우리가 아는 일반적인 RAM, 모든 필요한 프로그램과 데이터를 영구히 저장하기에는 용양이 적고 전원이 공급되지 않으면 내용을 잃어버리는 휘발성 저장 장치.
2. Secondary storage : HDD, SSD, Magnetic disks(자기디스크) 등등 대량의 데이터를 영구히 보존할 수 있는 저장장치.

 

8. Storage Hierarchy

1. 계층 구조의 아래로 갈수록 일반적으로 비트당 가격이 싸고 접근속도가 느리다.
2. 위에서 4계층까지 대체로 반도체 메모리로 만들어진다.
3. 4계층 electronic disk를 기준으로 위로는 휘발성 아래로는 비휘발성이며 전자디스크는 휘발성 또는 비휘발성 중 하나로 설계할수 있다. 
4. Caching : 낮은 계층에 있는 데이터를 상위 계층 저장장치에 옮기는 것. 
5. Cache Memory : CPU내 SRAM에 있고 플립플롭(비트당 하나)으로 구성->전기 많이 먹음

 

9. I/O Structure

1. I/O요청은 동시에 여러 I/O에가 일어나지 않는다.
2. I/O에서 작업이 끝나면(버퍼에 데이터가 꽉차면) CPU에게 인터럽트를 발생시킨다.
3. 인터럽을 수신한 CPU는 Device Buffer에 있는 데이터를 메모리로 옮긴다.

 

10. DMS

 

1. CPU의 입출력 명령 하나에 의하여 CPU를 거치지 않고 일련의 정보(block)를 곧바로 입출력 장치에서 메모리로 또는 메모리로부터 입출력장치에 전달하는 기술.
2. 기존은 I/O Device에서 작업이 다 끝나면 Device가 CPU에게 끝났다는 Interrupt를 발생시키고 CPU가 Device 버퍼에 있는 데이터를 메모리로 이동시킨다. -> CPU가 하기에는 성능 낭비.
3. DMA가 있을 때는 I/O Device에서 작업이 다 끝나면 DMA가 Device 버퍼에 있는 데이터를 메모리로 이동시킨다. 이동이 끝나면 device에게 알려주고 Device는 CPU에게 I/O작업이 끝나고 데이터를 메모리에 옮겨놨다는 것을 interrupt로 알려준다.

'SoftWare > OS' 카테고리의 다른 글

OS - 2. Operating System Structures(1)  (0) 2016.03.28
OS - 1. Introduction(4)  (0) 2016.03.27
OS - 1. Introduction(3)  (0) 2016.03.26
OS - 1. Introduction(2)  (0) 2016.03.11
3장 Process - 장기 스케줄러, 단기 스케줄러  (3) 2016.01.08
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함