운영 체제
- 애플리케이션 프로그램과 하드웨어 사이의 소프트웨어 계층
- 두 가지 목표
지랄맞고복잡하고 종종지멋대로인매우 다른 low-level 하드웨어 장치를 조작하기 위해 애플리케이션에 간단하고 일관된 인터페이스를 제공- 잘못된 애플리케이션으로부터 하드웨어를 보호
- 두 가지 목표를 달성하기 위해 프로세스, 가상 메모리 및 파일과 같은 추상화를 사용
Word, Address(or pointer), Caches
Interrupt
- I/O 장치가 프로세서의 정상적인 순서를 중단할 수 있는 메커니즘
- 대부분의 I/O 장치가 프로세서보다 훨씬 느리기 때문에 주로 프로세서 활용도를 높이기 위한 방법으로 제공됨
- 더 공식적으로, 인터럽트는 다음과 같이 정의할 수 있음:
- 외부 이벤트(인터럽트) 또는 오류 조건(예외)으로 인해 절차(핸들러)로 제어가 강제로 이동하는 것
- 외부 인터럽트는 외부 이벤트(I/O 장치)로 인해 발생하며 비동기적임
- 예외는 오류 조건에서 프로세서 내부적으로 발생함
Monitor
- 작업은 컴퓨터 운영자에게 제출되며, 운영자는 이를 묶어 입력 장치에 놓음
- 이 간단한 일괄 처리 시스템을 모니터라고 함
- 사용자는 더 이상 프로세서에 직접 접근하지 않음
- 프로그램이 완료되면 모니터로 다시 분기됨
관점 of 모니터
- 모니터는 이벤트의 순서를 제어함
- 상주 모니터는 항상 메모리에 있는 소프트웨어임
- 모니터가 작업을 읽어 들여 제어를 넘김
- 작업이 완료되면 제어를 모니터에 반환함
Memory Hierarchy
지역성 원칙
- 공간 지역성: 인접한 참조가 발생할 가능성이 높음
- 예: 배열, 프로그램 코드
- 연속된 단어 블록에 접근
- 시간 지역성: 동일한 위치에 대한 참조가 곧 발생할 가능성이 높음
- 예: 반복문, 변수 재사용
- 최근에 접근한 데이터를 프로세서 가까이에 유지
속도 vs. 크기 절충
- 더 큰 메모리는 더 느림: SRAM - DRAM - 디스크
- 빠른 메모리는 더 비쌈
'컴퓨터 > 운영체제 OS' 카테고리의 다른 글
UNIX Process States (0) | 2024.05.27 |
---|---|
리눅스 런타임 메모리 이미지 (0) | 2024.05.27 |
Multi threading - 쪼꼬미 multi processing (0) | 2024.05.19 |
Condition Variable - 변수가 아니라고? (0) | 2024.05.19 |
Process Concepts - 그래서 프로세스가 뭔데요 (0) | 2024.05.19 |