운영체제
1. 운영체제 개요
* 운영체제의 정의
(1) window나 linux같은 일종의 소프트웨어
(2) 하드웨어를 제어하고 응용 소프트웨어 위한 기반 환경 제공, 사용자 컴퓨터 사용하게 중재 역할
(3) 하드웨어들을 논리적으로 연결/제어함
(4) 하드웨어와 응용 프로그램 연결
(5) 프로그램 실행 환경 만듦
(6) 환경 시스템 자원 효율적 관리, 하드웨어를 사용자가 사용하는 수단
* 운영체제의 목적
(1) 처리 능력(Through put) 향상
: 단위 시간 당 처리하는 작업량, 시스템 생산성 나타냄, 높을수록 좋음
(2) 신뢰도(realiablity) 향상
: 하드웨어, 소프트웨어 실패 없이 주어진 기능 수행하게 하는 기능
(3) 응답 시간(response time) 단축
: 사용자가 시스템에 작업 의뢰한 후에 반응을 얻기까지의 시간
(4) 반환 시간(Tum-around Time)의 최소화
: 결과 얻을 때 까지의 시간
(5) 사용도(Avaliablity) 향상
:가동율, 얼마나 빨리 사용할 수 있는지
* 운영체제 서비스
(1) 사용자 인터페이스(UI)
: 컴퓨터와 사용자 소통을 위해 접속 제공 서비스
인터페이스가 불편하면 서비스가 좋아도 상품의 가치가 떨어짐
-CUI(Command Line Interface)
: 명령 라인 인터페이스
-GLI(graphic User Interface)
: 그림 위주의 새로운 컴퓨터 운영 방식
-Batch Interface
: 일괄처리 인터페이스. 명령 제어하는 지시들이 파일로 입력됨
(2) 프로그램 수행(Program Execuition)
- 프로그래밍 언어를 기계어로 번역하여서 프로그램을 주기억장치 내로 배정하고, 그 처리 시작 주소에서 연속 명령 실행
-프로그램 실행 위에서 명령의 인출, 극소 연산, 피연산자의 해석, 명령 부호의 실행 등 여러 CPU의 동작 실행
(3) 입출력 연산
: 입출력 실행하는 일과 실행을 위한 프로그램 또는 오퍼레티어의 동작을 의미함
(4) 파일 시스템 조작(File System Manipulation)
1. 컴퓨터에서 파일, 자료를 쉽게 발견, 접근할 수 있도록 보관 또는 조작하는 체계
2. 파일 시스템 조작이란 프로그램이 동작하기 위해서 파일을 읽고 쓰고 생성하고 변경하고 삭제하는 일련의 동작을 의미
이를 통해서 지정된 파일을 찾고 파일의 정보를 열거할 수 있어야함
(5) 통신(인터넷 통신)
: 통신이란 한 프로세스와 다른 프로세스가 정보를 교환하는 것
(6) 오류탐지(Error Detection)
: 오류 검출
(7) 자원할당(Resource Allocation)
: 시스템 자원할당
(8) 회계(Accounting)
: 사용자가 어떤 종류의 컴퓨터 자원 얼마나 사용하는지 추적, 클라우드 컴퓨팅에서 과금의 근거가 됨
(9) 보호와 보안
-보호: 자원에 대한 모든 접근이 통제되도록 보장
-보안: 내부/외부로부터의 공격에 대해 시스템을 지키는 것
*커널
: 운영체제의 일부분으로 핵심적 역할 담당
-하드웨어 특성으로 부터 프로그램을 격리시키고 하드웨어와 직접적 상호작용
-실행 중 프로그램 관리하고 시스템 전반적인 자원을 관리하여 장치를 사용가능하게 함
-커널 버전이 높아질 수록 지원장치도 좋아짐
-shell, 유틸리티, 응용프로그램 시스템 호출 통해 커널과 통신
-Unix 계열 시스템 부팅될 떄 가장 먼저 읽히는 운영체제로 핵심부분이 주기억장치에 상주
*이중모드 종류(Dual-mode Operation)
: 운영체제 구조는 이중모드로 되어있음, User mode와 커널 모드가 있다.
1. User Process
-사용자 프로그램에서 실행되는 상태
-필요에 의해 순간순간 특권자 모드
-사용자모드에서 특권 명령 실행하면 인터럽트 걸려서 강제종료됨
-프로그램 실행의 대부분 상태로 자기자신 프로세스에 주어진 메모리 영역 외에는 접근 불가능
-프로그램에서 포인터 사용하여 User Address space 영역 밖 Kenal Address Space 메모리에 접근하여하면 예외가 발생함
2. 커널모드(=슈퍼바이저 모드, 시스템 모드, 특권모드)
-시스템 전체 권한 가지는 상태
-사용자 모드 실행 안됨
-프린터, 읽기, 저장 등 모두 커널 모드에서 실행됨
-시스템에 의해서만 실행 가능한 명령
* Operationg System Structers
1. 1계층 프로세서 관리 담당
(1) 동기화와 프로세스 스케쥴링 위한 프로세서 관리 담당
(2) 스케쥴링: 해야할 일들의 순서, CPU를 사용할 수 있는 순서를 정하는 일
(3) 무언가 처리, 가공하는 기능을 가진 하드웨어, 소프트웨어로 CPU는 하드웨어 프로세서의 대표적인 예
2. 2계층 메모리 관리 담당
(1) 메모리 할당, 회수
(2) 메모리 공간 확보
(3) RAM과 ROM을 의미함
3. 3계층 프로세스 관리 담당
(1) 프로세스 관리 or 제거
(2) 프로세스별로 관리하고, 프로그램 동시 작업하게 해줌, 프로그렘 종료 시 프로세스 제거
(3) 프로세스: 컴퓨터 내부에서 실행 중인 프로그램
4. 4계층 주변장치 관리 담당
: 마우스, 키보드, 프린터 등 주변장치를 관리함
5. 5계층 파일관리 담당
(1) 파일 생성, 삭제, 열거나 닫거나 , 복사하는 파일 관련 관리
(2) 커널을 보유한 계층