일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- linux
- 순열
- DFS
- OS
- 킥스타트
- 딥러닝
- 프로그래머스
- 네트워크
- 그래프
- kick start
- 알고리즘
- 운영체제
- 코딩 테스트
- CSS
- 동적프로그래밍
- 백준
- 프로그래밍
- nlp
- PYTHON
- google coding competition
- dp
- BFS
- 코딩
- 브루트포스
- 동적 프로그래밍
- 리눅스
- 구글 킥스타트
- AI
- 코딩테스트
- 파이썬
- Today
- Total
오뚝이개발자
[OS]CH1. 컴퓨터 시스템 개요 본문
OS란 무엇인가?
OS란 컴퓨터 자원을 효율적으로 "관리"해서 사용자에게 "서비스"를 제공하는 것
HW란?
1. 프로세서
1) 주 역할 : "계산"
2) Ex) CPU, GPU(그래픽카드)
2. 메모리
1) 주 역할 : "저장"
2) Ex) 주기억장치, 보조기억장치
3. 주변장치
프로세서란?
=> 컴퓨터의 두뇌로 연산 수행, 컴퓨터 장치의 동작 제어
1. 레지스터
=> 프로세서 내부의 메모리
1) 프로세서가 사용할 데이터 저장
2) 컴퓨터에서 가장 빠른 메모리
2. 레지스터의 종류(중요한 것들만 정리)
1) PC : 다음에 실행할 명령어 주소 저장
2) IR(명령어 레지스터) : 현재 실행하는 명령어 저장
3) ACC(Accumulator) : 데이터를 일시적으로 저장
3. OS와 프로세서
1) OS는 프로세서에게 처리할 작업 할당 및 관리
① 프로세스 생성 및 관리
2) OS는 프로그램의 프로세서 사용 제어
① 프로그램의 프로세서 사용 시간 관리
② 복수 프로그램 간 사용 시간 조율
메모리란?
=> 데이터를 저장하는 기억장치
1. 메인메모리(주기억장치)
1) 프로세서가 수행할 프로그램과 데이터 저장
2) 도입배경 : 디스크 I/O 병목현상 해소 위해서
=> 시간의 흐름에 따른 Disk와 CPU의 speed 발전에 large gap 존재. 이를 해소하기 위해 Disk보다 용량 작 고, 스피드 빠른 메인메모리 도입
2. 캐시
1) 프로세서 내부의 메모리(L1, L2 캐시 등)
2) 도입배경 : 메인메모리의 I/O 병목현상 해소
Question) 캐시는 용량이 아주 작은데 과연 I/O 병목현상을 효과적으로 해결 가능?
Answer) "지역성"으로 인해 가능
3) 캐시의 동작
① cache hit : 필요한 데이터 블록이 캐시에 존재 O
② cache miss : 필요한 데이터 블록이 캐시에 존재 X (cache miss의 경우 사실 두 번 접근해 시간이 더 걸리 므로 손해)
4) 지역성
=> 캐시적중률(hit ratio)과 밀접(따라서, 알고리즘 성능향상 위한 중요요소 중 하나)
① 공간적 지역성
=> 참고한 주소와 인접한 주소를 참조하는 특성 Ex) 순차적 프로그램 수행
② 시간적 지역성
=> 한 번 참조한 주소를 곧 다시 참조하는 특성 Ex) for문을 통한 반복 수행
5) 지역성의 예시
=>B의 경우 매번 cache miss를 일으킨다.
3. 보조기억장치
1) 프로그램과 데이터 저장
2) 프로세서가 직접 접근 X (메인메모리를 거쳐 접근)
4. OS와 메모리
1) 메모리 할당 및 관리
2) 가상메모리 관리
주변장치란?
=> 프로세서와 메모리를 제외한 HW
1. 종류
1) 입력장치
2) 출력장치
3) 저장장치(USB, CD 등)
2. OS와 주변장치
1) 장치 드라이버 관리(주변장치 사용을 위한 interface 제공)
2) 인터럽트 처리
3) 파일, 디스크 관리
'CS 기초 > OS' 카테고리의 다른 글
[OS]CH6. 프로세스 동기화(Synchronization) & 상호배제(Mutual Exclusion) (0) | 2020.10.16 |
---|---|
[OS]CH5. 프로세스 스케쥴링 (0) | 2020.10.12 |
[OS]CH4. 스레드(Thread) 관리 (0) | 2020.05.27 |
[OS]CH3. 프로세스 관리 (0) | 2020.05.27 |
[OS]CH2. 운영체제 개요 (0) | 2020.05.26 |