ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [정보처리기사]기사따기9일차_3과목_운영체제_1_190203
    자격증/정보처리기사-합 2024. 11. 23. 22:00
    반응형

    # 최초 등록일 : 2024년 11월 23일 21:57

    # 최근 변경일 : 2024년 11월 23일 21:57

    # 내용 : 정보처리기사 필기 3과목 공부 후 정리한 내용 올리기

     

    이전 기사따기8일차는 아래에 링크로

     

    [정보처리기사]기사따기8일차_2과목_전자계산기구조_4_190202

    # 최초 등록일 : 2024년 11월 22일 18:58# 최근 변경일 : 2024년 11월 22일 18:58# 내용 : 정보처리기사 필기 2과목 공부 후 정리한 내용 올리기 이전 기사따기7일차는 아래에 링크로 [정보처리기사]기사따

    doradorabean.tistory.com

     

     

    이건 많이 언급되는 단어

    이건 내가 궁금한거 쳐봐서 나온 결과

     

    ------------------------------------------------------------------------------------------------------------------------------

     

    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은 사용자의 응용 처리를 위해 사용되는 프로그램

    반응형
Designed by Tistory.