-
[정보처리기사]기사따기9일차_3과목_운영체제_1_190203자격증/정보처리기사-합 2024. 11. 23. 22:00반응형
# 최초 등록일 : 2024년 11월 23일 21:57
# 최근 변경일 : 2024년 11월 23일 21:57
# 내용 : 정보처리기사 필기 3과목 공부 후 정리한 내용 올리기
이전 기사따기8일차는 아래에 링크로
이건 많이 언급되는 단어
이건 내가 궁금한거 쳐봐서 나온 결과
------------------------------------------------------------------------------------------------------------------------------
Part 3. 운영체제
1. 운영체제의 개요
운영체제의 개념
운영체제의 정의
- 하드웨어를 제어하는 소프트웨어, 컴퓨터를 편리하게 사용하고 하드웨어를 효율적으로 사용할 수 있도록 하는 프로그램
- 프로세서, 기억장치, 파일 및 정보, 네트워크 및 보호 등을 효율적으로 관리할 수 있는 프로그램의 집합
운영체제의 목적
- 컴퓨터 시스템의 처리량, 신뢰성을 최대화
- 반환 시간, 응답 시간, 처리 시간, 대기 시간, 경과 시간을 최소화 함
- 자원을 효율적으로 운영하고 제어, 사용자에게 인터페이스를 제공, 스케줄링, 데이터 공유, 주변 장치를 관리, 이식성을 높임
운영체제의 역할
- 다은 응용프로그램이 유용한 작업을 할 수 있도록 환경을 마련하여 준다.
- 내부 및 외부 인터페이스를 제공, 여러 사용자가 효율적으로 나누어 사용할 수 있도록 자원을 관리
- 프로세서, 프로세스, 기억 장치, 입울력 장치를 관리
- 작업을 수행할 수 있는 상태로 유지시키는 역할, 회복을 위해 활동
- 오류로부터 시스템을 보호, 자원들을 공유할 수 있도록 자원을 관리
운영체제의 계층 구조
1) 인터페이스의 계층 구조
2) 운영체제의 내부 구조
- 마이크로프로그램 : Micro-Program 은 ROM이나 PROM에 영구히 기록되는 프로그램
- 기계어 : Machine Language는 기계어는 일련의 0과 1로 표시
- 제어 프로그램 : Kernel은 하드웨어를 제어하는 프로그램, 스케줄링과 자료 관리를 하는 핵심 요소
- 명령어 해석기 : Shell은 사용자 명령을 입력받아 시스템 기능을 수행하는 명령어 해석기
시스템 소프트웨어
시스템 소프트웨어의 개념
1) 시스템 소프트웨어 : 응용 프로그램들을 지원하기 위해서 개발된 소프트웨어로 사용자보다는 하드웨어 위주의 소프트웨어
2) 시스템 프로그램의 주요 역할 : 프로그램을 기억 장치에 상주하고 인터럽트, 기억 장치, 주변 장치, 파일들을 관리한다.
어셈블러
1) 어셈블러의 역할 : 소스 프로그램을 기계어(0과 1로 구성된 언어)로 번역하고 로더(추후 설명)에 필요한 정보를 생성한다.
2) 어셈블러의 기능 : 명령어를 생성, 기계 주소를 할당, 의사 명령어를 처리
3) 어셈블러의 번역 방법
- 단일 패스 어셈블러 (1-pass) : 기호 테이블 정의, 실행 속도 빠름, 작성이 어렵고 크기가 작음
- 이중 패스 어셈블러 (2-pass) : 기호 테이블로 목적 프로그램 생성, 프로그램 작성 용이, 다른 코드와 결합, 대부분 사용, 크기가 크다.
4) 어셈블러의 장점 : 어셈블리어로 작성한 원시 프로그램을 기계어로 변형, 이해하기가 쉽다.
매크로(Macro)와 매크로 프로세서(Macro Processor)
1) 매크로 프로세서의 역할
- 명령어들을 문자로 치환하여 확장
- 매크로 라이브러리는 자주 사용하는 매크로들을 모아 놓은 라이브러리
- 사용된 횟수만큼 명령어를 생성, 삽입해서 실행, 매크로 정의 내에 또 다른 매크로 정의 가능
2) 매크로 프로세서의 기본 기능
- 매크로 정의 인식 : 매크로를 정의한 부분의 시작과 종료를 파악
- 매크로 정의 저장 : 매크로 호출시 확장하기 위해 저장
- 매크로 호출 인식 : 확장하기 위한 준비가 되어 있는지 확인
- 매크로 확장 및 인수 : 치환 매크로를 호출하면 매크로명이 있는 원시 프로그램 위치에 저장된 내용과 인수를 치환
컴파일러(Compiler)와 인터프리터(InterPreter)
1) 컴파일러 : 고급 언어로 작성된 프로그램을 기계에 적합한 프로그램을 번역해주는 프로그램, 목적 프로그램을 출력함
2) 인터프리터 : 원시 프로그램과 기ㅖ어 중간 코드를 생성, 목적 프로그램을 출력하지 않음.
로더(Loader)
1) 로더의 역할 : 목적 프로그램을 실행 파일로 만들기위해 주기억 장소를 할당, 여러 개의 목적 프로그램을 연계 편집하여 CPU가 처리될
수 있는 프로그램으로 변환
2) 로더의 일반적인 기능 : 프로그램을 실행하기 위하여 보조 기억 장치로부터 컴퓨터에 주기억 장치에 상주시키는 기능
할당 -> 연결 -> 재배치 -> 적재 순서로 진행
- 할당 : Allocation은 주기억 장치의 공간을 할당
- 연결 : Linking은 여러 개의 독립적인 모듈을 연결, 주기억 장치의 일부 공간을 하나의 논리적인 주소 공간으로 연결
링키지 에디터(Linkage Editor)는 프로그램 적재 시 필요한 프로그램들을 결합
- 재배치 : Relocation은 프로그램이 주기억 장치 공간 안에서 위치를 변경할 수 있게 한다.
- 적재 : Loading은 필요한 일부분만을 차례로 적제하게 한다.
3) 로더의 종류
- Compile and Go 로더 : 번역 프로그램과 로더가 하나로 구성, 용량이 큼
- 절대 로더 : Absolute Loader는 구성된 로더로 기억 장소 할당이나 연결을 프로그래머가 직접 지정하는 방식
- 직접 연결 로더 : Direct Linking Loader는 로더가 할당, 연결, 재배치, 적재를 모두 수행하는 일반적인 형태 = <재배치로더, 상대 로더>
- Binding 로더 : 할당, 연결, 재배치만 하는 로더, 즉, 준비만 하는 로더
- Module 로더 : 적재만을 담당하는 로더
- 동적 적재 로더 : Dynamic Loading Loader는 CPU가 현재 사용 중인 부분만 적재하고 미사용 중인 프로그램은 보조 기억 장치에 저장해 두는 방식, = < Load-on-call >
운영체제의 발달과 분류
운영체제 시스템의 발달 순서
- 일괄 -> 다중 프로그래밍 -> 온라인 -> 시분할 -> 실시간 -> 다중 모드 -> 분산 -> 병렬 처리 순으로 진행됨
운영체제 발달 시스템의 특징
1) 일괄 처리 시스템 : Batch Processing은 작업량이 일정한 수준이 될 때까지 모아두었다가 한꺼번에 처리
2) 다중 프로그래밍 시스템 : Multiprogramming은 하나의 컴퓨터 시스템에서 여러 프로그램들이 같이 컴퓨터 시스템에 입력되어
주기억 장치에 적재되고, 이들이 처리 장치를 번갈아 사용하며 실행하도록 하는 방식
3) 온라인 시스템 : On-Line Processing은 통신 회선으로 각 시스템을 연결하여 처리
4) 시분할 처리 시스템 : Time-sharing Processing은 단말 장치를 이용하여 운영체제와 상호 작용, 시스템은 일정 시간 단위로 CPU를
한 사용자에서 다음 사용자로 신속하게 전환하여, 각각의 사용자들은 실제로 자신만이 컴퓨터를 사용하고 있는 것
처럼 사용할 수 있는 처리 방식.
- 대화식 처리를 한다.
- 라운드 로빈(Round Robin) 방식
- 응답 시간의 최소화를 꾀한다.
- 다중 프로그래밍 보다 복잡
- H/W를 보다 능률적으로 사용
- 하나의 작업에 할당된 시간을 Time Slice 라고 한다.
5) 실시간 처리 시스템 : Real Time Processing은 실행 결과를 즉시 받아 볼 수 있어 응답 시간이 짧다.
6) 다중 모드 처리 시스템 : Multi Mode Processing은 모든 처리 시스템을 수행할 수 있는 운영방식
7) 분산 처리 시스템 : Distributed는 약 결합 형태의 시스템 운영에 적합하며, 하나의 작업을 여러 개의 컴퓨터 시스템이 공동으로 작업
할 수 있는 운영 방식, 중앙 컴퓨터에서 처리, 클라이언트/서버 운영체제
8) 병렬 처리 시스템 : Parallel은 하나의 메모리를 여러 개의 CPU가 사용하는 컴퓨터 시스템, 강 결합 형태의 시스템 운영에 적합하다.
운영체제의 성능 평가 기준 4가지
1) 처리량 : Throughput은 일정한 시간 내에서 얼마나 많은 작업량을 처리할 수있는가의 기준, 극대화 되야 좋음.
2) 반환 시간 : Turn-around Time은 요청한 작업에 대하여 그 결과를 사용자에게 되돌려 줄 때가지 소요되는 시간, 최소화 되야 좋음
3) 신뢰도 : Reliability는 작업의 결과가 얼마나 정확하고 믿을 수 있는가의 기준, 높을수록 좋음
4) 사용 가능도 : Availability는 컴퓨터 시스템 내의 한정된 각종 자원을 여러 사용자가 요구할 때, 어느 정도 신속하고 충분히 지원해줄 수 있는지의 정도이다. 많을 수록 좋음
운영체제의 구성
1) 제어 프로그램 : Control Program은 운영체제가 관리하는 모든 자원을 효율적으로 제공하기 위해 시스템 전체의 움직임을 감시,
감독 관리 및 지원하는 프로그램
- 감시 프로그램 : Supervisor Program은 중추적인 역할을 담당하고, 각종 운영체제 제어 루틴의 호출을 인식하여 해당 제어 루틴을
지시하고 루틴의 동작을 감시, 감독하는 프로그램
- 데이터 관리 프로그램 : Data Management Program은 운영체제 시스템에서 취급하는 파일과 데이터를 표준적인 방법으로 처리할 수
있도록 관리, IOCS(Input Outpu Control System)이라고도 한다.
- 작업 제어 프로그램 : Job Control Program은 다른 업무로의 이행을 자동적으로 수행하기 위한 준비 및 처리 완료를 담당하는 기능 수행
** 작업 제어 스케줄러 (Job Control Scheduler)
- Master Scheduler : 사용자와 운영체제 사이의 통신을 담당
- Job Scheduler : 작업의 순서를 결정하는 행위
2) 처리 프로그램 : Processing Program은 운영체제를 사용하는 사용자의 편이성을 제공하고 데이터를 처리하는 프로그램
- 언어 번역 프로그램 : Language Translator Program은 원시 프로그램을 작성하면 목적 프로그램으로 번역해주는 프로그램
- 서비스 프로그램 : Service Program은 사용 빈도수가 높은 모듈이나 프로그램들을 사용자가 사용할 수 있도록 제공되는 프로그램
- 문제 프로그램 : Problem Program은 사용자의 응용 처리를 위해 사용되는 프로그램
반응형'자격증 > 정보처리기사-합' 카테고리의 다른 글
[정보처리기사]기사따기11일차_3과목_운영체제_3_190205 (0) 2024.11.25 [정보처리기사]기사따기10일차_3과목_운영체제_2_190204 (0) 2024.11.24 [정보처리기사]기사따기8일차_2과목_전자계산기구조_4_190202 (0) 2024.11.22 [정보처리기사]기사따기7일차_2과목_전자계산기구조_3_190201 (2) 2024.11.21 [정보처리기사]기사따기6일차_2과목_전자계산기구조_2_190131 (0) 2024.11.20