티스토리 뷰
- 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
- 영어끝말잇기
- 괄호회전하기
- 프로그래머스
- 프리티어
- springboot
- 시스템콜
- 머신러닝
- qemu
- 최솟값구하기
- 운영체제
- 응답코드
- 뉴스클러스터링
- interrupt
- 다음큰숫자
- PasswordEncoder
- 실패율
- 이진변환반복하기
- Android
- 최고의집합
- PostgreSQL
- Auditing
- RDS
- 백준
- OS
- xv6
- dp
- 정수삼각형
- 우분투설치
- ubuntu
- AWS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |