1장에서 다룰 내용
-> 운영체제가 커버하는 내용에 대한 프리뷰를 할 예정
1.
운영 체제란?
- 운영체제의 적절하고, 완벽한 정의가 없다.
- 하지만 대략적으로 운영체제는
- 유저와 하드웨어의 중간(intermediary)에 있으며
- Kernel과 추가적인 프로그램(커널이 아닌 것!)들로 구성이 되어 있다.
- 커널 : 항상 실행되고 잇는 운영체제의 핵심
- 시스템과 어플리케이션 프로그램은 포함하지 않는다.
- Middleware : 개발자가 응용하는 추가적인 서비스를 제공하는 소프트웨어 프레임워크의 집합 (ex, database, multimedia, graphics)
- 커널 : 항상 실행되고 잇는 운영체제의 핵심
#필기
- 커널은 매우 명확한 유닛이다.
- 하드웨어에 직접 접근할 수 있다.
- 부팅 후 계속해서 실행이 된다.
- 운영체제의 목표
- 유저의 프로그램을 실행하고, 유저의 문제(problems)를 풀기 쉽게 만드는 것.
- 컴퓨터 시스템을 사용하기 편하게 만드는 것
- 컴퓨터 하드웨어를 효율적인 측면에서 사용하는 것
#필기
- 만약 운영체제가 없으면, 모든게 다 어려워진다. (ex. 화면에 "hello"를 띄우는 것)
- 따라서, 프로그램을 실행시킬 수 있는 환경을 제공하고, 지나치게 low level의 조작을 필요하지 않게, 편리하게 함. - ★ OS는 결국 Rss를 놀지 않게 해서 효율성을 높이는 것이 중요하다. (ex, CPU - multiCore ...)
2.
컴퓨터 시스템의 구성요소
- 컴퓨터 시스템
- 하드웨어
기존적인 연산 자원을 제공해줌- CPU, memory, I/O 장치
- 운영체제
- 유저와 다양한 어플리케이션들 가운데 하드웨어 사용을 제어하고 조정을 한다.
- 프로그램 (application)
- 유저의 문제들을 계산하고 해결하기 위해, 시스템 자원이 사용되는 방법을 정의
- 워드 프레스, 컴파일러, 웹 브라우저, 데이터베이스 시스템, 비디오 게임 등
- 유저
- 사람, 기계, 그 외 컴퓨터 들
- 하드웨어
#필기
- 운영체제는 결국 자기가 일을 하는 것이 아니고, 환경을 제공을 하는데 이때 운영체제 자체가 일반적인 프로그램과 동작하는 것이 매우 다르다. 하드웨어나 컴퓨터 RSS를 직접 접근할 수 있는 권한이 운영체제에 100% 존재하다. 그런 접근을 가능하게 하는 모드가 Kernel mode이다.
- 프로그램의 경우, 동작하거나 접근할 수 있는 권한은 낮으나 의미있는 일을 수행한다. 안전한 명령어만 실행가능하기 때문에 시스템 전체에 해를 끼칠 수 있는 명령은 실행이 불가하다.
- 단순하게, 하드웨어에 직접 접근을 할 수 있냐?를 따지면 된다. OS는 kernel mode를 통해서 직접 접근이 가능하지만 프로그램의 경우 가능하지 않다.
3.
운영체제가 하는 일은?
- 운영체제는 환경을 제공해준다.
- 운영체제 그 자체로 유용한 기능을 수행하지는 않는다.
- 하지만, 유저는 운영체제가 제공해주는 환경을 통해 무언가를 더 쉽게 할 수 있다.
- 운영체제는 시스템 자원을 관리한다.
- let the users and the programs share the system resources in time and space
- 효율적인 관점에서 유저가 컴퓨터 하드웨어를 사용하게 함.
#필기
- 운영체제는 특정 일을 하기 위한 "환경"을 제공한다.
- 요즘은 프로그램을 수십개를 동시에 실행하는데, 이렇게 여러개의 프로그램이 동시에 수행되는 경우에 결국 여러개의 RSS(ex. memory)를 나누어서 써야하는데 이를 나누고 처리하는 것을
- 효율적인 관점. 어떠한 요청으로 인한 CPU의 interrupt 시간(waste time)에 대한 처리 -> I/O말고 다른 프로그램을 실행할 수 있게하고, I/O가 끝난 경우에 다시 돌아옴.
4.
User View
> 사용자 관점에서 어떤 것이 중요한가?
#필기
- 운영체제에서 가장 중요한 것이 무엇이냐? 라는 질문에는, 답하기 어렵다. 상황에 따라서 그것이 다르고 각 운영체제가 사용되는 목적이 다르기 때문이다.
5.
System View
- 운영체제는 자원을 할당한다.
- 또한, 모든 종류의 자원을 관리를 한다.
- CPU, memory, file-storage, I/O device, ...
- 충돌을 유발하는 request들 사이에서 공정하고 효율적인 자원 사용을 결정한다(스케쥴링).
- 또한, 모든 종류의 자원을 관리를 한다.
- 운영체제는 제어 프로그램이다.
- 프로그램의 실행을 제어하여 에러와 유저의 부적절한 컴퓨터 사용을 방지함
#필기
- Com RSS가 alloc 되면 독점 사용이 보장을 해주어야 한다. 즉, 다른 request에 의해서 사용 중인 자원을 뺏기지 않도록 보호해주어야 한다. 그 이후 사용이 완료 되었다면 정상적으로 반납이 이루어져야한다.
'무제 메모장' 카테고리의 다른 글
1.4 Operating System Structure and Operation (0) | 2021.04.11 |
---|---|
1.3 Computer System Architecture (0) | 2021.04.09 |
1.1 Chain of Responsibility Pattern (0) | 2021.04.06 |
4.1 Socket Communication Test (0) | 2021.04.06 |
1.2 Computer system organization and operation (0) | 2021.03.16 |