Operating System: Concepts 9th edition 책으로 공부하며 기억할 필요가 있는 주요 개념을 개인 공부 목적으로 정리한 글 입니다.
1.4 운영체제의 구조
운영체제 : 프로그램이 수행될 환경을 제공
- 한 번에 여러 작업을 메모리에 적재함
- 초기 작업은 디시크에 작업 풀에 유지, 작업 풀은 디스크 내의 모든 프로세스로 구성되어 주 메모리의 할당을 기다림
다중프로그래밍 : CPU가 수행할 작업을 항상 하나 가지도록 작업을 구성하며 CPU의 이용률을 증가시킴
- 수행될 작업이 최소한 하나가 있는 한 CPU가 쉬지 않고 작업을 처리할 수 있도록
- CPU등 여러 시스템 자원을 효율적으로 이용할 수 있는 환경을 제공하지만, 사용자를 위한 상호작용 제공은 하지 않음
시분할(멀티태스킹) 시스템 : 사용자와 시스템 간에 직접적인 통신을 제공하는 대화식 컴퓨터 시스템
- 사용자는 즉각적인 응답을 기다리므로 응답 시간이 짧아야한다.
- 각 사용자에게 시분할 되는 컴퓨터의 작은 부분 제공을 위하 CPU 스케줄링과 다중 프로그래밍을 사용
- -> 각 사용자는 메모리에 최소한 하나의 독립된 프로그램을 가지도록
+ 적절한 응답 시간 보장을 위한 방법
1. 스와핑 : 프로세스를 주 메모리에 디스크로 적절하게 스왑인 - 스왑아웃
2. 가상메모리 : 일부만 메모리에 있는 작업을 수행하도록 하는 기법
프로세스 : 메모리에 적재되어 있고, 실행되고 있는 프로그램을 일반적으로 이야기함
작업 스케줄링 : 위와 같은 시스템 작업은 메모리에 동시에 유지되어야함. 작업을 메모리에 저장해둘 공간이 부족할 때, 어떤 시스템을 선택할 지 결정하는 것
CPU 스케줄링 : 여러 작업이 동시 실행 준비가 되어 있을 때, 어떤 작업을 선택할지 결정하는 것
1.5장 운영체제 연산
OS는 인터럽트 구동식
- 인터럽트나 트랩을 발생시켜 신호를 보냄
이중 연산 모드 : 운영체제와 사용자는 자원을 공유하기 때문에 각각의 코드 실행을 구분할 수 있어야 함. 이러한 동작 보장을 위해 등장
- 사용자 모드 (1) : 컴퓨터 시스템이 사용자 응용을 위해 실행될 때
- 사용자 프로그램으로 제어를 넘길 때 사용자 모드로 변경
- 커널 모드 (특권모드) (0) : 사용자 응용이 운영체제로부터 서비스를 요청하여 이 요청을 수행하기 위해 전환
- 시스템 부트 시 커널모드에서 시작
- 인터럽트나 트랩같은 컴퓨터의 제어를 운영체제가 얻을 때마다 커널 모드로 전환
컴퓨터 시스템 명령 실행 주기
1. 초기 제어 운영체제 / 커널 모드에서 실행
2. 제어가 사용자 응용에 넘어가면 모드 변경 (0 -> 1)
3. 인터럽트 / 트랩// 시스템 호출을 통해 제어가 운영체제로 넘어옴 (1 ->0) 모드 변경
시스템 호출 : 사용자 프로그램이 자신을 대신하여 운영체제가 수행하도록 지정되어 있는 작업들을 운영체제에게 요청할 수 있는 방법 제공
- 일반적으로 인터럽트 벡터의 특정 위치로 트랩을 건다
- 수행과정
- 하드웨어에 의해 소프트웨어 인터럽트 처리 -> 벡터를 통해 서비스 루틴으로 전달 -> 모드 1에서 0으로 변경 -> 커널 내에 명령 검사하여 시스템 호출 결정 -> 커널 검증과정
타이머 : CPU에 대한 제어 유지 보장을 위한 기능 / 지정된 시간 후 인터럽트 하도록 설정 가능
1.6 프로세스 관리
프로세스 : 한 시스템 내의 작업의 단위
프로그램 vs.프로세스
- 프로그램 : 디스크에 저장된 파일 내용처럼 수동적 개체
- 프로세스 : 다음 수행할 명령어를 지정하는 PC를 가진 능동적 개체
[1장 요약]
운영체제 : 하드웨어 관리 + 응용 프로그램 실행되기 위한 환경을 제공하는 소프트웨어
주메모리 : 처리기가 직접 접근할 수 있는 유일 대량 저장 장치
- 프로그램 수행을 위해서는 프로그램이 주 메모리에 존재해야함
- 꺼지거나 중단되면 내용을 잃는 휘발성 저장 장치
- 보통 컴퓨터는 비휘발성 형태의 보조 저장장치를 제공하며 확장함 (자기 디스크)
단일 처리기 시스템 : 하나의 처리기
다중 처리기 시스템 : 물리 메모리와 주변 장치들을 공유하는 둘 또는 그 이상의 처리기 가짐
클러스터형 시스템 : LAN로 연결된 다수의 컴퓨터로 구성
다중 프로그래밍 : 한 번에 다수의 작업이 메모리에 유지되어 CPU는 항상 실행할 작업을 가짐
시분할 시스템 : 다중 프로그래밍의 확장으로 각 작업이 동시에 실행되는 것 같은 착각 유발
'CS > 운영체제' 카테고리의 다른 글
Operating System 5장 (0) | 2021.10.03 |
---|---|
Operating System 4장 (0) | 2021.10.02 |
Operating System 3장 (0) | 2021.10.02 |