티스토리 뷰

CS/OS

[OS] Operating System이란? 下

지제로 2022. 10. 11. 17:05

- interrupt란?

= CPU가 프로그램을 실행하고 있을 때, 예외상황이 발생하여 그에 대한 처리가 필요할 경우 CPU에게 알려 처리할 수 있도록 하는 것

 +) 예외사항은 하드웨어에서 생겼을 때, 소프트웨어에서 생겼을 때로 나눌 수 있다.

 

- interrupt handling 

= OS는 register와 program counter를 저장하여 CPU의 상태를 보존한다.

= 어떤 종류의 interrupt가 발생했는지 알아본다 -> polling과 vectoed interrupt system

 

- polling : 하나씩 확인해서 그에 맞는 것을 수행한다.

- vectored interrupt system : interrupt 번호로 와서 해당 interrupt에 대한 서비스 루틴을 실행한다.

 

- Storage 구조

1. Main memory - CPU가 직접적으로 접근할 수 있는 큰 공간이다. 

+) 휘발성 메모리이다.

2. Secondary storage - 큰 비휘발성 저장 공간으로 메인 메모리의 확장이다.

3. Hard disks - 논리적으로 track으로 나눠지며 또 다시 sector로 나눠진다.

4. Solid-state disks - 하드 디스크보다 빠르며 비휘발성이다. 

 

저장 장치의 계층

- Computer System Architecture

: 과거엔 하나의 범용 프로세서가 사용되었다.

: multiprocessor system이 많이 사용된다.

= 이는 parallel system (병렬 시스템), tightly-coupled system

: Asymmetric multiprocessing과 symmetric multiprocessing 두 방법이 있다.

(+ asymmetric multiprocessor은 하나의 일을 할당받는 것, symmetric은 다 동등하게 병렬로 할당받는 것)

: 이것의 장점은 증가된 throughput, 확장성, 신뢰성이 향상된 것이다.

 

- Operating System Structure

1. Multiprogramming (Batch system) => efficiency

= 한 명의 유저가 항상 CPU와 I/O 장치를 바쁘게 유지할 수 없다.

= multiprogramming이 job을 정리하여 CPU는 항상 하나를 실행할 수 있게 한다.

= 시스템 안의 총 job의 부분집합은 메모리에 있다.

= 하나의 job이 job scheudling을 통해 선택되고 실행된다.

= 예를 들어 기다리면 OS가 다른 job으로 바꿔준다.

 

2. Time sharing (multitasking) => interactive computing

= 논리적인 확장으로 CPU가 job을 자주 바꾸어서 사용자들은 각 job이 실행되고 있을 때(=running) interact할 수 있다.

= response time이 1 second보다 작아야한다.

= 각 유저는 메모리에 적어도 하나의 프로그램을 실행한다. => process

= 여러 job이 같은 시간에 run할 준비가 되면 CPU scheduling을 통해 실행된다.

= 가상 메모리는 메모리에 완전하지 않은 메모리의 실행을 허락한다.

 

- Operating System Operations

= Dual-mode operation은 자기 자신과 다른 시스템 컴포넌트를 보호할 수 있게 해준다.

+ user mode와 kernel mode로 이루어져 있다.

 

- Transition from User to Kernel Mode

= user process가 실행되고 system call을 호출하면 kernel 모드에서 system call을 실행하여 mode bit를 리턴한다.

리턴을 user mode에서 받아 system call로부터 return한다.

 

 

 

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

[OS] Operating System이란? 上  (0) 2022.10.10
[OS] process란?  (1) 2022.09.23
[xv6 / OS] 시스템 콜 추가하기  (2) 2022.09.23
[OS] OS structure 운영체제 구조  (0) 2022.09.13
[Ubuntu] virtual box에서 ubuntu 설치 시 주의사항  (0) 2022.09.07
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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
글 보관함