728x90
반응형
운영체제(OS; Operating System)
컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임
- 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로, 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 제공해줌
목적
- 처리 능력 향상
- 사용 가능도 향상
- 신뢰도 향상
- 반환 시간 단축 등
성능 평가 기준
- 처리 능력(Throughput) : 일정 시간 내에 시스템이 처리하는 일의 양
- 반환 시간(Turn Around Time) : 시스템에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
- 사용 가능도(Availability) : 시스템을 사용할 필요가 있을 때 즉시 사용 가능한 정도
- 신뢰도(Reliability) : 시스템이 주어진 문제를 정확하게 해결하는 정도
운영체제의 구성 - 제어 프로그램(Control Program)
- 컴퓨터 전체의 작동 상태 감시, 작업의 순서 지정, 작업에 사용되는 데이터 관리 등의 역할을 수행하는 것
감시 프로그램 (Supervisor Program) |
자원의 할당 및 시스템 전체의 작동 상태를 감시하는 프로그램 |
작업 관리 프로그램 (Job Management Program) |
작업이 정상적으로 처리될 수 있도록 작업의 순서와 방법을 관리하는 프로그램 |
데이터 관리 프로그램 (Data Management Program) |
작업에 사용되는 데이터와 파일의 표준적인 처리 및 전송을 관리하는 프로그램 |
운영체제의 구성 - 처리 프로그램(Processing Program)
- 제어 프로그램의 지시를 받아 사용자가 요구한 문제를 해결하기 위한 프로그램
언어 번역 프로그램 | 고급 언어로 작성된 원시 프로그램을 기계어 형태의 목적 프로그램으로 변환 시키는 것 ex. 컴파일러, 어셈블러, 인터프리터 등 |
서비스 프로그램 | 사용자가 컴퓨터를 더욱 효율적으로 사용할 수 있도록 제작된 프로그램 ex. 분류/병합(Sort/Merge), 유틸리티 프로그램 등 |
운영체체의 기능
- 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원 관리
- 자원을 효율적으로 관리하기 위해 자원 스케줄링 기능 제공
- 사용자와 시스템 간의 편리한 인터페이스를 제공함
- 시스템의 각종 하드웨어와 네트워크를 관리, 제어함
- 데이터를 관리하고, 데이터 및 자원의 공유 기능을 제공
- 시스템의 오류를 검사하고 복구
- 자원 보호 기능을 제공
- 입출력에 대한 보조 기능을 제공
- 가상 계산기 기능을 제공
운영체제 - Windows
1990년대 마이크로소프트 사가 개발한 운영체제
주요 특징
그래픽 사용자 인터페이스 (Graphic User Interface) |
마우스로 아이콘이나 메뉴를 선택하여 모든 작업을 수행하는 방식 |
선점형 멀티태스킹 (Preemptive Muti-Tasking) |
동시에 여러 개의 프로그램을 실행하는 멀티태스킹을 하면서 운영체제가 각 작업의 CPU 이용 시간을 제어하여 응용 프로그램 실행중 문제가 발생하면 해당 프로그램을 강제 종료시키고 모든 시스템 자원을 반환하는 방식 |
자동 감지 기능 (PnP; Plug and Play) |
컴퓨터 시스템에 하드웨어를 설치했을 때, 해당 하드웨어를 사용하는 데 필요한 시스템 환경(드라이버 등)을 운영체제가 자동으로 구성해주는 기능 |
OLE (Object Linking and Embedding) |
다른 여러 응용 프로그램에서 작성된 문자나 그림 등의 개체(Object)를 현재 작성 중인 문서에 자유롭게 연결(Linking)하거나 삽입(Embedding)하여 편집할 수 있는 기능 |
255자의 긴 파일명 | 파일 이름 지정 시 VFAT를 이용하여 최대 255자 까지 지정 가능, \ / : * ? " <> | 를 제외한 모든 문자 및 공백을 사용 가능, 한글의 경우 127자 까지 가능함 |
Single-User 시스템 | 컴퓨터 한 대를 한 사람만이 독점해서 사용함 |
운영체제 - UNIX
1960년대 AT&T 벨 연구소, MIT, General Electric이 공동 개발한 운영체제
특징
- 시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제, 소스가 공개된 오픈 시스템이다.
- 대부분 C언어로 작성, 이식성이 높고 장치, 프로세스 간의 호환성이 높다.
- 크기가 작고 이해하기가 쉽다.
- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.
- 많은 네트워킹 기능을 제공하므로 통신망(Network) 관리용 운영체제로 적합하다.
- 트리 구조의 파일 시스템을 갖는다.
- 전문적인 프로그램 개발에 용이하다.
- 다양한 유틸리티 프로그램들이 존재하다.
구성
- 커널(Kernel)
- UNIX의 가장 핵심적인 부분이다.
- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행된다.
- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할을 담당한다.
- 프로세스(CPU 스케줄링)관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 여러 가지 기능을 수행한다.
- 쉘(Shell)
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기이다.
- 시스템과 사용자 간의 인터페이스를 담당한다.
- DOS의 COMMAND.COM과 같은 기능을 수행한다.
- 주기억장치에 상주하지 않고, 명령어가 포함된 파일 형태로 존재하며 보조 기억장치에서 교체 처리가 가능하다.
- 파이프라인 기능을 지원하고 입, 출력 재지정을 통해 출력과 입력을 방향을 변경할 수 있다.
- 공용 Shell(Bourne Shell, C Shell, Korn Shell)이나 사용자 자신이 만든 Shell을 사용할 수 있다.
- Utility Program
- 일반 사용자가 작성한 응용 프로그램을 처리하는 데 사용한다.
- DOS에서의 외부 명령어에 해당된다.
- 유틸리티 프로그램에는 에디터, 컴파일러, 인터프리터, 디버거 등이 있다.
UNIX/LINUX의 주요 환경변수
환경 변수 | 용도 |
$DISPLAY | 현재 X 윈도 디스플레이 위치 |
$PS1 | 쉘 프롬프트 정보 |
$HOME | 사용자의 홈 디렉터리 |
$PWD | 현재 작업하는 디렉터리 |
$LANG | 프로그램 사용 시 기본적으로 지원되는 언어 |
$TERM | 로긴 터미널 타입 |
메일을 보관하는 경로 | |
$USER | 사용자의 이름 |
$PATH | 실패 파일을 찾는 경로 |
UNIX/LINUX의 기본 명령어
명령어 | 기능 |
cat | 파일 내용을 화면에 표시함 |
chdir | 현재 사용할 디렉터리의 위치를 변경함 |
chmod | 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정함 |
chown | 소유자를 변경함 |
cp | 파일을 복사함 |
exec | 새로운 프로세스를 수행함 |
find | 파일을 찾음 |
fork | 새로운 프로세스를 생성함(하위 프로세스 호출, 프로세스 복제 명령) |
fsck | 파일 시스템을 검사하고 보수함 |
getpid | 자신의 프로세스 아이디를 얻음 |
getppid | 부모 프로세스 아이디를 얻음 |
ls | 현재 디렉터리 내의 파일 목록을 확인함 |
mount/ unmount |
파일 시스템을 마운팅한다 / 마운팅 해제 |
rm | 파일 삭제 |
wait | fork 후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림 |
728x90
반응형
'자격증 준비 > 정보처리기사 필기 - 4과목(프로그래밍 언어 활용)' 카테고리의 다른 글
[정보처리기사 필기] 4과목 - 네트워크 (0) | 2023.02.14 |
---|---|
[정보처리기사 필기] 4과목 - 프로세스, 스레드, CPU 스케줄링 알고리즘 (0) | 2023.02.14 |
[정보처리기사 필기] 4과목 - 데이터 저장 (0) | 2023.02.14 |
[정보처리기사 필기] 4과목 - 프로그래밍 언어 개요 (0) | 2023.02.13 |