KOCW 반효경 교수님의 2014년도 운영체제 강의 공부 정리 내용입니다.
컴퓨터 시스템 구조

컴퓨터는 하나 이상의 CPU와 구성요소와 공유 메모리 사이의 액세스를 제공하는 버스를 통해 연결된 여러 장치 컨트롤러로 구성된다
PC는 CPU와 메모리, 그 외의 I/O 장치를 통해 구성된다
- CPU
- 빠른 연산속도를 가지며, 명령을 실행하는 하드웨어
- 메모리에서 명령을 읽고, 실행 → 주기적으로 반복한다.
- 인터럽트를 확인하기 위해서 명령어 실행 후 Interrupt Line을 확인한다.
- Register
- 메모리보다 빠른 속도, 정보 저장 가능
- Mode Bit
- CPU에서 실행되는 프로그램의 종류를 파악 → 운영체제인지 사용자 프로그램인지
- Interrupt Line
- 중간에 발생하는 인터럽트를 처리하기 위해서 존재한다. ex) 키보드, 마우스
- I/O 장치의 인터럽트를 처리한다
- Memory
- CPU의 장업 공간. 기억장치
- I/O 디바이스
- 컴퓨터의 기본요소를 제외하고, 외부에서 연결된 장치들
- 컴퓨터를 제어하기위해서 사용된다.
- Timer
- 특정 프로그램이 CPU를 점유하는 것을 방지
- 인터럽트 발생을 통해 CPU를 다른 곳으로 넘겨준다.
Mode Bit

mode bit = 1 → 사용자 모드 : 사용자 프로그램
mode bit = 0 → 모니터 모드 : OS 코드 실행
★ 모니터모드?
커널 모드, 시스템 모드
DMA(Direct Memory Access) Controller
빠른 입출력 장치를 메모리의 빠른 속도로 처리하기 위해서 사용한다.
효율적인 처리를 위해 DMA는 메모리에 접근이 가능하다
CPU 개입 없이 Device Controller가 I/O 장치의 Buffer Storage의 내용을 메모리에 Block 단위로 직접 전송
Block단위로 인터럽트를 전송한다.
Device Controller는 일부 버퍼에만 접근이 가능한다.
CPU는 모든 버퍼 혹은 메모리에 접근이 가능한데, 이런 경우 불필요한 Interrupt까지 전부 처리하게 되면서 비효율적이다. 이런 케이스에서 DMA를 사용하여 불필요한 Interrupt를 처리하게 되면 CPU를 효율적으로 사용할 수 있다.
Interrupt
인터럽트는 여러 케일스에 의해서 호출 될 수 있지만, 호출과 동시에 실행되는 것이 아니라, 현재 실행하고 있는 Task를 종료한 이후에 실행하게 된다.
인터럽트를 요청할 때, Interrupt Vector를 통해 요청하는데, Interrupt Vector에는 ISR(Interrupt Service Routine)이 존재하고 해당 주소에서 Task를 가져와서 인터럽트를 처리하게 된다.
또한, 기존의 Task 위치를 기억하기 위해서 Context를 메모리에 저장하게 된다. 인터럽트를 처리하고 종료된 시점에서 해당 Context를 가져와서 다음 Task를 처리하게된다.
System Call

저장장치 계층 구조

위로 갈 수록, 속도가 빠르고 비싸짐, 작은 용량
Executable : CPU 직접 접근 가능
Secondary : CPU 직접 접근 불가능
Caching : 데이터에 더 빠르게 접근할 수 있도록 일시적으로 저장하는 방법. 전반적 시스템 향상
Volatility : 휘발성. 메모리 적재 후 사용하면 사라짐
'책' 카테고리의 다른 글
[모두의 네트워크] 4주차 공부 내용 정리 (1) | 2023.10.17 |
---|---|
[모두의 네트워크] 3주차 공부 내용 정리 (0) | 2023.10.17 |
[반효경의 운영체제] 1주차 공부 내용 정리 (0) | 2023.09.22 |
[데이터베이스 첫 걸음] 2장 공부 내용 정리 (0) | 2023.09.22 |
[데이터베이스 첫 걸음] 1장 공부 내용 정리 (0) | 2023.09.22 |
KOCW 반효경 교수님의 2014년도 운영체제 강의 공부 정리 내용입니다.
컴퓨터 시스템 구조

컴퓨터는 하나 이상의 CPU와 구성요소와 공유 메모리 사이의 액세스를 제공하는 버스를 통해 연결된 여러 장치 컨트롤러로 구성된다
PC는 CPU와 메모리, 그 외의 I/O 장치를 통해 구성된다
- CPU
- 빠른 연산속도를 가지며, 명령을 실행하는 하드웨어
- 메모리에서 명령을 읽고, 실행 → 주기적으로 반복한다.
- 인터럽트를 확인하기 위해서 명령어 실행 후 Interrupt Line을 확인한다.
- Register
- 메모리보다 빠른 속도, 정보 저장 가능
- Mode Bit
- CPU에서 실행되는 프로그램의 종류를 파악 → 운영체제인지 사용자 프로그램인지
- Interrupt Line
- 중간에 발생하는 인터럽트를 처리하기 위해서 존재한다. ex) 키보드, 마우스
- I/O 장치의 인터럽트를 처리한다
- Memory
- CPU의 장업 공간. 기억장치
- I/O 디바이스
- 컴퓨터의 기본요소를 제외하고, 외부에서 연결된 장치들
- 컴퓨터를 제어하기위해서 사용된다.
- Timer
- 특정 프로그램이 CPU를 점유하는 것을 방지
- 인터럽트 발생을 통해 CPU를 다른 곳으로 넘겨준다.
Mode Bit

mode bit = 1 → 사용자 모드 : 사용자 프로그램
mode bit = 0 → 모니터 모드 : OS 코드 실행
★ 모니터모드?
커널 모드, 시스템 모드
DMA(Direct Memory Access) Controller
빠른 입출력 장치를 메모리의 빠른 속도로 처리하기 위해서 사용한다.
효율적인 처리를 위해 DMA는 메모리에 접근이 가능하다
CPU 개입 없이 Device Controller가 I/O 장치의 Buffer Storage의 내용을 메모리에 Block 단위로 직접 전송
Block단위로 인터럽트를 전송한다.
Device Controller는 일부 버퍼에만 접근이 가능한다.
CPU는 모든 버퍼 혹은 메모리에 접근이 가능한데, 이런 경우 불필요한 Interrupt까지 전부 처리하게 되면서 비효율적이다. 이런 케이스에서 DMA를 사용하여 불필요한 Interrupt를 처리하게 되면 CPU를 효율적으로 사용할 수 있다.
Interrupt
인터럽트는 여러 케일스에 의해서 호출 될 수 있지만, 호출과 동시에 실행되는 것이 아니라, 현재 실행하고 있는 Task를 종료한 이후에 실행하게 된다.
인터럽트를 요청할 때, Interrupt Vector를 통해 요청하는데, Interrupt Vector에는 ISR(Interrupt Service Routine)이 존재하고 해당 주소에서 Task를 가져와서 인터럽트를 처리하게 된다.
또한, 기존의 Task 위치를 기억하기 위해서 Context를 메모리에 저장하게 된다. 인터럽트를 처리하고 종료된 시점에서 해당 Context를 가져와서 다음 Task를 처리하게된다.
System Call

저장장치 계층 구조

위로 갈 수록, 속도가 빠르고 비싸짐, 작은 용량
Executable : CPU 직접 접근 가능
Secondary : CPU 직접 접근 불가능
Caching : 데이터에 더 빠르게 접근할 수 있도록 일시적으로 저장하는 방법. 전반적 시스템 향상
Volatility : 휘발성. 메모리 적재 후 사용하면 사라짐
'책' 카테고리의 다른 글
[모두의 네트워크] 4주차 공부 내용 정리 (1) | 2023.10.17 |
---|---|
[모두의 네트워크] 3주차 공부 내용 정리 (0) | 2023.10.17 |
[반효경의 운영체제] 1주차 공부 내용 정리 (0) | 2023.09.22 |
[데이터베이스 첫 걸음] 2장 공부 내용 정리 (0) | 2023.09.22 |
[데이터베이스 첫 걸음] 1장 공부 내용 정리 (0) | 2023.09.22 |