본문 바로가기
정보처리기사/프로그래밍 언어 활용

운영체제의 개요

by jhwannabe 2023. 8. 4.

운영체제(OS : Operating System)의 개념

  • 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어
  • 컴퓨터를 편리하게 사용하고 컴퓨터 하드웨어를 효율적으로 사용할 수 있도록 함
  • 스스로 어떤 유용한 기능도 수행하지 않고 다른 응용 프로그램이 유용한 작업을 할 수 있도록 환경을 마련해 줌
  • 운영체제의 종류로는 MS-DOS, Windows 10, LINUX, UNIX, OS/2, 안드로이드 iOS등이 있음

운영체제의 기능

  • 사용자와 시스템 간의 편리한 인터페이스를 제공함
  • 컴퓨터 시스템의 성능을 최적화시킴
  • 자원의 효과적인 경영을 위해 스케줄링 기능을 제공함
  • 자원 보호 기능을 제공함
  • 시스템에서 발생하는 오류로부터 시스템을 보호함
  • 사용자들 간에 데이터를 공유할 수 있도록 함

운영체제의 목적

처리 능력
(Throughput)
향상
- 처리 능력 : 일정 시간 내에 시스템이 처리하는 일의 양
- 처리 능력이 높을 수록 처리하는 일의 양이 많아짐
응답 시간
(Turnaround Time)
단축
- 반환 시간 : 컴퓨터 센터에 작업을 지시하고 나서부터 결과를 받을 때까지의 경과 시간
- 반환시간이 감소될수록 처리 속도가 빨라짐
신뢰도
(Reliability)
향상
- 신뢰도 : 시스템이 주어진 문제를 정확하게 해결하는 정도
- 신뢰도가 높을수록 일을 정확하게 처리함
사용 가능도
(Availability)
향상
- 사용 가능도 : 한정된 자원을 여러 사용자가 요구할 때, 어느 정도 신속하고 충분히 지원해 줄 수 있는지의 정도
- 사용 가능도가 높을수록 반환 시간이 감소함

운영체제의 운영 방식

일괄 처리 시스템
(Batch Processing System)
- 일정량 또는 일정 기간 동안 데이터를 한꺼번에 모아서 처리하는 방식
- 운영체제 운용 방식 중 시대적으로 가장 먼저 생김
예) 수도요금 계산 업무, 월급 계산 업무 등
다중 프로그래밍 시스템
(Multi-Programming System)
컴퓨터 시스템 자원 활용률을 극대화하기 위해 2개 이상의 프로그램을 주기억 장치에 기억시키고 CPU를 번갈아 사용하면서 처리하는 방식
시분할 시스템
(Time Sharing System)
- CPU의 전체 사용 시간을 작은 작업 시간량(Time Slice)으로 나눠서 그 시간량 동안만 번갈아 가면서 CPU를 할당하여 각 작업을 처리하는 방식
- 실제로 많은 사용자가 하나의 컴퓨터를 공유하고 있지만 마치 자신만이 컴퓨터 시스템을 독점하여 사용하고 있는 것처럼 느끼게 됨
다중 처리 시스템
(Multi-Processing System)
동시에 프로그램을 수행할 수 있는 CPU를 두 개 이상 두고 각각 그 업무를 분담하여 처리할 수 있는 방식
실시간 처리 시스템
(Real Time Processing System)
- 데이터 발생 즉시, 또는 데이터 처리 요구가 있는 즉시 처리하여 결과를 산출하는 방식
- 정해진 시간에 반드시 수행되어야 하는 작업들을 처리할 때 가장 적합함
예) 항공기 예약 업무, 은행 창구 업무, 조회 및 질의 업무 등
다중 모드 시스템
(Multi-Mode System)
일괄 처리 + 시분할 + 다중 처리 + 실시간 처리
분산 처리 시스템
(Distributed Processing System)
여러 대의 컴퓨터로 작업을 나누어 처리하여 그 내용이나 결과를 통신망을 이용하여 상호 교환되도록 연결하는 방식

 

운영체제의 구성

제어 프로그램(Control Program)

감시 프로그램
(Supervisor Program)
- 자원의 할당 및 시스템 전체의 작동 상태를 감시, 감독하는 프로그램
- 제어 프로그램에서 가장 핵심이 됨
작업 제어 프로그램
(Job Control Program)
- 어떤 업무를 처리하고 다른 업무로의 이행을 자동적으로 수행하기 위한 준비 및 처리 완료를 담당하는 기능을 수행함
- 작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당 등을 담당함
데이터 관리 프로그램
(Data Management Program)
주기억 장치와 보조 기억 장치 사이의 자료 전송, 파일의 조작 및 처리, 입출력 자료와 프로그램 간의 논리적 연결 등 시스템에서 취급하는 파일과 데이터를 표준적인 방법으로 처리할 수 있도록 관리함

처리 프로그램(Processing Program)

언어 번역 프로그램
(Language Translator Program)
- 프로그래머가 작성한 원시 프로그램을 컴퓨터가 이해할 수 있는 형식으로 번역함
- 종류 : 컴파일러, 어셈블러, 인터프리터 등
서비스 프로그램
(Service Program)
- 사용자의 편의를 위해 사용 빈도가 높은 프로그램을 시스템 제공자가 미리 작성하여 사용자에게 제공해주는 프로그램
- 종류 : 연계 편집, 유틸리티, 정렬, 병합 등
문제 프로그램
(Problem Program)
특정 업무를 처리하기 위해 사용자가 작성한 프로그램

umask

  • 파일이나 디렉터리 생성 시 초기 접근 권한을 설정할 때 사용함
  • 초기 파일의 권한은 666이고 디렉터리는 777이며 여기에 umask 값을 빼서 초기 파일 권한을 설정할 수 있음
  • 파일 초기 권한 666 - ? = 644
소유자 그룹 사용자
r w x r w x r w x
4 2 1 4 2 1 4 2 1
  • rwx(7) 은 모든 권한을 가짐
  • (0)은 모든 권한이 해제된 상태
  • 644는 소유자(읽기+쓰기), 그룹(읽기), 사용자(읽기) 권한이 부여된 상태

리눅스 로그파일

  • utmp : 현재 로그인한 사용자 상태 정보를 담고 있는 로그파일
  • wtmp : 성공한 로그인/로그아웃 정보와 시스템 boot/shutdown의 히스토리를 담고 있는 로그파일
  • btmp : 실패한 로그인 정보를 담고 있는 로그파일
728x90
반응형

'정보처리기사 > 프로그래밍 언어 활용' 카테고리의 다른 글

프로세스 스케줄링  (0) 2023.08.05
프로세스 관리  (0) 2023.08.04
스크립트 언어와 Python  (0) 2023.08.04
제어문  (0) 2023.08.04
Java 언어의 클래스와 상속  (0) 2023.07.20