처음부터 차근차근

정보처리산업기사 용어 정리 본문

정보처리산업기사

정보처리산업기사 용어 정리

_soyoung 2021. 10. 23. 19:09
반응형
운영체제(OS)

 

하드웨어를 제어하는 소프트웨어

하드웨어를 효율적으로 사용할 수 있도록 지원한다.

자원(프로세서, 기억장치, 파일 및 정보, 네트워크 및 보안) 등을 관리한다.

 

 

 

 

펌웨어

 

ROM에 기록된 하드웨어를 제어하는 *마이크로프로그램의 집합이다.* 마이크로프로그램 : ROM에 기록된 펌웨어소프트웨어와 하드웨어의 특징을 모두 가지고 있다.프로그램이라는 관점에서는 소프트웨어 이지만, 하드웨어와 밀접한 관계를 가지고 있다.

 

 

 

 

운영체제의 목적

 

  1. 컴퓨터의 처리량과 신뢰성을 최대화하기 위함이다.
  2. 응용 소프트웨어의 반환 시간(Return Time), 응답 시간(Response Time), 대기 시간(Waiting Time), 경과 시간(Duration)을 최소화하기 위함이다.
  3. 사용자와 컴퓨터 시스템과 사이의 인터페이스(IF : Interface)역할을 하기 위함이다.
  4. 제한된 자원(CPU, 메모리 등)을 효율적으로 공유하기 위한 스케줄링을 하기 위함이다.
  5. 주변장치 관리하기 위함이다.
  6. 시스템 이식성(호환성) 향상시키기 위함이다.

 

 

 

 

시스템 소프트웨어

 

시스템 소프트웨어란, 응용 프로그램들을 지원하기 위한 소프트웨어이다.

ex) 컴파일러, 운영체제, 링커, 로더, 매크로 프로세서

 

 

 

 

어셈블리어

 

어셈블리어란, 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다.

특징 :

 

  • 프로그램 주소가 기호 번지이다.
  • 프로그램의 데이터를 사용하기 쉽다.

 

 

 

 

매크로 프로세서의 수행기능

 

  1. 매크로 정의 인식
  2. 매크로 정의 저장
  3. 매크로 호출 인식
  4. 매크로 확장 및 인수 치환

+ 매크로 정의 내에서 또 다른 매크로를 정의할 수 있다.

 

 

 

 

로더

 

로더란, 목적 프로그램을 실행 가능한 형태로 변환하기 위해 주기억 장소에 할당하는 것이다.

 

<로더의 기능>

allocation : 할당

linking : 연결

re-allocation : 재배치

loading : 적재

 

 

 

 

링키지 에디터 

 

링키지 에디터란, 프로그램을 주기억 장치에 적재함은 물론 보조기억 장치에 로드 이미지를 보관해두는 것

 

 

 

 

Compile and Go 로더

 

번역 프로그램(어셈블러, 컴파일러)과 로더가 하나로 구성되어 있는 것이다.

번역 후 바로 실행한다는 특징을 가지고 있다.

 

 

 

 

절대로더

 

기억 장소 할당과 연결을 프로그래머가 직접 지정하는 방식이다.

기억 장소 할당, 연결을 개발자가 하고,

재배치를 컴파일러(번역 프로그램)가 하고,

적재를 로더가 한다.

 

 

 

 

직접 로더(Direct Linking Loader)

 

로더가 모든 것(기억장소 할당, 연결, 재배치, 적재)을 수행하는 방식이다.

가장 일반적인 형태이다.

 

 

 

 

기타 로더

 

동적 적재로더(Dynamic Loading Loader) : 

CPU가 사용중인 부분만 적재하는 로더이다.

호출 시 적재(load-on-call)이라고도 부른다.

 

 

 

 

운영체제의 발달

 

1. 일괄 처리 시스템(Batch Processing) : 작업량이 일정한 수준이 될 때까지 모아두었다가 한꺼번에 처리하는 시스템

 

2. 시간 분할 처리 시스템(Time-Sharing Processing) : 하나의 CPU를 여러 개의 작업이 정해진 시간 동안 번갈아 사용

 

3. 다중 모드 처리 시스템(Multi Mode Processing) : 일괄처리, 시간분할 처리, 실시간 처리 모두 수행

 

4. 분산(Distributed) 처리 시스템 : 하나의 작업을 여러 개의 컴퓨터가 수행

통신 회선을 통해 작업들을 모아 중앙 컴퓨터에서 처리하는 시스템이다.

클라이언트/서버 운영체제에서 사용되는 시스템이다.

각 컴퓨터는 독립적인 운영체제를 가진다.

전송 지연이 길고 데이터 처리율이 낮다.

 

+실시간 처리 시스템(Real Time Processing)

비행기 제어 시스템이나 교통 제어

우주 왕복선이나 레이더 추적기

 

 

 

 

병렬(Parallel) 처리 시스템

 

하나의 메모리를 여러 개의 CPU가 사용하는 컴퓨터 시스템이다.

 

 

 

 

스풀링(Spooling)

 

프로그램과 이를 이용하는 I/O 장치와의 속도 차를 극복하기 위한 장치이다.

하드디스크를 활용하여 중재한다.

 

 

 

 

버퍼링(Buffering)

 

버퍼(buffer)란, 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리의 영역이다. 버퍼링이란, 버퍼를 채우는 동작이다.

CPU와 입출력 장치와의 속도 차이를 줄이기 위해 메모리(주기억 장치의 일부분)가 버퍼링을 하여 중재한다.

 

 

 

 

운영체제의 성능평가 기준

 

  1. 처리량(Throughput) 
  2. 반환시간(Turn-around Time) : 작업 완료까지의 시간
  3. 신뢰도(Reliability) : 믿을만한 결과를 주는지
  4. 사용 가능도(Availability) : 프로세스의 요구 자원에 대한 신속하고 충분한 지원의 정도

 

 

 

 

운영체제의 구성

 

제어 프로그램(Control Program)

  • 감시(Supervisor) 프로그램
  • 데이터 관리(Data Management) 프로그램
  • 작업 제어(Job Control) 프로그램 : 스케줄, 시스템 자원 할당

 

처리 프로그램

  • 언어 번역(Language Translator) 프로그램
  • 서비스(Service) 프로그램
  • 문제(Problem) 프로그램 : 특정 업무를 위해 사용자가 작성한 프로그램

 

 

 

 

프로세스

 

프로세스란, 운영체제 작업의 단위이다.

프로세스(Process) == 태스크(task) == 작업(job)

 

CPU에 의해서 현재 실행되고 있는 프로그램

프로시저(프로세서내 부분: 예: 함수)가 활동 중인 상태

비동기적 행위(이벤트 처리)를 일으키는 주체

 

프로세스의 목적

다중 프로그래밍을 하기 위함이다.

 

프로세스의 3가지 상태

  • 준비 상태 : 언제든 CPU를 점유할 수 있는 상태, 프로세스가 CPU 점유를 위해 기다리는 상태
  • 실행 상태 : CPU를 점유하고 있는 상태
  • 대기(Block, Wait, 보류) 상태 : 예약한 사건(Event)이 발생하기를 기다리는 상태

 

 

 

 

할당 시간(Time Slice)

 

할당 시간(Time Slice)이란, 시분할 시스템의 프로세스에 대한 CPU 점유에 주어진 시간 단위이다.

 

 

 

디스패치(Dispatch) 

 

디스패치(Dispatch)란, 준비 상태에 있는 여러 프로세스 중 다음으로 실행될 프로세스에 CPU를 할당하는 것이다.

 

 

 

문맥교환(Context Switching)

 

문맥교환(Context Switching)이란, 프로세스에서 다른 프로세스로 CPU가 할당되는 과정이다.

선점형(Preemptive) 알고리즘 기법의 운영체제에서 지원한다.

 

문맥 교환 발생 상황

  • 프로세스가 준비 상태에서 실행 상태로 변환될 때(준비 -> 실행)
  • 프로세스가 실행 상태에서 준비 상태로 변환될 때(실행 -> 준비)
  • 프로세스가 실행 상태에서 대기 상태로 변환될 때(실행 -> 대기)
  • 프로세스가 실행 상태에서 종료 상태로 변환될 때(실행 -> 종료)

 

 

 

 

인터럽트

 

인터럽트란, 프로세스가 수행 중에 다른 프로세스를 수행하기 위하여 현재 수행중인 프로세스를 중단하는 것이다.

또는, 외부 입력 장치에 의해 프로세스가 중단되는 상태를 말한다.

인터럽트 발생 시 복귀 주소는 스택에 저장한다.(큐 아님!!!)

 

인터럽트 발생 후 처리 순서

  1. 운영체제가 인터럽트 신호 감지
  2. 현재 동작중인 프로세스의 상태를 저장
  3. 인터럽트 정보 분석 및 처리 루틴(ISR: Interrupt Service Routine)으로 제어권 변경
  4. 인터럽트 처리
  5. 이전의 프로세스의 상태를 복구
  6. 이전 프로세스 실행

 

 

 

 

인터럽트 종류

 

1. SVC(SuperVisor Call) 인터럽트

감시 프로그램 호출. 감시프로그램 호출은 사용자로부터 운영체제를 보호, 입출력 수행 루틴 호출, 기억 장치 할당, 오퍼레이터와의 대화를 위한 인터럽트임

입출력 수행, 기억 장치 할당 및 오퍼레이터와 대화 등을 하기 위해 발생하는 인터럽트는? SVC!!!!

 

2. 입출력(Input/Output) 인터럽트

하드웨어적 인터럽트로 입출력 채널 확인, 준비, 할당, 완료 시 발생

 

3. 외부(External) 인터럽트

네트워크 및 외부(키보드, 마우스 포함)로부터 인터럽트 처리 신호가 왔을 경우 발생

인터럽트 시계에 의해 프로세스가 시간 할당량이 종료된 경우 발생

 

4. 재시작(Restart) 인터럽트

재부팅 등 운영체제를 메모리에 다시 적재시킬 때 발생 (Ctrl + Alt + delete 입력했을 때)

 

5. 프로그램 검사(Program Check) 인터럽트

데이터 연산에 따른 오버플러(Overflow)/언더플러(Underflow)상태 시 발생

오류 생겼을 때 발생!

 

6. 기계 검사(Hardware Check) 인터럽트

기계 검사(Hardware Check) 인터럽트

 

 

 

 

 

 

출처 : 시스템분석설계(21-2학기)김병국교수 강의 내용 변형 및 요약

반응형

'정보처리산업기사' 카테고리의 다른 글

코드의 종류  (0) 2021.11.13
IPv4, TCP, UDP의 헤더 구성  (0) 2021.10.30
정보처리산업기사 용어 정리2  (0) 2021.10.24
UNIX의 명령어와 함수 정리  (0) 2021.10.05
가상기억장치의 교체 전략  (0) 2021.10.02
Comments