반응형

     정보

    • 업무명     : 정보처리기사 필기 : 제4과목 프로그래밍 언어 (응용 SW 기초 기술 활용)

    • 작성자     : 박진만

    • 작성일     : 2021-03-03

    • 설   명      :

    • 수정이력 :

     

     

     내용

    [운영체제의 개념]

    • 운영체제(OS; Operating System)의 정의

      • 시스템의 자원을 효율적으로 관리, 편리하고 효과적으로 사용할 수 있도록 환경을 제공

    • 운영체제의 목적

      • 처리 능력 향상, 반환 시간 단축, 사용 가능도 향상, 신뢰도 향상

    • 운영체제의 기능

      • 프로세서, 기억장치, 입·출력 장치, 파일 정보 등의 자원을 관리

    • 운영체제의 주요 자원 관리

      • 프로세스 관리, 기억장치 관리, 주변장치 관리, 파일 관리

    • 운영체제의 종류

      • Windows, UNIX, LINUX, MacOS, MS-DOS

     

    [Windows]

    • Windows의 개요

      • 그래픽 사용자 인터페이스(GUI; Graphic User Interface)

      • 선점형 멀티태스킹(Preemptive Multi-Tesking)

      • PnP(Plug and Play, 자동 감지 기능)

      • OLE(Object Linking and Embedding)

      • 255자의 파일명.

      • Single-User 시스템

     

    [UNIX / LINUX / MacOS]

    • UNIX의 개요 및 특징

      • 대화식 운영체제, 이식성이 높다

      • 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.

      • 트리 구조의 파일 시스템을 갖는다.

    • UNIX 시스템의 구성

      • 커널(Kernel) : UNIX의 가장 핵심적인 부분

      • 쉘(Shell):사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기

    • LINUX

    • MacOS

     

    [기억장치 관리의 개요]

    • 기억장치 계층 구조의 특징

      • 기억장치는 레지스터, 캐시 기억장치, 주기억장치, 보조기억장치 계층 구조로 분류

    • 기억장치의 관리 전략의 개요

      • 한정된 주기억장치의 공간을 효율적으로 사용- 반입 전략, 배치 전략, 교체 전략

    • 반입(Fetch)전략

      • 언제 주기억장치로 적재할 것인지 결정 (요구 반입, 예상 반입)

    • 배치(Placement) 전략

      • 주기억장치의 어디에 위치시킬 것인지를 결정-최초 적합, 최적 적합, 최악 적합

    • 교체(Replacement) 전략

      • 어느 영역을 교체하여 사용할 것인지를 결정하는 전략-FIFO, LRU, LFU

     

    [주기억장치 할당 기법]

    • 주기억장치 할당의 개념

      • 연속 할당 기법 : 연속으로 할당하는 기법, 단일 분할 할당 기법, 다중 분할 할당 기법

      • 분산 할당 기법 : 분산하여 할당하는 기법, 페이징 기법, 세그먼테이션 기법

    • 단일 분할 할당 기법

      • 오버레이 기법 : 주기억장치보다 큰 사용자 프로그램을 실행하기 위한 기법

      • 스와핑 기법 : 필요에 따라 다른 프로그램과 교체하는 기법

    • 다중 분할 할당 기법

      • 고정 분할 할당 기법(정적 할당 기법) : 고정된 크기로 분할

      • 가변 분할 할당 기법(동적 할당 기법) : 필요한 만큼의 크기로 영역을 분할하는 기법

     

    [가상기억장치 구현 기법 / 페이지 교체 알고리즘]

    • 가상기억장치의 개요

      • 보조기억장치(하드디스크)의 일부를 주기억장치처럼 사용하는

        • 주기억장치의 용량보다 프로그램을 실행

        • 주기억장치의 이용률과 다중 프로그래밍의 효율을 높일 수 있다.

    • 페이징(Paging) 기법

      • 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지 프레임)에 적재

    • 세그먼테이션(Segmentation) 기법

      • 프로그램을 다양한 크기의 논리적인 단위로 나눈 주기억장치에 적재시켜 실행

    • 페이지 교체 알고리즘

      • 페이지 프레임을 선택하여 교체할 것인지를 결정하는 기법

      • OTP(최적 교체)

      • FIFO(First In First Out)

      • LRU(Least Recently Used)

      • LFU(Least Frequently Used)

      • NUR(Not Used Recently)

      • SCR(Second Chance Replacement, 2차 기회 교체)

     

    [가상기억장치 기타 관리 사항]

    • 페이지 크기

      • 작을 경우: 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어진다.

      • 클 경우 : 페이지 맵 테이블의 크기가 작아지고, 매핑 속도가 빨라진다.

    • Locality(국부성, 지역성, 구역성, 국소성)

      • 주기억장치를 참조할때 일부 페이지만 집중적으로 참조

    • 워킹 셋(Working Set)

      • 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합

    • 프리페이징(Prepaging) : 필요할 같은 모든 페이지를 한꺼번에 페이지 프레임에 적재하는 기법

    • 스래싱(Thrashing) : 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상

     

    [프로세스의 개요]

    • 프로세스(Process)의 정의

      • 실행중인 프로그램

    • PCB(Process Control Block, 프로세스 제어 블록)

      • 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓은 곳

    • 프로세스 상태 전이

      • 프로세스가 시스템 내에 존재하는 동안 프로세스의 상태가 변하는

      • 프로세스 상태 : 제출(Submit), 접수(Hold), 준비(Ready), 실행(Run), 대기(Wait),   료(Terminated, Exit)

    • 스레드(Thread)

      • 프로세스 내에서의 작업 단위로서 시스템의 여러 자원을 할당받아 실행하는 프로그램의  단위

     

    [스케줄링]

    • 스케줄링(Scheduling)의 개요

      • 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

    • 스케줄링의 목적

      • 처리율(량) 증가, CPU 이용률 증가, 응답시간(Response Time, 반응 시간) 최소화

      • 반환 시간(Turn Around Time) 최소화, 대기 시간 최소화

    • 프로세스 스케줄링의 기법

      • 비선점(Non-Preemptive) 스케줄링 :해당 프로세스가 완료될 때가지 CPU를 사용

        • 종류 : FCFS, SJF, 우선순위, HRN,기한부

      • 선점(Preemptive) 스케줄링 : 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용

      • 종류 : Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐

     

    [환경 변수]

    • 환경 변수의 개요

      • 시스템 소프트웨어의 동작에 영향을 미치는 동적인 값들의 모임

        • 변수명과 값으로 구성, 시스템의 기본 정보를 저장, 자식 프로세스에 상속

        • 시스템 변수와 사용자 환경 변수로 구분

    • Windows의 주요 환경 변수

      • 환경 변수를 명령어나 스크립트에서 사용하려면 변수명 앞뒤에 ‘%’를 입력

    • UNIX / LINUX의 주요 환경 변수

      • 환경 변수를 명령어나 스크립트에서 사용하려면 변수명 앞에 ‘$’를 입력

     

    [운영체제 기본 명령어]

    • 운영체제 기본 명령어의 개요

      • CLI(Command Line Interface) : 키보드로 명령어를 직접 입력하여 작업을 수행

      • GUI(Graphic User Interface) : 마우스로 아이콘이나 메뉴를 선택하여 작업을 수행

    • Windows 기본 명령어

      • CLI 기본 명령어 : DIR, COPY, TYPE, CD, CHKDSK, FORMAT

      • GUI 기본 명령어

    • UNIX / LINUX 기본 명령어

      • CLI 기본 명령어 : cat, chdir, chmod, fork, ls, mount, rm, wait

      • GUI 기본 명령어

     

    [인터넷]

    • 인터넷(Internet)의 개요

      • TCP/IP 프로토콜을 기반으로 하여 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범  위한 컴퓨터 통신망

    • IP 주소(Internet Protocol Address)

      • 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유한 주소

        • A Class : 16,777,216개의 호스트 사용

        • B Class : 65,536개의 호스트 사용

        • C Class : 256개의 호스트 사용

        • D Class : 멀티캐스트용

        • E C lass : 실험적 주소이며 공용되지 않음

    • 서브네팅(Subnetting)

      • 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는

      • 서브넷 마스크(Subnet Mask) : 네트워크 주소와 호스트 주소를 구분하기 위한 비트

    • IPv6(Internet Protocol version 6)의 개요

      • IPv4의 주소 부족 문제를 해결하기 위해 개발, 128비트의 긴 주소를 사용

    • IPv6의 구성

      • 유니캐스트(Unicast), 멀티캐스트(Multicast), 애니캐스트(Anycast)

    • 도메인 네임(Domain name)

      • 숫자로 된 IP 주소를 사람이 이해하기 쉬운 문자 형태로 표현한

      • DNS(Domain Name System) : 도메인 네임을 IP 주소로 변환하는 역할을 하는 시스템

     

    [OSI 참조 모델]

    • OSI(Open System Interconnection)참조 모델의 개요

      • 다른 시스템 간의 원활한 통신을 위해 ISO(국제표준화기구)에서 제안한 통신 규약

        • 하위 계층 : 물리 계층 → 데이터 링크 계층 → 네트워크 계층

        • 상위 계층 : 전송 계층 → 세션 계층 → 표현 계층 → 응용 계층

    • OSI 참조 모델의 목적

      • 서로 다른 시스템 간을 상호 접속하기 위한 개념을 규정

    • OSI 참조 모델에서의 데이터 단위

      • 프로토콜 데이터 단위(PDU) : 동일 계층 간에 교환되는 정보의 단위

      • 서비스 데이터 단위(SDU) : 상·하위 계층끼리 주고받는 정보의 단위

    • 물리 계층(Physical Layer)

      • 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의

    • 데이터 링크 계층(Data Link Layer)

      • 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록

      • 흐름 제어 기능, 프레임의 동기화 기능, 오류 제어 기능

    • 네트워크 계층(Network Layer, 계층)

      • 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능

      • 경로 설정(Routing), 데이터 교환 중계, 트래픽 제어, 패킷 정보 전송

    • 전송 계층(Transport Layer)

      • 종단 시스템(End-to-End) 간에 투명한 데이터 전송

      • 오류 제어, 흐름 제어

    • 세션 계층(Session Layer)

      • 대화 제어 담당

    • 표현 계층(Presentation Layer)

      • 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식(포맷) 변환, 문맥 관리 기능

    • 응용 계층(Application Layer)

      • 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스를 제공

     

    [네트워크 관련 장비]

    • 네트워크 인터페이스 카드(NIC; Network Interface Card)

      • 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치

    • 허브(Hub) : 가까운 거리의 컴퓨터들을 연결하는 장치

    • 리피터(Repeater) : 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할을 수행

    • 브리지(Bridge) : LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹(세그먼트)을 연결하는 기능

    • 스위치(Switch) : LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치

    • 라우터(Router) : 데이터 전송의 최적 경로를 선택할 있는 기능

    • 게이트웨이(Gateway)

      • 전 계층(1~7계층)의 프로토콜 구조가 다른 네트워크의 연결을 수행

     

    [프로토콜의 개념]

    • 프로토콜(Protocol)의 정의

      • 서로 다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화시켜 놓은 통신  규약

    • 프로토콜의 기본 요소

      • 구문(Syntax)

      • 의미(Semantics)

      • 시간(Timing)

    • 프로토콜의 기능

      • 단편화와 재결합, 캡슐화, 흐름 제어, 오류 제어, 동기화, 순서 제어, 주소 지정, 다중화, 경  로 제어, 전송 서비스

     

    [TCP / IP]

    • TCP / IP의 개요(Transmission Control Protocol / Internet Protocol)

      • 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준  프로토콜

    • TCP / IP의 구조

      • 응용 계층, 전송 계층, 인터넷 계층, 네트워크 액세스 계층으로 이루어져 있다.

    • 응용 계층의 주요 프로토콜

      • FTP(File Transfer Protocol)

      • SMTP(Simple Mail Transfer Protocol)

      • TELNET

      • SNMP(Simple Network Management Protocol)

      • DNS(Domain Name System)

      • HTTP(Hyper Text Transfer Protocol)

    • 전송 계층의 주요 프로토콜

      • TCP(Transmission Control Protocol) : 스트림 위주의 전달(패킷 단위)

      • UDP(User Datagram Protocol)

      • RTCP(Real-Time Control Protocol)

    • 인터넷 계층의 주요 프로토콜

      • IP(Internet Protocol)

      • ICMP(Internet Control Massage Protocol)

      • ARP(Address Resolution Protocol)

      • RARP(REVERSE Address Resolution Protocol)

    • 네트워크 액세스 계층의 주요 프로토콜

     

    [문제]

    • 1. 컴퓨터의 윈도우 창에 여러 윈도우를 열어 놓고 작업하는 것을 기억장치 처리  방법으로 무엇이라 하는가?

      •   보조 프로그램

      •   멀티 프로세싱

      •   멀티 프로그래밍

      •   리얼 타임 프로그래밍

     

    • 2. 기억장치의 관리 전략 중 반입(Fetch) 전략의 설명으로 맞는 것은?

      • 프로그램/데이터를 주기억장치로 가져오는 시기를 결정하는 전략

      • 프로그램/데이터의 주기억장치 내의 위치를 정하는 전략

      • 주기억장치 내의 빈 공간 확보를 위해 제저할 프로그램/데이터를 선택하는 전략

      • 프로그램/데이터의 위치를 이동시키는 전략

     

    • 3. 실기억장치를 사용하는 시스템에서 주기억장치를 고정된 크기로 분할하여  사용하는 경우에 대한 설명 가장 거리가 것은?

      • 내부 조각(Internal Fragmentation) 현상이 발생한다.

      • 주기억장치와 보조기억장치 간에 데이터의 이동이 빈번히 발생한다.

      • 프로그램이 주어진 분할 안에 다 들어갈 수 없는 경우가 생길 수 있다.

      • 프로그램이 실행되기 위해서는 전체가 주기억장치에 위치해야 한다.

     

    • 4. 페이징 기법과 세그먼테이션 기법에 대한 설명으로 옳지 않은 것은?

      •   페이징 기법에서는 주소 변환을 위한 페이지 맵 테이블이 필요하다.

      •   프로그램을 일정한 크기로 나눈 단위를 페이지라고 한다.

      •   세그먼테이션 기법에서는 하나의 작업을 크기가 각각 다른 여러 논리적인 단위로 나누  사용한다.

      •   세그먼테이션 기법에서는 내부 단편화가, 페이징 기법에서는 외부 단편화가 발생할 수  있다.

     

    • 5. 페이지 오류율(Page Fault Ratio)과 스래싱(Thrashing)에 대한 설명으로  옳은 것은?

      •   페이지 오류율이 크면 스래싱이 많이 발생한 것이다.

      •   페이지 오류율과 스래싱은 전혀 관계가 없다.

      •   스래싱이 많이 발생하면 페이지 오류율이 감소한다.

      •   다중 프로그래밍의 정도가 높을수록 페이지 오류율과 스래싱이 감소한다.

     

    • 6. 스레드(Thread)에 대한 설명으로 옳지 않은 것은?

      •   한 개의 프로세스는 여러 개의 스레드를 가질 수 없다.

      •   커널 스레드의 경우 운영체제에 의해 스레드를 운용한다.

      •   사용자 스레드의 경우 사용자가 만든 라이브러리를 사용하여 스레드를 운용한다.

      •   스레드를 사용함으로써 하드웨어, 운영체제의 성능과 응용 프로그램의 처리율을 향상  시킬수 있다.

     

    • 7. 선점(Preemptive) 스케줄링 방식에 대한 설명으로 옳지 않은 것은?

      •   대화식 시분할 시스템에 적합하다.

      •   긴급하고 높은 우선순위의 프로세스들이 빠르게 처리될 수 있다.

      •   일단 CPU를 할당받으면 다른 프로세스가 CPU를 강제적으로 빼앗을 수없는 방식이다.

      •   선점을 위한 시간 배당에 대한 인터럽트용 타이머 클록(Clock)이 필요하다.

     

    • 8. UNIX에서 기존 파일 시스템에 새로운 파일 시스템을 서브 디렉토리에 연결  할 때 사용하는 명령은?

      • mount

      • find

      • fsck

      • wait

     

    • 9. OSI 참조 모델의 데이터 링크 계층에 대한 설명으로 틀린 것은?

      •   물리적 계층의 신뢰도를 높여 주고 링크의 확립 및 유지할 수 있는 수단을 제공한다.

      •   에러 제어, 흐름 제어 등의 기능을 수행한다.

      •   종단 시스템 간에 End-to-End 통신을 지원한다.

      •   대표적 프로토콜로는 HDLC, BSC 등이 있다.

     

    • 10. 둘 이상의 컴퓨터 사이에 데이터 전송을 할 수 있도록 미리 정보의 송·수신 측  에서 정해둔 통신 규칙은?

      •   프로토콜

      •   링크

      •   터미널

      •   인터페이스

     

    • 11. 인터넷 프로토콜로 사용되는 TCP/IP의 계층화 모델 중 Transport 계층에서  사용되는 프로토콜은?

      •   FTP

      •   IP

      •   ICMP

      •   UDP

     

     참고 문헌

    [논문]

    • 없음

    [보고서]

    • 없음

    [URL]

    • 없음

     

     문의사항

    [기상학/프로그래밍 언어]

    • sangho.lee.1990@gmail.com

    [해양학/천문학/빅데이터]

    • saimang0804@gmail.com
     
    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기