운영체제는 사용자가 컴퓨터 하드웨어를 효율적으로 운용할 수 있도록 인터페이스를 제공해 주는 시스템 소프트웨어이다.
하드웨어와 소프트웨어 리소스를 관리하며 프로그램을 위한 서비스를 제공한다.
운영체제가 관리하는 하드웨어에는 CPU, 기억장치, 입출력장치, 네트워크 장비 등이 있다.
제어 프로그램과 처리 프로그램으로 나뉜다.
제어 프로그램 : 모니터링, 작업 제어, 데이터 관리
처리 프로그램 : 언어 번역, 서비스, 문제해결 응용
대표적인 운영체제의 종류는 Windows, Linux, Unix, Mac OS, Android 등이 있다.
(1) 처리 능력(Throughput) : 일정 시간 내에 시스템이 처리하는 작업의 양을 의미한다.
(2) 반환 시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간을 의미한다.
(3) 사용 가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도를 의미한다.
(4) 신뢰도(Reliability) : 시스템이 주어진 문제를 정확하게 해결하는지를 나타내는 척도이다.
(1) 응답 시간(Response time) : 작업이 입력되고 처음 실행되기까지 걸린 시간으로 반응 시간이라고도 한다.
(2) 대기 시간(Waiting time) : 작업이 입력되고 완료되기 전까지의 시간 중 작업이 진행되지 않은 시간의 합이다.
(3) 실행 시간(Running time) : 작업이 입력되고 완료되기 전까지의 시간 중 작업이 진행된 시간의 합이다.
(4) 반환 시간(Turn around time) : 실행 시간과 대기 시간을 모두 합한 시간으로 작업이 완료될 때까지 걸린 시간이다.
(5) 시간 간격(Time Slice, Quantum) : 프로세스가 자원을 사용하기 위해 운영체제로 할당받은 시간이다.
(1) 프로세스 관리 : 프로세스(작은 단위의 프로그램)의 생성과 제거, 시작 및 정비, 스케줄링 등을 담당
(2) 기억장치 관리 : 프로세스에게 메모리 할당 및 회수 등을 담당한다.
(3) 주변장치 관리 : 입출력 장치의 스케줄링 및 관리를 담당한다.
(4) 파일 관리 : 파일의 생성과 삭제, 변경, 유지 등의 관리를 담당한다.
(1) 그래픽 사용자 인터페이스(GUI : Graphic User Interface) : 초보자도 쉽게 사용할 수 있게 메뉴나 기능을 마우스로 선택할 수 있는 인터페이스를 적용하였다.
(2) 선점형 멀티태스킹(Preemptive Multi-Tasking)
(3) PnP(Plug & Play) : 컴퓨터에 특정 하드웨어를 설치했을 때, 하드웨어를 사용하는 데 필요한 환경을 운영체제가 자동으로 구성해준다.
(4) OLE(Object Linking and Embedding) : 응용 프로그램에서 작성된 이미지, 차트 등의 개체를 다른 문서에서 자유롭게 연결하거나 삽입하여 편집할 수 있게 하는 기능이다.
(5) Single-User 시스템 : 한 대의 컴퓨터를 한 사람이 독점해서 사용한다.
(1) 커널(Kernel)
(2) 쉘(Shell)
(3) 유틸리티(Utility)
Windows | UNIX / LINUX | 기능 |
---|---|---|
DIR | ls | 파일 목록 표시 |
COPY | cp | 파일 복사 |
TYPE | cat | 파일 내용 표시 |
REN | mv | 파일 이름 변경 |
MOVE | 파일 이동 | |
MD | mkdir | 디렉토리 생성 |
CD | chdir | 디렉토리 위치 변경 |
CLS | clear | 화면 내용 지움 |
ATTRIB | chmod | 파일 속성 변경 |
FIND | find | 파일 찾기 |
CHKDSK | 디스크 상태 점검 | |
FORMAT | 디스크 초기화 | |
chown | 소유자 변경 | |
exec | 새로운 프로세스 수행 | |
fork | 새로운 프로세스 생성 | |
fsck | 파일 시스템 검사, 보수 | |
getpid | 자신의 프로세스 정보를 얻음 | |
uname | 시스템의 정보 출력 | |
mount | 파일 시스템을 마운팅 | |
sleep n | n초간 대기 | |
who | 접속한 사용자 출력 | |
& | 백그라운드 작업 지시 | |
grep | 문자열 패턴 검색 |
(1) Boot 블록 : 부팅에 필요한 프로그램이나 데이터가 기억된 부트스트랩 영역으로 하위에 실린더 블록이 존재한다.
(2) 실린더 블록
(1) 권한 지정 순서
(2) 파일 타입 : 일반 파일(-)과 디렉토리(d)로 구분한다.
(3) r(read) : 읽기 가능(r)과 불가능(-)으로 구분한다.
(4) w(write) : 쓰기 기능(w)과 불가능(-)으로 구분한다.
(5) x(excute) : 실행 가능(x)과 불가능(-)으로 구분한다.
(6) 권한 변경
파일과 디렉토리의 권한을 변경하는 명령어 chmod를 사용하여 권한을 변경한다.
각각의 권한에 2진수를 대응시켜 권한을 변경한다.
1이 가능, 0이 불가능
읽기, 쓰기, 실행 권한을 10진수로 변환하여 표기
(1) 마이크로(Micro) 커널
(2) 모놀리식(Monolithic) 커널