티스토리 뷰
Study
[OS] KOCW 운영체제 강의 정리 (3) | Chapter 2. System Structure & Program Execution (2)
Jingni 징니 2022. 1. 29. 02:30Chapter 2. System Structure & Program Execution (2)
💡 컴퓨터 시스템 구조 (2)
Program Counter
- CPU 안에 있는 Register 중의 하나로서, 다음에 실행할 instruction의 주소를 가지고 있어 실행할 기계어 코드의 위치를 지정한다.
- 다른 말로는 명령어 포인터 (instruction pointer)라고도 불린다.
- 일반적으로 Program counter는 명령을 마칠때마다 주소값이 1씩 증가하게 된다.
동기식 입출력과 비동기식 입출력
- 동기식 입출력 (Synchronous I/O)
- I/O 요청 후 입출력 작업이 완료된 후에야 제어가 사용자 프로그램에 넘어가며, 다음 작업을 수행할 수 있음.
- 구현 방법 1
- I/O가 끝날 때까지 CPU를 낭비시킴
- 매 시점 하나의 I/O만 일어날 수 있음.
- 구현 방법 2
- I/O가 완료될 때까지 해당 프로그램에게서 CPU를 빼앗음
- I/O 처리를 기다리는 줄에 그 프로그램을 줄 세움.
- 다른 프로그램에게 CPU를 줌.
- 비동기식 입출력 (Asynchronous I/O)
- I/O가 시작된 후 입출력 작업이 끝나기를 기다리지 않고 제어가 사용자 프로그램에 즉시 넘어가 다음 작업을 수행할 수 있음.
--> 두 경우 모두 I/O의 완료는 인터럽트로 알려줌.
DMA Controller
- I/O의 과도한 interrupt를 방지하기 위한 Controller
- 빠른 입출력 장치를 메모리에 가까운 속도로 처리하기 위해 사용.
- CPU의 중재 없이 device controller가 device의 buffer storage의 내용을 메모리에 block 단위로 직접 전송.
- 바이트 단위가 아니라 block 단위로 인터럽트를 발생시키며, 이로 인해 CPU를 좀 더 효율적으로 사용할 수 있도록 도와줌.
서로 다른 입출력 명령어
- I/O를 수행하는 special instruction에 의해
- Memory Mapped I/O에 의해
저장장치 계층 구조
- internal 기억장치들은 주로 휘발성 기억장치들, external 기억장치들은 주로 비휘발성 기억장치로 구성된다.
- CPU가 직접 접근 가능한 primary 저장장치들은 register, cache memory, main memory 이렇게 세가지 이다.
- 용량이 적을수록 속도도 빠르고 가격이 비싸며, 용량이 클수록 속도도 느리고 가격이 저렴하다.
- register와 main memory간의 속도 차이를 줄이기 위해 cache memory 를 사용한다.
프로그램의 실행 (Memory Load)
- 각 프로그램마다 독자적인 주소 공간이 생기며, 그 안에는 stack, data, code로 영역이 나누어져 있다.
- stack : 함수를 호출하거나 리턴할때 데이터를 임시 보관하는 영역
- 사용자 프로그램마다 커널 스택을 따로 사용함.
- data : 변수, 전역 변수 저장. 프로그램이 사용하는 자료구조 영역.
- 프로세스를 관리하기 위한 자료구조(PCB) 저장
- CPU, Memory, Disk를 관리하기 위한 자료구조 저장.
- code : 프로그램의 기계어 코드를 저장하는 영역. 커널 코드
- 시스템 콜, 인터럽트 처리 코드
- 자원 관리를 위한 코드
- 편리한 서비스 제공을 위한 코드
사용자 프로그램이 사용하는 함수
- 함수 (function)
- 사용자 정의 함수
- 자신의 프로그램에서 정의한 함수
- 라이브러리 함수
- 자신의 프로그램에서 정의하지 않고 갖다 쓴 함수
- 자신의 프로그램의 실행 파일에 포함되어 있다.
- 커널 함수
- 운영체제 프로그램의 함수
- 커널 함수의 호출 = 시스템 콜
- 사용자 정의 함수
프로그램의 실행
⬇︎⬇︎ 강의 링크 ⬇︎⬇︎
http://www.kocw.net/home/search/kemView.do?kemId=1046323
운영체제
운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각
www.kocw.net
'Study' 카테고리의 다른 글
[OS] KOCW 운영체제 강의 정리 (5) | Chapter 3. Process(2), (3) (0) | 2022.02.05 |
---|---|
[OS] KOCW 운영체제 강의 정리 (4) | Chapter 3. Process (1) (0) | 2022.01.29 |
[OS] KOCW 운영체제 강의 정리 (2) | Chapter 2. System Structure & Program Execution (1) (0) | 2022.01.22 |
[OS] KOCW 운영체제 강의 정리 (1) | Chapter 1. Introduction to Operating Systems (0) | 2022.01.22 |
[Note] 2021 정보처리기사 실기 요약 정리 공유 | 12. 제품 소프트웨어 패키징 (0) | 2021.07.06 |
댓글