운영체제 CH2. 운영체제의 소개
01. 운영체제의 개념과 발전 목적
1. 운영체제 개념
컴퓨터 자원 관리 측면에서 운영체제의 역할
1. 조정자: 운영 요소 사용을 제어하면서 응용프로그램과 사용자 사이의 통신을 가능하게 해 준다. 작업할 환경만 제공
2. 자원할당자나 관리자: 응용프로그램에 자원을 할당하고 자원 할당 방법을 결정한다.
3. 응용프로그램과 입출력 장치 제어자 : 다양한 응용프로그램과 입출력 장치를 제어한다.
운영체제의 정의: 사용자와 하드웨어 사이의 중간 매개체로 응용프로그램의 실행을 제어, 자원을 할당 및 관리하며, 입출력 제어 및 데이터 관리와 같은 서비스를 제공하는 소프트웨어이다.
운영체제의 역할:
1. 하드웨어 및 사용자, 시스템 프로그램, 응용 프로그램 사이에 인터페이스 제공
2. 메모리, 프로세서, 입출력 장치, 통신 장치 등 컴퓨터 자원을 효율적으로 사용하기 위해 조정 및 관리
3. 메일 전송, 파일 시스템 점검, 서버 작업 등 높은 수준의 서비스를 제공하는 응용 프로그램을 제어
4. 다양한 사용자로 부터 컴퓨터 시스템을 보호하기 위해 입출력 제어 및 데이터를 관리
2. 운영체제의 발전 목적
1. 편리성 : 사용자에게 편리한 환경을 제공
사용자와 컴퓨터시스템이 정보 및 명령을 상호 교환할 수 있는 인터페이스를 제공한다.
2. 효율성 : 시스템 성능 향상
프로그램을 유기적으로 결합하여 전체 시스템의 성능을 향상한다.
시스템 성능의 평가 기준에는
- 처리량
- 신뢰도
- 지연 및 응답 시간
- 사용 가능도(가동률)
이 있다.
3. 제어 서비스 향상: 시스템 확장, 효율적 운영을 위해 새로운 기능의 효과적인 개발을 허용하는 방식으로 발전
입출력 장치 동작 관리 및 제어, 시스템 오류 예방 등으로 사용자에게 컴퓨터 자원을 효율적으로 할당하고 관리할 수 있도록 제어 서비스를 발전시켰다.
02. 운영체제의 기능
1. 자원 관리
1) 메모리 관리
메모리는 메인 메모리와 보조기억장치로 구분할 수 있다.
메인 메모리의 경우 프로세서가 직접 주소로 지정할 수 있는 유일한 메모리이다.
운영체제의 메인 메모리 관리 기능은
- 메모리의 어느 부분을 누가 사용하는지 점검
- 메모리에 저장할 프로세스 결정
- 메모리를 할당 및 회수 방법 결정
보조 기억 장치는 메인 메모리에 모든 프로그램과 데이터를 저장할 수 없어 사용한다.
운영체제의 보조기억장치 관리 기능은
- 빈 여유공간 관리
- 새로운 파일 작성 시 저장 장소 할당
- 메모리 접근 요청 스케줄링
- 파일 생성 및 삭제
가 있다.
2) 프로세스 관리
프로세스는 프로세서, 메모리, 입출력 장치, 파일과 같은 자원들로 구성되어있다.
자원은 프로세스를 생성할 때 제공하거나, 실행 중에도 할당 가능하다.
시스템은 이러한 프로세스들의 집합이다. 시스템은 사용자 코드를 사용하는 사용자 프로세스, 시스템 코드를 사용하는 운영체제 프로세스로 구분할 수 있다. 모든 프로세스는 프로세서를 분할하여 병행 수행 가능하다.
프로세스의 관리를 위한 운영체제의 기능으로는
- 프로세스와 스레드 스케줄링
- 시스템 프로세스와 사용자 프로세스 생성 및 제거
- 프로세스 동기화 방법, 통신 방법 제공
- 교착 상태 방지를 위한 방법 제공
3) 주변 장치(입출력 장치) 관리
운영체제는 특수 프로그램인 장치 드라이브를 이용하여 주변 장치와 상호작용한다.
장치 드라이버는 특정 하드웨어 장치와 통신할 수 있는 인터페이스를 제공하므로 특정 하드웨어에 종속된 프로그램이다.
주변장치 관리를 위한 운영체제의 기능은
- 임시 저장 시스템 기능 제공
- 일반 장치용 드라이버 인터페이스 제공
- 특정 장치 드라이버 제공 개념과 발전 목적
4) 파일(데이터 관리)
파일 관리란 입출력 파일의 위치, 저장과 검색 관리를 의미한다, 컴퓨터 시스템은 물리적으로 다양한 형태로 파일을 저장 가능하지만 운영체제는 데이터를 효율적으로 사용하기 위해 단일한 저장 형태를 제공한다. 운영체제는 파일을 쉽게 사용하기 위해서 디렉터리로 파일 구성하고 다수의 사용자가 접근하려고 할 때 제어하게 된다.
파일 관리를 위한 운영체제의 기능은
- 파일 생성/삭제
- 디렉터리 생성/삭제
- 보조기억장치의 맵핑
- 안전한(비휘발성) 장치에 파일 저장
2. 시스템 관리
1) 시스템 보호(사용자 권한 부여)
보호는 컴퓨터 자원에서 프로그램, 프로세스, 사용자 접근을 제어하는 방법이다.운영체제는 파일 사용 권한 부여, 데이터 암호화 등 서비스를 제공하여 데이터와 시스템을 보안한다. 컴퓨터 시스템에서는 여러 프로세스들이 동시에 실행할 수 있기 때문에 서로 상호 보호해야 한다. 네트워크를 이용하여 파일 공유 사이트에 접속할 때에는 다른 사용자의 프로그램에서 보호한다.
2) 네트워킹 (통신)
프로세서는 여러 방법으로 구성된 네트워크를 이용하여 완전 접속 방식, 부분 접속 방식으로 연결된다.연결된 프로세서가 통신을 할 때 경로 설정, 접속 정책, 충돌, 보안 등의 문제를 고려해야 하는데 이를 운영체제에서 관리한다.
3) 명령 해석기
명령 해석기는 운영체제서 중요한 시스템 프로그램이다.사용자나 프로그램에서 대화형으로 입력한 명령어를 이해하고 실행하는 사용자와 운영체제의 인터페이스이다. 사용자가 입력한 명령은 제어문으로 운영체제에 전달되는데 이를 명령 해석기가 담당한다.이 처럼 명령 해석기는 인터페이스 역할을 할 뿐 운영체제는 아니다. 커널과 분리하여 사용하면 명령 해석기의 인터페이스를 변경할 수 있어서 좋다.