티스토리 뷰
728x90
1. Operation-System Architecture
- 운영체제는 프로그램의 실행 환경을 제공하면서 프로그램과 프로그램 사용자에게 서비스를 제공한다.
- 운영체제의 가장 중요한 기능은 다중 프로그램을 할 수 있는 능력이다. -> CPU 스케줄링
- 사용자 인터페이스 (User Interface) : 거의 모든 윤영체제는 UI를 가지고 있으며 CLI(Command Line Interface), GUI(Graphics User Interface), Back Interface가 있다.
- 프로그램 실행(Program execution) : 시스템 프로그램을 메모리에 적재하여 실행할 수 있어야 한며 정상적이든 비정상이든 실행을 끝낼 수 있어야 한다.
- 입출력 연산(I/O operation) : 수행 중인 프로그램은 입출력 요구를 할 수 있으며, 이러한 입출력에는 파일, 입출력 장치가 연관될 수 있다.
- 파일 시스템 조작 (File-System manipulation) : 프로그램은 이름에 의하여 파일의 생성, 삭제, 검색, 정보 조회가 가능하야 한다.
- 통신(Communication) : 동일한 컴퓨터 혹은 네트워크로 연결된 다른 시스템의 프로세스들끼리 정보를 교환할 수 있다. 통신의 방법은 Message Passing이나 Shared Memory 등이 있다.
- 오류 탐지(Error detection) : 운영체제는 발생 가능한 모든 오류를 의식하고 있어야 한다.
- 자원 할당(Resource allocation) : 다수의 사용자, 다수의 작업들이 동시에 시행될 때 그 동작들이게 자원을 적절하게 할당한다.
- 회계(Accounting) : 사용자들이 어떤 종류의 자원을 얼마나 많이 쓰고 있나 관리하고 기록, 통계를 낼 수 있다.
- 보호와 보안 (Protection and Security) : 전체 시스템의 자원에 대한 모든권한이 통제되는것을 보호라고 하고 비밀번호를 기반으로 접근 권한을 인증하는 것을 보안이라 한다.
2. Dual-mode operation(이중 연산모드)
- OS의 적절한 동작을 보장하기 위해, 운영체제 코드의 실행과 사용자 정의 코드의 실행을 구분할 수 있어야 한다.
- OS는 모드 비트라 불리는 하나의 비트로 사용자 모드와 커널 모드로 나뉜다.
- 시스템 부트 시, 하드웨어는 커널 모드에서 시작한다. 이후 운영체제가 적재되고, 사용자 모드에서 사용자 프로세스가 시작된다.
- 트랩이나 인터럽트가 발생 시, 사용자 모드에서 커널 모드로 전환한다.
3. Timer
- 사용자 프로그램의 무한 루프나 시스템 콜의 실패로 인한 제어가 운영체제로 복귀하지 않았을 경우OS가 CPU에 대한 제어를 보장하기 위해 Timer를 사용할 수 있다.
- 타이머는 지정된 시간 후 인터럽트가 발생되도록 설정할 수 있다.
- User에게 CPU제어를 양도하기 전 운영체제는 타이머가 인터럽트를 할 수 있도록 설정되었는지 확인한다.
4. Process Management
- 프로그램은 디스크에에 저장된 파일의 내용과 같은 수동적 개체이다.
- 프로세스는 프로그램 카운터를 가진 능동적인 개체이다.
- 운영체제는 다음과 같은 활동에 대해 책임진다.
- CPU에 프로세스와 스레드를 스케줄하기
- 사용자 프로세스와 시스템 프로세스의 생성과 제거
- 프로세스의 일시 중지와 재수행
- 프로세스 동기화를 위한 기법 제공
- 프로세스 통신을 위한 기법 제공
5. Memory Management
- 프로그램이 수행되기 위해서는 반드시 절대 주소로 매핑되고 메모리에 적재되어야 한다.
- OS는 어떤 프로세스들을 메모리에 적재하고 제거할 것인가를 결정해야한다.
- OS는 필요에 따라 메모리 공간을 할당하고 회수해야 한다.
- OS는 메모리의 어느 부분이 현재 사용되고 있으며 누구에 의해 사용되고 있는지를 추적해야 한다.
6. Storage Mangement
• 운영체제는 저장 장치의 물리적 특성을 추상화하여 논리적인 저장 단위인 파일을 정의한다.
• File-System management
1. 파일의 생성 및 제거
2. 디렉토리 생성 및 제거
3. 파일과 디렉토리를 조작하기 위한 프리미티브의 제공
4. 파일을 보조 저장 장치로 맵핑
• Mass-System management
1. 빈 공간 관리
2. 저장 장소 할당
3. 디스크 스케줄링
7. Caching
• 용양이 많지만 속도가 느린 저장 장치의 데이터를 용양은 적지만 속도가 빠른 상위 저장 장치에 저장하는 것
• 상위에 저장된 데이터가 변경 시 하위의 데이터도 같이 변경 되어야 한다. 이를 캐시 일관성이라고 한다.
'SoftWare > OS' 카테고리의 다른 글
OS - 2. Operating System Structures(1) (0) | 2016.03.28 |
---|---|
OS - 1. Introduction(4) (0) | 2016.03.27 |
OS - 1. Introduction(2) (0) | 2016.03.11 |
OS - 1. Introduction(1) (0) | 2016.03.08 |
3장 Process - 장기 스케줄러, 단기 스케줄러 (3) | 2016.01.08 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 테라펀딩 #투게더펀딩 #P2P투자 #부동산 소액 투자 #카카오 #토스
- vim
- 아두이노
- java 파일 입출력
- 자바 입출력
- 파일입출력
- Java Decompiler
- java
- counter
- 포켓몬 Go
- Notification
- 안드로이드
- c언어
- Service
- Res
- 포켓몬 고
- android
- 유전 알고리즘
- jad
- 5582
- 알고리즘
- php
- 서버
- 인텐트
- 카운터
- 파일 입출력
- java url
- LISTVIEW
- 유전
- vim 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
글 보관함