티스토리 뷰
컴퓨터 시스템의 구성

운영체제
⦁ 컴퓨터의 하드웨어 자원을 관리
⦁ 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 시스템 소프트웨어
운영체제의 역할
사용자 지원
⦁ 사용자의 명령을 해석하여 실행
⦁ 사용자와 하드웨어 사이의 매개체 역할 수행
컴퓨터 시스템의 운영
⦁ 컴퓨터 시스템의 자원을 제어 및 관리
⦁ 응용 프로그램들의 실행을 도와주는 소프트웨어
컴퓨터 시스템과 운영체제
운영체제가 없던 초기의 컴퓨터 시스템

⦁ 응용 프로그램 개발자는 하드웨어 제어방법을 잘 알아야 한다.
⦁ 여러 응용 프로그램이 하드웨어를 공유하는 경우 자원 분할이 어렵다.
⦁ 위와 같이 사용할 자원이 겹칠 수 있다.
운영체제가 하드웨어와 응용 프로그램 사이에 위치

⦁ 하드웨어 제어는 운영체제만 한다.
⦁ 응용 프로그램은 운영체제를 통해서만 하드웨어를 이용한다.
⦁ 운영체제가 하드웨어를 제어하면서 공유 자원을 문제없이 효율적으로 처리할 수 있다.
CPU의 동작 모드
슈퍼바이저 모드 (Kernel Mode)
⦁ 운영체제의 커널이 동작되는 모드
⦁ 하드웨어를 직접 제어할 수 있는 CPU 명령어 사용 가능
보호 모드 (User Mode)
⦁ 응용 프로그램이 동작되는 모드
⦁ 하드웨어를 직접 제어할 수 있는 CPU 명령어 사용 불가능
시스템 호출
⦁ 응용 프로그램이 운영체제에게 서비스를 요청하는 메커니즘
시스템 호출 -> 모드 변경 (보호 모드 -> 슈퍼바이저 모드) -> 커널 동작 -> 하드웨어 제어
커널
⦁ 운영체제의 핵심요소
⦁ 응용 프로그램과 하드웨어의 가교 역할
⦁ 대표적인 구성 방식
⦁ 일체형 커널
⦁ 마이크로 커널
일체형 커널 (monolithic kernel)

⦁ 운영체제의 모든 서비스가 커널 내에 포함
⦁ 장점
⦁ 커널 내부 요소들이 효율적으로 상호작용
⦁ 단점
⦁ 한 요소에 있는 오류로 인해 시스템 전체에 장애 발생 가능
⦁ 예 : UNIX, Linux 등
마이크로 커널 (microkernel)

⦁ 운영체제의 대부분의 요소들을 커널 외부로 분리
⦁ 커널 내에는 메모리 관리, 멀티태스킹, 프로세스 간 통신 (IPC) 등 최소한의 요소만 남김
⦁ 장점
⦁ 확장하기 쉬움
⦁ 유지보수가 용이
⦁ 안정성이 우수
⦁ 단점
⦁ 커널 외부 요소는 IPC를 통해야만 하므로 성능 저하
운영체제의 구성
프로세스 관리자
⦁ 프로세스를 생성, 삭제, CPU 할당을 위한 스케줄 결정
⦁ 프로세스 상태를 관리하며 상태 전이를 처리
메모리 관리자
⦁ 메모리 공간(주 기억장치)에 대한 요구의 유효성 체크
⦁ 메모리 할당 및 회수
⦁ 메모리 공간 보호
장치 관리자
⦁ 컴퓨터 시스템의 모든 장치를 관리
⦁ 시스템의 장치를 할당, 작동 시작, 반환
파일 관리자
⦁ 컴퓨터 시스템의 모든 파일을 관리
⦁ 파일의 접근 제한 관리
⦁ 파일을 열어 자원을 할당하거나 파일을 닫아 자원을 회수
'CS > OS' 카테고리의 다른 글
| [2강] 프로세스 개요 (1 / 2) (0) | 2020.08.04 |
|---|---|
| [1강] 운영체제 개요 (2 / 2) (0) | 2020.07.22 |
- Total
- Today
- Yesterday
- git
- bfs
- Algorithm
- Idempotent
- 2019 카카오 개발자 겨울 인턴십
- spring boot 2.3.1
- 알고리즘
- 백준
- programmers
- Python
- BOJ
- repository
- binary search
- 자료구조
- OS
- Algorihtm
- Summer/Winter Coding(~2018)
- 그리디
- 2020 카카오 인턴십
- 이것이 코딩테스트다
- 열혈강의
- 구현
- 저장소
- 정렬
- 코틀린
- 단계별로 문제풀이
- dfs
- 그래프
- 깃
- DP
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
