운영체제(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 |