본문 바로가기

자격증 준비/정보처리기사 필기 - 4과목(프로그래밍 언어 활용)

[정보처리기사 필기] 4과목 - 운영체제

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 로긴 터미널 타입
$MAIL 메일을 보관하는 경로
$USER 사용자의 이름
$PATH 실패 파일을 찾는 경로

 

 

UNIX/LINUX의 기본 명령어

명령어 기능
cat 파일 내용을 화면에 표시함
chdir 현재 사용할 디렉터리의 위치를 변경함
chmod 파일의 보호 모드를 설정하여 파일의 사용 허가를 지정함
chown 소유자를 변경함
cp 파일을 복사함
exec 새로운 프로세스를 수행함
find 파일을 찾음
fork 새로운 프로세스를 생성함(하위 프로세스 호출, 프로세스 복제 명령)
fsck 파일 시스템을 검사하고 보수함
getpid 자신의 프로세스 아이디를 얻음
getppid 부모 프로세스 아이디를 얻음
ls 현재 디렉터리 내의 파일 목록을 확인함
mount/
unmount
파일 시스템을 마운팅한다 / 마운팅 해제
rm 파일 삭제
wait fork 후 exec에 의해 실행되는 프로세스의 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림
728x90
반응형