파게로그
운영체제의 구조 본문
1.4 Operating-System Structure
multiprogramming을 가능하게 한다. 이를 통해 CPU 이용률을 향상시킨다.
- 메모리에 동시에 몇 개의 작업을 유지한다.
- 작업은 초기적으로 디스크 상의 job pool에 유지된다. 이는 메인 메모리에의 할당을 위해 디스크에 상주한다.
time sharing(시분할, or multitasking)은 멀티프로그래밍의 논리적 확장이다.
- 다수의 작업 간 전환이 굉장히 빠르게 일어나서 사용자들을 그것을 알아차릴 수 없어, interact가 가능하다.
- user는 입력 장치를 통해 OS에 instruction을 주고 -> 출력 장치를 통해 즉각적인 결과를 기다린다.
- 따라서 resopnse time이 짧아야만 한다.
프로세스: A program loaded into memory and executing
- 주로 I/O가 일어나기 전까지 짧게 실행된다.
- 예를 들어, 사람이 키보드로 타이핑하는 동안 운영체제는 CPU를 다른 사용자나 다른 프로그램에 할당한다.
연관된 개념들
- 이러한 과정에서 메모리에 다른 프로그램을 위한 공간이 없으면 시스템은 job pool에서 '선택'을 해야만 하고, 이러한 결정에는 job scheduling이 포함된다.
- 이는 또한 memory management를 필요로 할 것이다.
- CPU가 어떤 작업을 먼저 처리할 것인가에 대해 선택해야만 하고, 이것이 CPU scheduling이다.
- 시분할에서 합리적인 응답 시간을 확보하고자 메인 메모리와 디스크 사이의 swapping이 이용된다.
- 보다 흔한 방법으로는 완전히 메모리에 올라와있지 않은 프로세스를 실행할 수 있도록 하는 virtual memory가 있다. 이는 physical memory보다 큰 프로그램을 구동할 수 있도록 한다. 이는 크고 균일한 저장소의 배열로서 메인 메모리를 추상화하여 logical memory로 분할한다.
- file system은 disk management를 필요로 한다.
- 시분할 시스템은 적절하지 않은 사용으로부터 자원을 보호하는 방식을 제공한다.
- job synchronization and communication 매커니즘을 질서 있는 실행을 위해 제공한다.
'콤퓨타 왕왕기초 > OS' 카테고리의 다른 글
프로세스 관리 (0) | 2020.11.17 |
---|---|
운영체제의 작동 (0) | 2020.11.17 |
컴퓨터 시스템 아키텍쳐 (0) | 2020.11.10 |
컴퓨터와 시스템의 작동과 구조 (0) | 2020.11.10 |
운영체제의 역할 (0) | 2020.11.09 |