일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- core data
- Apple Developer Academy
- 앨런
- Algorithm
- 가상 메모리
- Codable
- IOS
- decode
- Swift
- 운영체제
- Linked List
- 동시성
- struct
- async
- 인프런
- UserDefaults
- deadlock
- 프로세스 스케줄링
- SwiftUI
- 100 days of SwiftUI
- @state
- 비동기
- 알고리즘
- 데드락
- COLOR
- scrollview
- 오브젝트
- forEach
- 상호배제
- 동기화
Archives
- Today
- Total
기어가더라도 제대로
[운영체제 - 김덕수 교수님] 운영체제 개요 본문
운영체제 강의 보고 필기본 입니다.
- 컴퓨터에는 다양한 하드웨어가 있다.
- HW 를 사용하기 위해 OS가 있어야 효율적으로 관리할 수 있다.
- 서비스를 제공하는 역할을 한다.
하드웨어
프로세서(Processor)
- CPU
- GPU
- 응용 전용 처리 장치 등
메모리(Memory)
- 주 기억장치 - RAM
- 보조 기억 장치 - Disk
주변장치
- 키보드/ 마우스
- 프린터
레지스터
- 프로세서 내부에 있는 메모리
- 컴퓨터에서 가장 빠른 메모리
- 프로세서가 사용할 데이터 저장
레지스터 종류
- 용도에 따른 분류
- 전용 레지스터, 범용 레지스터
- 변경 가능성
- 사용자 가시 레지스터, 불가시 레지스터
- 저장하는 정보의 종류에 따른 분류
- 데이터 레지스터, 주소 레지스터, 상태 레지스터
예시
- 프로그램 카운터
- 다음에 실행할 명령의 메모리 상의 주소를 가지고 있는 레지스터
- 누산기
- 데이터를 일시적으로 저장하는 레지스터
- 명령어 레지스터
- 현재 실행하는 명령어를 보관하는 레지스터
프로세서의 동작
실제 계산을 할 땐 다양한 레지스터를 이용해 연산이 이루어진다.
- 운영 체제는 프로세서에게 명령을 할당하고, 자원을 관리하는 역할을 하게 된다.
- 프로그램의 프로세서 사용 제어
메모리
- 데이터를 저장하는 장치( 기억장치)
- 프로그램(os, 사용자sw 등), 사용자 데이터 등
- 메모리의 종류
메모리의 종류
- 주 기억장치(Main Memory)
- 프로세서가 수행할 프로그램과 데이터 저장
- DRAM을 주로 사용
- 용량이 크고, 가격이 저렴
- 디스크 입출력 병목현상(I/O bottlenck) 해소
- 캐시(Cache)
- 프로세서 내부에 있는 메모리(L1, L2캐시 등)
- 속도가 빠르고, 가격이 비쌈
- 메인 메모리의 입출력 병목현상 해소
캐시의 동작
- 일반적으로 HW 적으로 관리됨
- 캐시 히드(Cache hit)
- 필요한 데이터 블록이 캐시 존재
- 캐시 미스(Cache miss)
- 필요한 데이터 블록이 없는 경우
지역성(Locality)
- 공간적 지역성(Spatial Locality)
- 참조한 주소와 인접한 주소를 참조하는 특성
- 예) 순차적 프로그램 수행, 배열 등 자료구조
- 시간적 지역성(Temporal Locality)
- 한 번 참조한 주소를 곧 다시 참조하는 특성
- 예) For 문 등의 순환 문
- 지역성은 캐시 적중률(cache hit ratio)과 밀접
- 알고리즘 성능 향상을 위한 중요한 요소 중 하나
- 캐시 라인 만큼 캐시 메모리에 등록 시켜놓는다.
블록 사이즈 16이니까 마침, m 이 16이라고 한다면, a는 이중 배열인데, 배열의 메모리는 순차적으로 저장되는 특성이 있다.
B - 방식으로 저장
- cpu 가 캐시에 a[0][0] 을 요청
- 캐시 미스
- 메모리에서 캐시에 저장 a[0][0~15]
- cpu 가 캐시에 a[1][0] 을 요청
- 캐시 미스
- 메모리에서 캐시 저장 a[1][0~15]
A 방식으로 저장
- cpu 가 캐시에 a[0][0] 을 요청
- 캐시 미스
- 메모리에서 캐시에 저장 a[0][0~15]
- cpu 가 캐시에 a[0][1] 을 요청
- 캐시 히트
- 총 15번 정도 더 캐시 히트가 일어날 것이다. 속도 향상
메모리의 종류
- 보조 기억 장치
- 프로그램과 데이터를 저장
- 프로세서가 직접 접근 할 수 없음(주변장치)
- 프로그램/데이터 > 주기억 장치 인 경우는?
- 가상 메모리
시스템 버스(System Bus)
- 하드웨어들이 데이터 및 신호를 주고 받는 물리적인 통로
- 데이터 버스
- 주소 버스
- 제어 버스
- 프로그램 카운터에 담긴 다음 명령의 주소를 MAR(Memory Adress Register) 에 담아 주소 버스에 보낸다.
- MAR에 저장된 주소에 해당하는 메모리 위치에서 명령어를 인출한 후 이 명령어를 MBR에 저장한다.
- 이 때 제어 장치는 메모리에 저장된 내용을 읽도록 제어 신호를 발생시킨다.
- 다음 명령어를 인출하려고 PC를 증가시킨다.
- MBR 에 저장된 내용을 IR에 전달한다.
'CS > 운영체제' 카테고리의 다른 글
[운영체제 -김덕수 교수님] 프로세스 스케쥴링 (2/4) - FCFS, RR (0) | 2022.07.31 |
---|---|
[운영체제- 김덕수 교수님] 프로세스 스케줄링 (1/4) (0) | 2022.07.31 |
[운영체제 김덕수 교수님] 스레드 관리 (0) | 2022.07.24 |
[운영체제 - 김덕수 교수님] 프로세스 관리 (0) | 2022.07.24 |
[운영체제 - 김덕수 교수님] OS (0) | 2022.07.24 |
Comments