시스템호출 : 사용자프로그램이 자신으 대신하여 운영체제가 실행하도록 미리 지정되어 있는 작업들 운영체제에게 요청할 수 있는 방법을 제공한다.
- 하드웨어에 하나의 소프트웨어 인터럽트로 취급된다.
1.5.2 타이어
- 지정된 시간후 컴퓨터를 인터럽트하도록 설정할 수 있다.
1.6 프로세스 관리
프로세스는 다음 실행할 명령을 지정하는 프로그램 카운터를 가진 능동적 개체이다.
반드시 순차적으로 실행된다.
두개의 프로세스가 동일한 프로그램과 연관되어 그들은 두개의 별도의 실행 순서로 간주된다.
운영체제는 프로세서 관리와 연관해 다음과 같은 활동에 대한 책임을 진다.
-CPU에게 프로세스와 스레드 스케줄링
-사용자 프로세스와 시스템 프로세스의 생성과 제거
-프로세스의 일시중지와 재실행
-프로세스 동기화를 위한 기법 제공
-프로세스 통신을 위한 기법 제공
1.7 메모리 관리
주 메모리는 CPU가 직접 주소를 지정할수있고 직접 접근할수있는 유일한 대량메모리이다.
프로그램이 실행되기 위해서는 반드시 절대주소로 맵핑되고 메모리에 적재되어야한다.
운영체제는 메모리관리와 관련하여 다음과 같은 일을 담당해야 한다.
-메모리의 현재 어느부분이 사용되고 있으며, 누구에 의해 사용되고 있는지 추적해야한다.
-어떤 프로세스들을 메모리에 적재하고 제거할 것인가를 결정해야 한다.
-필요에 따라 메모리공간을 할당하고 수정해야 한다.
1.8 저장장치관리
1.8.1 파일시스템관리
파일 : 파일생성과에 의해 정의된 관련정보의 집합체이다.
운영체제는 파일관리를 위해 다음과 같은 일을 담당한다.
-파일생성 및 제거
-디렉토리 생성 및 제거
-파일과 디렉터리를 조작하기 위한 프리미티브의 제공
-파일을 저장장치로 맵핑
-안정적인 저장매체에 파일을 백업
1.8.2 대용량 저장장치 관리
운영체제는 디스크관리를 위해 다음과 같은 기능을 담당한다.
- 자유공간의 관리
-저장 장소 할당
-디스크 스케줄링
1.8.3 캐싱(caching)
정보가 사용됨에 따라 보다 빠른 장치인 캐시에 일시적으로 복사된다.
캐시로부터 cpu 및 레지스터로의 데이터이동은 통상 운영체제 간섭없이 하드웨어적으로 이루어진다.
캐시 일관성 문제 : 여러개의 cpu가 모두 동시에 실행될수있으므로 한 캐시에 있는 A값이 갱신될경우 그값은 A가 존재하는 모든 캐시에 즉각 반영되어야한다.
1.8.4 입출력 시스템(I/O System)
운영체제의 목적중하나는 사용자에게 특정하드웨어 장치의 특성을 숨기는 것이다.
입출력 시스템은 다음과 같이 구성되어 있다.
- 버퍼링, 캐싱, 스풀링을 포함한 메모리 관리 구성요소
-일반적인 장치 드라이버 인터페이스
-특정 하드웨어 장치를 위한 드라이버
1.9 보호와 보안
메모리 주소 지정 하드웨어는 프로세스가 자신의 주소 영역에서만 실행될수있도록 보장한다.
타이머는 모든 프로세스가 CPU의 제어를 얻은후결국에는 제어를 양도하도록 보장한다.
여러 주변장치의 무결성이 보호받을수있도록 장치제어 레지스터들을 사용자가 접근할수없게한다.
보호:컴퓨터 시스템이 정의한 자원에 대해 프로그램, 프로세스, 또는 사용자들의 접근을 제어하는 기법
-구성요소 : 서브시스템 간의 인터페이스에서 잠재적인 오류를 검출함으로써 시스템의 신뢰성을 증가시킴
보호와 보안을 제공하기 위해서는 시스템의 모든 사용자들을 구분할 수 있어야한다.
- 사용자 식별자(user IDs)사용
1.10 분산 시스템(Distributed system)
분산 시스템 : 물리적으로 떨어져있는 이 기종 컴퓨터들의 집합
- 네트워크에 의존함
네트워크 운영체제 : 네트워크를 통한 파일의 공유, 다른 컴퓨터 상에 존재하는 다른 프로세스들끼리의 메시지 교환을 제공하는 운영체제
1.11 전용시스템
1.11.1 실시간 내장형 시스템 (Real-Time embedded system)
반드시 정의된 제한 시간내에 처리가 이루어져야 하며 그렇지 않은 경우 시스템은 실패하게 된다.
1.11.2 멀티미디어 시스템
1.11.3 휴대용시스템
대부분 전용 내장형 운영체제를 실행한다
1.12 계산환경
1.12.1 전통적계산
네트워크 컴퓨터 : 실질적으로 웹기반 컴퓨팅을 이해하는 터미널을 말한다
1.12.2 클라이언트 서버 계산
클라이언트-서버 시스템 : 클라이언트 시스템에 의해 생성된 요구를 만족시키기 위해 서버시스템이 동작한다.
서버 시스템
- 계산 서버 시스템 : 클라이언트가 어떤 작업을 요청할 수있는 인터페이스를 제공한다.
- 파일-서버 시스템 : 클라이언트가 파일을 생성, 갱신, 읽기 및 제거할 수 있는 파일 시스템 인터페이스 제공
1.12.3 피어간계산(peer to peer computing)
서버와 클라이언트가 구분되지 않음
서비스가 여러노드에 의해 제공
어떤 서비스가 가능한지 결정하는 방법
- 노드가 네트워크에 참가할때 네트워크그의 중앙검색 서비스에 자신이 제공하는 서비스를 제공한다. 특정 서비스를 원하는 노드는 먼저 이 중앙검색 서비스를 통하여 어떤 노드가 서비스를 제공하는지 확인해야한다. 나머지 통신은 클아이언트와 서비스 제공자 사이에서만 발생하게 된다.
- 클아이언트로 동작하는 피어는 원하는 서비스를 제공하는 노드를 찾아내기 위해 네트워크 상의 모든 노드에게 서비스 요청메시지를 방송한다. 그 서비스를 제공하는 노드는 피어에게 응답메시지를 보낸다.
1.12.4 웹기반 컴퓨팅
부하균등기(load balancer) : 웹기반 계산의 구현은 네트워크 연결을 비슷한 서버들의 풀에 분배하는 장치