티스토리 뷰
1. I/O System
• OS의 목적 중의 하나는 사용자에게 특정 하드웨어 장치의 특성을 숨기는 것이다.
• UNIX의 경우 입출력 서브시스템(I/O Subsystem)에 의해 숨겨진다.
• 입출력 시스템은 메모리 관리 구성 요소, 장치 드라이버 인터페이스, 하드웨어 장치의 드라이버로 구성된다.
• 장치 드라이버만이 자신에게 지정된 특정 장치의 특성을 알고 있다.
2. Protection and Security
• 보호(Protection)은 컴퓨터 시스템이 정의한 자원에 대한 프로그램, 프로세스, 또는 사용자들의 접근을 제어하는 것을 말한다.
• 보안(Security)은 외부 또는 내부의 공격을 방어하는 것이다.
• 보호와 오안을 제공하기 위해서는 시스템의 모든 사용자들을 구분할 수 있어야 한다.
• 대부분의 운영체제들은 사용자 이름과 연관된 사용자 식별자의 리스트를 유지한다.
3. Kernel Data Structures
• List, Stacks, Queues : 배열을 쓰기엔 크기가 가변적이지 않고 변경하기엔 오버헤드가 심해서 LinkedList 사용
• Tree : 탐색 때 주로 사용됨
• Hash Function and Maps : 최대한 헤시 테이블을 크게 만들어 데이터의 중복을 줄인다.
• Bitmaps : n개의 항의 상태를 나타내는 데 사용 가능한 n개의 이진 비트의 스트링.
4. Traditional Computing
• 일반 적인 사무실 컴퓨터라고 생각하면 된다.
• 과거에는 Batch System 또는 Time-sharing System이였다.
• 오늘날 정통적인 시분할 시스템은 서버에서 사용된다.
5. Mobile Computing
• 메모리와 파워가 제한적이다.
• Screen 크기가 작다
• 상대적으로 프로세스 속도가 느리다.
6. Distributed Systems
• 물리적으로 떨어져 있는 이기종 컴퓨터들의 집합이다.
• 시스템 내의 자원들을 네트워크를 이용하여 사용자가 사용할 수 있다.
• 계산 속도와 기능, 데이터 가용성 및 신뢰성을 향상 시킬 수 있다.
7. Client-Server Computing(Distributed Systems)
• 계산-서버(Compute-Server) 시스템은 클라이언트가 어떤 작업을 요청할 수 있는 인터페이스를 제공한다. 작업 요청이 들어오면 서버는 해당 작업의 연산 후 그의 결과 값을 린턴해준다. -> Open API
• 파일-서버(File-Server) 시스템은 클라이언트가 파일을 생성, 갱신, 읽기 및 제거할 수 있는 파일 시스템 인터페이스를 제공한다. -> 클라우드(드랍박스)
8. Peer-to-Peer Computing(Distributed Systems)
• 각 노드들이 클라이언트와 서버를 서로 구별하지 않는다.
• 누가 요청을 하냐에 따라 서버 또는 클라이언트 역할을 한다.
• 시스템의 네트워크에 들어갈 때 네트워크의 중앙 검색 서비스에 자신이 제공할 수 있는 서비스를 등록한다. 이후 서비스를 요청할 땐 중앙 검색 서비스에 누가 서비스를 제공할 수 있는지 확인 후 요청한다.
• 중앙 검색 시스템이 없을 경우 원하는 서비스를 제공하는 노드를 찾기위해 네트워크 상의 모든 노드에게 서비스 요청 메세지를 보낸다.
9. Cloud Computing
• 계산, 저장장치는 물론 응용조차도 네트워크를 통한 서비스로 제공하는 계산 유형이다.
• SaaS : Software as a service의 약자로 인터넷을 통해 사용 가능한 프로그램이다. 내 컴퓨터에 응용프로그램을 설치하는 것이 아니라 다른 곳에 설치된 응용프로그램을 인터넷을 통해 사용하는 것을 말한다.
• PaaS : Platform as a service의 약자로 사용자가 플렛폼을 설치할 필요 없이 소프트웨어의 특정 서비스만 시용하는 것을 말한다. 데이터베이스 서버가 예이다.
• IaaS : Infrastructure as a service의 약자로 인터넷을 통해 사용가능한 저장장치이다. 클라우드 서버가 대표적인 예이다.
10. Real-Time Emabedded Systems
• 특수 목적을 가진 응용프로그램을 수행시키는 형태를 갖는다.
• 내장형 시스템은 거의 언제나 실시간 운영체제를 수행한다.
• 실시간 시스템은 정의된 제한 시간 내에 처리가 반드시 이루어져야 하며, 그렇지 않을 경우 시스템은 실패하게 된다.
• Hard realtime : 로봇, 에어백과 같이 딜레이가 있으면 안되는 것을 말한다.
• soft realtime : Best Effort - 최선을 다하겠다라는 의미로 mp3나 실시간 중계같이 100% 정확성 보단 실시간을 우선시 하는 것을 말한다.
'SoftWare > OS' 카테고리의 다른 글
OS - 2. Operating System Structures(2) (0) | 2016.04.03 |
---|---|
OS - 2. Operating System Structures(1) (0) | 2016.03.28 |
OS - 1. Introduction(3) (0) | 2016.03.26 |
OS - 1. Introduction(2) (0) | 2016.03.11 |
OS - 1. Introduction(1) (0) | 2016.03.08 |
- Total
- Today
- Yesterday
- android
- vim 설치
- 파일입출력
- 아두이노
- 서버
- Java Decompiler
- 카운터
- Res
- 테라펀딩 #투게더펀딩 #P2P투자 #부동산 소액 투자 #카카오 #토스
- 포켓몬 고
- vim
- java 파일 입출력
- jad
- Notification
- 파일 입출력
- 포켓몬 Go
- 유전 알고리즘
- java
- php
- 인텐트
- Service
- java url
- 안드로이드
- 유전
- counter
- 5582
- 알고리즘
- 자바 입출력
- LISTVIEW
- c언어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |