정보기사_핵심_부속

Similar documents
프로그램카운터 (Program Counter) 명령레지스터 (Instruction Register) 누산기 (AC: Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 메모리주소레지스터 (M

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

DBMS & SQL Server Installation Database Laboratory

금오공대 컴퓨터공학전공 강의자료

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F FB1E2BBE7C6D0BDBABFEB2E687770>

untitled

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

4. 다음주소지정방식중속도가가장빠른주소방식은? 가. immediate addressing mode 나. direct addressing mode 다. indirect addressing mode 라. index register. 5. 간접주소 (indirect addr

03-01 데이터모델링과데이터모델의개념 개체-관계모델 논리적데이터모델

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<C1A4BAB8C3B3B8AE5FB1E2BBE75FC7CAB1E25F E687770>

chap 5: Trees

슬라이드 1

PowerPoint 프레젠테이션

OCW_C언어 기초

슬라이드 제목 없음

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

슬라이드 제목 없음

PowerPoint Presentation

Microsoft PowerPoint - hy2-12.pptx

Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

정보처리산업기사필기요약 정의 ( 조직 )(Definition) 기능 : 데이터의형 (Type) 과구조, 데이터가 DB 에저장될때의제약조건등을명시하는기능 조작 (Manipulation) 기능 : 데이터검색, 갱신, 삽입삭제등을체계적으로처리하기위해데이터접근수단등을정하는기능

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6397E3131B0AD20B9AEC1A62BC1A4B4E42E687770>

슬라이드 제목 없음

PowerPoint Presentation

CH06)자료구조.hwp

02-01 데이터베이스의필요성 데이터베이스의정의와특성

Microsoft PowerPoint - ch10_회복과 병행 제어.pptx

금오공대 컴퓨터공학전공 강의자료

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1

Microsoft Word - FunctionCall

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - hw8.ppt [호환 모드]

gisa_pil_070304_pdf.hwp

Microsoft PowerPoint - 27.pptx

강의 개요

Microsoft Word - logic2005.doc

학습목차 r 컴퓨터본체에서 CPU 의위치살펴보기 r CPU 의성능 r CPU 의기능 r CPU 의조직 r 레지스터의조직 r 명령어사이클 r 명령어파이프라이닝 컴퓨터구조 2 9. CPU 조직과기능

chap 5: Trees

슬라이드 제목 없음

Microsoft PowerPoint - 사본 - OAS04-사무자동화 기술(HW-CPU).ppt

Computer Architecture

3차시.ppt

JVM 메모리구조

ºÎ·ÏB

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

MySQL-.. 1

lecture01

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770>

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

PowerPoint Presentation

Microsoft PowerPoint - QVIZMVUMWURI.pptx

Chapter ...

학습목차 r 개념으로살펴보는 CPU 속의제어장치 r 마이크로연산 r 제어장치의동작 r 마이크로프로그램을이용한제어 컴퓨터구조 제어장치

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

C# Programming Guide - Types

PowerPoint 프레젠테이션

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - o8.pptx

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

PowerPoint 프레젠테이션

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드]

Microsoft PowerPoint - chap04-연산자.pptx

PowerPoint 프레젠테이션

Object Oriented Analyis & Design Training Agenda

Tablespace On-Offline 테이블스페이스 온라인/오프라인

08장.트리

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

Chap 6: Graphs

마이크로프로세서 개요

7장

PowerPoint 프레젠테이션

Chap 6: Graphs

Microsoft PowerPoint - ch07 - 포인터 pm0415

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

2002년 2학기 자료구조

슬라이드 1

Microsoft PowerPoint - Java7.pptx

adfasdfasfdasfasfadf

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

PowerPoint 프레젠테이션

8장 조합논리 회로의 응용

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint Presentation

PowerPoint Presentation

Computer Architecture

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - [2009] 02.pptx

SQL

Chapter 4. LISTS

Microsoft Word - PLC제어응용-2차시.doc

PowerPoint Presentation

Transcription:

시험에나오는것만공부한다! 길벗 R&D, 강윤석, 김용갑, 김우경, 김선애, 김종일, 최창학지음 정보처리기사필기

저작권안내 이자료는시나공카페회원을대상으로하는자료로서개인적인용도로만사용할수있습니다. 허락없이복제하거나다른매체에옮겨실을수없으며, 상업적용도로사용할수없습니다.

1 편 요약 1과목 데이터베이스 2과목 전자계산기구조 3과목 운영체제 4과목 소프트웨어공학 5과목 데이터통신

1 과목 데이터베이스 001 정보시스템 06.5, 03.8, 01.3, 00.7 정보시스템 조직체에필요한 Data를수집, 저장해두었다가필요시에처리해서의사결정에유용한정보를생성하고분배하는수단이다. 사용하는목적에따라경영정보시스템, 군사정보시스템, 인사행정정보시스템, 의사결정지원시스템등으로사용된다. 정보와자료 자료 (Data) : 현실세계에서관찰이나측정을통해수집한단순한사실이나결과값으로, 가공되지않은상태 정보 (Information) : 의사결정에도움을줄수있는유용한형태로, 자료를가공 ( 처리 ) 해서얻는결과물 자료처리시스템 자료 가공 ( 처리 ) 정보 자료처리시스템 : 정보시스템이사용할자료를처리하는정보시스템의서브시스템으로, 처리형태에따라일괄처리시스템, 온라인실시간처리시스템, 분산처리시스템으로분류됨 데이터웨어하우스 (DataWare House) : 조직이나기업체의중심이되는주요업무시스템에서추출되어새로이생성된데이터베이스로서의사결정지원시스템을지원하는주체적, 통합적, 시간적데이터의집합체 002 09.3, 08.9, 08.5, 07.5, 07.3, 05.4 데이터베이스의정의 통합된데이터 (Integrated data) : 자료의중복을배제한데이터의모임 저장된데이터 (Stored data) : 컴퓨터가접근할수있는저장매체에저장된자료 운영데이터 (Operational data) : 조직의업무를수행하는데있어서존재가치가확실하고없어서는안될반드시필요한자료 공용데이터 (Shared Data) : 여러응용시스템들이공동으로소유하고유지하는자료 003 09.5, 08.3, 07.9, 07.5, 99.8 데이터베이스의특징 실시간접근성 : 수시적이고비정형적인질의 ( 조회 ) 에대하여실시간처리 (Real-Time Processing) 에의한응답이가능함 계속적인변화 : 새로운데이터의삽입 (Insertion), 삭제 (Deletion), 갱신 (Update) 으로항상최신의데이터를유지함 4 정보처리기사필기요약 동시공용 : 여러사용자가동시에자기가원하는데이터를이용할수있음 내용에의한참조 : 데이터베이스에있는데이터를참조할때데이터주소나위치에의해서가아니라사용자가요구하는데이터내용으로데이터를찾음 004 05.5 DBMS(DataBase Management System) 의정의 사용자와데이터베이스사이에서사용자의요구에따라정보를생성해주고, 데이터베이스를관리해주는소프트웨어이다. 기존의파일시스템이갖는데이터의종속성과중복성의문제를해결하기위해제안된시스템으로, 모든응용프로그램들이데이터베이스를공용할수있도록관리해준다. 데이터베이스의구성, 접근방법, 유지관리에대한모든책임을진다. 005 06.9, 02.5, 00.3 기존의파일처리방식에서의문제점 종속성으로인한문제점 종속성 : 응용프로그램과데이터파일이상호의존적인관계 데이터파일이보조기억장치에저장되는방법이나저장된데이터의접근방법을변경할때는응용프로그램도같이변경해야한다. 중복성으로인한문제점 일관성 : 중복된데이터간에내용이일치하지않는상황이발생하여일관성이없어짐 보안성 : 중복되어있는모든데이터에동등의보안수준을유지하기가어려움 경제성 : 저장공간의낭비와동일한데이터의반복작업으로인한비용의증가 무결성 : 제어의분산으로인해데이터의정확성을유지할수없음 006 09.3, 08.5, 05.5, 04.9, 04.5, 03.8, 03.5, 02.9, 00.7, 99.8, 99.4 DBMS의필수기능 정의 ( 조직 )(Definition) : 데이터의형 (Type) 과구조, 데이터가 DB에저장될때의제약조건등을명시하는기능 조작 (Manipulation) : 데이터검색, 갱신, 삽입, 삭제등을체계적으로처리하기위해데이터접근수단등을정하는기능 제어 (Control) : 무결성, 보안및권한검사, 병행수행제어등의기능을정하는기능

007 09.5, 06.3, 04.3, 01.9, 99.10 DBMS의장 단점 장점 데이터의중복을피할수있음 저장된자료를공동으로이용할수있음 데이터의논리적 물리적독립성이보장됨 데이터의일관성을유지할수있음 데이터의무결성을유지할수있음 보안을유지할수있음 시스템이복잡함 데이터를표준화할수있음 데이터를통합하여관리할수있음 항상최신의데이터를유지함 데이터의실시간처리가가능함 논리적독립성과물리적독립성 단점 데이터베이스전문가부족 전산화비용이증가함 대용량디스크로의집중적인 Access 로과부하 (Overhead) 가발생함 파일의예비 (Backup) 와회복 (Recovery) 이어려움 논리적독립성 : 응용프로그램과데이터베이스를독립시킴으로써, 데이터의논리적구조를변경시키더라도응용프로그램은변경되지않는다. 물리적독립성 : 응용프로그램과보조기억장치같은물리적장치를독립시킴으로써, 데이터베이스시스템의성능향상을위해새로운디스크를도입하더라도응용프로그램에는영향을주지않고데이터의물리적구조만을변경한다. 008 07.9, 05.9, 00.7, 00.3 스키마 (Schema) 의정의 데이터베이스의구조와제약조건에관한전반적인명세 (Specification) 를기술 (Description) 한다. 데이터베이스를구성하는데이터개체 (Entity), 속성 (Attribute), 관계 (Relationship) 및데이터조작시데이터값들이갖는제약조건등에관해전반적으로정의한다. 스키마는사용자의관점에따라외부스키마, 개념스키마, 내부스키마로나누어진다. 009 07.9, 06.9, 06.3, 05.4, 05.3, 04.9, 04.5, 04.3, 03.8, 03.3, 02.9, 02.5, 01.9, 99.8 스키마의 3계층 외부스키마 (External Schema) = 서브스키마 = 사용자뷰 (View) 사용자나응용프로그래머가각개인의입장에서필요로하는데이터베이스의논리적구조를정의한다. 전체데이터베이스의한논리적인부분으로볼수있으므로서브스키마 (subschema) 라고도한다. 정보처리기사필기요약 하나의데이터베이스시스템에는여러개의외부스키마가존재할수있으며, 하나의외부스키마를여러개의응용프로그램이나사용자가공용할수있다. 같은데이터베이스에대해서도서로다른관점을정의할수있도록허용한다. 일반사용자는질의어 (SQL) 를사용하여 DB를사용한다. 개념스키마 (Conceptual Schema) = 전체적인뷰 (View) 데이터베이스의전체적인논리적구조로서, 모든응용프로그램이나사용자들이필요로하는데이터를종합한조직전체의데이터베이스로하나만존재한다. 개념스키마는개체간의관계와제약조건을나타내고데이터베이스의접근권한, 보안및무결성규칙에관한명세를정의한다. 단순히스키마 (Schema) 라고하면개념스키마를의미한다. 기관이나조직체의관점에서데이터베이스를정의한것이다. 데이터베이스관리자에의해서구성된다. 내부스키마 (Internal Schema) 데이터베이스의물리적구조를정의한다. 데이터의실제저장방법을기술한다. 물리적인저장장치와밀접한계층이다. 시스템프로그래머나시스템설계자가보는관점의스키마이다. 010 08.9, 07.3, 06.9, 06.5, 05.3, 03.8, 03.5, 02.9, 02.3, 01.9, 01.6, 01.3, 99.8 데이터베이스언어 (Database Language) 데이터정의언어 (DDL; Data Definition Language) DB 구조, 데이터형식, 접근방식등 DB 를구축하거나수정할목적으로사용하는언어이다. 번역한결과가데이터사전 (Data-dictionary) 이라는특별한파일에여러개의테이블로저장된다. 데이터정의언어의기능 - 외부스키마명세정의 - 데이터베이스정의및수정 - 논리적, 물리적데이터구조정의 - 논리적데이터구조와물리적데이터구조간의사상정의 - 스키마에사용되는제약조건에대한명세정의 - 데이터의물리적순서규정데이터조작언어 (DML; Data Manipulation Language) = 서브언어 사용자로하여금데이터를처리할수있게하는도구로서사용자 ( 응용프로그램 ) 와 DBMS 간의인터페이스를제공한다. 응용프로그램을통하여사용자가 DB의데이터를실질적으로조작할수있도록하기위해 C, COBOL 등의호스트언어에 DB 기능을추가시켜만든언어이다. 5

정보처리기사필기요약 대표적인데이터조작어 (DML) 로는질의어가있으며, 질의어는터미널에서주로이용하는비절차적 (Non procedural) 데이터언어이다. 데이터제어언어 (DCL; Data Control Language) 무결성, 보안및권한제어, 회복등을하기위한언어이다. 데이터를보호하고데이터를관리할목적으로사용된다. 데이터제어언어의기능 - 불법적인사용자로부터데이터를보호하기위한데이터보안 (Security) - 데이터의정확성을위한무결성 (Integrity) 유지 - 시스템장애에대비한데이터회복과병행수행제어 011 09.3, 06.5, 05.9, 05.5, 05.4, 05.3, 04.9, 03.8, 03.3, 01.9, 01.6, 01.3, 00.3, 99.10, 99.8, 99.4 DBA(DataBase Administrator) 데이터베이스시스템의모든관리와운영에대한책임을지고있는사람이나그룹을의미한다. DBA 의역할 데이터베이스구성요소결정 개념스키마및내부스키마정의 데이터베이스의저장구조및접근방법정의 보안및데이터베이스의접근권한부여정책수립 장애에대비한예비 (Back Up) 조치와회복 (Recovery) 에대한전략수립 무결성을위한제약조건의지정 데이터사전의구성과유지관리 사용자의요구와불평의청취및해결 변화요구에대한적응과성능향상에대한감시 시스템감시및성능분석 데이터사용추세, 이용형태및각종통계등을종합, 분석 013 03.3, 01.9, 99.10, 99.8 데이터모델의종류 개념적데이터모델 현실세계에대한인간의이해를돕기위하여현실세계에대한인식을추상적개념으로표현하는과정이다. 속성들로기술된개체타입과이개체타입들간의관계를이용하여현실세계를표현하는방법이다. 현실세계에존재하는개체를인간이이해할수있는정보구조로표현하기때문에정보모델이라고도한다. 대표적으로 E-R 모델이있다. 논리적데이터모델 개념적모델링과정에서얻은개념적구조를컴퓨터가이해하고처리할수있는컴퓨터세계의환경에맞도록변환하는과정이다. 필드로기술된데이터타입과이데이터타입들간의관계를이용하여현실세계를표현하는방법이다. 단순히데이터모델이라고하면논리적데이터모델을의미한다. 논리적데이터모델은데이터간의관계를어떻게표현하느냐에따라관계모델, 계층모델, 네트워크모델로구분한다. 014 09.3, 07.9, 05.5, 05.3, 04.9, 00.10, 00.3 데이터모델에표시할사항 구조 (Structure) : 논리적으로표현된개체들간의관계를표시함 연산 (Operation) : 데이터베이스에저장된실제데이터를처리하는방법을표시함 제약조건 (Constraint) : 데이터베이스에저장될수있는실제데이터의논리적인제약조건을표시함 012 05.3, 04.3, 02.3, 01.9, 00.7, 99.10 데이터모델의정의 현실세계의정보들을컴퓨터에표현하기위해서단순화, 추상화하여체계적으로표현한개념적모형이다. 현실세계를데이터베이스에표현하는중간과정, 즉데이터베이스설계과정에서데이터의구조를표현하기위해사용하는도구이다. 데이터의구조 (Schema) 를논리적으로묘사하기위해사용하는지능적도구이다. 015 07.3, 05.9, 04.9, 03.8, 02.3, 00.10, 00.3, 99.10 데이터모델의구성요소 개체 (Entity) 데이터베이스에표현하려는것으로, 사람이생각하는개념이나정보단위같은현실세계의대상체이다. 유형, 무형의정보로서서로연관된몇개의속성으로구성된다. 파일시스템의레코드에대응하는것으로, 어떤정보를제공하는역할을수행한다. 독립적으로존재하거나그자체로서도구별이가능하다. 속성 (Attribute) 데이터의가장작은논리적단위로서파일구조의데이터항목또는데이터필드에해당된다. 개체를구성하는항목이다. 6

정보처리기사필기요약 타원 속성 (Attribute) } 관계 (Relationship) 개체간의관계또는속성간의관계 n m 밑줄타원복수타원관계 기본키속성 복합속성 성명은성과이름으로구성 1`:`1, 1`:`n, n`:`m 등의개체관계에대해선위에대응수기술 선, 링크 개체타입과속성연결 위그림의관계는교수가학생을지도하는관계이다. 교수개체의구성요소 - 속성 : 개체가가지고있는특성, 교수번호, 성명, 전공, 소속 - 개체타입 : 속성으로만기술된개체의정의 - 개체인스턴스 : 개체를구성하고있는각속성들이값을가져하나의개체를나타내는것으로, 개체어커런스 (occurence) 라고도함 - 개체세트 : 개체인스턴스의집합 016 09.5, 08.9, 08.3, 05.3, 04.5, 03.5, 01.6, 00.3, 99.8 개체 -관계 (Entity-Relationship) 모델 개념적데이터모델의가장대표적인것으로, 1976년 Peter Chen에의해제안되었다. 개체타입 (entity type) 과이들간의관계타입 (relationship type) 을이용해현실세계를개념적으로표현한다. 데이터를개체 (Entity), 관계 (Relationship), 속성 (Attribute) 으로묘사한다. 특정 DBMS를고려한것은아니다. 017 09.3, 08.5, 07.9, 07.5 07.3, 06.9, 06.5, 04.9, 04.5, 04.3, 03.8, 03.5, 03.3, 02.9, 02.5, 02.3, 01.9, 01.6, 01.3, 00.10 E-R 다이어그램 기호기호이름의미 사각형 개체 (Entity) 타입 018 04.5, 00.10 관계형데이터모델 계층모델과망모델의복잡한구조를단순화시킨모델이다. 표 (Table) 를이용해서데이터상호관계를정의하는 DB 구조를말한다. 데이터간의관계를기본키 (Primary Key) 와이를참조하는외래키 (Foreign Key) 로표현한다. 대표적인언어 : Oracle, MS-SQL, Informix 등 1:1, 1:N, M:N 관계를자유롭게표현할수있다. 장점 : 간결하고, 보기편리하며, 다른데이터베이스로의변환이용이함 단점 : 성능이다소떨어짐 019 02.3, 01.6, 00.7, 99.10, 99.8 계층형데이터모델 데이터의논리적구조도는트리형태이며, 개체가트리를구성하는노드역할을한다. 개체집합에대한속성관계를표시하기위해개체를노드로표현하고개체집합들사이의관계를링크로연결한다. 개체간의관계를부모와자식간의관계로표현한다. 개체타입간에는상위와하위관계가존재하며, 일대다 (1:N) 대응관계만존재한다. 레코드삭제시연쇄삭제 (Triggered Delete) 가된다. 개체타입들간에는사이클 (cycle) 이허용되지않는다. 계층형모델에서는개체 (Entity) 를세그먼트 (Segment) 라부른다. 대표적인 DBMS는 IMS이다. 마름모 관계 (Relationship) 타입 7

020 05.5, 02.5 망 ( 그래프, 네트워크 ) 형데이터모델 CODASYL이제안한것으로, CODASYL DBTG 모델이라고도한다. 그래프를이용해서데이터논리구조를표현한데이터모델이다. 상위와하위레코드사이에서다대다 (N:M) 대응관계를만족하는구조이다. 상위의레코드를 Owner, 하위의레코드를 Member라하여 Owner-Member 관계라고도한다. 레코드타입간의관계는 1:1, 1:N, N:M이될수있다. 대표적 DBMS : DBTG, EDBS, TOTAL 021 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 05.9, 05.5, 05.4, 04.9, 01.9, 00.3, 99.4 데이터베이스설계 개념적설계 ( 정보모델링, 개념화 ) 정보의구조를얻기위하여현실세계의무한성과계속성을이해하고, 다른사람과통신하기위하여현실세계에대한인식을추상적개념으로표현하는과정이다. 스키마모델링과트랜잭션모델링을병행하여수행한다. 요구분석단계에서나온결과 ( 요구조건명세 ) 를 DBMS에독립적인 E-R 다이어그램 ( 개체관계도 ) 으로작성한다. DBMS에독립적인개념스키마를설계한다. 논리적설계 ( 데이터모델링 ) 현실세계에서발생하는자료를컴퓨터가처리할수있는물리적저장장치에저장할수있도록변환하기위해특정 DBMS가지원하는논리적자료구조로변환시키는과정이다. 개념세계의데이터를필드로기술된데이터타입과이데이터타입들간의관계로표현되는논리적구조의데이터로모델화한다. 개념적설계가개념스키마를설계하는단계라면논리적설계에서는개념스키마를평가및정제하고 DBMS에따라서로다른논리적스키마를설계하는단계이다. 트랜잭션의인터페이스를설계한다. 관계형데이터베이스라면테이블을설계하는단계이다. 물리적설계 ( 데이터구조화 ) 논리적설계단계에서논리적구조로표현된데이터를디스크등의물리적저장장치에저장할수있는물리적구조의데이터로변환하는과정이다. 데이터베이스파일의저장구조, 레코드의형식, 접근경로와같은정보를사용하여데이터가컴퓨터에저장되는방법을묘사한다. 물리적설계단계에서꼭포함되어야할것은저장레코드의양식설계, 레코드집중 (Record Clustering) 의분석및설계, 정보처리기사필기요약 접근경로설계등이다. 물리적설계옵션선택시고려사항 - 반응시간 (Response Time) : 트랜잭션수행을요구한시점부터처리결과를얻을때까지의경과시간 - 공간활용도 (Space Utilization) : 데이터베이스파일과액세스경로구조에의해사용되는저장공간의양 - 트랜잭션처리량 (Transaction Throughput) : 단위시간동안데이터베이스시스템에의해처리될수있는트랜잭션의평균개수 022 요구분석 개념적설계 논리적설계 물리적설계 구현 023 09.5, 08.9, 07.9, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.4, 04.9, 04.5, 04.3, 03.8, 03.5, 03.3, 02.9, 02.5, 01.9, 00.7, 99.8 데이터베이스설계순서 요구조건명세서작성 개념스키마, 트랜잭션모델링, E-R 모델 목표 DBMS 에맞는스키마설계, 트랜잭션인터페이스설계 목표 DBMS 에맞는물리적구조의데이터로변환 특정 DBMS 의 DDL 로데이터베이스생성 09.5, 08.5, 08.3, 07.3, 06.9, 06.5, 06.3, 05.4, 05.3, 04.5, 04.3, 03.5, 03.3, 02.9, 02.5, 02.3, 01.9, 01.6, 00.10, 00.3, 99.10 관계데이터베이스의 Relation 구조 개체 (Entity) 나관계 (Relationship) 를모두릴레이션 (Relation) 이라는표 (Table) 의형태로표현한것으로, 구조를나타내는릴레이션스키마와실제값들인릴레이션인스턴스로구성된다. < 학생 > 릴레이션 < 학생 > 릴레이션 튜플 속성 학번이름학년신장학과 89001 홍길동 2 170 CD 89002 이순신 1 169 CD 87012 임꺽정 2 180 ID 86032 장보고 4 174 ED 학년의도메인 릴레이션스키마 릴레이션인스턴스 튜플 (Tuple) 릴레이션을구성하는각각의행이다. 속성의모임으로구성된다. 파일구조에서레코드와같은의미이다. 튜플의수 = 카디널리티 (Cardinality) = 기수 = 대응수 } } 릴레이션 8

정보처리기사필기요약 속성 (Attribute, 애트리뷰트 ) 데이터베이스를구성하는가장작은논리적인단위이다. 파일구조상의데이터항목또는데이터필드에해당된다. 개체의특성을기술한다. 속성의수 = 디그리 (Degree) = 차수도메인 (Domain) 하나의애트리뷰트가취할수있는같은타입의원자 (Atomic) 값들의집합이다. 실제애트리뷰트값이나타날때그값의합법여부를시스템이검사하는데에도이용된다. 하는유일한값인키가될수있다. 속성은더이상쪼갤수없는원자값만을저장한다. 학년 에저장된 1, 2, 4 등은더이상세분화할수없다. 025 < 학생 > 릴레이션 09.5, 07.5, 06.9, 05.5, 02.5, 00.10, 99.4 키 (Key) 의개념및종류 키 (Key) 는데이터베이스에서조건에만족하는튜플을찾거나순서대로정렬할때다른튜플들과구별할수있는유일한기준이되는애트리뷰트 ( 속성 ) 이다. 024 < 학생 > 릴레이션 09.3, 08.9, 08.3, 07.9, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.3, 04.9, 04.5, 99.10 릴레이션의특징 학번이름학년신장학과 89001 홍길동 2 170 CD 89002 이순신 1 169 CD 87012 임꺽정 2 180 ID 86032 장보고 4 174 ED < 수강 > 릴레이션 성별남남여여 한릴레이션에포함된튜플들은모두상이하다. < 학생 > 릴레이션을구성하는홍길동레코드는홍길동에대한학적사항을나타내는것으로, < 학생`> 릴레이션내에서는유일하다. 한릴레이션에포함된튜플사이에는순서가없다. < 학생 > 릴레이션에서홍길동레코드와임꺽정레코드의위치가바뀌어도상관없다. 튜플들의삽입, 삭제등의작업으로인해릴레이션은시간에따라변한다. < 학생 > 릴레이션에새로운학생의레코드를삽입하거나, 기존학생에대한레코드를삭제함으로써테이블은내용면에서나크기면에서변하게된다. 릴레이션스키마를구성하는속성들간의순서는중요하지않다. 학번, 이름등의속성을나열하는순서는서로바뀌어도상관없다. 속성의유일한식별을위해속성의명칭은유일해야하지만속성을구성하는값은동일한값이있을수있다. 각학생의학년을기술하는속성인 학년 은다른속성명칭들과구분되어유일해야하지만 학년 속성에는 2, 1, 2, 4 등이입력된것처럼동일한값이있을수있다. 릴레이션을구성하는튜플을유일하게식별하기위해속성들의부분집합을키 (Key) 로설정한다. < 학생 > 릴레이션에서는 학번 이나 이름 이튜플들을구분 후보키 (Candidate Key) 기본키 (Primary Key) 릴레이션을구성하는속성들중에서튜플을유일하게식별하기위해사용하는속성들의부분집합, 즉기본키로사용할수있는속성들을말함 릴레이션에있는모든튜플에대해서유일성과최소성을만족시켜야함 ` < 학생 > 릴레이션에서 학번 이나 주민번호 는다른레코드를유일하게구별할수있는기본키로사용할수있으므로후보키이다. 후보키중에서선택한주키 (Main Key) 한릴레이션에서특정튜플을유일하게구별할수있는속성 Null 값을가질수없음 기본키로정의된속성에는동일한값이중복되어저장될수없음 ` < 학생 > 릴레이션에서는 학번 이나 주민번호 가기본키가될수있고, < 수강 > 릴레이션에서는 학번 + 과목명 으로조합해야기본키가될수있다. ` 학번 이 < 학생 > 릴레이션의기본키로정의되면이미입력된 1001 은다른튜플의 학번 속성의값으로입력할수없다. 9

정보처리기사필기요약 대체키 (Alternate Key) 슈퍼키 (Super Key) 외래키 (Foreign Key) 슈퍼키는한릴레이션내에있는속성들의집합으로구성된키로서릴레이션을구성하는모든튜플중슈퍼키로구성된속성의집합과동일한값은나타나지않는다. 릴레이션을구성하는모든튜플에대해유일성은만족시키지만, 최소성은만족시키지못함 `` < 학생 > 릴레이션에서는 `학번`, `주민번호`, 학번 + 주민번호, `주민번호 + 성명, 학번 + 주민번호 + 성명 등으로슈퍼키를구성할수있다. 관계 (Relationship) 를맺고있는릴레이션 R1, R2에서릴레이션 R1 이참조하고있는릴레이션 R2 의기본키와같은 R1 릴레이션의속성 외래키는참조되는릴레이션의기본키와대응되어릴레이션간에참조관계를표현하는데중요한도구임 외래키로지정되면참조테이블의기본키에없는값은입력할수없음 `` < 수강 > 릴레이션이 < 학생 > 릴레이션을참조하고있으므로 < 학생 > 릴레이션의 학번 은기본키이고, < 수강 > 릴레이션의 학번 은외래키이다. `` < 수강 > 릴레이션의 학번 에는 < 학생 > 릴레이션의 학번 에없는값은입력할수없다. 널값 (NULL Value) : 데이터베이스에서아직알려지지않았거나모르는값으로서 해당없음 등의이유로정보부재를나타내기위해사용하는, 이론적으로아무것도없는특수한데이터 최소성과유일성 : 학번 + 주민번호 를사용하여슈퍼키를만들면다른튜플들과구분할수있는유일성은만족하지만, 학번 이나 주민번호 하나만가지고도다른튜플들을구분할수있으므로최소성은만족시키지못함 026 후보키가둘이상일때기본키를제외한나머지후보키들을말함 보조키라고도함 `` < 학생 > 릴레이션에서 학번 을기본키로정의하면 주민번호 는대체키가된다. 08.5, 08.3, 07.9, 07.5, 06.3, 05.5, 04.9, 04.3, 03.8, 02.5, 02.3, 01.6, 00.10, 99.8, 99.4 무결성 (Integrity) 개체무결성 : 릴레이션에서기본키를구성하는속성은널 (NULL) 값이나중복값을가질수없음 < 학생 > 릴레이션에서 학번 이기본키로정의되면튜플을추가할때 주민번호 나 성명 필드에는값을입력하지않아도되지만 학번 속성에는반드시값이입력되어야한다. 또한 학번 속성에는이미한번입력한속성값을중복하여입력할수없다. 참조무결성 : 외래키값은 NULL이거나참조릴레이션의기본키값과동일해야함, 즉릴레이션은참조할수없는외래키값을가질수없음 < 수강 > 릴레이션의 학번 속성에는 < 학생 > 릴레이션의 학번 속성에없는값은입력할수없다. 도메인무결성 : 특정속성의값이, 그속성이정의된도메인에속한값이어야한다는규정 성별속성의도메인은 남 과 여 로, 그외의값은입력할수없다. 027 08.5, 07.5, 07.3, 05.3, 04.5, 03.8, 02.9, 02.5, 02.3, 00.3, 99.4 순수관계연산자 관계데이터베이스에적용할수있도록특별히개발한관계연산자이다. 연산자 Select Project Join Division 028 특징 릴레이션에존재하는튜플중에서선택조건을만족하는튜플의부분집합을구하여새로운릴레이션을만듦 릴레이션의행 ( 가로 ) 에해당하는튜플을구하는것이므로수평연산이라고도함 연산자의기호는그리스문자시그마 (σ) 를사용함 주어진릴레이션에서속성 List 에제시된 Attribute 를추출하는연산 릴레이션의열 ( 세로 ) 에해당하는 Attribute 를추출하는것이므로수직연산이라고도함 연산자의기호는그리스문자파이 (π) 를사용함 공통속성을중심으로 2 개의릴레이션을하나로합쳐서새로운릴레이션을만드는연산 연산자의기호는 를사용함 X Y 인 2 개의릴레이션에서 R(X) 과 S(Y) 가있을때, R 의속성이 S 의속성값을모두가진튜플에서 S 가가진속성을제외한속성만을구하는연산 연산자의기호는 를사용함 08.9, 06.5, 05.5, 04.9, 02.9, 00.3, 99.4 관계해석 코드 (E. F. Codd) 가수학의 Predicate Calculus( 술어해석 ) 에기반을두고관계데이터베이스를위해제안했다. 관계해석은원하는정보가무엇이라는것만정의하는비절차적특성을지닌다. 원하는정보를정의할때는계산수식을사용한다. 튜플관계해석과도메인관계해석이있다. 기본적으로관계해석과관계대수는관계데이터베이스를처리하는기능과능력면에서동등하다. 질의어로표현한다. 10

029 정규화의개요 09.3, 07.5, 06.5, 05.3, 03.3 정규화 (Normalization) 함수적종속성등의종속성이론을이용하여잘못설계된관계형스키마를더작은속성의세트로쪼개어바람직한스키마로만들어가는과정이다. 정규형에는제 1정규형, 제 2정규형, 제 3정규형, BCNF형, 제 4정규형, 제 5정규형이있으며, 차수가높아질수록만족시켜야할제약조건도늘어난다. 정규화는데이터베이스의개념적설계단계와논리적설계단계에서수행한다. 정규화는논리적처리및품질에큰영향을미친다. 정규화의목적 어떠한릴레이션이라도데이터베이스내에서표현할수있게만든다. 효과적인검색알고리즘을생성할수있다. 중복을배제하여삽입, 삭제, 갱신이상의발생을방지한다. 데이터삽입시릴레이션을재구성할필요성을줄인다. 030 09.5, 08.5, 07.5, 07.3, 06.3, 05.9, 05.4 Anomaly( 이상 ) 의개념및종류 이상 (Anomaly) 의개념 : 정규화 (Normalization) 를거치지않은데이터베이스내에데이터들이불필요하게중복되어릴레이션조작시발생하는예상하지못한곤란한현상 이상의종류 삽입이상 (Insertion Anomaly) 삭제이상 (Deletion Anomaly) 갱신이상 (Update Anomaly) 릴레이션에데이터를삽입할때의도와는상관없이원하지않은값들도함께삽입되는현상 릴레이션에서한튜플을삭제할때의도와는상관없는값들도함께삭제되는연쇄삭제현상 릴레이션에서튜플에있는속성값을갱신할때일부튜플의정보만갱신되어정보에모순이생기는현상 031 정규화과정 정보처리기사필기요약 09.5, 08.9, 08.3, 07.5, 07.3, 06.5, 06.3, 05.4, 05.3, 04.3, 03.5, 01.6, 01.3, 00.10, 00.3, 99.10, 99.4 비정규릴레이션 도메인이원자값 1NF 부분적함수종속제거 2NF 이행적함수종속제거 3NF 결정자이면서후보키가아닌것제거 BCNF 다치종속제거 4NF 조인종속성이용 5NF 정규화단계암기요령 정규화라는출소자가말했다. 두부이겨다줘 도부이결다조 도메인이원자값 부분적함수종속제거 이행적함수종속제거 결정자이면서후보키가아닌것제거 다치종속제거 조인종속성이용 032 DDL( 데이터정의어 ) 09.3, 08.9, 08.5, 08.3, 07.9, 07.3, 06.9, 06.3, 05.9, 05.5, 00.10 SQL의분류 SCHEMA, DOMAIN, TABLE, VIEW, INDEX를정의하거나변경또는삭제할때사용하는언어이다. 데이터베이스관리자나데이터베이스설계자가사용한다. 데이터정의어 (DDL) 의 3가지유형 CREATE ALTER DROP Schema, Domain, Table, View, Index 를정의함 Table 에대한정의를변경하는데사용함 Schema, Domain, Table, View, Index 를삭제함 11

정보처리기사필기요약 DML( 데이터조작어 ) 데이터베이스사용자가응용프로그램이나질의어를통하여저장된데이터를실질적으로처리하는데사용하는언어이다. 데이터베이스사용자와데이터베이스관리시스템간의인터페이스를제공한다. 데이터조작어 (DML) 의 4가지유형 SELECT INSERT DELETE UPDATE DCL( 데이터제어어 ) 테이블에서조건에맞는튜플을검색함 테이블에새로운튜플을삽입함 테이블에서조건에맞는튜플을삭제함 테이블에서조건에맞는튜플의내용을변경함 데이터의보안, 무결성, 데이터회복, 병행제어등을정의하는데사용하는언어이다. 데이터베이스관리자가데이터관리를목적으로사용한다. 데이터제어어 (DCL) 의 4가지유형 COMMIT ROLLBACK GRANT REVOKE 033 명령에의해수행된결과를실제물리적디스크로저장하고, 데이터베이스조작작업이정상적으로완료되었음을관리자에게알려줌 데이터베이스조작작업이비정상적으로종료되었을때원래의상태로복구함 데이터베이스사용자에게사용권한을부여함 데이터베이스사용자의사용권한을취소함 09.5, 08.5, 08.3, 05.9, 05.3, 04.9, 03.8, 03.5, 03.3, 02.9, 02.5, 01.6, 01.3, 00.7, 99.10, 99.8 Select문 테이블을구성하는튜플 ( 행 ) 들중에서전체또는조건을만족하는튜플 ( 행 ) 을검색하여주기억장치상에임시테이블로구성시키는명령문이다. SELECT Predicate [ 테이블명.] 속성명 1, [ 테이블명.] 속성명 2, FROM 테이블명 1, 테이블명 2, [WHERE 조건 ] [GROUP BY 속성명 1, 속성명 2, ] [HAVING 조건 ] [ORDER BY 속성명 [ASC DESC]]; 1. SELECT절 Predicate : 불러올튜플수를제한할명령어를기술함 - ALL : 모든튜플을검색할때지정하는것으로, 주로생략함 - DISTINCT : 중복된튜플이있으면그중첫번째한개만검색함 - DISTINCTROW : 중복된튜플을검색하지만선택된속성의값이아닌, 튜플전체를대상으로함 속성명 : 검색하여불러올속성 ( 열 ) 및수식들을지정함 - 기본테이블을구성하는모든속성을지정할때는 * 를기술한다. - 2개이상의테이블을대상으로검색할때는반드시테이블명. 속성명으로표현해야한다. 2`. FROM절 : 질의에의해검색될데이터들을포함하는테이블명을기술함 3`. WHERE절 : 검색할조건기술 4`. GROUP BY절 : 특정속성을기준으로그룹화하여검색할때그룹화할속성을지정함 5`. HAVING절 : GROUP BY와함께사용되며, 그룹에대한조건을지정함 6`. ORDER BY절 : 특정속성을기준으로정렬하여검색할때사용함 속성명 : 정렬의기준이되는속성명을기술함 [ASC DESC] : 정렬방식으로서 ASC 는오름차순, `DESC` 는내림차순임, 생략하면오름차순으로지정됨 034 07.9, 07.3, 05.5, 04.9, 03.3, 00.7, 99.8 삽입, 삭제, 갱신문 삽입문 (INSERT INTO ~ ) 기본테이블에새로운튜플을삽입할때사용한다. INSERT INTO 테이블명 ( 속성명 1, 속성명 2, ) VALUES ( 데이터 1, 데이터 2, ); 대응하는속성과데이터는개수와데이터형식이일치해야한다. 기본테이블의모든속성을사용할때는속성명을생략할수있다. SELECT문을사용하여다른테이블의검색결과를삽입할수있다. 삭제문 (DELETE FROM ~ ) 기본테이블에있는튜플들중에서특정튜플을삭제할때사용한다. DELETE FROM 테이블명 WHERE 조건 ; 모든레코드를삭제할때는 WHERE절을생략한다. 모든레코드를삭제하더라도테이블구조는남아있기때문에디스크에서테이블을완전히제거하는 DROP과는다르다. 갱신문 (UPDATE ~ SET ~ ) 기본테이블에있는튜플들중에서특정튜플의내용을변경할때사용한다. 12

정보처리기사필기요약 UPDATE 테이블명 SET 속성명 = 데이터 [, 속성명 = 데이터 ] WHERE 조건 ; 035 08.3, 03.8, 02.3, 00.10 내장 SQL(Embedded SQL) 응용프로그램이실행될때함께실행되도록호스트프로그램언어로만든프로그램에삽입된 SQL이다. 내장 SQL 실행문은호스트언어에서실행문이나타날수있는곳이면프로그램의어느곳에서나사용할수있다. 일반 SQL문은수행결과로여러개의튜플을반환하는반면, 내장 SQL은단하나의튜플만을반환한다. 내장 SQL문에의해반환되는튜플은일반변수를사용하여저장할수있다. Host Program의컴파일시내장 SQL문은선행처리기에의해분리되어컴파일된다. 호스트변수와데이터베이스필드의이름은같아도된다. 내장 SQL문에사용된호스트변수의데이터타입은이에대응하는데이터베이스필드의 SQL 데이터타입과일치하여야한다. 내장 SQL문이실행되면 SQL의실행상태가 SQL 상태변수에전달된다. 호스트언어의실행문과 SQL문구분하는방법 - 명령문의구분 : C/C++ 에서내장 SQL문은 $ 와세미콜론 (;) 문자사이에기술하고, Visual BASIC에서는내장 SQL문앞에 EXEC SQL 을기술함 - 변수의구분 : 내장 SQL에서사용하는호스트변수는변수앞에콜론 (:) 문자를붙임 036 09.5, 09.3, 08.9, 08.5, 08.3, 07.3, 06.9, 06.5, 06.3, 05.4, 04.9, 04.3, 03.8, 03.5, 02.9, 02.5, 01.9, 01.6, 00.10, 00.7, 00.3 뷰 (View) 사용자에게접근이허용된자료만을제한적으로보여주기위해하나이상의기본테이블로부터유도된가상테이블이다. 저장장치내에물리적으로존재하지않지만사용자에게는있는것처럼간주된다. 뷰 (View) 의특징 기본테이블로부터유도된테이블이기때문에기본테이블과같은형태의구조를가지며, 조작도기본테이블과거의같다. 가상테이블이기때문에물리적으로구현되어있지않다. 필요한데이터만뷰로정의해서처리할수있기때문에관리가용이하고명령문이간단해진다. 뷰를통해서만데이터에접근하게하면뷰에나타나지않는데이터를안전하게보호할수있다. 13 기본테이블의기본키를포함한속성 ( 열 ) 집합으로뷰를구성해야만삽입, 삭제, 갱신연산이가능하다. 정의된뷰는다른뷰의정의에기초가될수있다. 테이블이나뷰를삭제하면그테이블이나뷰를기초로정의된다른뷰도자동으로삭제된다. 뷰의장점 논리적데이터독립성을제공한다. 동일데이터에대해동시에여러사용자의상이한응용이나요구를지원해준다. 사용자의데이터관리를간단하게해준다. 접근제어를통한자동보안이제공된다. 뷰의단점 독립적인인덱스를가질수없다. 뷰의정의를변경할수없다. 뷰로구성된내용에대한삽입, 삭제, 갱신연산에제약이따른다. 037 09.3, 08.9, 08.5, 08.3, 07.9, 06.3, 05.9, 05.5, 05.4, 04.9, 04.3, 03.8, 03.5, 03.3, 02.9, 02.3, 01.9, 01.6, 01.3, 00.7, 99.4 시스템카탈로그 시스템그자체에관련이있는다양한객체에관한정보를포함하는시스템데이터베이스이다. 데이터베이스에포함되는모든데이터객체에대한정의나명세에관한정보를유지관리하는시스템테이블이다. 데이터정의어의결과로구성되는기본테이블, 뷰, 인덱스, 패키지, 접근권한등의데이터베이스구조및통계정보를저장한다. 카탈로그들이생성되면자료사전 (Data Dictionary) 에저장되기때문에좁은의미로는카탈로그를자료사전이라고도한다. 카탈로그에저장된정보를메타데이터 (Meta-Data) 라고한다. 카탈로그의특징 카탈로그자체도시스템테이블로구성되어있어일반이용자도 SQL을이용하여내용을검색해볼수있다. INSERT, DELETE, UPDATE문으로갱신하는것은허용하지않는다. DBMS가스스로생성하고유지한다. 카탈로그는사용자가 SQL문을실행시켜기본테이블, 뷰, 인덱스등에변화를주면시스템에의해자동으로갱신된다.

038 09.3, 08.9, 07.5, 02.9, 00.7 트랜잭션의정의 데이터베이스의상태를변화시키기위하여논리적인기능을수행하는하나의작업단위또는한꺼번에모두수행되어야할일련의연산들이다. 데이터베이스시스템에서복구및병행수행시처리되는작업의논리적단위이다. 하나의트랜잭션은 Commit되거나 Rollback된다. 트랜잭션은일반적으로회복의단위가된다. 041 05.9, 05.3, 01.3 트랜잭션의상태 정보처리기사필기요약 Active( 활동 ) : 트랜잭션이실행중에있는상태 Failed( 장애 ) : 트랜잭션실행에오류가발생하여중단된상태 Aborted( 철회 ) : 트랜잭션이비정상적으로종료되어 ROLLBACK 연산을수행한상태 Partially Committed( 부분완료 ) : 트랜잭션의마지막연산까지실행했지만, COMMIT 연산이실행되기직전의상태 Committed( 완료 ) : 트랜잭션이성공적으로종료되어 COMMIT 연산을실행한후의상태 039 Atomicity ( 원자성 ) Consistency ( 일관성 ) Isolation ( 독립성, 격리성 ) 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 05.5, 05.4, 05.3, 04.5, 04.3, 03.8, 03.5, 03.3, 02.9, 02.5, 02.3, 01.9, 01.6, 01.3, 00.10, 00.7, 트랜잭션의특성 트랜잭션의연산은데이터베이스에모두반영되든지아니면전혀반영되지않아야함 트랜잭션내의모든명령은반드시완벽히수행되어야하며, 모두가완벽히수행되지않고어느하나라도에러가발생하면트랜잭션전부가취소되어야함 트랜잭션이그실행을성공적으로완료하면언제나일관성있는데이터베이스상태로변환함 시스템이가지고있는고정요소는트랜잭션수행전과트랜잭션수행완료후의상태가같아야함 둘이상의트랜잭션이동시에병행실행되는경우어느하나의트랜잭션실행중에다른트랜잭션의연산이끼어들수없음 수행중인트랜잭션은완전히완료될때까지다른트랜잭션에서수행결과를참조할수없음 Durability 성공적으로완료된트랜잭션의결과는영구적으로반 ( 영속성, 지속성 ) 영되어야함 040 05.9, 03.3, 99.4 Commit, Rollback 연산 COMMIT 연산 : 하나의논리적단위 ( 트랜잭션 ) 에대한작업이성공적으로끝났고, 데이터베이스가다시일관된상태에있을때이트랜잭션이행한갱신연산이완료된것을트랜잭션관리자에게알려주는연산 ROLLBACK 연산 : 하나의트랜잭션처리가비정상적으로종료되어데이터베이스의일관성을깨뜨렸을때, 이트랜잭션의일부가정상적으로처리되었더라도트랜잭션의원자성을구현하기위해이트랜잭션이행한모든연산을취소 (Undo) 시키는연산으로, 해당트랜잭션을재시작하거나폐기함 14 042 01.6, 01.3, 99.10 회복 (Recovery) 회복은트랜잭션들의처리를수행하는도중장애가발생하여데이터베이스가손상되었을때손상되기이전의정상상태로복구시키는작업이다. 장애의유형 - 트랜잭션장애 : 입력데이터오류, 불명확한데이터, 시스템자원요구의과다등트랜잭션내부의비정상적인상황으로인하여프로그램실행이중지되는현상 - 시스템장애 : 데이터베이스에손상을입히지는않으나하드웨어오동작, 소프트웨어의손상, 교착상태등에의해모든트랜잭션의연속적인수행에장애를주는현상 - 미디어장애 : 저장장치인디스크블록의손상이나디스크헤드의충돌등에의해데이터베이스의일부또는전부가물리적으로손상된상태 회복관리기 (Recovery Management) - DBMS의구성요소이다. - 트랜잭션실행이성공적으로완료되지못하면트랜잭션이데이터베이스에만들었던모든변화를취소 (Undo) 시키고트랜잭션수행이전의원래상태로복구하는역할을담당한다. - 메모리덤프, 로그 (Log) 를이용하여수행한다. 043 09.5, 09.3, 08.9, 08.3, 07.9, 07.5, 07.3, 05.5, 03.5 병행제어 (Concurrency Control) 다중프로그램의이점을활용하여동시에여러개의트랜잭션을병행수행시킬때, 동시에실행되는트랜잭션들이데이터베이스의일관성을파괴하지않도록트랜잭션간의상호작용을제어하는것이다. 병행제어의목적 - 데이터베이스의공유를최대화한다. - 시스템의활용도를최대화한다. - 데이터베이스의일관성을유지한다.

정보처리기사필기요약 - 사용자에대한응답시간을최소화한다. 로킹 (Locking) - 로킹은주요데이터의액세스를상호배타적으로하는것이다. - 트랜잭션들이어떤로킹단위를액세스하기전에 Lock( 잠금 ) 을요청해서 Lock이허락되어야만그로킹단위를액세스할수있도록하는기법이다. 로킹단위 (Locking Granularity) - 병행제어에서한꺼번에로킹할수있는단위이다. - 데이터베이스, 파일, 레코드, 필드등은로킹단위가될수있다. - 로킹단위가크면로크수가작아관리하기쉽지만병행성수준이낮아지고, 로킹단위가작으면로크수가많아관리하기복잡하지만병행성수준이높아진다. 044 03.5, 02.5, 02.3, 00.10 암호화기법 개인키암호방식 (Private Key Encryption) = 비밀키암호방식 동일한키로데이터를암호화하고복호화한다. 비밀키는제3자에게는노출시키지않고, 데이터베이스사용권한이있는사용자만나누어가진다. 대칭암호방식또는단일키암호화기법이라고도한다. 대표적으로 DES(Data Encryption Standard) 가있다. 장점 : 암호화 / 복호화속도가빠르며, 알고리즘이단순하고파일크기가작음 단점 : 사용자의증가에따라관리해야할키의수가상대적으로많아짐공개키암호방식 (Public Key Encryption) 서로다른키로데이터를암호화하고복호화한다. 데이터를암호화할때사용하는키 ( 공개키, Public Key) 는데이터베이스사용자에게공개하고, 복호화할때의키 ( 비밀키, Secret Key) 는관리자가비밀리에관리하는방법이다. 비대칭암호방식이라고도하며, 대표적으로 RSA(Rivest Shamir Adleman) 가있다. 장점 : 키의분배가용이하고, 관리해야할키의개수가적음 단점 : 암호화 / 복호화속도가느리며, 알고리즘이복잡하고파일크기가큼 045 06.9, 05.9, 05.3, 04.9, 04.3, 03.8, 03.3, 01.9 분산데이터베이스 분산데이터베이스는논리적으로는하나의시스템에속하지만물리적으로는네트워크를통해연결된여러개의컴퓨터사이트 (Site) 에분산되어있는데이터베이스를의미한다. 분산데이터베이스의 4대목표 위치투명성 (Location Transparency) 중복 ( 복제 ) 투명성 (Replication Transparency) 병행투명성 (Concurrency Transparency) 장애투명성 (Failure Transparency) 046 액세스하려는데이터베이스의실제위치를알필요없이단지데이터베이스의논리적인명칭만으로액세스할수있음 동일데이터가여러곳에중복되어있더라도사용자는마치하나의데이터만존재하는것처럼사용하고, 시스템은자동으로여러자료에대한작업을수행함 분산데이터베이스와관련된다수의트랜잭션들이동시에실현되더라도그트랜잭션의결과는영향을받지않음 트랜잭션, DBMS, 네트워크, 컴퓨터장애에도불구하고트랜잭션을정확하게처리함 08.9, 08.5, 07.5, 06.9, 06.3, 05.4, 04.5, 03.8, 02.5, 02.3, 01.9, 00.10, 00.3, 99.8 분산데이터베이스의장 단점 장점 지역자치성이높음 자료의공유성이향상됨 분산제어가가능함 시스템성능이향상됨 효용성과융통성이높음 신뢰성및가용성이높음 점증적시스템용량확장이용이함 047 07.5, 07.3, 06.9, 06.5, 05.5, 04.5, 03.8, 03.3, 01.6, 01.3 자료구조의분류 단점 DBMS가수행할기능이복잡함 데이터베이스설계가어려움 소프트웨어개발비용이증가함 처리비용이증가함 잠재적오류가증가함 선형구조 : 선형리스트 ( 배열 ), 연결리스트, 스택, 큐, 데크 비선형구조 : 트리, 그래프 048 07.9, 02.9, 01.9, 00.10, 00.3 연결리스트 (Linked List) 연결리스트는자료들을임의의기억공간에기억시키되, 자료항목의순서에따라노드의포인터부분을이용하여서로연결시킨자료구조이다. 15

노드의삽입, 삭제작업이용이하다. 기억공간이연속적으로놓여있지않아도저장이가능하다. 연결을위한링크 ( 포인터 ) 부분이필요하기때문에순차리스트에비해기억공간이용효율이좋지않다. 선형리스트에비해접근속도가느리다. 희소행렬을링크드리스트로표현하면기억장소가절약된다. 희소행렬 (Sparse Matrix) : 행렬의요소중많은항들이 0으로되어있는형태로, 기억장소를절약하기위해링크드리스트를이용하여저장함 049 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.3, 06.9, 06.5, 05.4, 05.3, 04.5, 03.8, 03.3, 01.9, 00.3, 99.10 스택 (Stack) 리스트의한쪽끝으로만자료의삽입, 삭제작업이이루어지는자료구조이다. 가장나중에삽입된자료가가장먼저삭제되는후입선출 (LIFO; Last-In, First-Out) 방식으로자료를처리한다. TOP : Stack으로할당된기억공간에가장마지막으로삽입된자료가기억된위치를가리키는요소, 스택포인터라고도함 Bottom : 스택의가장밑바닥 PUSH : 스택에자료를입력하는명령 POP : 스택에서자료를출력하는명령 Stack의용도 부프로그램호출시복귀주소를저장할때 함수호출의순서제어 인터럽트가발생하여복귀주소를저장할때 후위표기법 (Postfix Notation) 으로표현된산술식을연산할때 0 주소지정방식명령어의자료저장소 재귀 (Recursive) 프로그램의순서제어 컴파일러를이용한언어번역시 050 08.5, 07.9, 06.9, 06.5, 05.9, 03.5, 03.3, 02.5, 02.3, 00.10 큐 (Queue) 선형리스트의한쪽에서는삽입작업이이루어지고다른한쪽에서는삭제작업이이루어지도록구성한자료구조이다. 가장먼저삽입된자료가가장먼저삭제되는선입선출 (FIFO; First-In, First-Out) 방식으로처리한다. Queue를이용하는예 창구업무처럼서비스순서를기다리는등의대기행렬의처리에사용한다. 운영체제의작업스케줄링에사용한다. 051 07.9, 06.9, 06.3, 05.4 데크 (Deque) 정보처리기사필기요약 Double Ended Queue의약자로, 삽입과삭제가리스트의양쪽끝에서모두발생할수있는선형자료구조이다. Stack과 Queue의장점만따서구성한것이다. 입력이한쪽에서만발생하고출력은양쪽에서일어날수있는입력제한과, 입력은양쪽에서일어나고출력은한쪽에서만이루어지는출력제한이있다. 입력제한데크 : Scroll 출력제한데크 : Shelf 052 08.9, 06.9, 06.5, 05.4, 03.5, 03.3, 01.9 트리 (Tree) 정점 (Node, 노드 ) 과선분 (Branch, 가지 ) 을이용하여사이클을이루지못하도록구성한 Graph의특수한형태로가족의계보 ( 족보 ), 연산수식, 회사조직구조도, 히프 (Heap) 등을표현하기에적합하다. K E B L F A C G 근노드 (Root Node) H M 노드 (Node) : 트리의기본요소로서자료항목과다른항목에대한가지 (Branch) 를합친것 A, B, C, D, E, F, G, H, I, J, K, L, M 근노드 (Root Node) : 트리의맨위에있는노드 A 디그리 (Degree, 차수 ) : 각노드에서뻗어나온가지의수 A = 3, B = 2, C = 1, D = 3 트리의디그리 : 노드들의디그리중에서가장많은수 노드 A나 D가 3개의디그리를가지므로위트리의디그리는3이다. 단말노드 (Terminal Node) = 잎노드 (Leaf Node) : 자식이하나도없는노드, 즉 Degree가 0인노드 K, L, F, G, M, I, J 비단말노드 (Non-Terminal Node) : 자식이하나라도있는노드, 즉 Degree가 0이아닌노드 A, B, C, D, E, H 자식노드 (Son Node) : 어떤노드에연결된다음레벨의노드들 D의자식노드 : H, I, J 부모노드 (Parent Node) : 어떤노드에연결된이전레벨의노드 D I J Level 1 Level 2 Level 3 Level 4 Depth 16

정보처리기사필기요약 E, F의부모노드는 B 형제노드 (Brother Node, Sibling) : 동일한부모를갖는노드들 H의형제노드는 I, J Level : 근노드의 Level을 1로가정한후어떤 Level이 L이면자식노드는 L+1이다. H의레벨은 3 깊이 (Depth, Height) : 어떤 Tree에서노드가가질수있는최대의레벨 위트리의깊이는 4 053 08.9, 08.5, 08.3, 07.5, 06.9, 04.3, 02.3 이진트리의운행법 (Traversal) Preorder 운행 : Root Left Right 순으로운행함 A, B, C Inorder 운행 : Left Root Right 순으로운행함 B, A, C Postorder 운행 : Left Right Root 순으로운행함 B, C, A 다음트리를 Inorder, Preorder, Postorder 방법으로운행했을때각노드를방문한순서는? <Preorder 운행법의방문순서 > H H 2 A 1 3 B C D D I B B I E E A A 서브트리를하나의노드로생각할수있도록위그림과같이서브트리단위로묶는다. Preorder, Inorder, Postorder 모두공통으로사용한다. Preorder는 Root Left Right이므로 A13이된다. 1은 B2E이므로 AB2E3이된다. 2는 DHI이므로 ABDHIE3이된다. 3은 CFG이므로 ABDHIECFG가된다. 방문순서 : ABDHIECFG <Inorder 운행법의방문순서 > Inorder 는 Left Root Right 이므로 1A3 이된다. F C F C G G 1은 2BE이므로 2BEA3이된다. 2는 HDI이므로 HDIBEA3이된다. 3은 FCG이므로 HDIBEAFCG가된다. 방문순서 : HDIBEAFCG <Postorder의방문순서 > Postorder는 Left Right Root이므로 13A가된다. 1은 2EB이므로 2EB3A가된다. 2는 HID이므로 HIDEB3A가된다. 3은 FGC이므로 HIDEBFGCA가된다. 방문순서 : HIDEBFGCA 054 09.5, 09.3, 07.9, 07.3, 06.5, 06.3, 05.5, 05.4, 05.3, 04.9, 04.3, 03.5 수식의표기법 전위표기법 (Prefix) : 연산자 Left Right, +AB 중위표기법 (Infix) : Left 연산자 Right, A+B 후위표기법 (Postfix) : Left Right 연산자, AB+ Infix 표기를 Postfix 로바꾸기 Infix로표기된수식은연산자를해당피연산자 2개의뒤 ( 오른쪽 ) 에오도록이동하면 Postfix가된다. 연산우선순위에따라괄호로묶는다. ( X = ( ( (A / B) * (C + D) ) + E ) ) 연산자를해당괄호의뒤 ( 오른쪽 ) 로옮긴다. ( X ( ( (A B) / ( C D ) + ) * E ) + ) = 괄호를제거한다. X A B / C D + * E + = A X = A / B * (C + D) + E X A B / C D + * E + = Postfix 를 Infix 로바꾸기 Postfix는 Infix 표기법에서연산자를해당피연산자 2개의뒤 ( 오른쪽 ) 로이동한것이므로연산자를다시해당피연산자 2개의가운데로옮기면된다. A B C - / D E F + * + A / (B - C) +D * (E + F) + 먼저인접한피연산자 2개와오른쪽연산자를괄호로묶는다. ( (A (B C -) / ) (D (E F +) *) + ) B 17

정보처리기사필기요약 연산자를해당피연산자의가운데로이동시킨다. 4 회전 : 2 5 6 8 4 2 4 5 6 8 ( ( A / ( B - C ) ) + ( D * ( E + F ) ) ) 필요없는괄호를제거한다. A / (B - C) +D * (E + F) 055 02.9, 01.9 정렬 (Sort) 파일을구성하는각레코드들을특정키항목을기준으로오름차순 (Ascending) 또는내림차순 (Descending) 으로재배열하는작업이다. 내부정렬 소량의데이터에대하여주기억장치내에만기억시켜서정렬하는방식이다. 종류 : 히프정렬, 삽입정렬, 버블정렬, 선택정렬, 퀵정렬, 2-Way Merge 정렬, 기수정렬 (=Radix Sort) 외부정렬 대량의데이터에대하여보조기억장치에기억시켜서정렬하는방식으로, 대부분병합정렬 (Merge Sort) 기법으로처리한다. 종류 : 밸런스병합정렬, 캐스캐이드병합정렬, 폴리파즈병합정렬, 오실레이팅병합정렬 다섯번째값 4를처음부터비교하여 5자리에삽입하고나머지 를한칸씩뒤로이동시킨다. 버블정렬 8, 5, 6, 2, 4를버블정렬로정렬하시오. 초기상태 : 8 5 6 2 4 1 회전 : 5 8 6 2 4 5 6 8 2 4 5 6 2 8 4 5 6 2 4 8 2 회전 : 5 6 2 4 8 5 2 6 4 8 5 2 4 6 8 3 회전 : 4 회전 : 선택정렬 2 2 5 4 4 5 6 6 8 8 2 4 5 6 8 8, 5, 6, 2, 4를선택정렬로정렬하시오. 056 09.5, 09.3, 08.9, 07.5, 05.3, 01.6 주요정렬알고리즘의이해 초기상태 : 8 5 6 2 4 삽입정렬 8, 5, 6, 2, 4를삽입정렬로정렬하시오. 1 회전 : 5 8 6 2 4 5 8 6 2 4 초기상태 : 8 5 6 2 4 2 8 6 5 4 2 8 6 5 4 1 회전 : 8 5 6 2 4 5 8 6 2 4 두번째값 5를첫번째값과비교하여첫번째자리에삽입하고 8을한칸뒤로이동시킨다. 2 회전 : 5 8 6 2 4 5 6 8 2 4 세번째값 6을첫번째, 두번째값과비교하여 8자리에삽입하고 8은한칸뒤로이동시킨다. 2 회전 : 3 회전 : 4 회전 : 2 6 8 5 4 2 5 8 6 4 2 4 8 6 5 2 4 6 8 5 2 4 5 8 6 2 4 5 6 8 3 회전 : 5 6 8 2 4 2 5 6 8 4 네번째값 2를처음부터비교하여맨처음에삽입하고나머지를한칸씩뒤로이동시킨다. 2-Way 합병정렬 (Merge Sort) 71, 2, 38, 5, 7, 61, 11, 26, 53, 42를 2-Way 합병정렬로정렬하시오. 18

1 회전 : 2개씩묶은후각각의묶음안에서정렬합니다. (71, 2) (38, 5) (7, 61) (11, 26) (53, 42) (2, 71) (5, 38) (7, 61) (11, 26) (42, 53) 2 회전 : 묶여진묶음을 2개씩묶은후각각의묶음안에서정렬합니다. ((2, 71) (5, 38)) ((7, 61) (11, 26)) (42, 53) (2, 5, 38, 71) (7, 11, 26, 61) (42, 53) 3 회전 : 묶여진묶음을 2개씩묶은후각각의묶음안에서정렬합니다. ((2, 5, 38, 71) (7, 11, 26, 61)) (42, 53) (2, 5, 7, 11, 26, 38, 61, 71) (42, 53) 4 회전 : 묶여진묶음 2개를하나로묶은후정렬합니다. ((2, 5, 7, 11, 26, 38, 61, 71) (42, 53)) 2, 5, 7, 11, 26, 38, 42, 53, 61, 71 057 06.3, 05.5, 04.9, 03.3, 02.5, 00.7 이분검색 ( 이진검색, Binary Search) 제어검색의일종인이분검색은반드시순서화된파일이어야검색할수있다. 전체파일을두개의서브파일로분리해가면서 Key 레코드를검색한다. 찾고자하는 Key값을파일의중간레코드 Key값과비교하면서검색한다. F+L 중간레코드번호 (M) : ( 단, F : 첫번째레코드번호, 2 L : 마지막레코드번호 ) 058 08.5, 07.5, 06.3, 04.5, 04.3, 01.3, 99.4 해싱 (Hashing) Hash Table이라는기억공간을할당하고, 해시함수 (Hash Function) 를이용하여레코드키에대한 Hash Table 내의 Home Address를계산한후주어진레코드를해당기억장소에저장하거나검색작업을수행하는방식이다. DAM( 직접접근 ) 파일을구성할때해싱이사용되며, 접근속도는빠르지만기억공간이많이요구된다. 여러가지검색방식중검색속도가가장빠르다. 삽입, 삭제작업의빈도가많을때유리한방식이다. 키 -주소변환방법이라고도한다. 해시테이블 (Hash Table) 정보처리기사필기요약 레코드를 1개이상보관할수있는 Home Bucket들로구성한기억공간으로, 보조기억장치에구성할수도있고주기억장치에구성할수도있다. 버킷 (Bucket) : 하나의주소를갖는파일의한구역을의미하며, 버킷의크기는같은주소에포함될수있는레코드수를의미함 슬롯 (Slot) : 1개의레코드를저장할수있는공간으로 n개의슬롯이모여하나의버킷을형성함 Collision( 충돌현상 ) : 서로다른 2개이상의레코드가같은주소를갖는현상 Synonym : 같은 Home Address를갖는레코드들의집합 Overflow : 계산된 Home Address의 Bucket 내에저장할기억공간이없는상태 (Bucket을구성하는 Slot이여러개일때는 Collision은발생해도 Overflow는발생하지않을수있음 ) 059 08.9, 05.3, 03.3, 02.9, 02.3, 00.5, 00.3, 99.6 색인순차파일 (Indexed Sequential File) 순차처리와랜덤처리가모두가능하도록레코드들을키값순으로정렬 (Sort) 시켜기록하고, 레코드의키항목만을모은색인을구성하여편성하는방식이다. 색인을이용한순차적인접근방법을제공하여 ISAM(Index Sequential Access Method) 이라고도한다. 레코드를참조하는경우색인을탐색한후색인이가리키는포인터 ( 주소 ) 를사용하여직접참조할수있다. 일반적으로자기디스크에많이사용되며, 자기테이프에서는사용할수없다. 색인순차파일의구성 기본구역 (Prime Area) : 실제레코드들을기록하는부분으로, 각레코드는키값순으로저장됨 색인구역 (Index Area) : 기본구역에있는레코드들의위치를찾아가는색인이기록되는부분으로, 트랙색인구역, 실린더색인구역, 마스터색인구역으로구분할수있음 오버플로구역 (Overflow Area) : 기본구역에빈공간이없어서새로운레코드의삽입이불가능할때를대비하여예비적으로확보해둔부분 19

정보처리기사필기요약 실린더오버플로구역 (Cylinder Overflow Area) 독립오버플로구역 (Independent Overflow Area) 각실린더마다만들어지는오버플로구역으로, 해당실린더의기본구역에서오버플로된데이터를기록함 실린더오버플로구역에더이상오버플로된데이터를기록할수없을때사용할수있는예비공간으로, 실린더오버플로구역과는별도로만들어짐 062 08.3, 07.5, 06.9, 06.5, 06.3, 05.9, 05.5, 04.9, 04.5, 03.8, 02.5, 02.3, 01.9, 01.6, 00.10, 00.3, 99.8 논리게이트 게이트기호의미진리표논리식 AND A B Y 입력신호가모두 1 일때 1 출력 A B Y 0 0 0 0 1 0 1 0 0 1 1 1 Y``=``A B Y``=``AB 060 03.5, 02.9, 01.3 VSAM 파일 동적인덱스방법을이용한색인순차파일이다. 제어구간, 제어구역, 순차세트, 인덱스세트로구성된다. OR NOT A B A Y Y 입력신호중 1 개만 1 이어도 1 출력 입력된정보를반대로변환하여출력 A B Y 0 0 0 0 1 1 1 0 1 1 1 1 A Y 0 1 1 0 Y``=``A``+``B Y``=``A Y``=`À - 제어구간 (Control Interval) 제어구역 (Control Area) 데이터레코드가저장되는부분 몇개의제어구간을모아놓은것 BUFFER A Y 입력된정보를그대로출력 A Y 0 0 1 1 Y``=``A 순차세트 (Sequence Set) 인덱스세트 (Index Set) 제어구역에대한인덱스를저장한것 순차세트의상위인덱스 기본구역과오버플로구역을구분하지않는다. 레코드를삭제하면그공간을재사용할수있다. 제어구간에가변길이레코드를쉽게수용할수있다. NAND NOR A B A B Y Y NOT + AND, 즉 AND 의부정 NOT + OR, 즉 OR 의부정 A B Y 0 0 1 0 1 1 1 0 1 1 1 0 A B Y 0 0 1 0 1 0 1 0 0 1 1 0 Y``=`` A B _ Y``= AB Y``=``A`+`B 2 과목 전자계산기구조 XOR A B Y 입력되는것이모두같으면 0, 한개라도다르면 1 출력 A B Y 0 0 0 0 1 1 1 0 1 1 1 0 Y``=``A`` ``B Y``=`ÀB``+``AB 061 02.9 불대수의기본공식 교환법칙 : A + B = B + A, A B = B A 결합법칙 : A + (B + C) = (A + B) + C, A (B C) = (A B) C 분배법칙 : A (B + C) = A B + A C, A + B C = (A + B) (A + C) 멱등법칙 : A + A = A, A A = A 보수법칙 : A + Ā = 1, A Ā = 0 항등법칙 : A + 0 = A, A + 1 = 1, A 0 = 0, A 1 = A 드모르강 : Ā + - B = (A B - ), Ā B - = (A+B - ) 복원법칙 : - Ā = A XNOR 063 A B Y NOT + XOR, 즉 XOR의부정 A B Y 0 0 1 0 1 0 1 0 0 1 1 1 08.5, 07.5, 05.3, 04.3 반가산기 (HA; Half Adder) Y``=``A B Y``=` A`` B Y``=``AB``+`ÀB 1Bit짜리 2진수 2개를덧셈한합 (S) 과자리올림수 (C) 를구하는회로이다. 진리표 A B Sum Carry 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 논리식 : Carry = A B Sum= Ā B + A B - = A `B 20

논리회로 A B 064 09.5, 04.9, 05.3, 03.3, 01.3, 00.10, 00.7, 99.10 전가산기 (FA ; Full Adder) 자리올림수 (Ci) 를포함하여 1Bit 크기의 2진수 3자리를더하여합 (Sum) 과자리올림수 (Carry) 를구하는회로이다. 논리식 합계 (Sum) = (A` ```B) C i 자리올림 (Carry) = (A` ```B)C i + AB 회로 전가산기는 2 개의반가산기 (HA) 와 1 개의 OR Gate 로구성된다. A B C 반가산기 Sum Carry 반가산기 Sum 066 정보처리기사필기요약 08.9, 08.3, 06.5, 06.3, 05.5, 04.9, 03.5, 02.9, 02.5, 00.7, 99.4 플립플롭 플립플롭은전원이공급되고있는한, 상태의변화를위한신호가발생할때까지현재의상태를그대로유지하는논리회로이다. 플립플롭 1개가 1Bit를구성하는 2진셀 (Binary Cell) 이된다. 반도체기억장치에서 2진수 1자리값을기억하는메모리소자이다. 플립플롭은레지스터를구성하는기본소자이다. 기본적인플립플롭은 2개의 NAND 또는 NOR 게이트를이용하여구성한다. 플립플롭 RS JK 특징 플립플롭의기본으로, S 와 R 선의입력을조절하여임의의 Bit 값을그대로유지시키거나, 무조건 0 또는 1 의값을기억시키기위해서사용됨 RS FF 에서 S = R = 1 일때동작되지않는결점을보완한플립플롭 RS FF 의입력선 S 와 R 을 JK FF 의입력선 J 와 K 로사용함 모든플립플롭의기능을포함함 Carry D RS FF 의 R 선에인버터 (Inverter) 를추가하여 S 선과하나로묶어서입력선을하나만구성한플립플롭 입력하는값을그대로저장하는기능을수행함 병렬가산기 : n Bit로된 2진수 A, B에대한덧셈을 n개의전가산기 (FA) 를이용하여구현한실질적인가산기 065 09.3, 08.9, 07.9, 06.3, 05.9, 04.9, 03.3, 99.4 디코더 (Decoder) nbit의 Code화된정보를그 Code의각 Bit 조합에따라 2n개의출력으로번역하는회로이다. 명령어의명령부나번지를해독할때사용한다. 회로 A B D0 D1 T 마스터 - 슬레이브 (M/S) 특성표 JK FF 의두입력선을묶어서 1 개의입력선으로구성한플립플롭 T=0 인경우는변화가없고, T=1 인경우에현재의상태를토글 (Toggle) 시킴. 즉원상태와보수상태의 2 가지상태로만서로전환됨 출력측의일부가입력측에궤환 (FeedBack) 되어유발되는레이스현상을없애기위해고안된플립플롭 2 개의플립플롭으로구성되는데, 한쪽회로가마스터이고다른쪽이슬레이브의위치에있어마스터 - 슬레이브플립플롭이라함 <RS 플립플롭 > <JK 플립플롭 > S R Q (T+1) 암기 0 0 Q (T) 무 ( 상태변화없음 ) J K Q (T+1) 암기 0 0 Q (T) 무 ( 상태변화없음 ) D2 D3 0 1 0 공 ( 항상 0) 1 0 1 일 ( 항상 1) 1 1 동작안됨불 ( 불가 ) 0 1 0 공 ( 항상 0) 1 0 1 일 ( 항상 1) 1 1 보수보 ( 보수 ) JK 플립플롭은 J와 K에모두 1이입력될때보수가출력되는것이 RS 플립플롭과다르다. 21

정보처리기사필기요약 067 07.5, 01.9 자료구성의단위 < 정수부분 > 2 진수 8 진수 16 진수 비트 (Bit, Binary Digit) 니블 (Nibble) 바이트 (Byte) 자료 ( 정보 ) 표현의최소단위 2 가지상태 (0 과 1) 를표시하는 2 진수 1 자리 4 개의비트 (Bit) 가모여 1 개의 Nibble 을구성함 4 비트로구성되며 16 진수 1 자리를표현하기에적합함 문자를표현하는최소단위로, 8 개의비트 (Bit) 가모여 1Byte 를구성함 1Byte 는 256(28) 가지의정보를표현할수있음 주소지정의단위로사용됨 CPU 가한번에처리할수있는명령단위 2 47 2 23 1 2 11 1 2 5 1 2 2 1 1 0 (47)10 = (101111)2 < 소수부분 > 8 47 5 7 16 47 2 15(F) (47)10 = (57)8 (47)10 = (2F)16 워드 (Word) 필드 (Field) 반워드 (Half Word) : 2Byte 풀워드 (Full Word) : 4Byte 더블워드 (Double Word) : 8Byte 파일구성의최소단위 의미있는정보를표현하는최소단위 2 진수 0.625 0.250 0.5 2 2 2 1.250 0.5 1.0 8 진수 0.625 8 5.000 16 진수 0.625 16 10(A).000 레코드 (Record) 블록 (Block) 물리레코드 (Physical Record) 파일 (File) 하나이상의관련된필드가모여서구성됨 컴퓨터내부의자료처리단위로서, 일반적으로레코드는논리레코드 (Logical Record) 를의미함 하나이상의논리레코드가모여서구성됨 각종저장매체와의입 출력단위를의미하며, 일반적으로물리레코드 (Physical Record) 라고함 프로그램구성의기본단위로, 여러레코드가모여서구성됨 (0.625)10 = (0.101)2 (0.625)10 = (0.5)8 (0.625)10 = (0.A)16 (47.625)10 (101111.101)2 (47.625)10 (57.5)8 (47.625)10 (2F.A)16 2진수, 8진수, 16진수를 10진수로변환정수부분과소수부분의각자리를분리하여변환하려는각진수의자리값과자리의지수승을곱한결과값을모두더하여계산한다. (101111.101) 2 를 10 진수로변환하기 데이터베이스 (Database) 068 07.9, 04.3, 99.8 진법변환 여러개의관련된파일 (File) 의집합 10진수를 2진수, 8진수, 16진수로변환 정수부분 : 10진수의값을변환할진수로나누어더이상나눠지지않을때까지나누고, 나머지를역순으로표시함 소수부분 : 10진수의값에변환할진수를곱한후결과의정수부분만을차례대로표기하되, 소수부분이 0 또는반복되는수가나올때까지곱하기를반복함 (47.625) 10 를 2진수, 8진수, 16진수로변환하기 ( 1 `0 `1 ` 1 `1 1. ` 1 0 1 ) 2 = 2 5 ` 2 4 2 3 2 2 1 2 0. 2-1 2-2 2-3 = 32 + 0 + 8 `+ 4 + 2 + 1. 0.5 `+ `0 `+ `0.125 = 47.625 (57.5) 8 를 10 진수로변환하기 (5 ` 7. `5) 8 = 8 1 ``` 8 0. 8-1 = 40 + 7. 0.625 = 47.625 (4F.2) 16 를 10 진수로변환하기 ( 4 F. 2 ) 16 = 16 1 + 16 0. 16-1 = 64 + 15 ```. 0.125 = 79.125 22

2 진수, 8 진수, 16 진수상호변환 2진수를 8진수로 : 정수부분은소수점을기준으로왼쪽방향으로 3자리씩, 소수부분은소수점을기준으로오른쪽방향으로 3자리씩묶어서변환함 2진수를 16진수로 : 정수부분은소수점을기준으로왼쪽방향으로 4자리씩, 소수부분은소수점을기준으로오른쪽방향으로 4자리씩묶어서변환함 8진수, 16 진수를 2진수로 : 8진수 1자리는 2진수 3비트로, 16진수 1자리는 2진수 4비트로풀어서변환함 8진수를 16진수로 : 8진수를 2진수로변환한뒤 2진수를 16진수로변환함 16진수를 8진수로 : 16진수를 2진수로변환한뒤 2진수를 8진수로변환함 069 07.9, 05.4, 03.5, 03.3 보수 컴퓨터가기본적으로수행하는덧셈회로를이용하여뺄셈을수행하기위해사용한다. r 의보수 10 진법에는 10 의보수가있고, 2 진법에는 2 의보수가있음 보수를구할숫자의자릿수만큼 0 을채우고가장왼쪽에 1 을추가하여기준을만듦 33 의 10 의보수는? 33 + X = 100 X = 100-33 X = 67 10101 의 2 의보수는? 10101 + X = 100000 X = 100000-10101 X = 01011 071 BCD 코드 03.5, 02.3, 01.9, 99.10 자료표현코드 정보처리기사필기요약 고정소수점방식에비해연산시간이많이걸린다. 지수부와가수부를분리하는정규화과정이필요하다. 4Byte를사용하는단정도와가수부를 4Byte 추가하여좀더정밀하게표현할수있는 8Byte 배정도표현법이있다. 표현범위 : ±16-64 ~±16 63 부동소수점수의연산방법 덧셈, 뺄셈 0 인지의여부를조사한다. 가수의위치조정 : 두자료의지수를비교한후소수점의위치를이동하여지수가큰쪽에맞춘다. 가수부값끼리더하거나뺀다. 결과를정규화한다. 곱셈 0 인지의여부를조사한다. 지수를더한다. 가수를곱한다. 결과를정규화한다. 나눗셈 0 인지의여부를조사한다. 부호를결정한다. 피제수가제수보다작게피제수의위치를조정한다. 지수의뺄셈을한다. 가수의나눗셈을한다. 10 진수 1 자리의수를 2 진수 4Bit 로표현함 4Bit 의 2 진수각 Bit 가 8(2 3 ), 4(2 2 ), 2(2 1 ), 1(2 0 ) 의자리값을가지므로 8421 코드라고도함 대표적인가중치코드 문자코드인 BCD 에서 Zone 부분을생략한형태임 10 진수입 출력이간편함 r-1 의보수 070 10 진법에는 9 의보수가있고, 2 진법에는 1 의보수가있음 10 진수 N 에대한 9 의보수는주어진숫자의자릿수만큼 9 를채워기준을만듦 33 의 9 의보수는? 33 + X = 99 X = 99-33 X = 66 2 진수 N 에대한 1 의보수는주어진숫자의자릿수만큼 1 을채워기준을만듦 10101 의 1 의보수는? 10101 + X = 11111 X = 11111-10101 X = 01010 09.5, 09.3, 08.9, 07.3, 05.4 부동소수점표현 부동소수점방식은소수점이포함된실수데이터의표현과연산에사용하는방식이다. 부동소수점방식의특징 고정소수점방식으로표현하는것보다매우큰수나작은수, 매우정밀한수를적은비트로표현할수있다. 과학이나공학또는수학적인응용에주로사용된다. Excess-3 코드 (3 초과코드 ) Gray 코드 패리티검사코드 해밍코드 BCD + 3, 즉 BCD 코드에 3 을더하여만든코드임 대표적인자보수코드이며, 비가중치코드임 BCD 코드의인접하는비트를 X-OR 연산하여만든코드 입 출력장치, A/D 변환기, 주변장치등에서숫자를표현할때사용 1Bit 만변화시켜다음수치로증가시키기때문에하드웨어적인오류가적음 코드의오류를검사하기위해서데이터비트외에 1Bit 의패리티체크비트를추가하는것으로 1Bit 의오류만검출할수있음 Odd Parity : 코드에서 1 인 Bit 의수가홀수가되도록 0 이나 1 을추가함 Even Parity : 코드에서 1 인 Bit 의수가짝수가되도록 0 이나 1 을추가함 오류를스스로검출하여교정이가능한코드 1Bit 의오류만교정할수있음 데이터비트외에에러검출및교정을위한잉여비트가많이필요함 해밍코드중 1, 2, 4, 8, 16 2n 번째비트는오류검출을위한패리티비트임 23

정보처리기사필기요약 072 07.9, 05.5, 05.3, 03.8 그레이코드변환 074 09.5, 07.9, 07.5, 06.5, 06.3, 05.4, 05.3, 03.8, 02.9, 02.5, 02.3, 01.9, 00.3 주요레지스터 2 진수를 Gray Code 로변환하는방법 첫번째그레이비트는 2진수의첫번째비트를그대로내려쓴다. 두번째그레이비트부터는변경할 2진수의해당번째비트와그왼쪽의비트를 XOR 연산하여쓴다. 2진수 1001을 Gray Code로변환하시오. Gray Code 를 2 진수로변환하는방법 첫번째 2진수비트는그레이코드의첫번째비트를그대로내려쓴다. 두번째 2진수비트부터는왼쪽에구해놓은 2진수비트와변경할해당번째그레이비트를 XOR 연산하여쓴다. Gray Code 1001을 2진수로변환하시오. 073 제어장치 07.5, 07.3, 04.5, 04.3, 02.9, 02.5, 00.7, 00.3 중앙처리장치의구성요소 컴퓨터에있는모든장치들의동작을지시하고제어하는장치 주기억장치에서읽어들인명령어를해독하여해당하는장치에게제어신호를보내정확하게수행하도록지시함 프로그램카운터 (PC), 명령어레지스터 (IR), 부호기 ( 제어신호발생기 ), 명령어해독기, 번지해독기등으로구성되어있음 레지스터 프로그램카운터, 프로그램계수기 (PC; Program Counter) 명령레지스터 (IR; Instruction Register) 누산기 (AC; Accumulator) 상태레지스터 (Status Register) PSWR(Program Status Word Register) 플래그레지스터 메모리주소레지스터 (MAR; Memory Address Register) 메모리버퍼레지스터 (MBR; Memory Buffer Register) 인덱스레지스터 (Index Register) 데이터레지스터 (Data Register) 시프트레지스터 (Shift Register) 메이저스테이터스레지스터 (Major Status Register) 기능 다음번에실행할명령어의번지를기억하는레지스터 분기명령이실행되는경우그목적지주소로갱신됨 현재실행중인명령의내용을기억하는레지스터 연산된결과를일시적으로저장하는레지스터로연산의중심임 시스템내부의순간순간의상태가기록된정보를 PSW 라고함 오버플로, 언더플로, 자리올림, 계산상태 (0, -, +), 인터럽트등의 PSW 를저장하고있는레지스터 기억장치를출입하는데이터의번지를기억하는레지스터 기억장치를출입하는데이터가잠시기억되는레지스터 주소의변경, 서브루틴연결및프로그램에서의반복연산의횟수를세는레지스터 연산에사용될데이터를기억하는레지스터 저장된값을왼쪽또는오른쪽으로 1Bit 씩자리이동시키는레지스터 2 배길이레지스터라고도함 CPU 의메이저상태를저장하고있는레지스터 연산장치 레지스터 제어장치의명령에따라실제로연산을수행하는장치 산술연산, 논리연산, 관계연산, 이동 (Shift) 등의연산을수행함 가산기, 누산기 (AC; Accumulator), 보수기, 데이터레지스터, 오버플로검출기, Shift Register 등으로구성되어있음 CPU 내부에서처리할명령어나연산의중간결과값등을일시적으로기억하는임시기억장소 플립플롭 (Flip-Flop) 이나래치 (Latch) 들을병렬로연결하여구성함 메모리중에서가장속도가빠름 075 04.5, 00.10 버스 CPU, 메모리, I/O 장치등과상호필요한정보를교환하기위해연결하는공동의전송선이다. 버스의종류 전송하는정보에따른버스의분류 번지버스 (Address Bus) : CPU 가메모리나입 출력기기의번지를지정할때사용하는단방향전송선 자료버스 (Data Bus) : CPU 와메모리또는입 출력기기사이에서데이터를전송하는양방향전송선 제어버스 (Control Bus) : CPU 의현재상태나상태변경을메모리또는입 출력에알리는제어신호를전송하는전송선 위치에따른버스의분류 내부버스 : CPU 및메모리내에구성된 Bus 외부버스 : 주변입 출력장치에구성된 Bus 24

076 08.3, 07.9, 07.5, 06.3, 05.9, 05.3, 04.5, 03.8, 03.5, 03.3, 02.3 명령어의구성 Operation Code, 연산자부 연산자부 (Operation Code 부 ) Operand, 자료부 수행해야할동작에맞는연산자를표시함, 흔히 OP-Code부라고한다. 연산자부의크기 ( 비트수 ) 는표현할수있는명령의종류를나타내는것으로, nbit일경우최대 2n 개의명령어를사용할수있다. 자료부 (Operand부) 실제데이터에대한정보를표시하는부분이다. 기억장소의주소, 레지스터번호, 사용할데이터등을표시한다. 주소부의크기는메모리의용량과관계가있다. 자료부의길이가 nbit일경우최대 2 n 개의기억장소를주소로지정할수있다. 077 연산자의기능 함수연산기능 자료전달기능 제어기능 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.4, 05.3, 04.9, 04.5, 03.5, 03.3, 02.5, 02.3, 01.9, 01.6, 00.10 연산자 (Operation Code) 산술연산 : ADD, SUB, MUL, DIV, 산술 SHIFT 등 논리연산 : NOT, AND, OR, XOR, 논리적 SHIFT, ROTATE, COMPLEMENT, CLEAR 등 CPU 와기억장치사이에서정보를교환하는기능 Load : 기억장치에기억되어있는정보를 CPU 로꺼내오는명령 Store : CPU 에있는정보를기억장치에기억시키는명령 Move : 레지스터간에자료를전달하는명령 Push : 자료를스택에저장하는명령 Pop : 스택에서자료를꺼내오는명령 명령어실행순서를변경시킬때사용하는기능 무조건분기명령 : GOTO, Jump(JMP) 등 조건분기명령 : IF 조건, SPA, SNA, SZA 등 CALL : 부프로그램호출 RETURN : 부프로그램에서주프로그램으로복귀 정보처리기사필기요약 단항연산자 (Unary Operator) : NOT, Complement, Shift, Rotate, MOVE 등 이항연산자 (Binary Operator) : 사칙연산, AND, OR, XOR, XNOR 등 078 AND (Masking Operation) OR (Selective Set) XOR (Compare) NOT(Complement, 보수 ) 논리 Shift Rotate 산술 Shift 09.5, 08.9, 08.5, 06.9, 05.9, 05.5, 05.3, 04.3, 03.3, 00.7, 00.3, 99.4 연산 특정문자또는특정 Bit 를삭제 (Clear) 시키는명령으로, Masking 명령이라고도함 삭제할부분의 Bit 를 0 과 AND 시켜서삭제하는데, 대응시키는 0 인 Bit 를 Mask Bit 라고함 특정문자를삽입하거나특정 Bit 에 1 을세트시키는명령으로, Selective Set 연산이라고도함 삽입하거나세트시킬 Bit 에삽입할문자코드또는 1 을 OR 연산시킴 2 개의데이터를비교하거나특정비트를반전시킬때사용함 2 개의데이터를 XOR 연산하여결과에한 Bit 라도 1 이있으면서로다른데이터임 반전시킬때는반전시킬비트와 1 을 XOR 시킴 각비트의값을반전시키는연산으로보수를구할때사용함 왼쪽또는오른쪽으로 1Bit 씩자리를이동시키는연산으로데이터의직렬전송 (Serial Transfer) 에사용함 삽입되는자리는무조건 0 임 Shift 에서밀려나가는비트의값을반대편값으로입력하는연산 문자위치를변환할때이용함 부호 (Sign) 를고려하여자리를이동시키는연산으로, 2 n 으로곱하거나나눌때사용함 왼쪽으로 nbit Shift 하면원래자료에 2 n 을곱한값과같음 오른쪽으로 nbit Shift 하면원래자료를 2 n 으로나눈값과같음 홀수를오른쪽으로한번 Shift 하면 0.5 의오차가발생함 입 출력기능 CPU 와 I/O 장치, 또는메모리와 I/O 장치사이에서자료를전달하는기능 INPUT : 입 출력장치의자료를주기억장치로입력하는명령 OUTPUT : 주기억장치의자료를입 출력장치로출력하는명령 피연산자의수에따른연산자의분류 NOT A처럼피연산자가 1개만필요한연산자를단항연산자라하고, A + B처럼피연산자가 2개필요한연산자를이항연산자라한다. 25

정보처리기사필기요약 079 09.3, 07.9. 07.5, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.3, 04.5, 04.3, 03.8, 03.5, 03.3, 02.9, 02.5, 02.3, 01.9, 01.6, 01.3, 00.10, 00.3 명령어형식 081 09.5, 09.3, 08.9, 08.5, 07.5, 07.3, 06.9, 06.3, 05.9 05.5, 05.3, 04.9, 03.8, 03.5, 02.5, 01.9, 01.6, 01.3, 00.1 주소지정방식 (Addressing Mode) 의종류 3 번지명령어 2 번지명령어 1 번지명령어 0 번지명령어 080 Operand 부가 3 개로구성되는명령어형식으로여러개의범용레지스터 (GPR) 를가진컴퓨터에서사용함 연산의결과는 Operand 3 에기록됨 연산시원시자료를파괴하지않음 다른형식의명령어를이용하는것보다프로그램전체의길이를짧게할수있음 전체프로그램실행시명령인출을위하여주기억장치를접근하는횟수가줄어들어프로그램실행속도를단축시킴 ADD R1, A, B Operand 부가 2 개로구성되는명령어형식으로가장일반적으로사용되는명령어형식 여러개의범용레지스터를가진컴퓨터에서사용함 3 주소명령에비해명령어의길이가짧음 연산의결과는주로 Operand 1 에저장되므로 Operand 1 에있던원시자료가파괴됨 전체프로그램의길이가길어짐 ADD R1, A Operand 부가 1 개로구성되어있음 AC(Accumulator, 누산기 ) 를이용하여명령어를처리함 ADD A Operand 부없이 OP Code 부만으로구성됨 모든연산은 Stack 메모리의 Stack Pointer 가가리키는 Operand 를이용하여수행함 모든연산은스택에있는자료를이용하여수행하기때문에스택머신 (Stack Machine) 이라고도함 원래의자료가남지않음 ADD 05.9, 05.5, 00.7, 99.8 주소설계시고려사항 표현의효율성 : 빠르게접근하고주소지정에적은비트수를사용할수있도록다양한어드레스모드를사용할수있어야함 사용의편리성 : 다양하고융통성있는프로그램작업을위해포인터, 프로그램리로케이션등의편의를제공하여야함 주소공간과기억공간의독립성 : 프로그램상에서사용한주소를변경없이실제기억공간내의주소로재배치할수있도록서로독립적이어야함 - 주소공간 : 프로그램에서사용하는주소, 보조기억장치내의기억공간 - 기억공간 : 주기억장치내의실제기억공간 암시적주소지정방식 (Implied Mode) 즉치 ( 즉시 ) 적주소지정방식 (Immediate Mode) 직접주소지정방식 (Direct Mode) 간접주소지정방식 (Indirect Mode) 계산에의한주소지정방식 082 주소를지정하는필드가없는 0 번지명령어에서 Stack 의 SP 가가리키는 Operand 를암시하여이용함 명령어자체에오퍼랜드 ( 실제데이터 ) 를내포하고있는방식 별도의기억장소를액세스하지않고 CPU 에서곧바로자료를이용할수있어서실행속도가빠르다는장점이있음 명령어의길이에영향을받으므로표현할수있는데이터값의범위가제한적임 명령의주소부 (Operand) 가사용할자료의번지를표현하고있는방식 명령의 Operand 부에표현된주소를이용하여실제데이터가기억된기억장소에직접사상시킬수있음 기억용량이 2 n 개의 Word 인메모리시스템에서주소를표현하려면 n 비트의 Operand 부가필요함 명령어에나타낼주소가명령어내에서데이터를지정하기위해할당된비트 (Operand 부의비트 ) 수로나타낼수없을때사용하는방식 명령의길이가짧고제한되어있어도긴주소에접근가능함 명령어내의주소부에실제데이터가저장된장소의번지를가진기억장소의번지를표현하므로최소한주기억장치를두번이상접근하여데이터가있는기억장소에도달함 Operand 부와특정레지스터의값이더해져서유효주소를계산하는방식 상대주소지정방식 : 명령어의주소부분 + PC Base Register Mode : 명령어의주소부분 + Base Register Index Register Mode : 명령어의주소부분 + Index Register 08.5, 06.9, 06.5, 04.5, 03.8, 03.3, 02.9, 01.9, 01.6, 00.10, 00.7, 99.10 마이크로오퍼레이션 (Micro Operation) 의정의 Instruction을수행하기위해 CPU 내의레지스터와플래그가의미있는상태변환을하도록하는동작이다. 레지스터에저장된데이터에의해이루어지는동작이다. 한개의 Clock 펄스동안실행되는기본동작이다. 마이크로오퍼레이션의순서를결정하기위하여제어장치가발생하는신호를제어신호라고한다. 한개의 Instruction은여러개의 Micro Operation이동작되어실행된다. Micro Cycle Time : 한개의 Micro Operation을수행하는데걸리는시간 26

정보처리기사필기요약 제어워드 : 레지스터의선택과산술논리연산장치의역할을결정하고, 어떤마이크로연산을할것인가를결정하는비트의모임을제어워드라고합니다. 제어워드는마이크로명령어라고도합니다. 마이크로프로그램 : 어떤명령을수행할수있도록구성된일련의제어워드가특수한기억장치속에저장될때이를마이크로프로그램이라고합니다. 메이저스테이트의변천과정 083 동기고정식 (Synchronous Fixed) 동기가변식 (Synchronous Variable) 비동기식 (Asynchronous) 084 09.5, 09.3, 08.9, 07.5, 07.3, 03.8, 00.7, 99.4 Micro Cycle Time 부여방식 모든마이크로오퍼레이션의동작시간이같다고가정하여 CPU Clock의주기를 Micro Cycle Time과같도록정의하는방식 모든마이크로오퍼레이션중에서동작시간이가장긴마이크로오퍼레이션의동작시간을 Micro Cycle Time으로정함 모든마이크로오퍼레이션의동작시간이비슷할때유리한방식임 장점 : 제어기의구현이단순함 단점 : CPU의시간낭비가심함 동작시간이유사한 Micro Operation 들끼리그룹을만들어, 각그룹별로서로다른 Micro Cycle Time 을정의하는방식 동기고정식에비해 CPU 시간낭비를줄일수있는반면, 제어기의구현은조금복잡함 마이크로오퍼레이션의동작시간이차이가날때유리함 ( 정수배 ) 모든마이크로오퍼레이션에대하여서로다른 Micro Cycle Time 을정의하는방식 CPU 의시간낭비는전혀없으나, 제어기가매우복잡해지기때문에실제로는거의사용되지않음 08.3, 07.5, 07.3. 05.5, 03.3, 02.9, 01.6, 01.3, 00.10, 99.10 메이저스테이트 현재 CPU가무엇을하고있는가를나타내는상태로서 Fetch, Indirect, Execute, Interrupt 이렇게 4개의상태가있다. CPU는메이저스테이트의 4가지단계를반복적으로거치면서동작을수행한다. 메이저스테이트는메이저스테이트레지스터를통해서알수있다. Major Cycle 또는 Machine Cycle이라고도한다. 085 08.3, 06.9, 06.3, 05.9, 05.5, 03.3, 02.9, 02.5, 02.3, 00.10 인출단계 (Fetch Cycle) 명령어를주기억장치에서중앙처리장치의명령레지스터로가져와해독하는단계이다. 읽어와해석된명령어가 1Cycle 명령이면이를수행한후다시 Fetch Cycle 로변천한다. 1Cycle 명령이아니면, 해석된명령어의모드비트에따라직접주소와간접주소를판단한다. 동작순서 Micro Operation MAR PC MBR M[MAR], PC PC + 1 IR MBR[OP], I MBR[I] F 1 또는 R 1 086 의미 PC 에있는번지를 MAR 에전송시킴 메모리에서 MAR 이지정하는위치의값을 MBR 에전송함 다음에실행할명령의위치를지정하기위해 PC 의값을 1 증가시킴 명령어의 OP-code 부분을명령레지스터에전송함 현재 MBR 에는주기억장치에서읽어온명령이들어있음 명령어의모드비트를플립플롭 I 에전송함 I 가 0 이면 F 플립플롭에 1 을전송하여 Execute 단계로변천하고, I 가 1 이면 R 플립플롭에 1 을전송하여 Indirect 단계로변천함 09.3, 07.5, 06.9, 05.4, 05.3, 03.8, 99.10 간접단계 (Indirect Cycle) Fetch 단계에서해석된명령의주소부가간접주소인경우수행된다. Fetch 단계에서해석한주소를읽어온후그주소가간접주소이면유효주소를계산하기위해다시 Indirect 단계를수행한다. 간접주소가아닌경우에는명령어에따라 Execute 단계또는 Fetch 단계로이동할지를판단한다. 27

정보처리기사필기요약 동작순서 LDA(Load to AC) : AC M[AD] Micro Operation 의미 Micro Operation 의미 MAR MBR[AD] MBR M[MAR] No Operation F 1, R 0 MBR 에있는명령어의번지부분을 MAR 에전송함 메모리에서 MAR 이지정하는위치의값을 MBR 에전송함 동작없음 F 에 1, R 에 0 을전송하여 Execute 단계로변천함 MAR MBR[AD] MBR M[MAR] AC 0 AC AC + MBR MBR 에있는명령어의번지부분을 MAR 에전송함 메모리에서 MAR 이지정하는위치의값을 MBR 에전송함 AC 에 0 을전송하여 AC 를초기화함 메모리에서가져온 MBR 과 AC 를더해 AC 에전송함 초기화된 AC 에더해지므로메모리의값을 AC 로불러오는것과같음 087 09.5, 08.9, 05.4, 05.3, 04.5, 03.5, 02.9, 01.9, 01.6, 01.3, 00.3, 99.10 인터럽트단계 (Interrupt Cycle) 인터럽트발생시복귀주소 (PC) 를저장시키고, 제어순서를인터럽트처리프로그램의첫번째명령으로옮기는단계이다. 인터럽트단계를마친후에는항상 Fetch 단계로변천한다. 동작순서 089 02.5, 99.10 제어장치의비교 제어장치는필요한마이크로연산들이연속적으로수행할수있도록제어신호를보내는역할을한다. 구분고정배선제어장치마이크로프로그래밍기법 Micro Operation MBR[AD] PC, PC 0 MAR PC, PC PC + 1 M[MAR] MBR, IEN 0 F 0, R 0 의미 PC 가가지고있는, 다음에실행할명령의주소를 MBR 의주소부분으로전송함 복귀주소를저장할 0 번지를 PC 에전송함 PC 가가지고있는값 0 번지를 MAR 에전송함 인터럽트처리루틴으로이동할수있는인터럽트벡터의위치를지정하기위해 PC 의값을 1 증가시켜 1 로세트시킴 MBR 이가지고있는다음에실행할명령의주소를메모리의 MAR 이가리키는위치 (0 번지 ) 에저장함 인터럽트단계가끝날때까지다른인터럽트가발생하지않게 IEN 에 0 을전송함 F 에 0, R 에 0 을전송하여 Fetch 단계로변천함 반응속도고속저속 회로복잡도복잡간단 경제성비경제적경제적 융통성없음있음 구성하드웨어소프트웨어 090 99.4 기억장치와입 출력장치의동작차이 기억장치는처리속도가 nano(10-9 ) 단위인전자적인장치이고, 입 출력장치는 milli(10-3 ) 의단위인기계적인장치이므로동작방식에는많은차이가있다. 비교항목입 출력장치기억장치 088 07.5, 06.5, 05.9, 04.9, 03.8, 02.9, 01.6 주요명령의마이크로오퍼레이션 ADD : AC AC + M[AD] Micro Operation 의미 동작의속도 느리다 빠르다 동작의자율성 타율 / 자율 타율 정보의단위 Byte( 문자 ) Word 착오발생률 많다 적다 MAR MBR[AD] MBR M[MAR] AC AC + MBR MBR 에있는명령어의번지부분을 MAR 에전송함 메모리에서 MAR 이지정하는위치의값을 MBR 에전송함 누산기의값과 MBR 의값을더해누산기에전송함 28

정보처리기사필기요약 091 09.5, 06.3, 03.3, 02.9, 99.8 스풀링 (SPOOLING) Simultaneous Peripheral Operation On-Line의약자이다. 다중프로그래밍환경하에서용량이크고신속한액세스가가능한디스크를이용하여각사용자프로그램이입 출력할데이터를직접 I/O 장치로보내지않고디스크에모았다가나중에한꺼번에입 출력함으로써입 출력장치의공유및상대적으로느린입 출력장치의처리속도를보완하는기법이다. 스풀링은고속의 CPU와저속의입 출력장치가동시에독립적으로동작하게하여향상된효율로여러작업을병행작업할수있도록해줌으로써다중프로그래밍시스템의성능향상을가져올수있다. 스풀링은디스크일부를매우큰버퍼처럼사용한다. Channel 에의한 I/O CPU 를대신하여주기억장치와 I/O 장치사이에서 I/O 를제어하는 I/O 전용프로세서 (IOP) 채널제어기는채널명령어로작성된채널프로그램을해독하고실행하여 I/O 동작을처리함 CPU 로부터 I/O 전송을위한명령어를받으면 CPU 와는독립적으로동작하여 I/O 를완료함 CPU 와인터럽트로통신함 채널의종류 - Selector Channel : 고속입 출력장치 ( 자기디스크, 자기테이프, 자기드럼 ) 1 개와입 출력하기위해사용함 - Multiplexer Channel : 저속입 출력장치 ( 카드리더, 프린터 ) 여러개를동시에제어하는채널 - Block Multiplexer Channel : 동시에여러개의고속입 출력장치를제어함 092 Programme d I/O Interrupt I/O DMA (Direct Memory Access) 에의한 I/O 09.5, 08.9, 08.5, 08.3, 07.5, 07.3, 06.9, 06.5, 06.3, 05.5, 05.3, 04.9, 04.3, 03.8, 03.5, 02.5, 02.3, 01.9, 01.6, 00.7, 00.3, 99.10 입 출력 (Input-`Output) 제어방식 원하는 I/O 가완료되었는지의여부를검사하기위해 CPU 가상태 Flag 를계속조사하여 I/O 가완료되었을경우 MDR(MBR) 과 AC 사이의자료전송을 CPU 가직접처리하는 I/O 방식 I/O 작업시 CPU 는계속 I/O 작업에관여해야하기때문에다른작업을할수없다는단점이있음 I/O 를하기위해 CPU 가계속 Flag 를검사하지않고, 데이터를전송할준비가되면 I/O 인터페이스가컴퓨터에게알려 I/O 가이루어지는방식 I/O 인터페이스는 CPU 에게인터럽트신호를보내 I/O 가있음을알림 CPU 가계속 Flag 를검사하지않아도되기때문에 Programmed I/O 보다효율적임 I/O 장치가직접주기억장치를접근 (Access) 하여 Data Block 을 I/O 하는방식으로 I/O 전송이 CPU 의레지스터를경유하지않고수행됨 CPU 는 I/O 에필요한정보를 DMA 제어기에알려서 I/O 동작을개시시킨후 I/O 동작에더이상간섭하지않고다른프로그램을할당하여수행함 I/O 자료전송시 CPU 를거치지않기때문에 CPU 의부담없이보다빠른데이터의전송이가능함 인터럽트신호를발생시켜 CPU 에게 I/O 종료를알림 DMA 제어기가한번에한데이터워드를전송하고버스의제어를 CPU 에게돌려주는 Cycle Steal 방식을이용하여데이터를전송함 093 09.3, 08.5, 08.3, 07.9, 07.3, 06.5, 05.5, 05.4, 05.3, 04.9, 04.5, 04.3, 03.5, 03.3, 02.9, 02.5, 02.3, 01.6, 01.3, 00.10, 00.7, 99.8 인터럽트의종류및발생원인 프로그램을실행하는도중에예기치않은상황이발생할경우현재실행중인작업을즉시중단하고, 발생된상황을우선처리한후실행중이던작업으로복귀하여계속처리하는것, 일명 끼어들기 라고도한다. 인터럽트는외부인터럽트, 내부인터럽트, 소프트웨어인터럽트로분류하는데, 외부나내부인터럽트는 CPU의하드웨어에서의신호에의해발생하고소프트웨어인터럽트는명령어의수행에의해발생한다. 외부인터럽트 내부인터럽트 전원이상인터럽트 (Power Fail Interrupt) : 정전이되거나전원이상이있는경우 기계착오인터럽트 (Machine Check Interrupt) : CPU 의기능적인오류동작이발생한경우 외부신호인터럽트 (External Interrupt) - 타이머에의해규정된시간 (Time Slice) 을알리는경우 - 키보드로인터럽트키를누른경우 - 외부장치로부터인터럽트요청이있는경우 입 출력인터럽트 (Input-Output Interrupt) - 입 출력데이터의오류나이상현상이발생한경우 - 입 출력장치가데이터의전송을요구하거나전송이끝났음을알릴경우 잘못된명령이나데이터를사용할때발생하며, 트랩 (Trap) 이라고도부름 프로그램검사인터럽트 (Program Check Interrupt) - 0 으로나누기 (Divide by zero) 가발생한경우 - Overflow 또는 Underflow 가발생한경우 - 프로그램에서명령어를잘못사용한경우 - 부당한기억장소의참조와같은프로그램의오류 29

정보처리기사필기요약 소프트웨어인터럽트 094 06.9, 04.3, 01.6 인터럽트발생시 CPU 가확인할사항 프로그램카운터의내용 사용한모든레지스터의내용 상태조건의내용 (PSW) 095 09.5, 09.3, 08.5, 07.9, 07.3, 06.5, 06.3, 05.5, 05.4, 04.9, 04.5, 03.8, 03.5, 03.3, 02.5, 02.3, 01.9, 01.6, 99.8 인터럽트의동작순서 인터럽트요청신호발생 프로그램실행을중단함 : 현재실행중이던명령어 (Micro Instruction) 는끝까지실행함 현재의프로그램상태를보존함 : 프로그램상태는다음에실행할명령의번지로서 PC가가지고있음 인터럽트처리루틴을실행함 : 인터럽트를요청한장치를식별함 인터럽트서비스루틴을실행함 : 실질적인인터럽트를처리함 상태복구 : 인터럽트요청신호가발생했을때보관한 PC의값을다시 PC에저장함 중단된프로그램실행재개 : PC의값을이용하여인터럽트발생이전에수행중이던프로그램을계속실행함 096 프로그램처리중명령의요청에의해발생하는것으로, 가장대표적인형태는감시프로그램을호출하는 SVC(SuperVisor Call) 인터럽트가있음 SVC(SuperVisor Call) 인터럽트 - 사용자가 SVC 명령을사용해서의도적으로호출한경우 - 복잡한입 출력처리를해야하는경우 07.3, 04.5, 03.5, 01.9, 01.3, 00.3 인터럽트우선순위 목적 : 여러장치에서동시에인터럽트가발생하였을때먼저서비스할장치를결정하기위해서임 우선순위 ( 높음 > 낮음 ) : 전원이상 (Power Fail) > 기계착오 (Machine Check) > 외부신호 (External) > 입 출력 (I/O) > 명령어잘못 > 프로그램 (Program Check) > SVC(SuperVisor Call) 30 097 소프트웨어적인방법 : Polling 하드웨어적인방법 : Daisy Chain 098 기억용량 Access Time Cycle Time Bandwidth ( 대역폭, 전송률 ) 099 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 06.9, 05.9, 05.4, 05.3, 04.9, 04.5, 04.3, 03.8, 03.5, 03.3, 02.5, 02.3, 01.6, 01.3, 00.10 인터럽트우선순위판별방법 인터럽트발생시가장높은우선순위의인터럽트자원 (Source) 부터차례로검사해서, 우선순위가가장높은인터럽트자원 (Source) 을찾아내어이에해당하는인터럽트서비스루틴을수행하는방식 소프트웨어적인방식을폴링이라고함 많은인터럽트가있을때그들을모두조사하는데많은시간이걸려반응시간이느리다는단점이있음 회로가간단하고융통성이있으며, 별도의하드웨어가필요없으므로경제적임 인터럽트가발생하는모든장치를 1 개의회선에직렬로연결함 우선순위가높은장치를선두에위치시키고나머지를우선순위에따라차례로연결함 장치판별과정이간단해서응답속도가빠름 회로가복잡하고융통성이없으며, 추가적인하드웨어가필요하므로비경제적임 09.3, 08.5, 05.5, 04.3, 03.8, 02.9, 02.3, 01.6, 99.4 기억장치의특성을결정하는요소 기억장치는무조건기억용량이큰것을사용한다고해서좋은것이아니라, 사용목적에따라성능당경비비율이적은것을사용하는것이바람직함 기억장치에읽기요청이발생한시간부터요구한정보를꺼내서사용가능할때까지의시간 1 Word 단위의정보를읽거나기록하는데걸리는시간 Access Time = Seek Time + Latency Time( 또는 Search Time) + Transmission Time 기억장치에읽기신호를보낸후다시읽기신호를보낼수있을때까지의시간간격 Cycle Time Access Time 메모리로부터또는메모리까지 1 초동안전송되는최대한의정보량으로기억장치의자료처리속도를나타내는단위 메모리워드의길이가작을수록대역폭이좋음 07.3, 05.9, 00.7 ROM(Read Only Memory) 기억된내용을읽을수만있는기억장치로서일반적으로쓰기는불가능하다. 전원이꺼져도기억된내용이지워지지않는비휘발성메모리이다. 실제로 ROM은주기억장치로사용하기보다는주로기본입 출력시스템 (BIOS), 자가진단프로그램 (POST) 같은변경가능성이희박한시스템소프트웨어를기억시키는데이용한다.

정보처리기사필기요약 ROM 의종류와특징 종류 Mask ROM PROM (Programmable ROM) EPROM (Erasable PROM) EAROM(Erasable Alterable ROM) EEPROM(Electronic EPROM) 100 특징 제조공장에서프로그램화하여생산한 ROM 으로, 사용자가내용을변경시킬수없음 PROM 프로그램장치라는특수장비를이용하여비어있는 ROM 에사용자가한번만내용을기입할수있으며, 이후엔읽기만가능함 자외선을쏘여서기록한내용을지울수있고, PROM 프로그램장치로기록할수도있음 사용자가여러번반복해서지우거나기록할수있음 전기적특성을이용하여기록된정보의일부를바꿀수있는 ROM 전기적인방법을이용하여기록된내용을여러번수정하거나새로운내용을기록할수있는 ROM 07.3, 04.5, 02.9 RAM(Random Access Memory) 자유롭게읽고쓸수있는기억장치로, RWM(Read Write Memory) 이라고도한다. RAM에는현재사용중인프로그램이나데이터가저장되어있다. 전원이꺼지면기억된내용이모두사라지는휘발성메모리이다. 일반적으로 주기억장치 또는 메모리 라고하면램을의미한다. 정보가저장된위치는주소로구분한다. DRAM/SRAM의특징 101 RAM/ROM 의구성 08.5, 08.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.4, 03.5, 03.3, 02.9, 02.3, 01.9, 01.6, 01.3, 00.3 반도체기억소자의구성 RAM은칩선택선, 읽기쓰기선택선, 주소선, 양방향데이터버스가있지만 ROM은읽기만할수있도록정해져있으므로읽기쓰기선택선이없고, 데이터버스도단방향이다. Chip 선택 1 Chip 선택 2 Read Write 7-Bit Addr CS1 CS2 RD WR AD7 128 8 RAM RAM 8Bit Data Bus Chip 선택 1 Chip 선택 2 9-Bit Addr CS1, CS2 : 칩선택선 RD : 입력신호선 WR : 출력신호선 AD : 주소선, 주소선의수는지정할수있는워드의수를나타낸다. 주소선이 n개라면 2 n 개의워드를지정할수있음 Data Bus : 워드의크기를나타낸다. 데이터버스가 8Bit라면워드의크기가 8Bit임 RAM/ROM의용량계산 위그림에서 RAM은주소선이 7개이고, Data Bus가 8Bit이므로 128(27) 8Bit의용량이고, ROM은주소선이 9개이고, Data Bus가 16Bit이므로 512(29) 16Bit의용량이다. 주소선의수는주소를지정하는 MAR, 그리고다음실행할명령의주소를가지고있는 PC의크기와같고, Data Bus의비트수는읽어온또는저장할자료를잠시보관하는 MBR, 그리고읽어온명령어를저장하는 IR의크기와같음 주소선의수 = MAR = PC, Data Bus의비트수 = MBR = IR CS1 CS2 AD9 512 16 ROM ROM 16Bit Data Bus 구성소자특징전력소모 콘덴서 전원이공급되어도일정시간이지나면전하가방전되므로주기적인재충전 (Refresh) 이필요함 적음 동적램 (DRAM) 플립플롭 전원이공급되는동안에는기억내용이유지됨 많음 정적램 (SRAM) 102 자기테이프 (Magnetic Tape) 08.9, 07.3, 05.4, 05.3, 02.5, 01.3, 00.7, 00.3, 99.8 보조기억장치 순차처리 (SASD) 만할수있는대용량저장매체 가격이저렴하고용량이커서자료의백업용으로많이사용함 자성물질이코팅된얇은플라스틱테이프를동그란릴에감아놓은형태 테이프의시작과끝부분을알리는은박지사이의정보저장부분을 7~9 트랙으로구성함 접근속도 느림 빠름 집적도 ( 밀도 ) 높음 낮음 가격 저가 고가 용도 일반적인주기억장치 캐시메모리 31

자기디스크 (Magnetic Disk) 103 09.5, 04.9, 00.10 디스크의 Access Time( 이동 Head) 디스크시스템은디스크번호, 디스크표면번호, 트랙번호, 섹터번호를표현하는번지 Bit를가지고디스크의기억공간을 Access한다. Access Time = Seek Time + Latency Time + Transmission Time Seek Time( 탐색시간 ) : R/W Head가특정트랙까지이동하는데걸리는시간 Latency Time( 회전지연시간, Rotational Delay Time) 또는 Search Time : R/W Head가특정트랙까지이동한후디스크가회전하여트랙에포함되어있는특정섹터가 R/W Head까지도달하는데걸리는시간 Transmission Time( 전송시간 ) : R/W Head가 Access한 Sector와주기억장치간의자료전송에걸리는시간 104 자성물질을입힌금속원판을여러장겹쳐서만든기억매체로용량이크고접근속도가빠름 순차, 비순차 ( 직접 ) 처리가모두가능한 DASD(Direct Access Storage Device) 방식으로데이터를처리함 트랙 (Track) : 디스크표면에서회전축 ( 스핀들모터 ) 을중심으로데이터가기록되는동심원 섹터 (Sector) : 트랙들을일정한크기로구분한부분이며, 정보기록의기본단위임 실린더 (Cylinder) : 서로다른면들에있는동일위치의트랙들의모임으로, 실린더의수는한면의트랙수와동일함 07.9, 07.3, 05.9, 05.4, 05.3, 04.9, 04.5, 04.3, 03.8, 03.3, 02.5, 01.9, 01.6, 01.3, 00.10 연관기억장치 (Associative Memory) 기억장치에서자료를찾을때주소에의해접근하지않고, 기억된내용의일부를이용하여 Access할수있는기억장치로, CAM(Content Addressable Memory) 이라고도한다. 주소에의해서만접근이가능한기억장치보다정보검색이신속하다. 캐시메모리나가상메모리관리기법에서사용하는 Mapping Table에사용된다. 외부의인자와내용을비교하기위한병렬판독논리회로를갖고있기때문에하드웨어비용이증가한다. 105 정보처리기사필기요약 09.5, 09.3, 07.9, 07.5, 07.3, 06.9, 05.3, 04.9, 03.5, 02.3, 01.9, 00.10, 99.10, 99.8, 99.4 복수모듈기억장치 복수모듈기억장치는독자적으로데이터를저장할수있는기억장치모듈을여러개가진기억장치이다. 복수모듈기억장치의특징 - 주기억장치와 CPU의속도차이문제점을개선한다. - 기억장치의버스를시분할하여사용한다. - 기억장소의접근을보다빠르게한다. - 복수모듈기억장치에사용되는각각의기억장치는자체의어드레스레지스터와버퍼레지스터를가지고독자적으로데이터를저장할수있다. - 인터리빙기법에의해기억장치를구성하는모듈수만큼의단어 (Word) 들에동시접근이가능하다. - Bus를구성하는회선의수가많을때는모든모듈에동시에병렬접근할수있다. 메모리인터리빙 (Memory Interleaving) 여러개의독립된모듈로이루어진복수모듈메모리와 CPU 간의주소버스가한개로만구성되어있으면같은시각에 CPU로부터여러모듈들로동시에주소를전달할수없기때문에, CPU가각모듈로전송할주소를교대로배치한후차례대로전송하여여러모듈을병행접근하는기법이다. 메모리인터리빙기법을사용하면기억장치의접근시간을효율적으로높일수있으므로캐시기억장치, 고속 DMA 전송등에서많이사용된다. 106 09.5, 08.9, 08.5, 07.3, 06.3, 05.3, 03.5, 02.3, 01.6, 01.3, 00.3, 99.8, 99.4 캐시메모리 (Cache Memory) CPU의속도와메모리의속도차이를줄이기위해사용하는고속 Buffer Memory이다. 캐시는주기억장치와 CPU 사이에위치한다. 캐시메모리는메모리계층구조에서가장빠른소자이며, 처리속도가거의 CPU의속도와비슷할정도이다. 캐시를사용하면기억장치를접근 (Access) 하는횟수가줄어들기때문에컴퓨터의처리속도가향상된다. 명령어나자료를찾기위하여캐시메모리에접근하는경우, 원하는정보가캐시메모리에기억되어있을때적중 (Hit) 되었다고하고, 기억되어있지않으면실패했다고한다. 적중횟수 적중률 = 로계산한다. 총접근횟수 32

정보처리기사필기요약 107 07.5, 05.9, 04.3, 03.3, 01.6, 00.3, 99.10 가상기억장치 (Virtual Memory) 기억용량이작은주기억장치를마치큰용량을가진것처럼사용할수있도록하는운영체제의메모리운영기법이다. 가상기억장치의목적은주기억장치의용량확보이다. 가상기억장치는하드웨어적으로실제로존재하는것이아니고소프트웨어적인방법으로보조기억장치를주기억장치처럼사용하는것이다. 사용자프로그램을여러개의작은블록으로나누어서보조기억장치상에보관해놓고프로그램실행시필요한부분들만주기억장치에적재한다. 주기억장치의이용률과다중프로그래밍의효율을높일수있다. 가상기억장치기법에서사용하는보조기억장치는디스크같은 DASD 장치이어야한다. 주소의사용 - 가상기억장치기법에서는보조기억장치에저장된사용자프로그램을블록으로나누어블록에대한주소를주기억장치와는별도의주소로표현하여필요시해당블록만을주기억장치에적재한다. - 가상주소 ( 논리주소 ) : 보조기억장치상의주소로, 이들주소의집합을주소공간이라고한다. - 실기억주소 ( 물리적주소 ) : 주기억장치상의주소로물리적주소라고도하며, 이들주소의집합을메모리공간이라고한다. 108 SISD(Single Instruction stream Single Data stream) SIMD(Single Instruction stream Multi Data stream) MISD(Multi Instruction stream Single Data stream) MIMD(Multi Instruction stream Multi Data stream) 07.3, 06.5, 06.3, 05.4, 99.4 플린 (Flynn) 의병렬컴퓨터분류 현재의보통컴퓨터구조이다. 명령하나가자료하나를처리하는구조이다 제어장치가한개의명령을번역한후처리기를작동시켜명령을처리할때기억장치에서한개의자료를꺼내서처리한다. Pipeline 에의한시간적병렬처리가가능하다. 한개의명령으로여러 Data 를동시에처리하는구조이다. 다수의처리기가한개의제어장치에의해제어된다. 배열처리기 (Array Processor) 에의한동기적병렬처리가가능하다. 다수의처리기에의해각각의명령들이하나의 Data 를처리하는구조이다. 실제로는사용되지않는구조이다. Pipeline 에의한비동기적병렬처리가가능하다 다수의처리기가각각다른명령흐름과자료흐름을가지고여러개의자료를처리하는구조이다. 처리기들의상호연결시 Tightly Coupled System 을다중처리기, Loosely Coupled System 을분산처리시스템이라한다. 다중처리기에의한비동기적병렬처리가가능하다. 33 3 과목 운영체제 109 09.5, 08.3, 07.9, 06.5, 06.3, 04.5, 03.3, 02.5, 01.9, 00.3, 99.10, 99.4 시스템소프트웨어의구성 제어프로그램 (Control Program) : 시스템전체의작동상태감시, 작업의순서지정, 작업에사용되는데이터관리등의역할을수행하는프로그램 감시 (Supervisor) 프로그램 작업제어 (Job Control) 프로그램 자료관리 (Data Management) 프로그램 각종프로그램의실행과시스템전체의작동상태를감시 감독하는프로그램 어떤업무를처리하고다른업무로의이행을자동으로수행하기위한준비및그처리에대한완료를담당하는프로그램 주기억장치와보조기억장치사이의데이터전송과보조기억장치의자료갱신및유지보수기능을수행하는프로그램 처리프로그램 : 제어프로그램의지시를받아사용자가요구한문제를해결하기위한프로그램 언어번역 (Language Translate) 프로그램 서비스 (Service) 프로그램문제 (Problem) 프로그램 110 정의 목적 기능 원시프로그램을기계어형태의목적프로그램으로번역하는프로그램 ( 어셈블러, 컴파일러, 인터프리터 ) 컴퓨터를효율적으로사용할수있는사용빈도가높은프로그램 특정업무및해결을위해사용자가작성한프로그램 09.5, 09.3, 08.9, 08.5, 07.9, 07.5, 07.3, 05.5, 05.4, 05.3, 04.9, 03.8, 03.5, 03.3, 02.9, 02.5, 00.10 00.3, 99.4 운영체제의정의 / 목적 / 기능 컴퓨터시스템의자원들을효율적으로관리하며, 사용자가컴퓨터를편리하고효과적으로사용할수있도록환경을제공하는여러프로그램의모임 사용자와컴퓨터간의인터페이스제공 자원의효율적인운영및자원스케줄링 데이터공유및주변장치관리 처리능력및신뢰도향상, 사용가능도향상 응답 ( 반응 ) 시간단축, 반환시간등의단축 성능평가기준 : 처리능력 (Throughput), 반환시간 (Turn Around Time), 사용가능도 (Availability), 신뢰도 (Reliability) 프로세스, 기억장치, 입 출력장치, 파일및정보등의자원관리 자원의스케줄링기능제공 사용자와시스템간의편리한인터페이스제공 시스템의각종하드웨어와네트워크관리 제어 시스템의오류검사및복구, 데이터관리, 데이터및자원공유 자원보호기능제공 가상계산기기능제공 병렬수행을위한편의성제공

정보처리기사필기요약 111 프로세스관리 기억장치관리 주변장치관리파일관리 06.9, 05.9, 05.5, 05.3 운영체제주요자원관리 프로세스스케줄링및동기화관리담당 프로세스생성과제거, 시작과정지, 메시지전달등의기능담당 프로세스에게메모리할당및회수관리담당 입 출력장치스케줄링및전반적인관리담당 파일의생성과삭제, 변경, 유지등의관리담당 다중모드처리 (Multi- Mode Processing) 분산처리 (Distributed Processing) 시스템 일괄처리시스템, 시분할시스템, 다중처리시스템, 실시간처리시스템을한시스템에서모두제공하는방식 여러개의컴퓨터 ( 프로세서 ) 를통신회선으로연결하여하나의작업을처리하는방식 112 일괄처리 (Batch Processing) 시스템 다중프로그래밍 (Multi- Programming) 시스템 시분할 (Time Sharing) 시스템 다중처리 (Multi- Processing) 시스템 실시간처리 (Real Time Processing) 시스템 09.3, 08.9, 08.3, 07.9, 06.3, 05.5, 05.4, 04.5, 04.3, 03.5, 02.3, 01.9, 99.8 운영체제운용기법및발달과정 초기의컴퓨터시스템에서사용된형태로, 일정량또는일정기간동안데이터를모아서한꺼번에처리하는방식 컴퓨터시스템을효율적으로사용할수있음 사용자측면에서는반환 ( 응답 ) 시간이늦지만하나의작업이모든자원을독점하므로 CPU 유휴시간이줄어듦 급여계산, 지불계산, 연말결산등의업무에사용됨 하나의 CPU 와주기억장치를이용하여여러개의프로그램을동시에처리하는방식 하나의주기억장치에 2 개이상의프로그램을기억시켜놓고, 하나의 CPU 와대화하면서동시에처리함 여러명의사용자가사용하는시스템에서 CPU 가사용자들의프로그램을번갈아가며처리해줌으로써각사용자에게독립된컴퓨터를사용하는느낌을주는것으로, 라운드로빈 (Round Robin) 방식이라고도함 여러사용자가각자의단말장치를통하여동시에운영체제와대화하면서각자의프로그램을실행함 하나의 CPU 는같은시점에서여러개의작업을동시에수행할수없기때문에, CPU 의전체사용시간을작은작업시간량 (Time Slice) 으로나누어서그시간량동안만번갈아가면서 CPU 를할당하여각작업을처리함 다중프로그래밍방식과결합하여모든작업이동시에진행되는것처럼느껴지며, 대화식처리가가능함 여러개의 CPU 와하나의주기억장치를이용하여여러개의프로그램을동시에처리하는방식 하나의 CPU 가고장나더라도다른 CPU 를이용하여업무를처리할수있으므로시스템의신뢰성과안정성이높음 데이터발생즉시, 또는데이터처리요구가있는즉시처리하여결과를산출하는방식 우주선운행이나레이더추적기, 핵물리학실험및데이터수집, 전화교환장치의제어, 은행의온라인업무, 좌석예약업무, 인공위성, 군함등의제어업무등시간에제한을두고수행되어야하는작업에사용됨 113 컴파일러 인터프리터 114 01.6, 00.3, 99.4 컴파일러와인터프리터 고급언어로작성된소스프로그램전체를목적프로그램으로번역한후, 링킹작업을통해컴퓨터에서실행가능한실행프로그램을생성함 번역과정이번거롭고, 번역시간이오래걸리지만실행속도가빠름 FORTRAN, COBOL, PASCAL, C, C++, PL/1 등이컴파일러를사용함 고급언어로작성된프로그램을한줄단위로받아들여번역하고, 번역과동시에프로그램을한줄단위로즉시실행시키는프로그램 줄단위로번역 실행되기때문에시분할시스템에유용함 프로그램이직접실행되므로목적프로그램이생성되지않음 번역속도는빠르지만실행속도는느림 BASIC, SNOBOL, LISP, APL 등이인터프리터를사용함 07.3, 04.5, 04.3, 02.3, 01.3, 00.7 매크로와매크로프로세서 매크로 : 프로그램작성시한프로그램내에서동일한코드가반복될경우반복되는코드를한번만작성하여특정이름으로정의한후그코드가필요할때마다정의된이름을호출하여사용하는것으로, 매크로는매크로이름이호출되면호출된횟수만큼정의된매크로코드가해당위치에삽입되어실행되며매크로정의내에또다른매크로를정의를할수있다. 매크로프로세서 : 원시프로그램에존재하는매크로호출부분에매크로 (Macro) 프로그램을삽입하여확장된원시프로그램을생성하는시스템소프트웨어 매크로프로세서처리과정 : 매크로정의인식 매크로정의저장 매크로호출인식 매크로확장과인수 ( 매개변수 ) 치환 34

115 링커 09.3, 08.5, 07.5, 06.9, 06.5, 06.3, 05.3, 04.9, 04.3, 03.3, 02.9, 01.6, 01.3, 00.5, 00.3 링커 / 로더 언어번역프로그램이생성한목적프로그램들과라이브러리, 또다른실행프로그램 ( 로드모듈 ) 등을연결하여실행가능한로드모듈을만드는시스템소프트웨어이다. 연결기능만수행하는로더의한형태로, 링커에의해수행되는작업을링킹 (Linking) 이라한다. 로더 정의 기능 종류 116 컴퓨터내부로정보를들여오거나로드모듈을디스크등의보조기억장치로부터주기억장치에적재하는시스템소프트웨어 할당 (Allocation) : 실행프로그램을실행시키기위해기억장치내에옮겨놓을공간을확보하는기능 연결 (Linking) : 부프로그램호출시그부프로그램이할당된기억장소의시작주소를호출한부분에등록하여연결하는기능 재배치 (Relocation) : 디스크등의보조기억장치에저장된프로그램이사용하는각주소들을할당된기억장소의실제주소로배치시키는기능 적재 (Loading) : 실행프로그램을할당된기억공간에실제로옮기는기능 Compile And Go 로더 : 별도의로더없이언어번역프로그램이로더의기능까지수행하는방식 ( 할당, 재배치, 적재작업을모두언어번역프로그램이담당 ) 절대로더 (Absolute Loader) : 목적프로그램을기억장소에적재시키는기능만수행하는로더 ( 할당및연결은프로그래머가, 재배치는언어번역프로그램이담당 ) 직접연결로더 (Direct Linking Loader) : 일반적인기능의로더로, 로더의기능 4 가지를모두수행하는로더 동적적재로더 (Dynamic Loding Loader) : 프로그램을한꺼번에적재하는것이아니라실행시필요한일부분만을적재하는로더 프로세스의정의 08.9, 08.5, 07.9, 07.5, 07.3, 06.3, 04.5, 04.3, 00.7, 99.10 프로세스 / 스레드 프로세스 (Process) 는일반적으로프로세서 ( 처리기, CPU) 에의해처리되는사용자프로그램이나시스템프로그램을의미하는것으로, 필요한각종자원을요구한다. 실행중인프로그램, PCB를가진프로그램, 실기억장치에저장된프로그램 프로세서가할당되는실체, 프로시저가활동중인것 비동기적행위를일으키는주체, 지정된결과를얻기위한일련의계통적동작 목적또는결과에따라발생되는사건들의과정 스레드 (Thread) 정보처리기사필기요약 프로세스내에서의작업단위로서시스템의여러자원을할당받아실행하는프로그램의단위이다. 하나의프로세스에하나의스레드가존재하는경우에는단일스레드, 하나이상의스레드가존재하는경우에는다중스레드라고한다. 스레드는하나의프로세스내에서병행성을증대시키기위한메커니즘으로, 스레드기반시스템에서스레드는독립적인스케줄링의최소단위로서프로세스의역할을담당한다. 스레드는프로세스의일부특성을갖고있기때문에경량 (Light Weight) 프로세스라고도한다. 스레드의분류 사용자수준의스레드 커널수준의스레드 사용자가만든라이브러리를사용하여스레드를운용함 속도는빠르지만구현이어려움 운영체제의커널에의해스레드를운용함 구현이쉽지만속도가느림 스레드사용의장점 - 하나의프로세스를여러개의스레드로생성하여병행성을증진시킬수있다. - 하드웨어, 운영체제의성능과응용프로그램의처리율을향상시킬수있다. - 응용프로그램의응답시간 (Response Time) 을단축시킬수있다. - 실행환경을공유시켜기억장소의낭비가줄어든다. - 프로세스들간의통신이향상된다. 117 09.3, 05.5, 04.5, 03.8, 03.3, 02.5, 01.9, 00.10, 00.3, 99.4 PCB(Process Control Block) PCB : 운영체제가프로세스에대한중요한정보를저장해놓는곳으로, 각프로세스가생성될때마다고유의 PCB가생성되고, 프로세스가완료되면 PCB가제거됨 PCB에저장되어있는정보 : 프로세스의현재상태, 포인터 ( 부모프로세스에대한포인터 자식프로세스에대한포인터 프로세스가위치한메모리에대한포인터 할당된자원에대한포인터 ), 프로세스고유식별자, 스케줄링및프로세스의우선순위, CPU 레지스터정보 ( 누산기, 인덱스레지스터, 프로그램카운터등 ), 주기억장치관리정보, 입 출력상태정보, 계정정보 35

118 119 05.4, 01.3, 99.4 프로세스상태전이 프로세스의주요상태 준비 (Read) 실행 (Run) 대기 (Wait), 보류, 블록 (Block) 프로세스의주요상태 Dispatch Wake-Up 프로세스가프로세서를할당받기위해기다리고있는상태 준비상태큐에있는프로세스가프로세서를할당받아실행되는상태 프로세스수행이완료되기전에프로세스에게주어진프로세서할당시간이종료 (Time Run Out) 되면프로세스는준비상태로전이됨 실행중인프로세스에입 출력 (I/O) 처리가필요하면실행중인프로세스는대기상태로전이됨 프로세스에입 출력처리가필요하면현재실행중인프로세스가중단되고, 입 출력처리가완료될때까지대기하고있는상태 준비상태에서대기하고있는프로세스중하나가프로세서를할당받아실행상태로전이되는과정 입 출력작업이완료되어프로세스가대기상태에서준비상태로전이되는과정 09.3, 07.5, 07.3, 06.9, 06.5, 05.4, 05.3, 04.9, 03.3, 03.5, 01.6, 00.10, 99.10 스케줄링 / 문맥교환 스케줄링정의 : 프로세스가생성되어실행될때필요한시스템의여러자원을해당프로세스에게할당하는작업 스케줄링목적 : 공정성, 처리율증가, CPU 이용률증가, 우선순위제도, 오버헤드최소화, 응답시간최소화, 반환시간최소화, 대기시간최소화, 균형있는자원의사용, 무한연기회피 문맥교환 (Context Switching) : 하나의프로세스에서다른프로세스로 CPU가할당되는과정에서발생되는것으로, 새로운프로세스에게 CPU를할당하기위해현재 CPU가할당된프로세스의상태정보를저장하고, 새로운프로세스의상태정보를설정한후 CPU를할당하여실행되도록하는작업. 운영체제에서오버헤드의큰요인중하나로작용됨 120 비선점 (Non- Preemptive) 스케줄링 선점 (Preemptive) 스케줄링 121 FCFS (First-Come First- Service) SJF (Shortest Job First) HRN(Hightest Response -ratio Next) 기한부 (Deadline) 우선순위 (Priority) 정보처리기사필기요약 08.9, 07.3, 06.9, 06.5, 03.3, 02.9, 02.3, 01.9, 01.3, 00.3, 99.10, 99.8 프로세스스케줄링의종류 이미할당된 CPU 를다른프로세스가강제로빼앗아사용할수없는스케줄링기법으로, 응답시간예측이용이함 프로세스가 CPU 를할당받으면해당프로세스가완료될때까지 CPU 를사용함 모든프로세스에대한요구를공정하게처리할수있음 일괄처리방식에적합하며, 중요한작업 ( 짧은작업 ) 이중요하지않은작업 ( 긴작업 ) 을기다리는경우가발생할수있음 종류 : FCFS, SJF, 우선순위, HRN, 기한부등의알고리즘 하나의프로세스가 CPU 를할당받아실행하고있을때우선순위가높은다른프로세스가 CPU 를강제로빼앗아사용할수있는스케줄링기법 우선순위가높은프로세스를빠르게처리할수있음 주로빠른응답시간을요구하는대화식시분할시스템에사용됨 선점할프로세스에게일정한시간을배당하기위한인터럽트용타이머클록 (Clock) 이필요함 종류 : SRT, 선점우선순위, Round Robin, 다단계큐, 다단계피드백큐등의알고리즘 09.5, 08.9, 07.3, 06.9, 06.5, 05.9, 05.5, 05.3, 04.3, 03.8, 03.5, 03.3, 02.9, 02.3, 99.4 비선점스케줄링의종류 준비상태큐에도착한순서에따라차례로 CPU 를할당하는기법 먼저도착한것이먼저처리되어공평성은유지되지만짧은작업이긴작업을, 중요한작업이중요하지않은작업을기다리게됨 실행시간이가장짧은프로세스에먼저 CPU 를할당하는기법 가장적은평균대기시간을제공하는최적알고리즘 실행시간이긴프로세스에불리한 SJF 기법을보완하기위한것으로, 대기시간과서비스 ( 실행 ) 시간을이용하는기법대기시간 + 서비스시간 우선순위계산공식 = 서비스시간 프로세스에게일정한시간을주어그시간안에프로세스를완료하도록하는기법 시스템은프로세스에게할당할정확한시간을추정해야하며, 이를위해서사용자는시스템이요구한프로세스에대한정확한정보를제공해야함 준비상태큐에서기다리는각프로세스마다우선순위를부여하여그중가장높은프로세스에게먼저 CPU 를할당하는기법 36

정보처리기사필기요약 122 04.5, 04.3, 02.5, 00.10, 00.7 에이징 (Aging) 기법 125 05.9, 01.9, 00.7 세마포어 (Semaphore) 시스템에서특정프로세스의우선순위가낮아무한정기다리게되는경우, 한번양보하거나기다린시간에비례하여일정시간이지나면우선순위를한단계씩높여가까운시간안에자원을할당받도록하는기법이다. SJF나우선순위기법에서발생할수있는무한연기상태, 기아상태를예방할수있다. 123 09.3, 08.5, 08.3, 07.9, 07.3, 06.5, 05.5, 04.9, 04.5, 03.8, 03.5, 02.3, 01.9, 01.6, 01.3, 99.10 선점스케줄링의종류 각프로세스에제어신호를전달하여순서대로작업을수행하도록하는기법이다. E.J.Dijkstra가제안하였으며, P와 V라는 2개의연산에의해서동기화를유지시키고, 상호배제의원리를보장한다. S 는 P와 V 연산으로만접근가능한세마포어변수로, 공유자원의개수를나타내며 0과 1 혹은 0과양의값을가질수있다. P 연산 : 자원을사용하려는프로세스들의진입여부를자원의개수 (S) 를통해결정하는것으로, Wait 동작이라고함 V 연산 : 대기중인프로세스를깨우는신호 (Wake Up) 로서, Signal 동작이라고함 선점우선순위 SRT (Shortest Remaining Time) RR (Round Robin) 준비상태큐의프로세스들중에서우선순위가가장높은프로세스에게먼저 CPU 를할당하는기법 비선점기법인 SJF 알고리즘을선점형태로변경한기법으로, 현재실행중인프로세스의남은시간과준비상태큐에새로도착한프로세스의실행시간을비교하여가장짧은실행시간을요구하는프로세스에게 CPU 를할당하는기법 시분할시스템 (Time Sharing System) 을위해고안된방식으로, FCFS 알고리즘을선점형태로변형한기법 FCFS 기법과같이준비상태큐에먼저들어온프로세스가먼저 CPU 를할당받지만각프로세스는할당된시간 (Time Slice, Quantum) 동안만실행한후실행이완료되지않으면다음프로세스에게 CPU 를넘겨주고준비상태큐의가장뒤로배치됨 할당되는시간이클경우 FCFS 기법과같아지고, 할당되는시간이작을경우문맥교환및오버헤드가자주발생됨 126 08.3, 04.9, 04.5, 03.5, 02.5, 01.6, 01.3 모니터 (Monitor) 동기화를구현하기위한특수프로그램기법으로특정공유자원을프로세스에게할당하는데필요한데이터와이데이터를처리하는프로시저로구성된다. 자료추상화와정보은폐개념을기초로하며공유자원을할당하기위한병행성구조로이루어져있다. 모니터내의공유자원을사용하려면프로세스는반드시모니터의진입부를호출해야한다. 외부의프로시저는직접액세스할수없으며, 모니터의경계에서상호배제가시행된다. 한순간에하나의프로세스만진입하여자원을사용할수있다. 모니터에서는 Wait와 Signal 연산이사용된다. 다단계큐 (Multi level Queue) 프로세스를특정그룹으로분류할수있을경우그룹에따라각기다른준비상태큐를사용하는기법 127 06.5, 03.8, 02.5, 01.6, 99.4 교착상태 (Deadlock) 다단계피드백큐 (Multi level Feedback Queue) 124 특정그룹의준비상태큐에들어간프로세스가다른준비상태큐로이동할수없는다단계큐기법을준비상태큐사이를이동할수있도록개선한기법 04.3, 03.3, 00.3 상호배제 (Mutual Exclusion) 특정프로세스가공유자원을사용하고있을경우다른프로세스가해당공유자원을사용하지못하게제어하는기법이다. 여러프로세스가동시에공유자원을사용하려할때각프로세스가번갈아가며공유자원을사용하도록하는것으로, 임계구역을유지하는기법이다. 정의 필요충분조건 상호배제에의해나타나는문제점으로, 둘이상의프로세스들이자원을점유한상태에서서로다른프로세스가점유하고있는자원을요구하며무한정기다리는현상 상호배제 (Mutual Exclusion) : 한번에한개의프로세스만이공유자원을사용할수있어야함 점유와대기 (Hold & Wait) : 최소한하나의자원을점유하고있으면서다른프로세스에할당되어사용되고있는자원을추가로점유하기위해대기하는프로세스가있어야함 비선점 (Non-preemptive) : 다른프로세스에할당된자원은사용이끝날때까지강제로빼앗을수없어야함 환형대기 (Circular Wait) : 공유자원과공유자원을사용하기위해대기하는프로세스들이원형으로구성되어있어자신에게할당된자원을점유하면서앞이나뒤에있는프로세스의자원을요구해야함 37

정보처리기사필기요약 128 09.5, 08.9, 08.5, 08.3, 07.9, 07.5, 06.5, 06.3, 05.5, 05.4, 05.3, 01.3, 00.10, 99.8 교착상태해결방법 예방기법 (Prevention) : 교착상태가발생되지않도록사전에시스템을제어하는방법으로, 교착상태발생의 4가지조건중에서어느하나를제거 ( 부정 ) 함으로써수행됨 상호배제부정 점유및대기부정 비선점부정 환형대기부정 한번에여러개의프로세스가공유자원을사용할수있게하는것으로, 실제로는구현하지않음 프로세스가실행되기전필요한모든자원을할당하여프로세스대기를없애거나자원이점유되지않은상태에서만자원을요구하도록함 자원을점유하고있는프로세스가다른자원을요구할때점유하고있는자원을반납하고, 요구한자원을사용하기위해기다리게함 자원을선형순서로분류하여고유번호를할당하고, 각프로세스는현재점유한자원의고유번호보다앞이나뒤어느한쪽방향으로만자원을요구하도록하는것 회피기법 (Avoidance) : 교착상태가발생할가능성을배제하지않고, 교착상태가발생하면적절히피해나가는방법으로, 주로은행원알고리즘 (Banker s Algorithm) 이사용됨 은행원알고리즘 Dijkstra 가제안한것으로, 은행에서모든고객의요구가충족되도록현금을할당하는데서유래한기법 각프로세스에게자원을할당하여교착상태가발생하지않으며모든프로세스가완료될수있는상태를안전상태, 교착상태가발생할수있는상태를불안전상태라고함 129 09.5, 09.3, 08.9, 08.5, 07.9, 07.3, 06.3, 05.9, 05.5, 04.9, 04.5, 03.8, 02.9, 02.5, 02.3, 01.9, 01.6, 00.7, 99.8, 99.4 기억장치관리전략 반입 (Fetch) 전략 : 보조기억장치에보관중인프로그램이나데이터를언제주기억장치로적재할것인지를결정하는전략 요구반입 예상반입 실행중인프로그램이특정프로그램이나데이터등의참조를요구할때적재하는방법 실행중인프로그램에의해참조될프로그램이나데이터를미리예상하여적재하는방법 배치 (Placement) 전략 : 새로반입되는프로그램이나데이터를주기억장치의어디에위치시킬것인지를결정하는전략 최초적합 (First Fit) 최적적합 (Best Fit) 최악적합 (Worst Fit) 프로그램이나데이터가들어갈수있는크기의빈영역중에서첫번째분할영역에배치시키는방법 프로그램이나데이터가들어갈수있는크기의빈영역중에서단편화를가장작게남기는분할영역에배치시키는방법 프로그램이나데이터가들어갈수있는크기의빈영역중에서단편화를가장많이남기는분할영역에배치시키는방법 교체 (Replacement) 전략 : 주기억장치의모든영역이이미사용중인상태에서새로운프로그램이나데이터를주기억장치에배치하려고할때, 이미사용되고있는영역중에서어느영역을교체하여사용할것인지를결정하는전략으로, FIFO, OPT, LRU, LFU, NUR, SCR 등이있음 130 08.5, 08.3, 07.5, 05.9, 05.5, 05.4, 03.8, 02.5, 02.3, 01.3, 00.10, 00.7 단편화 / 단편화해결방법 발견기법 (Detection) : 시스템에교착상태가발생했는지점검하여교착상태에있는프로세스와자원을발견하는것단편화 회복기법 (Recovery) : 교착상태를일으킨프로세스를종료하 분할된주기억장치에프로그램를할당하고반납하는과정을거나교착상태의프로세스에할당된자원을선점하여프로세반복하면서사용되지않고남는기억장치의빈공간조각을의스나자원을회복하는것미한다. 내부 (Internal) 단편화 : 분할된영역이할당될프로그램의크기교착상태에있는프로세스를종료하는것으로, 교착보다크기때문에프로그램이할당된후사용되지않고남아상태에있는모든프로세스를종료하는방법과교착프로세스종료상태에있는프로세스들을하나씩종료해가며교착있는빈공간상태를해결하는방법이있음 외부 (External) 단편화 : 분할된영역이할당될프로그램의크기 교착상태의프로세스가점유하고있는자원을선보다작기때문에프로그램이할당될수없어사용되지않고점하여다른프로세스에게할당하며, 해당프로세빈공간으로남아있는분할된전체영역스를일시정지시키는방법자원선점단편화해결방법 우선순위가낮은프로세스, 수행된정도가적은프로세스, 사용되는자원이적은프로세스위주로 통합 (Coalescing) 기법 : 주기억장치내에인접해있는단편화해당프로세스의자원을선점함된공간을하나의공간으로통합하는작업 압축 (Compaction) 기법, 집약 : 주기억장치내에분산되어있는단편화된빈공간을결합하여하나의큰가용공간을만드는작업으로, 여러위치에분산된단편화된빈공간을주기억장치의한쪽끝으로옮겨서큰기억공간을만듦 38

131 09.5, 09.3, 08.9, 08.3, 07.9, 06.5, 05.5, 05.3, 04.5, 00.7, 99.10, 99.8 가상기억장치의개념및구현기법 보조기억장치 ( 하드디스크 ) 의일부를주기억장치처럼사용하는것으로, 용량이작은주기억장치를마치큰용량을가진것처럼사용하는기법이다. 주기억장치의용량보다큰프로그램을실행하기위해사용한다. 가상기억장치에저장된프로그램을실행하려면가상기억장치의주소를주기억장치의주소로바꾸는주소변환작업이필요하다. 블록단위로나누어사용하므로연속할당방식에서발생할수있는단편화를해결할수있다. 주기억장치의이용률과다중프로그래밍의효율을높일수있다. 가상기억장치구현기법 페이징 (Paging) 기법 세그먼테이션 (Segmentation) 기법 132 가상기억장치에보관되어있는프로그램과주기억장치의영역을동일한크기로나눈후나눠진프로그램 ( 페이지 ) 을동일하게나눠진주기억장치의영역 ( 페이지프레임 ) 에적재시켜실행하는기법 외부단편화는발생하지않으나내부단편화는발생할수있음 주소변환을위해서페이지위치정보를가지고있는페이지맵테이블 (Page Map Table) 이필요함 가상기억장치에보관되어있는프로그램을다양한크기의논리적인단위로나눈후주기억장치에적재시켜실행시키는기법 프로그램을배열이나함수등과같은논리적인크기로나눈단위를세그먼트라고하며, 각세그먼트는고유한이름과크기를갖고있음 다른세그먼트에게할당된영역을침범할수없으며, 이를위해기억장치보호키 (Storage Protection Key) 가필요함 주소변환을위해서세그먼트가존재하는위치정보를가지고있는세그먼트맵테이블 (Segment Map Table) 이필요함 09.5, 08.5, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.5, 05.4, 05.3, 04.9, 04.5, 04.3, 03.8, 02.5, 02.3, 01.3, 00.10 페이지교체알고리즘 페이지부재가발생했을때가상기억장치의필요한페이지를주기억장치에적재해야하는데, 이때주기억장치의모든페이지프레임이사용중이면어떤페이지프레임을선택하여교체할지결정하는기법이다. FIFO (First In First Out) LRU(Least Recently Used) LFU(Least Frequently Used) NUR(Not Used Recently) SCR(Second Chance Replacement) 133 페이지크기가작을경우 페이지크기가클경우 정보처리기사필기요약 각페이지가주기억장치에적재될때마다그때의시간을기억시켜가장먼저들어와서가장오래있었던페이지를교체하는기법 이해하기쉽고, 프로그래밍및설계가간단하지만, 벨레이디의모순 (Belady s Anomaly) 현상이발생함 최근에가장오랫동안사용하지않은페이지를교체하는기법 각페이지마다계수기나스택을두어현시점에서가장오랫동안사용하지않은, 즉가장오래전에사용된페이지를교체함 사용빈도가가장적은페이지를교체하는기법 프로그램실행초기에많이사용된페이지가그후로사용되지않을경우에도프레임을계속차지할수있음 최근에사용하지않은페이지를교체하는기법 최근의사용여부를확인하기위해각페이지마다참조비트 (Reference Bit) 와변형비트 (Modified Bit, Dirty Bit), 즉 2 개의비트가사용됨 가장오랫동안주기억장치에있던페이지중자주사용되는페이지의교체를방지하기위한것으로, FIFO 기법의단점을보완한기법 08.9, 07.5, 06.9, 04.9, 04.3, 03.3, 01.3, 99.4 페이지크기 페이지의단편화가감소되고, 한개의페이지를주기억장치로이동하는시간이줄어듦 프로세스 ( 프로그램 ) 수행에필요한내용만주기억장치에적재할수있고, Locality( 국부성 ) 에더일치할수있기때문에기억장치효율이높아짐 페이지정보를갖는페이지맵테이블의크기가커지고, 매핑속도가늦어짐 디스크접근횟수가많아져서전체적인입 출력시간은늘어남 페이지정보를갖는페이지맵테이블의크기가작아지고, 매핑속도가빨라짐 디스크접근횟수가줄어들어전체적인입 출력의효율성이증가됨 페이지의단편화가증가되고, 한개의페이지를주기억장치로이동하는시간이늘어남 프로그램수행에불필요한내용까지도주기억장치에적재될수있음 OPT(OPTimal Replacement, 최적교체 ) 앞으로가장오랫동안사용하지않을페이지를교체하는기법 각페이지의호출순서와참조상황을미리예측해야하므로실현가능성이희박함 39

134 08.5, 07.3, 06.5, 04.9, 04.5, 03.8, 03.5, 03.3, 02.9, 01.9, 01.6, 01.3, 00.7, 00.3, 99.10 국부성 (Locality, 구역성 ) 프로세스가실행되는동안주기억장치를참조할때일부페이지만집중적으로참조하는성질이있다는이론이다. 스래싱을방지하기위한워킹셋이론의기반이된다. 프로세스가집중적으로사용하는페이지를알아내는방법중하나로, 가상기억장치관리의이론적인근거가된다. Locality 종류 시간구역성 (Temporal Locality) 공간구역성 (Spatial Locality) 프로세스가실행되면서하나의페이지를일정시간동안집중적으로액세스하는현상 시간구역성이이루어지는기억장소 : Loop( 반복, 순환 ), 스택 (Stack), 부프로그램 (Sub Routine), Counting(1 씩증감 ), Totaling( 집계 ) 에사용되는변수 ( 기억장소 ) 프로세스실행시일정위치의페이지를집중적으로액세스하는현상 공간구역성이이루어지는기억장소 : 배열순례 ( 회 )(Array Traversal), 순차적코드의실행, 프로그래머들이관련된변수 ( 데이터를저장할기억장소 ) 들을서로근처에선언하여할당되는기억장소로, 같은영역에있는변수를참조할때사용 136 스래싱 (Thrashing) 정보처리기사필기요약 09.5, 08.5, 08.3, 07.9, 06.9, 06.5, 06.3, 05.4, 04.5, 04.3, 03.5, 03.3, 02.9, 02.3, 01.9, 01.6, 01.3, 00.7, 99.4 프로세스의처리시간보다페이지교체시간이더많아지는현상이다. 다중프로그래밍시스템이나가상기억장치를사용하는시스템에서하나의프로세스수행과정중자주페이지부재가발생함으로써나타나는현상으로전체시스템의성능이저하된다. 다중프로그래밍의정도가높아짐에따라 CPU의이용률은어느특정시점까지는높아지지만다중프로그래밍의정도가더욱커지면스래싱이나타나고, CPU의이용률은급격히감소된다. CPU 이용률을높이고, 스래싱현상을방지하려면다중프로그래밍의정도를적정수준으로유지하고, 페이지부재율 (Page Fault Rate) 을조절해서사용하며, Working Set을유지해야한다. 137 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.3, 05.9, 05.5, 05.4, 05.3, 04.5, 04.3, 03.8, 03.5, 03.3, 02.9, 01.9, 01.6, 01.3, 00.3 디스크스케줄링 사용할데이터가디스크상의여러곳에저장되어있을경우데이터를액세스하기위해디스크헤드가움직이는경로를결정하는기법이다. 135 08.9, 07.3, 06.3, 04.5, 03.3, 02.9, 02.5, 00.10, 00.7, 99.8 워킹셋 / 페이지부재 워킹셋 (Working Set) - 프로세스가일정시간동안자주참조하는페이지들의집합이다. - 데닝 (Denning) 이제안한프로그램의움직임에대한모델로, 프로그램의 Locality 특징을이용한다. - 자주참조되는워킹셋을주기억장치에상주시킴으로써페이지부재및페이지교체현상을줄인다. - 프로세스가실행하는과정에서시간이지남에따라자주참조하는페이지들의집합이변화하기때문에워킹셋은시간에따라바뀌게된다. 페이지부재는프로세스실행시참조할페이지가주기억장치에없는현상이며, 페이지부재빈도 (PFF; Page Fault Frequency) 는페이지부재가일어나는횟수를의미한다. 페이지부재빈도방식 : 페이지부재율 (Page Fault Rate) 에따라주기억장치에있는페이지프레임의수를늘리거나줄여페이지부재율을적정수준으로유지하는방식 FCFS (First Come First Service) SSTF (Shortest Seek Time First) SCAN C-SCAN (Circular SCAN) 가장간단한스케줄링으로, 디스크대기큐에가장먼저들어온트랙에대한요청을먼저서비스하는기법 디스크대기큐에들어온순서대로서비스하기때문에더높은우선순위의요청이입력되어도순서가바뀌지않아공평성이보장됨 탐색거리가가장짧은트랙에대한요청을먼저서비스하는기법 현재헤드위치에서가장가까운거리에있는트랙으로헤드를이동시킴 FCFS 보다처리량이많고, 평균탐색시간이짧음 처리량이많은일괄처리시스템에유용함 SSTF 가갖는탐색시간의편차를해소하기위한기법 현재헤드의위치에서진행방향이결정되면탐색거리가짧은순서에따라그방향의모든요청을서비스하고, 끝까지이동한후역방향의요청사항을서비스함 항상바깥쪽에서안쪽으로움직이면서가장짧은탐색거리를갖는요청을서비스하는기법 헤드는트랙의바깥쪽에서안쪽으로한방향으로만움직이며서비스하여끝까지이동한후, 안쪽에더이상의요청이없으면헤드는가장바깥쪽의끝으로이동한후다시안쪽으로이동하면서요청을서비스함 40

정보처리기사필기요약 N-step SCAN 138 파일 SCAN 기법을기초로하며, 어떤방향의진행이시작될당시에대기중이던요청들만서비스하고, 진행도중도착한요청들은한데모아서다음의반대방향진행시에서비스하는기법 09.3, 08.9, 07.3, 05.9, 05.5 파일 `/` 파일시스템 파일은사용자가작성한서로관련있는레코드의집합체로, 고유한이름을갖고있다. 프로그램구성의기본단위가되며, 보조기억장치에저장된다. 각파일마다위치, 크기, 작성시기등의여러속성을가지고있다. 파일시스템의기능 사용자와보조기억장치사이에서인터페이스를제공한다. 사용자가파일을생성, 수정, 제거할수있도록한다. 적절한제어방식을통해타인의파일을공동으로사용할수있도록한다. 사용자가적합한구조로파일을구성할수있도록한다. 불의의사태를대비하여파일의예비와복구등의기능을제공한다. 정보를암호화 (Encryption) 하고해독 (Decrypt) 할수있는기능을제공한다. 139 09.5, 08.5, 08.3, 07.5, 05.9, 04.9, 03.5, 02.9, 01.6, 00.7 파일디스크립터 (File Descriptor) 파일을관리하기위해시스템 ( 운영체제 ) 이필요로하는파일에대한정보를갖고있는제어블록 ( 파일제어블록, FCB) 이다. 보통파일디스크립터는보조기억장치내에저장되어있다가해당파일이 Open될때주기억장치로옮겨진다. 파일마다독립적으로존재하며, 시스템에따라다른구조를가질수있다. 파일시스템이관리하므로사용자가직접참조할수없다. 파일디스크립터의정보 : 파일이름, 보조기억장치에서의파일위치, 파일구조, 보조기억장치의유형, 액세스제어정보, 파일유형, 생성날짜와시간, 제거날짜와시간, 최종수정날짜및시간, 액세스한횟수 140 07.3, 05.4, 01.9 순차파일 (Sequential File), 순차접근방식 레코드를논리적인처리순서에따라연속된물리적저장공간에기록하는것이다. 대화식처리보다일괄처리에적합한구조이다. 주로순차접근이가능한자기테이프에서사용한다. 장점 : 파일의구성이용이하고기억공간의이용효율이높으며접근속도가빠름 단점 : 파일에새로운레코드를삽입하거나삭제하는경우시간이많이걸림, 검색효율이낮음 141 09.3, 06.5, 06.3, 03.5, 00.10 직접파일 (Direct File), 직접접근방식 파일을구성하는레코드를임의의물리적저장공간에기록하는것이다. 레코드에특정기준으로키가할당되며, 해싱함수 (Hashing Function) 를이용하여이키에대한보조기억장치의물리적상대레코드주소를계산한후해당하는주소에레코드를저장한다. 레코드는해싱함수에의해계산된물리적주소를통해접근이가능하다. 임의접근이가능한자기디스크나자기드럼을사용한다. 장점 : 파일의각레코드에직접접근하거나기록할수있음, 접근시간이빠르고, 레코드의삽입, 삭제, 갱신이용이함 단점 : 레코드의주소변환과정이필요하며, 이과정으로인해시간이소요됨, 기억공간의효율이저하됨 142 07.5, 07.3, 06.9, 04.9, 04.3, 03.3, 99.8 색인순차파일 (Indexed Sequential File) 순차파일과직접파일에서지원하는편성방법이결합된형태이다. 각레코드를키값순으로논리적으로저장하고, 시스템은각레코드의실제주소가저장된색인을관리한다. 레코드를참조하려면색인을탐색한후색인이가리키는포인터 ( 주소 ) 를사용하여직접참조할수있다. 기본영역, 색인영역, 오버플로영역으로구성되며, 색인영역은트랙색인영역, 실린더색인영역, 마스터색인영역으로분류된다. 장점 : 순차처리와임의처리가모두가능, 효율적인검색가능, 삭제, 삽입, 갱신이용이함 단점 : 색인이나오버플로처리를위한추가기억공간이필요하고, 접근시간이직접파일보다느림 41

143 09.5, 09.3, 08.9, 08.5, 07.9, 04.5, 04.3, 02.9, 02.5, 02.3, 01.6, 00.7, 00.3, 99.10 디렉터리의구조 디렉터리는파일시스템내부에있는것으로, 효율적인파일사용을위해디스크에존재하는파일에대한여러정보를가지고있는특수한형태의파일이다. 정보처리기사필기요약 - 접근제어리스트 (Access Control List) : 접근제어행렬에있는각열, 즉객체를중심으로접근리스트를구성한기법 - 권한 ( 자격 ) 리스트 (Capability List) : 접근제어행렬에있는각행, 즉영역을중심으로권한리스트를구성한기법 1 단계디렉터리 2 단계디렉터리 트리디렉터리 비순환그래프디렉터리 일반적인그래프디렉터리 가장간단하고, 모든파일이하나의디렉터리내에위치하여관리되는구조 모든파일들이유일한이름을가지고있어야함 모든파일이같은디렉터리내에유지되므로이해하기쉽지만, 파일의수나사용자의수가증가하면파일관리가복잡해짐 중앙에마스터파일디렉터리가있고, 그아래에사용자별로서로다른파일디렉터리가있는 2 계층구조 마스터파일디렉터리는사용자파일디렉터리를관리하고, 사용자파일디렉터리는사용자별파일을관리함 서로다른디렉터리에서는동일한파일이름을사용할수있음 하나의루트디렉터리와여러개의종속 ( 서브 ) 디렉터리로구성된구조 DOS, Windows, UNIX 등의운영체제에서사용되는디렉터리구조 동일한이름의파일이나디렉터리를생성할수있음 디렉터리의생성과파괴가비교적용이함 하위파일이나하위디렉터리를공동으로사용할수있는것으로, 사이클이허용되지않는구조 하나의파일이나디렉터리가여러개의경로이름을가질수있음 공유된파일을삭제할경우고아포인터 (Dangling Pointer) 가발생할수있음 트리구조에링크 (Link) 를첨가시켜순환을허용하는그래프구조 디렉터리와파일공유에완전한융통성이있음 불필요한파일을제거하여사용공간을늘리기위하여참조계수기가필요함 145 07.5, 07.3, 06.5, 06.3, 05.3, 03.5 파일보호기법 파일보호기법은파일에대한일방적인접근과손상및파괴를방지하기위한기법이다. 파일보호기법의종류 - 파일의명명 (Naming) : 접근하고자하는파일이름을모르는사용자를접근대상에서제외시키는기법 - 비밀번호 (Password, 암호 ) : 각파일에판독암호와기록암호를부여하여암호를아는사용자에게만접근을허용하는기법 - 접근제어 (Access Control) : 사용자에따라공유데이터에접근할수있는권한을제한하는방법 146 외부보안 사용자인터페이스보안 내부보안 09.5, 08.5, 06.9, 05.9, 04.9, 02.5, 02.3, 01.6 보안유지기법 시설보안 : 천재지변이나외부침입자로부터의보안 운용보안 : 전산소관리및경영자들의정책과통제에의해이루어지는보안 운영체제가사용자의신원을확인한후권한이있는사용자에게만시스템의프로그램과데이터를사용할수있게하는보안기법 하드웨어나운영체제의내장된보안기능을이용하여시스템의신뢰성을유지하고, 보안문제를해결하는기법 144 08.3, 07.9, 05.4, 04.5, 03.8, 01.9, 01.7 자원보호기법 자원보호기법은컴퓨터시스템에서사용자, 프로세스등과같은주체가프로세스, CPU, 기억장치등과같은객체 ( 자원 ) 에불법적으로접근하는것을제어하고, 객체 ( 자원 ) 의물리적인손상을예방하는것이다. 자원보호기법의종류 - 접근제어행렬 (Access Control Matrix) : 자원보호의일반적인모델로, 객체에대한접근권한을행렬로써표시한기법 - 전역테이블 (Global Table) : 가장단순한구현방법으로, 3개의순서쌍인영역, 객체, 접근권한의집합을목록형태로구성한기법 147 05.5, 00.10 암호화기법 데이터를보낼때송신자가지정한수신자이외에는그내용을알수없도록평문을암호문으로변환하는것이다. 비밀키시스템 (Private Key System, 개인키시스템 ) : 동일한키로데이터를암호화하고, 해독 ( 복호화 ) 하는대칭암호화기법으로, 대표적인암호화방식에는 DES가있음 공용키시스템 (Public Key System, 공개키시스템 ) : 서로다른키로데이터를암호화하고, 해독하는비대칭암호화기법으로, 대표적인암호화방식에는 RSA가있음 42

148 주 / 종처리기 분리실행처리기 대칭적처리기 149 09.5, 08.9, 08.5, 08.3, 07.9, 07.5, 06.9, 04.3, 02.9, 99.10, 99.4 다중처리기의운영체제구조 하나의프로세서를 Master( 주프로세서 ) 로지정하고, 나머지들은 Slave( 종프로세서 ) 로지정하는구조로비대칭구조임 주프로세서가고장나면전체시스템이다운됨 주프로세서 : 입 출력과연산담당, 운영체제수행 종프로세서 : 연산만담당 주 / 종처리기의비대칭성을보완하여각프로세서가독자적인운영체제를가지고있도록구성한구조 각프로세서에서발생하는인터럽트는해당프로세서에서해결 각프로세서가독자적인운영체제를가지고있기때문에한프로세서가고장나더라도전체시스템이다운되지않음 여러프로세서들이완전한기능을갖춘하나의운영체제를공유하여수행하는구조 가장복잡한구조를가지고있으나가장강력한시스템임 여러개의프로세서가동시에수행될수있고, 시스템의전반적인정보를통일적이고일관성있게운영함 08.3, 05.4, 04.9, 01.9, 99.8 프로세서의결합도 다중처리기는각프로세서간의결합도에따라다음과같이약결합시스템과강결합시스템으로분류할수있다. 약결합 (Loosely Coupled) 시스템 강결합 (Tightly Coupled) 시스템 각프로세서마다독립된메모리를가진시스템으로, 분산처리시스템이라고도함 둘이상의독립된컴퓨터시스템을통신망 ( 통신링크 ) 을통하여연결한시스템 각시스템마다독자적인운영체제를가지고있음 각시스템은독립적으로작동할수도있고, 필요한경우에는상호통신할수도있음 프로세서간의통신은메시지전달이나원격프로시저호출을통해서이루어짐 각시스템마다독자적인운용이가능하므로 CPU 간의결합력이약함 동일운영체제하에서여러개의프로세서가하나의메모리를공유하여사용하는시스템으로, 다중 ( 병렬 ) 처리시스템이라고도함 하나의운영체제가모든프로세서와시스템하드웨어를제어함 프로세서간의통신은공유메모리를통해서이루어짐 하나의메모리를사용하므로 CPU 간의결합력이강함 150 정보처리기사필기요약 09.5, 09.3, 08.9, 07.3, 06.5, 06.3, 05.9, 05.3, 04.9, 03.5, 03.3, 02.9, 02.5, 02.3, 01.9, 01.6, 01.3, 00.7, 99.10, 99.4 분산처리시스템의목적 / 장 단점 목적 : 자원공유, 연산속도향상, 신뢰도향상, 컴퓨터통신 장점 : 통신용이, 장치공유, 데이터공유, 중앙컴퓨터과부하줄임, 컴퓨터의위치를몰라도자원사용가능, 시스템의점진적확장가능등 단점 : 중앙집중형시스템에비해소프트웨어개발이어려움, 보안문제발생, 설계복잡등 151 07.5, 05.5, 04.9, 02.5, 02.3 분산처리시스템의투명성 투명성 (Transparence(y)) : 구체적인시스템환경을사용자가알수없도록하며, 또한사용자들로하여금이에대한정보가없이도원하는작업을수행할수있도록지원하는것 여러유형의투명성을통해자원의위치나정보가변경되더라도사용자가이를인식하지못하게된다. 투명성의종류 위치 (Location) 투명성 이주 (Migration) 투명성 복제 (Replication) 투명성 병행 (Concurrency) 투명성접근 (Access) 투명성 성능 (Performance) 투명성 규모 (Scaling) 투명성 고장 (Failure) 투명성 사용자가하드웨어나소프트웨어와같은자원 ( 정보객체 ) 의물리적위치를모르더라도자원에접근할수있도록함 사용자나응용프로그램의동작에영향을받지않고시스템내에있는자원을이동할수있도록함 자원의복제를사용자에게통지할필요없이자유로이수행할수있음 자원의위치를모르더라도다중사용자들이자원을병행하여처리하고, 공유할수있도록함 각프로세서의로그인등과같은동작을사용하여지역이나원격자원에접근할수있음 여러부하에대해성능을증가시키기위하여시스템을재구성할수있도록함 시스템이나응용프로그램들이시스템구조나응용알고리즘에대한변경없이규모에맞추어확장할수있도록함 사용자나응용프로그램이하드웨어나소프트웨어구성요소의고장에도불구하고그들의작업을완료할수있도록함 43

152 완전연결 (Fully Connection) 형 부분연결 (Partially Connection) 형 트리 (Tree)/ 계층 (Hierarchy) 형 스타 (Star) 형 / 성형 링 (Ring) 형 / 환형 다중접근버스연결 (Multi Access Bus Connection) 형 153 09.5, 08.3, 07.9, 07.3, 06.9, 06.5, 05.9, 05.5, 05.4, 05.3, 03.8, 03.5, 03.3, 02.9, 02.5, 02.3, 01.6, 00.10, 00.7, 99.8 위상에따른분산처리시스템의분류 각사이트들이시스템내의다른모든사이트들과직접연결된구조 n(n-1) 사이트의수가 n개이면링크 ( 연결 ) 수는개임 2 기본비용은많이들지만통신비용은적게들고, 신뢰성이높음 시스템내의일부사이트들간에만직접연결된형태로, 직접연결되지않은사이트는연결된다른사이트를통해통신하는구조 기본비용은완전연결형보다적게들고, 통신비용은완전연결형보다많이소요됨 완전연결형보다신뢰성이낮음 분산처리시스템의가장대표적인형태로, 각사이트들이트리형태로연결된구조 기본비용은부분연결형보다적게들고, 통신비용은트리의깊이에비례함 부모 ( 상위 ) 사이트의자식 ( 하위 ) 사이트들은그부모사이트를통해통신이이루어짐 부모사이트가고장나면그자식사이트들은통신이불가능함 모든사이트가하나의중앙사이트에직접연결되어있고, 그외의다른사이트와는연결되어있지않은구조 기본비용은사이트의수에비례하며, 통신비용은적게소요됨 중앙사이트를제외한사이트의고장이다른사이트에는영향을미치지않지만, 중앙사이트가고장날경우에는모든통신이단절됨 시스템내의각사이트가인접하는다른두사이트와만직접연결된구조 정보는단방향또는양방향으로전달될수있음 기본비용은사이트수에비례하고, 목적사이트에데이터를전달하기위해링을순환할경우통신비용이증가함 시스템내의모든사이트들이공유버스에연결된구조 기본비용은사이트수에비례하고, 통신비용은일반적으로저렴함 사이트의고장은다른사이트의통신에영향을주지않지만, 버스의고장은전체시스템에영향을줌 09.5, 07.5, 06.9, 06.5, 06.3, 05.5, 05.4, 04.5, 03.8, 03.5, 02.3, 01.9, 01.6, 01.3, 00.7, 00.3, 99.10, 99.4 UNIX 의특징 시분할시스템을위해설계된대화식운영체제로, 소스가공개된개방형시스템 (Open System) 이다. 대부분 C 언어로작성되어있어이식성이높으며장치, 프로세스간의호환성이높다. 정보처리기사필기요약 크기가작고이해하기가쉬우며, Multi-User, Multi- Tasking을지원한다. 많은네트워킹기능을제공하므로통신망 (Network) 관리용운영체제로적합하다. 트리구조의파일시스템으로, 전문적인프로그램개발에용이하다. 다양한유틸리티프로그램들이존재한다. 154 커널 (Kernel) 쉘 (Shell) 유틸리티 (Utility) 155 09.3, 08.9, 08.5, 07.5, 06.9, 06.5, 06.3, 05.9, 05.5, 05.3, 04.9, 04.3, 03.8, 03.5, 03.3, 02.9, 02.5, 02.3, 01.9, 01.6, 00.10, 99.4 UNIX 시스템의구성 UNIX 의가장적인부분으로, 부팅시주기억장치에적재되어상주하면서실행됨 하드웨어를보호하고, 프로그램들과하드웨어간의인터페이스역할을담당함 프로세스관리, 기억장치관리, 파일관리, 입 출력관리, 프로세스간통신, 데이터전송및변환등여러가지기능을수행함 사용자의명령어를인식하여프로그램을호출하고, 명령을수행하는명령어해석기 시스템과사용자간의인터페이스를담당함 DOS 의 COMMAND.COM 과같은기능을수행함 주기억장치에상주하지않고, 명령어가포함된파일형태로존재하며보조기억장치에서교체처리가가능함 일반사용자가작성한응용프로그램을처리하는데사용함 DOS 에서의외부명령어에해당됨 09.5, 09.3, 08.9, 07.9, 07.3, 05.5, 05.4, 04.9, 04.5, 04.3, 03.5, 03.3, 02.5, 01.9, 01.6, 01.3, 00.10, 99.10, 99.4 UNIX 파일시스템의구조 부트블록 : 부팅시필요한코드를저장하고있는블록 슈퍼블록 : 전체파일시스템에대한정보를저장하고있는블록 Inode 블록 : 각파일이나디렉터리에대한모든정보를저장하고있는블록으로, 파일소유자의사용자번호 (UID) 및그룹번호 (GID), 파일크기, 파일타입, 생성시기, 최종변경시기, 최근사용시기, 파일의보호권한, 파일링크수, 데이터가저장된블록의시작주소등의정보를가지고있음 데이터블록 : 디렉터리별로디렉터리엔트리와실제파일에대한데이터가저장된블록 44

정보처리기사필기요약 156 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.3, 06.9, 06.5, 06.3, 05.9, 05.3, 04.9, 04.3, 03.3, 02.9, 02.3, 00.7, 00.3, 99.10, 99.8, 99.4 UNIX 의주요명령어 4 과목 소프트웨어공학 명령어 fork exec & wait exit cat chmod mount mkfs chdir fsck rmdir ls getpid 157 새로운프로세스생성 새로운프로세스수행 의미 백그라운드처리를위해명령의끝에입력 fork 후 exec 에의해실행되는프로세스의상위프로세스가하위프로세스의종료등의 event 를기다림 프로세스수행종료 내용을화면에표시 파일의사용허가지정 파일시스템을마운팅 ( 연결 ) 함 파일시스템생성 현재사용할디렉터리위치변경 파일시스템검사 보수 디렉터리삭제 현재디렉터리내의파일목록확인 자신의프로세스아이디를얻음 04.3, 03.8, 00.3 Windows의주요특징 GUI(Graphic User Interface, 그래픽사용자인터페이스 ) : 키보드로명령어를직접입력하지않고, 아이콘이나메뉴를마우스로선택하여모든작업을수행하는방식 선점형멀티태스킹 (Preemptive Multi-Tasking) : 동시에여러개의프로그램을실행하는멀티태스킹을하면서운영체제가각작업의 CPU 이용시간을제어하여응용프로그램실행중문제가발생하면해당프로그램을강제종료시키고모든시스템자원을반환하는방식 PnP(Plug and Play, 자동감지기능 ) 사용 : 컴퓨터시스템에프린터나사운드카드등의하드웨어를설치했을때, 해당하드웨어를사용하는데필요한시스템환경을운영체제가자동으로구성해주는기능 OLE(Object Linking and Embedding) 사용 : 다른여러응용프로그램에서작성된문자나그림등의개체 (Object) 를현재작성중인문서에자유롭게연결 (Linking) 하거나삽입 (Embedding) 하여편집할수있게하는기능 255자의긴파일이름사용 : 파일이름을 VFAT(Virtual File Allocation Table) 를이용하여최대 255자까지지정할수있음 158 03.5, 01.9 소프트웨어와시스템 소프트웨어 : 하드웨어를동작시켜사용자가작업을편리하게수행하도록하는프로그램과자료구조등을총칭하며, 프로그램자체뿐만아니라프로그램의개발, 운용및유지보수에관련된모든문서와정보를포함함 시스템 : 공통의목적이나목표를달성하기위하여여러가지상호관련된요소들을유기적으로결합한것으로, 구성요소는입력, 처리, 출력, 제어, 피드백으로나눌수있음 159 08.3, 07.5, 06.5, 02.9, 02.5, 00.7, 99.8 소프트웨어위기 (Crisis) 여러가지원인에의해소프트웨어개발속도가하드웨어개발속도를따라가지못해소프트웨어에대한사용자들의요구사항을처리할수없는문제가발생한것을의미한다. 소프트웨어위기의원인과결과 원인 결과 160 소프트웨어의특성에대한이해부족 소프트웨어의관리부재 프로그래밍에만치중 개발인력의부족과그로인한인건비상승 성능및신뢰성의부족 개발기간의지연및개발비용의증가 유지보수가어렵고, 이에따른비용증가 소프트웨어의생산성저하, 소프트웨어의품질저하 09.3, 08.9, 08.3, 06.5, 06.3, 05.9, 05.5, 05.4, 04.3, 03.3 소프트웨어공학의개념과기본원칙 소프트웨어공학의개념 IEEE의소프트웨어공학표준용어사전 : 소프트웨어의개발, 운용, 유지보수, 폐기처분에대한체계적인접근방안 Fairley : 지정된비용과기간내에소프트웨어를체계적으로생산하고유지보수하는데관련된기술적이고관리적인원리 Boehm : 과학적인지식을소프트웨어설계와제작에응용하는것이며이를개발, 운용, 유지보수하는데필요한문서작성과정 소프트웨어공학은제품을단지생산하는것이아니라가장경제적인방법으로양질의제품을생산하는것이다. 소프트웨어공학은안정적이며효율적으로작동하는소프트웨어를생산하고, 유지보수활동을체계적이고경제적으로수행하기위해계층화기술을사용한다. 45

소프트웨어공학의기본원칙 현대적인프로그래밍기술을계속적으로적용해야한다. 개발된소프트웨어의품질이유지되도록지속적으로검증해야한다. 소프트웨어개발관련사항및결과에대한명확한기록을유지해야한다. 161 07.5, 06.5, 04.3, 03.8, 03.3, 02.3, 01.9, 99.8, 99.4 일반적인소프트웨어생명주기 정의단계 : 무엇 (What) 을처리하는소프트웨어를개발할것인지정의하는단계로, 관리자와사용자가가장많이참여하는단계 타당성검토단계 개발계획단계 요구사항분석단계 개발할소프트웨어가법적, 경제적, 기술적으로실현가능성이있는지조사하는단계 소프트웨어개발에사용될자원과비용을측정하는단계 사용자가요구한문제를보다상세하고정확히분석하는단계 개발단계 : 어떻게 (How) 에초점을두고실제적으로소프트웨어를개발하는단계 설계단계 구현단계 테스트단계 소프트웨어의구조, 알고리즘, 자료구조등을작성하는단계로, 오류가가장많이발생하는단계 설계단계에서작성된문서를기초로하여코딩하고번역하는단계 구현된소프트웨어에내재되어있는오류를찾는단계 유지보수단계 : 소프트웨어를직접운용하며, 변경 (Change) 에초점을두고여러환경변화에따라소프트웨어를적응및유지시키는단계로, 시간과비용이가장많이투입되는단계 장점 단점 163 장점 단점 정보처리기사필기요약 모형의적용경험과성공사례가많음 단계별정의가분명하고, 전체공조의이해가용이함 단계별산출물이정확하여개발공정의기준점을잘제시함 개발과정중에발생하는새로운요구나경험을반영하기어려우므로처음부터사용자들이모든요구사항들을명확하게제시해야함 단계별로오류없이다음단계로진행해야하는데현실적으로오류없이다음단계로진행하기는어려움 개발된프로그램을업무에운용할때검출되지않은오류로인하여사용자들이큰인내심을가져야함 08.5, 08.3, 07.9, 07.3, 06.9, 06.5, 06.3, 05.9, 05.4, 05.3, 04.9, 04.3, 03.3, 01.9, 01.6, 01.3, 00.10, 00.7, 00.3, 99.10, 99.8 프로토타입모형 (Prototype Model) 사용자의요구사항을정확히파악하기위해실제개발될소프트웨어에대한견본 ( 시제 ) 품 (Prototype) 을만들어최종결과물을예측하는모형이다. 시스템의일부혹은시스템의모형을만드는과정으로서요구된소프트웨어를구현하는데이는추후구현단계에서사용될골격코드가된다. 프로토타입은요구분석단계에서사용하게되며, 프로토타입의평가가끝나고개발이승인되면다른모형을이용하여본격적인개발이이루어진다. 개발순서 : 요구수집 빠른설계 프로토타입구축 고객평가 프로토타입조정 구현 요구사항을충실히반영하며, 요구사항의변경이용이함 최종결과물이만들어지기전에의뢰자가최종결과물의일부또는모형을볼수있음 프로토타입은의뢰자나개발자모두에게공동의참조모델을제공함 미리제작된소프트웨어를사용할경우실제소프트웨어와의차이가발생할수있어사용자에게혼란을줄수있음 단기간에제작해야하기때문에비효율적인언어나알고리즘을사용할수있음 162 09.5, 07.9, 06.9, 05.3, 03.8, 03.5, 03.3, 02.9, 02.5, 01.9, 01.6, 01.3, 00.10, 99.8, 99.4 폭포수모형 (Waterfall Model) 소프트웨어개발각단계를확실히매듭짓고그결과를철저하게검토하여승인과정을거친후에다음단계를진행하며이전단계로넘어갈수없는방식이다. 소프트웨어공학에서가장오래되고가장폭넓게사용된전통적인소프트웨어생명주기모형 ( 고전적생명주기모형 ) 이다. 소프트웨어개발과정의앞단계가끝나야만다음단계로넘어갈수있는선형순차적모형이다. 소프트웨어의일부가될매뉴얼을작성해야한다. 개발순서 : 타당성검토 계획 요구분석 설계 구현 ( 코딩 ) 시험 ( 검사 ) 유지보수 46 164 09.5, 05.5, 04.9, 04.5, 03.5, 02.9, 02.3, 99.8, 99.4 나선형모형 (Spiral Model), 점진적모형 폭포수모형과프로토타입모형의장점에위험분석기능을추가한모형이다. 나선을따라돌듯이여러번의소프트웨어개발과정을거쳐점진적으로 ( 프로토타입을지속적으로발전시켜 ) 완벽한최종소프트웨어를개발하는것이다. 소프트웨어를개발하면서발생할수있는위험을관리하고최소화하는것을목적으로한다.

정보처리기사필기요약 개발순서 : 계획및정의 (Planning) 위험분석 (Risk Analysis) 공학적개발 (Engineering) 고객평가 (Customer Evaluation ) 장점 단점 가장현실적인모형으로, 대규모시스템에적합함 점진적으로개발과정이반복되므로누락되거나추가된요구사항을첨가할수있고정밀하며유지보수과정이필요없음 위험성평가에크게의존하기때문에이를발견하지않으면반드시문제가발생함 비교적최신기법이므로폭포수모형이나프로토타입모형보다널리사용되지않음 - 프로젝트관리의후반까지프로젝트예측을가능한한연기한다. - 이미수행된유사프로젝트를참고한다. - 프로젝트를상대적으로잘게분리하여예측하는분해기법을사용한다. - 하나이상의경험적예측 ( 실험 ) 모델을활용한다. - 자동화도구를도입하여활용한다. 프로젝트비용결정요소프로젝트요소제품의복잡도, 시스템의크기, 요구되는신뢰도 자원요소 인적자원, 하드웨어자원, 소프트웨어자원 165 09.3, 08.3, 07.9, 07.3, 06.9, 06.5, 05.5, 05.4, 04.3, 02.3, 01.9, 00.10, 00.7, 99.8 프로젝트관리대상 생산성요소 개발자의능력, 개발기간 계획관리 : 프로젝트계획, 비용산정, 일정계획, 조직계획 품질관리 : 품질통제, 품질보증 위험관리 : 위험식별, 위험분석및평가, 위험관리계획, 위험감시및조치 효과적인프로젝트관리를위한 3P(3대요소 ) 사람 (People) 문제 (Problem) 프로세스 (Process) 166 프로젝트계획수립 프로젝트관리에서가장기본이되는인적자원 사용자입장에서문제를분석하여인식함 소프트웨어개발에필요한전체적인작업계획 09.5, 08.5, 08.3, 07.9, 06.3, 05.9, 04.5, 03.5, 03.3, 01.9, 00.10, 99.10, 99.8, 99.4 프로젝트계획수립 / 프로젝트비용결정요소 프로젝트계획은프로젝트가수행되기전에소프트웨어개발영역결정, 필요한자원, 비용, 일정등을예측하는작업으로, 제한된자원과일정에대한최적의방법을찾고자노력해야하며, 계획에따라소프트웨어의품질이결정될수있으므로계획단계에서프로젝트관리자의임무는매우중요하다. 소프트웨어개발영역결정 - 프로젝트계획수립의첫번째업무로, 개발될소프트웨어의영역을결정하는것이다. - 소프트웨어개발영역을결정하는주요요소 : 처리될데이터와소프트웨어에대한기능, 성능, 제약조건, 인터페이스및신뢰도등 자원추산 : 소프트웨어개발에필요한자원을예측하는것으로인적자원, 재사용소프트웨어자원, 환경자원으로나눌수있음 소프트웨어프로젝트추산 : 프로젝트수행에필요한비용을예측하는것으로, 신뢰할만한비용을예측하기위해서는다음과같은방법을사용한다. 47 167 09.3, 08.9, 08.5, 08.3, 06.3, 04.3, 02.5, 01.6, 01.3 LOC( 원시코드라인수 ) 기법 소프트웨어각기능의원시코드라인수의비관치, 낙관치, 기대치를측정하여예측치를구하고이를이용하여비용을산정하는기법이다. 측정이용이하고, 이해가쉬워가장많이사용된다. 예측치를이용하여생산성, 노력, 개발기간등의비용을산정한다. a+4m+b 예측치 = ( 단, a : 낙관치, b: 비관치, m : 중간치 6 ( 기대치 )) 산정공식 노력 ( 인월 ) 개발기간 투입인원, LOC / 1 인당월평균생산코드라인수 개발비용노력 ( 인월 ) 단위비용 (1 인당월평균인건비 ) 개발기간 노력 ( 인월 ) / 투입인원 생산성 LOC / 노력 ( 인월 ) 168 09.5, 04.9, 04.3, 03.5, 03.3, 01.9, 99.10 COCOMO 모형 Boehm이제안한것으로원시프로그램의규모 (LOC) 에의한비용산정기법이다. 개발할소프트웨어의규모를예측한후이를소프트웨어종류에따라다르게책정되는비용산정방정식 ( 공식 ) 에대입하여비용을산정한다. 비용견적의강도분석및비용견적의유연성이높아소프트웨어개발비견적에널리통용되고있다. 같은규모의프로그램이라도그성격에따라비용이다르게산정된다.

정보처리기사필기요약 소프트웨어개발유형 조직형 (Organic Mode) 반분리형 (Semi- Detached Mode) 내장형 (Embedded Mode) 169 기관내부에서개발된중 소규모의소프트웨어로일괄자료처리나과학기술계산용, 비즈니스자료처리용으로 5 만 (50KDSI) 라인이하의소프트웨어를개발하는유형 사무처리용, 업무용, 과학용응용소프트웨어개발에적합함 조직형과내장형의중간형으로트랜잭션처리시스템이나운영체제, 데이터베이스관리시스템등의 30 만 (300KDSI) 라인이하의소프트웨어를개발하는유형 컴파일러, 인터프리터와같은유틸리티개발에적합함 초대형규모의트랜잭션처리시스템이나운영체제등의 30 만 (300KDSI) 라인이상의소프트웨어를개발하는유형 신호기제어시스템, 미사일유도시스템, 실시간처리시스템등의시스템프로그램개발에적합함 05.5, 04.5, 02.3, 01.3, 00.10, 00.7, 00.3, 99.10 COCOMO 모형의종류 비용산정단계및적용변수의구체화정도에따라기본 (Basic), 중간 (Intermediate), 발전 (Detailed) 형으로구분할수있다. 기본 (Basic) 형 COCOMO : 소프트웨어의크기와개발유형만을이용하여비용을산정하는모형 중간 (Intermediate) 형 COCOMO : 기본 COCOMO 공식을토대로사용하나제품의특성, 컴퓨터의특성, 개발요원의특성, 프로젝트특성에의해비용을산정하는모형 발전 (Detailed) 형 COCOMO : 중간 (Intermediate) 형 COCOMO를보완하여만들어진방법으로, 개발공정별로보다자세하고정확하게노력을산출하여비용을산정하는모형 171 09.5, 09.3, 08.5, 07.3, 05.9, 04.5, 02.9, 01.6, 00.10, 00.7, 00.3 PERT / CPM 프로젝트의지연을방지하고계획대로진행될수있도록하기위한일정을계획하는것으로, 대단위계획의조직적인추진을위해자원의제약하에비용을적게사용하면서최단시간내계획완성을위한프로젝트일정방법이다. 프로젝트개발기간을결정하는임계경로 (CP; Critical Path) 를제공한다. 통계적모델을적용해서개별작업에대한가장근접한시간측정의기준이된다. 각작업에대한시작시간을정의하여작업들간의경계시간을계산할수있게한다. PERT CPM 172 프로젝트에필요한전체작업의상호관계를표시하는네트워크로각작업별로낙관적인경우, 가능성이있는경우, 비관적인경우로나누어각단계별종료시기를결정하는방법 노드와간선으로구성되었으며원노드에는작업을, 간선에는낙관치, 기대치, 비관치를표시함 결정경로, 태스크에대한경계시간, 태스크간의상호관련성등에대한정보를알수있음 프로젝트완성에필요한작업을나열하고작업에필요한소요기간을예측하는데사용하는기법 CPM 은노드와간선으로구성된네트워크로노드는작업을, 간선은작업사이의전후의존관계를나타냄 원형노드는각작업을의미하며각작업의이름과소요기간을표시하고, 박스노드는이정표를의미하며박스노드위에는예상완료시간을표시함 프로젝트내에서각작업이수행되는시간과각작업사이의관계를파악할수있음 08.9, 06.3, 05.9, 99.8 간트차트 (Gantt Chart) 170 사람 - 노력관계 노력분배 08.9, 08.3, 07.9, 07.5, 06.9, 05.3, 04.9, 03.8, 03.5, 02.9, 01.9, 00.3 사람-노력관계와노력분배 소규모의개발프로젝트에서는한사람이요구사항을분석하고, 설계, 코딩, 테스트까지수행할수있음 프로젝트의크기가증가할수록더많은사람들이참여해야함 프로젝트진행중에새로운인력을투입할경우작업적응기간과부작용으로인해일정을더욱지연시키고, 프로젝트에혼란을가져오게됨 (Brooks 의법칙 ) 예측된노력을각개발과정에분배할때는 40-20-40 규칙을권장하는데, 이는분석과설계에 40%, 코딩에 20%, 테스트에 40% 를분배한다는의미임 일반적으로노력은요구분석이 10~25%, 설계가 20~25%, 코딩이 15~25%, 테스팅과디버깅이 30~40% 를차지함 48 프로젝트의각작업들이언제시작하고종료되는지에대한작업일정을막대도표를이용하여표시하는프로젝트일정표로시간선 (Time-Line) 차트라고도한다. 중간목표미달성시이유와기간을예측할수있게한다. 사용자와의문제점이나예산의초과지출등도관리할수있게한다. 자원배치와인원계획에유용하게사용된다. 다양한형태로변경하여사용할수있다. 작업경로는표시할수없으며, 계획의변화에대한적응성이약하다. 각일정은막대로표시하며수평막대의길이는각작업의기간을나타낸다. 이정표, 작업일정, 작업기간, 산출물로구성되어있다.

173 분산형팀 중앙집중형팀 계층적팀 174 09.3, 07.5, 06.3, 03.8, 02.9, 99.10, 99.4 프로젝트팀구성 팀원모두가의사결정에참여하는비이기적인구성방식 ( 민주주의식팀 ) 의사결정을민주주의식으로하며팀구성원의참여도와작업만족도를높이고이직률을낮게함 팀구성원각자가서로의일을검토하고다른구성원이일한결과에대하여같은그룹의일원으로책임을지며, 장기프로젝트개발에적합함 n(n-1) 의사소통경로의수 = (n : 팀원수 ) 2 한관리자가의사결정을하고, 팀구성원들은그결정을따르는구성방식 ( 책임프로그래머팀 ) 프로젝트수행에따른모든권한과책임을한관리자에게위임하고, 기술및관리지원을위해인력을투입하는형태 의사결정이빠르고, 의사교환경로를줄일수있음 책임프로그래머역할 : 요구분석및설계, 중요한기술적판단, 프로그래머에게작업지시및배분등 프로그래머역할 : 책임프로그래머의지시에따른원시코드작성, 테스트, 디버깅, 문서작성등 프로그램사서역할 : 프로그램리스트, 설계문서, 테스트계획등을관리 보조프로그래머역할 : 책임프로그래머의업무지원, 여러가지기술적인문제에대한자문, 사용자, 품질보증담당자등의섭외, 책임프로그래머감독하에분석, 설계, 구현담당 분산형팀구성과중앙집중형팀구성을혼합한형태 ( 혼합형팀 ) 5~7 명의초보프로그래머를작은그룹으로만들어각그룹을고급프로그래머가관리하게함 경험자 ( 고급프로그래머 ) 와초보자를구별함 프로젝트리더와고급프로그래머에게지휘권한을부여하고, 의사교환은초급프로그래머와고급프로그래머로분산함 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 05.5, 05.4, 05.3, 04.9, 04.3, 03.8, 02.5, 02.3, 01.3, 99.4 품질표준 명확하게정의된소프트웨어의특성을의미하며, 소프트웨어의품질을평가하는기준항목이다. 종류 종류 의미 정확성 (Correctness) 사용자의요구기능을충족시키는정도 신뢰성 (Reliability) 정확하고일관된결과를얻기위해요구된기능을오류없이수행하는정도 효율성 (Efficiency) 요구되는기능을수행하기위해필요한자원의소요정도 무결성 (Integrity) 사용용이성 (Usability) 유지보수성 (Maintainability) 유연성 (Flexibility) 시험역량 (Testability) 이식성 (Portability) 재사용성 (Reusability) 상호운용성 (Interoperability) 175 품질보증 정형기술검토 (FTR) 정보처리기사필기요약 허용되지않는사용이나자료의변경을제어하는정도 사용에필요한노력을최소화하고쉽게사용할수있는정도 변경및오류사항의교정에대한노력을최소화하는정도 소프트웨어를얼마만큼쉽게수정할수있는가하는정도 의도된기능을수행하도록보장하기위해프로그램을시험할수있는정도 다양한하드웨어환경에서도운용가능하도록쉽게수정될수있는정도 전체나일부소프트웨어를다른목적으로사용할수있는가하는정도 과학계산용라이브러리와같이이미만들어진프로그램을사용하는것 다른소프트웨어와정보를교환할수있는정도 09.5, 08.9, 06.9, 04.9, 02.3, 01.6, 00.7, 99.10 품질보증 / 정형기술검토 / 검토회의 / 검열 어떠한소프트웨가이미설정된요구사항과일치하는가를확인하는데필요한개발단계전체에걸친계획적이고체계적인작업 소프트웨어개발초기에소프트웨어의특성과요구사항을철저히파악하여품질목표를설정하고, 개발단계에서는정형기술검토를통하여품질목표의충족여부를점검하며, 개발후에는디버깅과시험과정을거침 가장일반적인검토방법으로소프트웨어기술자들에의해수행되는소프트웨어품질보증활동 정형기술검토유형에는검토회의 (Walkthrough), 검열 (Inspections) 등이있으며이는모두회의형태로수행됨 검토지침사항 - 제품의검토에만집중하라. - 의제를제한하여진행하라. - 논쟁과반박을제한하라. - 문제영역을명확히표현하라. - 해결책이나개선책에대해서는논하지말아라. - 참가자의수를제한하고사전준비를강요하라. - 검토될확률이있는각제품에대한체크리스트를개발하라. - 자원과시간일정을할당하라. - 모든검토자들을위해의미있는훈련을행하라. - 검토자들은사전에작성한메모들을공유하라. - 검토의과정과결과를재검토하라. 49

정보처리기사필기요약 검토회의 (Walkthrough) 검열 ( 심사, Inspections) 176 소프트웨어개발의각단계에서개최하는기술평가 ( 검토 ) 회의로, 소프트웨어구성요소와같은작은단위를검토하는것 오류의조기검출을목적으로하며발견된오류는문서화하고, 검토회의후에해결함 제품개발자가주최가되며, 검토자료는사전에미리배포함 검토회의를발전시킨형태로, 소프트웨어개발단계에서산출된결과물의품질을평가하며이를개선시키는데사용함 07.5, 07.3, 06.5, 05.4, 04.9, 04.5, 03.5, 02.5, 02.3, 00.7 위험관리 프로젝트추진과정에서예상되는각종돌발상황 ( 위험 ) 을미리예상하고이에대한적절한대책을수립하는일련의활동이다. 위험은불확실성과손실을내재하고있는데, 위험관리는이러한위험의불확실성을감소시키고손실에대비하는작업이다. 위험관리의절차 위험식별 위험분석및평가 위험관리계획 위험감시및조치 177 알려지거나예측가능한위험요소를파악하는작업 위험이현실화될가능성과실제발생하였을때의문제들을분석하고영향력을파악하는위험추산 (Risk Estimation) 작업을통해수행됨 위험추산을위해위험표 (Risk Table) 를작성하여활용함 위험표의구성요소 : 위험내용, 위험범주, 발생확률, 영향력, 위험감시및조치 위험을예방하고위험발생시대책을준비하며문서화하는작업 위험회피 (Risk Avoidance) : 위험관리에대한최상의전략으로위험이발생될것을예상하고회피하는것 위험감시 (Risk Monitoring) : 위험요소징후들에대하여계속적으로인지하는것 위험관리 (Risk Management) 및비상계획 (Contingency Plan) 수립 : 위험회피전략이실패할경우위험에대해관리하고, 대비책과비상계획을수립함 08.5, 08.3, 07.5, 06.9, 06.5, 05.4, 04.5, 04.3, 03.8, 02.9, 02.5, 01.9, 01.3, 00.3 형상관리 (SCM) 소프트웨어의개발과정에서소프트웨어의변경사항을관리하기위해개발된일련의활동이다. 소프트웨어변경의원인을알아내고제어하며적절히변경되고있는지확인하여해당담당자에게통보하는작업이다. 소프트웨어개발의전단계에적용되는활동으로, 유지보수단계에서수행된다. 소프트웨어개발의전체비용을줄이고, 개발과정의여러문제점을해결하여방해요인을최소화하는것을목적으로한다. 50 소프트웨어형상항목 : 정의단계의문서, 개발단계의문서와프로그램, 유지보수단계의변경사항등 178 요구사항분석작업 문제인식 평가와종합 모델제작 문서화와검토 07.3, 06.9, 05.9, 05.4 요구사항분석 요구사항분석의어려움 대화장벽 시스템의복잡도 요구의변경 요구명세화의어려움 사용자와의면담, 설문조사및협조, 각종문서검토등을통하여사용자의요구사항을찾아냄 추출된요구사항에대한정보를평가하고여러가지해결책을종합함 평가와종합을바탕으로자료와제어의흐름, 기능처리, 동작행위, 정보내용등을이해하기쉽도록모델로작성함 요구사항분석명세서를작성하고, 소프트웨어의기능, 성능, 제약조건등에대하여기술하고검토함 사용자와개발자의지식배경의다양화, 용어불일치등으로의사소통곤란 소프트웨어체계화를위하여새로운개념이필요해지고, 시스템규모와대상이광범위해짐에따라난이도증가에의한소프트웨어의복잡화 사용자생각의부정확성, 생각의반복된변경 중복현상, 애매모호함, 시험의어려움, 과거와다른현재상황등의내포에따라요구명세서작성이어려움 요구사항분석가의자질 소프트웨어개발에많은경험을가지고있어야한다. 사용자의요구를정확히수용하고, 여러환경을이해해야한다. 설계에필요한자료를충분히제공할수있어야한다. 다방면에대한해박한지식을가지고있어야한다. 시간배정과계획등을빠른시간내에파악할수있어야한다. 하드웨어, 소프트웨어를포함한컴퓨터에대한기술을이해하고있어야한다. 고객이사용할시스템을만들어야하므로상대의관점 ( 고객관점 ) 에서문제를파악할수있어야한다. 179 09.3, 08.9, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.4, 04.9, 04.5, 04.3, 03.8, 03.5, 02.9, 02.3, 01.9, 01.6, 01.3, 00.10, 00.3, 99.10 자료흐름도 (DFD) 요구사항분석에서자료의흐름및변환과정과기능을도형중심으로기술하는방법이다. 시스템안의프로세스, 자료저장소사이에자료의흐름을나타내는그래프로자료흐름과기능을모델화하는데적합하다.

정보처리기사필기요약 자료흐름도는자료흐름과기능을자세히표현하기위해단계적으로세분화된다. 자료흐름도구성요소의일반적표기법 기호 프로세스 (Process) 자료흐름 (Flow) 자료저장소 (Data Store) 단말 (Terminator) 180 기호 의미자료를변환시키는시스템의한부분 ( 처리과정 ) 을나타내며, 처리, 기능, 변환, 버블이라고도함자료의이동을나타냄시스템에서의자료저장소 ( 파일, 데이터베이스 ) 를나타냄시스템과교신하는외부개체로, 입력데이터가만들어지고, 출력데이터를받음 ( 정보의생산자와소비자 ) 08.9, 08.3, 07.9, 07.5, 06.9, 04.3, 02.9, 01.6, 99.4 자료사전 (DD) 의미 = 자료의정의 : ~ 로구성되어있다 (is composed of). + 자료의연결 : 그리고 (and) ( ) 자료의생략 : 생략가능한자료 (Optional) [ ] 자료의선택 : 또는 (or) { } 자료의반복 (Iteration of) * * 자료의설명 : 주석 (Comment) 표기법 자료흐름도상에있는자료를더자세히정의하고기록한것이며, 이처럼데이터를설명하는데이터를데이터의데이터또는메타데이터 (Meta Data) 라고한다. 자료흐름도에시각적으로표시된자료에대한정보를체계적이고조직적으로모아개발자나사용자가편리하게사용할수있다. 자료사전표기기호 181 06.9, 05.9, 04.9, 04.3, 02.9, 02.3, 01.3, 00.7 HIPO 시스템의분석및설계나문서화할때사용되는기법으로, 시스템실행과정인입력, 처리, 출력의기능을나타낸다. 기본시스템모델은입력, 처리, 출력으로구성되며, 하향식소프트웨어개발을위한문서화도구이다. 체계적인문서관리가가능하고, 기호, 도표등을사용하므로보기쉬우며이해하기도쉽다. 기능과자료의의존관계를동시에표현할수있다. HIPO 의종류 가시적도표 ( 도식목차 ) 총체적도표 ( 개요도표, 총괄도표 ) 세부적도표 ( 상세도표 ) 182 모듈화 (Modularity) 추상화 (Abstraction) 정보은닉 (Information Hiding) 프로그램구조 자료구조 시스템의전체적인기능과흐름을보여주는계층 (Tree) 구조도 프로그램을구성하는기능을기술한것으로입력, 처리, 출력에대한전반적인정보를제공하는도표 총체적도표에표시된기능을구성하는기본요소들을상세히기술하는도표 04.3, 03.3, 00.10, 00.3, 99.10 구조적설계의주요기본원리 소프트웨어를모듈단위로나누는것 문제의세부사항을먼저설계하기보다는전체적이고포괄적인개념을설계한후차례로세분화하여구체화시켜나가는설계방법 기능추상화 : 입력자료를출력자료로변환하는과정을추상화하는방법 제어추상화 : 제어의정확한매커니즘 ( 절차, 방법 ) 을정의하지않고원하는효과를정하는데이용하는방법 자료추상화 : 자료와자료에적용될수있는기능을함께정의함으로써자료객체를구성하는방법 한모듈내부에포함된절차와자료들의정보가감추어져다른모듈이접근하거나변경하지못하도록하는기법 모듈을독립적으로수행할수있고, 하나의모듈이변경되더라도다른모듈에영향을주지않으므로수정, 시험, 유지보수가용이함 소프트웨어의구성요소인모듈의계층적구성을나타내는것 ( 제어계층구조 ) 프로그램의순서, 선택, 반복과같은소프트웨어의절차적인처리과정을나타내지않음 공유도 (Fan-in) : 어떤모듈을제어 ( 호출 ) 하는모듈의수 제어도 (Fan-out) : 어떤모듈에의해제어 ( 호출 ) 되는모듈의수 주종적모듈 (Superordinate) : 다른모듈을제어 ( 호출 ) 하는모듈 종속적모듈 (Subordinate) : 어떤모듈에의해제어되는모듈 자료사이의논리적인관계를표현한것으로자료의구성, 결합정도, 접근방법등을나타냄 51

183 09.3, 08.5, 08.3, 04.5, 03.3, 02.9, 00.7, 00.3 바람직한설계의특징 설계는소프트웨어구조를나타내야한다. 독립적인기능적특성을가진요소 ( 모듈 ) 로구성되어야한다. 모듈구조, 즉특정기능또는부기능을수행하는논리적요소들로분리되는구조를가져야한다. 소프트웨어요소 ( 모듈 ) 간의효과적인제어를위해설계에서계층적자료조직이제시되어야한다. 자료와프로시저에대한분명하고분리된표현을포함해야한다. 모듈간과외부개체간의연결복잡성을줄이는인터페이스를가져야한다. 요구사항분석에서얻어진정보를이용하여반복적인방법으로이루어져야한다. 전체적이고포괄적인개념을설계한후차례로세분화하여구체화시켜나간다. 요구사항을모두구현해야하고유지보수가용이해야한다. 184 09.5, 08.9, 06.9, 06.5, 05.5, 05.4, 05.3, 04.9, 03.8, 03.5, 03.3, 02.9, 02.3, 01.9, 01.6, 01.3 결합도 (Coupling) 모듈간에상호의존하는정도를나타낸다. 독립적인모듈이되기위해서는각모듈간의결합도가약해야하며의존하는모듈이적어야한다. 결합도의종류 ( 자료결합도 < 스탬프결합도 < 제어결합도 < 외부결합도 < 공통결합도 < 내용결합도 ) 자료결합도 (Data Coupling) 스탬프 ( 검인 ) 결합도 (Stamp Coupling) 제어결합도 (Control Coupling) 외부결합도 (External Coupling) 모듈간의인터페이스가자료요소로만구성될때의결합도 어떤모듈이다른모듈을호출하면서매개변수, 인수로데이터를넘겨주고, 호출받은모듈은받은데이터에대한처리결과를다시돌려주는것 모듈간의인터페이스로배열이나레코드등의자료구조가전달될때의결합도 두모듈이동일한자료구조를조회하는경우의결합도이며자료구조의어떠한변화, 즉포맷이나구조의변화는그것을조회하는모든모듈및변화되는필드를실제로조회하지않는모듈에까지도영향을미치게됨 한모듈에서다른모듈로논리적인흐름을제어하는데사용하는제어요소 (Function Code, Switch, Tag, Flag) 가전달될때의결합도 상위모듈이하위모듈의상세한처리절차를알고있어이를통제한경우나처리기능이두모듈에분리되어설계된경우에발생함 어떤모듈에서외부로선언한데이터 ( 변수 ) 를다른모듈에서참조할때의결합도 참조되는데이터의범위를각모듈에서제한할수있음 공통결합도 (Common Coupling) 내용결합도 (Content Coupling) 185 정보처리기사필기요약 공유되는공통데이터영역을여러모듈이사용할때의결합도 공통데이터영역의내용을조금만변경하여도이를사용하는모든모듈에영향을미치므로모듈의독립성을약하게만듦 한모듈이다른모듈의내부기능및그내부자료를직접참조하거나수정할때의결합도 09.3, 08.5, 06.5, 05.9, 04.3, 03.8, 03.5, 03.3, 02.5, 01.6, 01.3, 00.10, 00.7, 00.3, 99.10, 99.8, 99.4 응집도 (Cohesion) 정보은닉개념을확장한것으로모듈안의요소들이서로관련되어있는정도, 즉모듈이독립적인기능으로정의되어있는정도를나타낸다. 독립적인모듈이되기위해서는각모듈의응집도가강해야한다. 응집도종류 ( 우연적응집도 < 논리적응집도 < 시간적응집도 < 절차적응집도 < 교환적응집도 < 순차적응집도 < 기능적응집도 ) 기능적 (Functional) 응집도 순차적 (Sequential) 응집도 교환 ( 통신 ) 적 (Communication) 응집도 절차적 (Procedural) 응집도 시간적 (Temporal) 응집도 논리적 (Logical) 응집도 우연적 (Coincidental) 응집도 모듈내부의모든기능요소들이단일문제와연관되어수행될경우의응집도 모듈내의하나의활동으로부터나온출력데이터를그다음활동의입력데이터로사용할경우의응집도 동일한입력과출력을사용하여서로다른기능을수행하는구성요소들이모였을경우의응집도 모듈이다수의관련기능을가질때모듈안의구성요소들이그기능을순차적으로수행할경우의응집도 특정시간에처리되는몇개의기능을모아하나의모듈로작성할경우의응집도 유사한성격을갖거나특정형태로분류되는처리요소들로하나의모듈이형성되는경우의응집도 모듈내부의각구성요소들이서로관련없는요소로만구성된경우의응집도 52

정보처리기사필기요약 186 08.9, 07.5, 07.3, 06.9, 05.9, 04.5, 04.3, 03.3, 01.3, 99.8 효과적인모듈화설계방안 189 06.5, 05.3, 02.3 구조적프로그래밍 결합도는줄이고응집도는높여서모듈의독립성을높인다. 모듈의제어영역안에서그모듈의영향영역을유지시킨다. 복잡도와중복성을줄이고일관성을유지시킨다. 모듈의기능은예측이가능해야하며지나치게제한적이어서는안된다. 유지보수가용이해야한다. 모듈크기는시스템의전반적인기능과구조를이해하기쉬운크기로분해한다. 하나의입구와하나의출구를갖도록해야한다. 인덱스번호나기능코드들이전반적인처리논리구조에예기치못한영향을끼치지않도록모듈인터페이스를설계해야한다. 187 09.5, 07.3, 05.5, 05.4, 03.8, 01.6, 00.7, 99.8 N-S 차트 (Nassi-Schneiderman Chart) 논리의기술에중점을둔도형을이용한표현방법 ( 박스다이어그램, Chapin Chart) 이다. 순차 ( 연속, Sequence) 구조, 반복 (While, Do ~ Unit) 구조, 선택 (If~Then~Else) 구조, 다중선택 (Case) 구조등을표현한다. GOTO나화살표를사용하지않으며, 선택과반복구조를시각적으로표현한다. 조건이복합되어있는곳의처리를시각적으로명확히식별하는데적합하다. 이해하기쉽고, 코드변환이용이하다. 읽기는쉽지만작성하기가어려우며, 임의로제어를전이하는것이불가능하다. Dijkstra에의해제안된것으로, 신뢰성있는소프트웨어의생산과코딩의표준화등을위해개발된방법이다. 구조적프로그래밍의기본적인제어구조 순차 (Sequence) 선택 (Selection) 반복 (Iteration) 190 명령을순서적으로나열함 특정논리에기초하여명령을선택함 순환제공함 09.5, 09.3, 08.3, 07.9, 06.9, 06.5, 06.3, 05.9, 05.4, 04.9, 03.3, 01.9, 00.7, 99.8 화이트박스테스트 (White Box Test) 모듈의원시코드를오픈시킨상태에서원시코드의논리적인모든경로를검사하여검사사례를설계하는방법으로, 제품의내부요소들이명세서에따라수행되고충분히실행되는가를보장하기위한검사이다. 설계된절차에초점을둔구조적테스트로, 프로시저설계의제어구조를사용하여검사사례를설계하며, 테스트과정의초기에적용된다. 모듈안의작동을직접관찰할수있다. 원시코드의모든문장을한번이상수행함으로써수행된다. 프로그램의제어구조에따라선택, 반복등의부분들을수행함으로써논리적경로를제어한다. 각조건에서의참과거짓의모든논리적결정이적어도한번이상실행된다. 종류 : 기초경로검사 (Basic Path Testing), 조건검사 (Condition Testing, Condition Coverage), 루프검사 (Loop Testing), 데이터흐름검사 (Data Flow Testing ) 188 07.5, 05.5, 05.4, 04.9, 02.3, 01.9, 99.10 구현 / 프로그래밍언어선정기준 구현 : 설계단계에서생성된설계명세서를컴퓨터가알수있는모습으로변환하는과정으로프로그래밍또는코딩단계라고도하며, 각모듈을특정프로그래밍언어를이용하여원시코드로작성하고문서화하는작업 프로그래밍언어선정기준 : 친밀감, 프로그램구조, 언어의능력, 프로그램의길이, 처리의효율성, 이식성, 과거의개발실적, 대상업무의성격, 알고리즘과계산상의난이도, 소프트웨어의수행환경, 자료구조의난이도, 개발담당자의경험과지식등 191 제어흐름도 순환복잡도 08.9, 05.3, 04.5, 02.5 제어흐름도 / 순환복잡도 제어흐름을표현하기위해사용되는그래프 한프로그램의논리적인복잡도를측정하기위한소프트웨어의척도로, 제어흐름도이론에기초를둠 순환복잡도를이용하여계산된값은프로그램의독립적인경로의수를정의하고, 모든경로가한번이상수행되었음을보장하기위해행해지는테스트횟수의상한선을제공함 순환복잡도계산 (V(G)) : 영역수를계산하거나 V(G) = E - N + 2 로계산 (E 는화살표수, N 은노드수 ) 53

192 08.9, 08.5, 07.9, 07.5, 07.3, 05.5, 05.3, 04.5, 03.5, 02.9, 02.5, 01.6, 01.3, 99.4 블랙박스테스트 (Black Box Test) 소프트웨어가수행할특정기능을알기위해서각기능이완전히작동되는것을입증하는검사로, 기능검사라고도한다. 부정확하거나누락된기능, 인터페이스오류, 자료구조나외부데이터베이스접근에따른오류, 행위나성능오류, 초기화와종료오류, 경제값입력오류등을발견하기위해사용되며테스트과정의후반부에적용된다. 소프트웨어산물의각기능별로적절한정보영역 ( 입 출력 ) 을정하여적합한입력에대한출력의정확성을점검한다. 종류 : 동치분할 (Equivalence Partitioning) 검사, 경계값분석 (Boundary Value Analysis), 원인-효과그래프 (Cause- Effect Graphing) 검사, 오류예측검사 (Fault Based), 비교 (Comparison) 검사등 193 단위검사 06.5, 05.9, 05.5, 05.3, 04.5, 04.3, 03.5, 03.3, 02.5, 02.3, 00.10, 00.3, 99.10 검사전략 코딩이이루어진후소프트웨어설계의최소단위인모듈에초점을맞추어검사하는것이다. 화이트박스검사기법을사용하며, 인터페이스, 외부적 I/O, 자료구조, 경계조건등을검사한다. 하향식통합검사 프로그램의상위모듈에서하위모듈방향으로통합하면서검사하는기법이다. 일시적으로필요한조건만을가지고임시로제공되는시험용모듈스터브 (Stub) 가필요하다. 상향식통합검사 프로그램의하위모듈에서상위모듈방향으로통합하면서검사하는기법이다. 가장하위단계의모듈부터통합및검사가수행되므로스터브 (Stub) 는필요하지않지만하나의주요제어모듈과관련된종속모듈의그룹인클러스터가필요하다. 검증 ( 확인, 인수 ) 검사 소프트웨어가사용자의요구사항을충족시키는가에중점을두고검사하는방법이다. 통합검사가끝난후전체가하나의소프트웨어단위로통합되어요구사항명세서를토대로진행하며, 블랙박스테스트기법을사용한다. 검증검사의종류 형상검사 ( 구성검토, 감사 ) 알파검사 베타검사 시스템검사 / 디버깅 정보처리기사필기요약 소프트웨어구성요소, 목록, 유지보수를지원하기위해필요한모든사항들이제대로표현되었는지를검사하는기법 개발자의장소에서사용자가개발자앞에서행해지는검사기법 통제된환경에서행해지며, 오류와사용상의문제점을사용자와개발자가함께확인하면서기록함 선정된최종사용자가여러명의사용자앞에서수행하는검사기법 실업무를가지고사용자가직접시험하는것으로, 개발자에의해제어되지않은상태에서검사가행해지며, 발견된오류와사용상의문제점을기록하고개발자에게주기적으로보고함 시스템검사 : 개발된소프트웨어가해당컴퓨터시스템에서완벽하게수행하는가를검사하는것으로종류에는복구검사, 보안검사, 강도검사, 성능검사등이있음 디버깅 : 검사단계에서검사사례에의해오류를찾은후그오류를수정하는과정으로, 디버깅접근법에는맹목적강요, 역추적, 원인제거등이있음 194 08.9, 08.5, 07.9, 05.9, 05.5, 05.3, 04.9, 03.8, 03.5, 02.9, 01.6, 01.3, 00.10, 00.7 유지보수 개발된소프트웨어의품질을항상최상의상태로유지하기위한것으로소프트웨어개발단계중가장많은노력과비용이투입되는단계이다. 소프트웨어가사용자에게인수되고, 설치된후발생하는모든공학적작업이다. 소프트웨어유지보수를용이하게하려면시험용이성, 이해성, 수정용이성, 이식성등이고려되어야한다. 유지보수의유형 수정 (Corrective) 보수 = 수리 교정 정정 하자보수 적응 (Adaptive) 보수 = 환경적응, 조정보수 완전화 (Perfective) 보수 = 기능개선, 기능보수 시스템을운영하면서검사단계에서발견하지못한오류를찾아수정하는활동 소프트웨어의수명기간중에발생하는환경의변화 ( 하드웨어, 운영체제등 ) 를기존의소프트웨어산물에반영하기위하여수행하는활동 소프트웨어의본래기능에새로운기능을추가하거나성능을개선하기위해소프트웨어를확장시키는활동 유지보수활동중가장큰업무및비용을차지하는활동 예방 (Preventive) 보수 미래에유지보수를용이하게하거나기능을향상시키기위해소프트웨어를변경하는활동 54

195 04.9, 03.3, 01.9, 01.6 외계인코드 아주오래전에개발되어유지보수작업이매우어려운프로그램이다. 일반적으로 15년전또는그전에개발된프로그램을의미하며, 프로그램내에문서화 (Documentation) 를철저하게해두면외계인코드를방지할수있다. 196 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.4, 04.9, 04.5, 04.3, 03.5, 03.3, 02.9, 02.5, 01.6, 01.3, 00.10, 00.7 객체지향기법 현실세계의개체 (Entity) 를기계의부품처럼하나의객체 (Object) 로만들어, 기계적인부품들을조립하여제품을만들듯이소프트웨어를개발할때도객체들을조립해서작성할수있도록하는기법이다. 구조적기법의문제점으로인한소프트웨어위기의해결책으로채택되어사용되고있다. 소프트웨어의재사용및확장을용이하게함으로써고품질의소프트웨어를빠르게개발할수있으며유지보수가쉽다. 객체지향기법의구성요소 객체 클래스 (Class) 데이터 함수 메시지 (Message) 객체가가지고있는정보로속성이나상태, 분류등을나타냄 속성 (Attribute), 상태, 변수, 상수, 자료구조라고도함 객체가수행하는기능으로객체가갖는데이터 ( 속성, 상태 ) 를처리하는알고리즘 객체의상태를참조하거나변경하는수단이되는것으로메서드 (Method, 행위 ), 서비스 (Service), 동작 (Operation), 연산이라고도함 기존의구조적기법에서의함수, 프로시저에해당하는연산기능 공통된속성과연산 ( 행위 ) 을갖는객체의집합으로객체의일반적인타입 (Type) 을의미함 각각의객체들이갖는속성과연산을정의하고있는틀 클래스에속한각각의객체를인스턴스 (Instance) 라하며, 클래스로부터새로운객체를생성하는것을인스턴스화 (Instantiation) 라고함 객체들간에상호작용을하는데사용되는수단으로객체의메서드 ( 동작, 연산 ) 를일으키는외부의요구사항임 메시지의구성요소 : 메시지를받는객체 ( 수신자 ) 의이름, 객체가수행할메서드이름, 메서드를수행할때필요한인자 ( 속성값 ) 197 캡슐화 (Encapsulation) 정보은닉 ( 은폐 ) (Information Hiding) 상속성 (Inheritance) 추상화 (Abstraction) 다형성 (Polymorphism) 198 정보처리기사필기요약 09.5, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.5, 05.3, 04.9, 04.5, 04.3, 03.8, 02.9, 02.3, 01.9, 00.3 객체지향기법의주요기본원칙 데이터와데이터를처리하는함수를하나로묶는것 캡슐화된객체의세부내용이외부에은폐 ( 정보은폐 ) 되어, 변경이발생해도오류의파급효과가적음 캡슐화된객체들은재사용이용이함 캡슐화에서가장중요한개념으로다른객체에게자신의정보를숨기고연산만을통하여접근을허용하는것 각객체의수정이다른객체에게주는영향을최소화하는기술 이미정의된상위클래스 ( 슈퍼클래스나부모클래스 ) 의모든속성과연산을하위클래스가물려받는것 상속성을이용하면하위클래스는상위클래스의모든속성과연산을자신의클래스내에서다시정의하지않고서도즉시자신의속성으로사용할수있음 다중상속성 (Multiple Inheritance) : 한개의클래스가두개이상의상위클래스로부터속성과연산을상속받는것 불필요한부분을생략하고객체의속성중가장중요한것에만중점을두어개략화하는것, 즉모델화하는것 인간이복잡한문제를다루는데가장기본이되는방법으로, 완전한시스템을구축하기전에그시스템과유사한모델을만들어서여러가지요인들을테스트할수있음 메시지에의해객체 ( 클래스 ) 가연산을수행하게될때하나의메시지에대해각객체 ( 클래스 ) 가가지고있는고유한방법으로응답할수있는능력 객체 ( 클래스 ) 들은동일한메서드명을이용하여같은의미의응답 ( 동작 ) 을하지만다른성질을가질수있음 04.3, 01.6, 00.3 객체지향기법의생명주기 / 분석 객체지향기법의생명주기 : 각과정에서사용되는객체, 클래스, 메서드, 속성등이동일한개념으로사용되며, 계획및분석, 설계, 구현, 테스트및검증과정으로이루어짐 객체지향분석 : 사용자의요구사항을분석하여요구된문제와관련된모든클래스 ( 객체 ), 이와연관된속성과연산, 그들간의관계등을정의하여모델링하는작업 55

199 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.4, 05.3, 04.9, 03.8, 03.3, 02.5, 02.3, 01.9, 01.6, 01.3 럼바우 (Rumbaugh) 의분석기법 모든소프트웨어구성요소를그래픽표기법을이용하여모델링하는기법이다. 분석활동은객체모델링, 동적모델링, 기능모델링을통해이루어진다. 객체 (Object) 모델링 동적 (Dynamic) 모델링 기능 (Functional) 모델링 200 시스템에서요구되는객체를찾아내어속성과연산식별및객체들간의관계를규정하여객체다이어그램으로표현한것 상태도를이용하여시간의흐름에따른객체들사이의제어흐름, 상호작용, 동작순서등의동적인행위를표현한것 자료흐름도 (DFD) 를이용하여다수의프로세스들간의자료흐름을중심으로처리과정을표현한것 05.4, 01.9 객체지향프로그래밍 새로운개념의모듈단위, 즉객체라는단위를중심으로하여프로그램을개발하는기법이다. 객체라는단위를이용하여현실세계에가까운방식으로프로그래밍한다. 현실세계에가까운방식이므로이해하기쉽고조작하기쉬운프로그램을개발할수있다. 유지보수가쉽고재사용가능한프로그램을만들수있다. 이미개발된프로그램을이용해빠르게확장된프로그램을개발할수있다. 객체지향프로그래밍언어 객체기반언어 클래스기반언어 객체지향성언어 Ada, Actor 와같이객체의개념만을지원하는언어 Clu 와같이객체와클래스의개념을지원하는언어 객체, 클래스, 상속의개념을모두지원하는가장좋은언어 초기에발표된 Simula 로부터, Smalltalk, C++, Objective C 와같은언어가있음 정보처리기사필기요약 체와속성, 연산을인식하는것이다. 객체지향설계를문서화할때객체와그들의부객체 (Subobject) 의계층적구조를보여주는계층차트를그리면유용하다. 객체는순차적으로 (Sequentially) 또는동시적으로 (Concurrently) 구현될수있다. 객체지향설계의설계개념은추상화, 정보은닉, 기능독립성, 모듈화, 상속성을바탕으로하며이중가장중요한개념은모듈화이다. 객체지향설계를위해서럼바우의객체지향설계, 부치 (Booch) 의객체지향설계, 윌리엄로렌슨 (William Lorensen) 의객체지향설계방법등이제안되었으며이중일반적으로럼바우의객체지향설계가가장많이사용된다. 객체지향설계단계 : 문제정의 요구명세화 객체연산자정의 객체인터페이스결정 객체구현 202 09.3, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 05.5, 05.4, 05.3, 04.5, 04.3, 03.8, 03.5, 03.3, 02.9, 01.6, 01.3, 99.10, 99.4 소프트웨어의재사용 이미개발된인정받은소프트웨어의전체혹은일부분을다른소프트웨어개발이나유지에사용하는것이다. 소프트웨어개발의품질과생산성을높이기위한방법으로, 기존에개발한소프트웨어와경험, 지식등을새로운소프트웨어에적용한다. 클래스, 객체등의소프트웨어요소는소프트웨어재사용성을크게향상시켰다. 재사용이가능한요소 : 전체프로그램, 부분코드, 응용분야에관한지식, 논리적인데이터모형, 프로세스구조, 시험계획, 설계에관한결정, 시스템구조에관한지식, 요구분석사항, 문서화, 전문적인기술과개발경험, 품질보증, 응용분야지식등 소프트웨어의부품 ( 모듈 ) 의크기가작고일반적인설계일수록재사용률이높다. 소프트웨어재사용의이점 : 개발시간과비용단축, 소프트웨어품질및생산성향상, 프로젝트실패위험감소, 시스템구축방법에대한지식공유, 시스템명세, 설계, 코드등문서공유 201 09.5, 09.3, 04.5, 02.5, 01.3, 99.4 객체지향설계 객체지향분석 (OOA) 을사용해서생성한여러가지분석모델을설계모델로변환하는작업으로, 시스템설계와객체설계를수행한다. 최근소프트웨어제품의전형적인타입인사용자중심, 대화식프로그램의개발에적합하다. 객체지향설계에서가장중요한문제는시스템을구성하는객 56 203 09.5, 09.3, 08.9, 08.5, 08.3, 07.5, 07.3, 06.3, 05.5, 03.8, 03.5, 02.9, 02.3, 01.9, 00.10, 99.4 소프트웨어재공학 새로운요구에맞도록기존시스템을이용하여보다나은시스템을구축하고, 새로운기능을추가하여소프트웨어성능을향상시키는것이다. 유지보수비용이소프트웨어개발비용의대부분을차지하는문제를고려하여기존소프트웨어의데이터와기능들의개조및개선을통해유지보수성과품질을향상시키려는기술이다.

정보처리기사필기요약 유지보수생산성향상을통해소프트웨어위기를해결하는방법이다. 소프트웨어재공학도자동화된도구를사용하여소프트웨어를분석하고수정하는과정을포함한다. 재공학의목표 : 복잡한시스템을다루는방법구현, 다른뷰의생성, 잃어버린정보의복구및제거, 부작용의발견 소프트웨어재공학의주요활동 - 분석 (Analysis) : 기존소프트웨어의명세서를확인하여소프트웨어의동작을이해하고, 재공학대상을선정하는것 - 개조 ( 재구조, 재구성 ) : 상대적으로같은추상적수준에서하나의표현을다른표현형태로바꾸는것 - 역공학 (Reverse Engineering) : 기존소프트웨어를분석하여소프트웨어개발과정과데이터처리과정을설명하는분석및설계정보를재발견하거나다시만들어내는작업 - 이식 : 기존소프트웨어를다른운영체제나하드웨어환경에서사용할수있도록변환하는작업 204 CASE 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.4, 05.3, 04.9, 04.5, 03.8, 03.5, 02.9, 02.5, 02.3, 01.6, 01.3, 00.7, 00.3, 99.4 CASE / 정보저장소 소프트웨어개발과정에서사용되는요구분석, 설계, 구현, 검사및디버깅과정전체또는일부를컴퓨터와전용소프트웨어도구를사용하여자동화하는것이다. 소프트웨어생명주기의전체단계를연결해주고자동화해주는통합된도구를제공해주는기술이다. 소프트웨어개발도구와방법론이결합된것으로, 정형화된구조및방법 ( 매커니즘 ) 을소프트웨어개발에적용하여생산성향상을구현하는공학기법이다. CASE 사용의이점 : 소프트웨어개발기간단축및비용절감, 품질향상, 유지보수용이, 생산성향상, 재사용성향상등 CASE 분류 상위 (Upper) CASE 하위 (Lower) CASE 통합 (Integrate) CASE 소프트웨어생명주기의전반부에서사용되는것으로, 문제를기술 (Description) 하고계획하며요구분석과설계단계를지원하는 CASE 소프트웨어생명주기의하반부에서사용되는것으로코드의작성과테스트, 문서화하는과정을지원하는 CASE 소프트웨어생명주기에포함되는전체과정을지원하기위한 CASE 정보저장소 (Repository) 소프트웨어를개발하는과정동안에모아진정보를보관하여관리하는곳으로 CASE 정보저장소, CASE 데이터베이스, 요구사항사전, 저장소등으로불린다. 초기의소프트웨어개발환경에서는사람이정보저장소역할을하였지만오늘날에는데이터베이스가정보저장소역할을담당한다. 도구들의통합, 소프트웨어시스템의표준화, 소프트웨어시스템정보의공유, 소프트웨어재사용성의기본이된다. 정보저장소사용의이점 - 도구들과생명주기활동, 사용자들, 응용소프트웨어들사이의통신과소프트웨어시스템의정보공유를향상시킨다. - 소프트웨어시스템구성요소들과시스템정보가정보저장소에의해관리되므로유지보수성이향상된다. - CASE 도구들간에정보를쉽게교환하고, 사용자가쉽게새로운도구를추가할수있도록해준다. - CASE 도구들을통합하여통합 CASE 도구사용을가능하게한다. - 중복된공통정보를통합하며불필요한정보를제거한다. - 생명주기정보를재사용할수있도록한다. - 소프트웨어시스템의이식과변환을용이하게한다. 5 과목 데이터통신 205 02.5, 99.8 데이터통신의개요 데이터통신 : 컴퓨터의발달을배경으로하여생겨난것으로, 컴퓨터와각종통신기기사이에서디지털형태로표현된 2진정보 (0과 1) 를송 수신하는것을말한다 ( 데이터통신 = 데이터전송기술 + 데이터처리기술 ). 정보통신 : 컴퓨터와통신기술의결합에의해통신처리기능과정보처리기능은물론정보의변환, 저장과정이추가된형태의통신이다 ( 정보통신 = 전기통신 ( 정보전송 ) + 컴퓨터 ( 정보처리 )). 통신의 3요소 : 정보원 (Source), 수신원 (Destination), 전송매체 (= 통신회선 ) 주요데이터통신시스템의발달과정 SAGE SABRE CTSS ARPANET ALOHA SNA 최초의데이터통신시스템 최초의상업용데이터통신시스템 최초의시분할시스템 인터넷의효시가된통신시스템 최초의무선패킷교환시스템. 회선제어방식중경쟁방식의모체 데이터통신시스템의표준화가시작됨 57

정보처리기사필기요약 206 04.3 꼬임선 (Twisted Pair Wire) 209 04.9, 02.9, 01.9, 00.3 통신제어장치 (CCU) 전기적간섭현상을줄이기위해서균일하게서로감겨있는형태의케이블이다. 가격이저렴하고, 설치가간편하다. 거리, 대역폭, 데이터전송률면에서제약이많다. 다른전기적신호의간섭이나잡음에영향을받기가쉽다. 207 99.8, 99.4 광섬유케이블 (Optical Fiber Cable) 유리를원료로하여제작된가느다란광섬유를여러가닥묶어서케이블의형태로만든것으로광케이블이라고도한다. 데이터를빛으로바꾸어빛의반사원리를이용하여전송한다. 유선매체중가장빠른속도와높은주파수대역폭을제공한다. 대용량, 장거리전송이가능하다. 가늘고, 가벼워취급이용이하다. 도청이어려워보안성이뛰어나다. 무유도, 무누화의성질을가진다. 감쇠율이적어리피터의설치간격이넓으므로리피터의소요가적다. 설치비용은비싸지만단위비용은저렴하다. 광섬유간의연결이어려워설치시고도의기술이필요하다. 208 00.3 위성마이크로파 지상에서쏘아올린마이크로주파수를통신위성을통해변환, 증폭한후다른주파수로지상에송신하는방식으로, 위성통신에사용한다. 위성통신에사용하고있는주파수대역은 3~30GHz의극초단파 (SHF) 이다. 위성통신시스템은통신위성, 지구국, 채널로구성된다. 대역폭이넓어고속 대용량통신이가능하고, 통신비용이저렴하다. 오류율이적어고품질의정보전송이가능하다. 통신범위가넓고, 거리에무관하게전송비용이일정하다. 전송지연시간이길고, 보안성이취약하다. 통신위성은약 35,800km 정도의정지궤도상에위치하여지구의자전속도로운행한다. 한대의통신위성은지구표면의약 42.4% 지역을커버할수있으므로이론상최소 3개의정지위성만있으면극지역을제외한지구상의어느지점과도통신이가능하다. 통신제어장치의기능 전송제어 동기및오류제어 그밖의기능 다중접속제어, 교환접속제어, 통신방식제어, 우회중계회선설정 ( 경로설정 ) 동기제어, 오류제어, 흐름제어, 응답제어, 정보전송단위의정합, 데이터신호의직 병렬변환, 투과성, 정보표시형식의변환, 우선권제어 제어정보식별, 기밀보호, 관리기능 전처리기 (FEP) : 호스트컴퓨터와단말기사이에고속통신회선으로설치되며, 통신회선및단말기제어, 메시지의조립과분해, 전송메시지검사등을수행하므로, 컴퓨터의부담을줄일수있다. 210 아날로그전송 디지털전송 211 06.9, 02.3, 00.3 아날로그 / 디지털전송 전송매체를통해전달되는신호가아날로그형태인것 신호의감쇠현상이심하므로장거리전송시증폭기에의해신호를증폭하여전송하며, 이때신호에포함된잡음까지도같이증폭되기때문에오류의확률이높음 전송매체를통해전달되는신호가디지털형태인것 장거리전송시중계기 ( 리피터, Repeater) 에의해원래의신호내용을다시복원한다음전송하는방식이기때문에잡음에의한오류율이낮음 대역폭을효율적으로이용하여더많은용량을전송할수있음 아날로그나디지털정보의암호화를쉽게구현할수있음 전송장비의소형화, 가격이저렴해지고있음 08.9, 08.5, 08.3, 04.5, 04.3, 01.9, 01.3, 00.7, 99.10 통신방식 단방향 (Simplex) 통신 : 한쪽방향으로만전송이가능한방식 라디오, TV 반이중 (Half-Duplex) 통신 : 양방향전송이가능하지만동시에양쪽방향에서전송할수없는방식 무전기, 모뎀을이용한데이터통신 전이중 (Full-Duplex) 통신 : 동시에양방향전송이가능한방식으로, 전송량이많고, 전송매체의용량이클때사용 전화, 전용선을이용한데이터통신 58

212 08.3, 07.9, 07.5, 06.9, 04.9, 03.8, 02.9, 02.5, 02.3, 01.9, 00.10, 00.7 비동기식전송 한문자를나타내는부호 ( 문자코드 ) 앞뒤에 Start Bit와 Stop Bit를붙여서 Byte와 Byte를구별하여전송하는방식이다. 시작비트, 전송문자 ( 정보비트 ), 정지비트로구성된한문자를단위로하여전송하며, 오류검출을위한패리티비트 (Parity Bit) 를추가하기도한다. 문자와문자사이의휴지시간 (Idle Time) 이불규칙하다. 2,000bps( 약 2Kbps) 이하의저속, 단거리전송에사용한다. 문자마다시작, 정지를알리기위한비트가 2~3Bit씩추가되므로, 전송효율이떨어진다. 213 07.5, 06.9, 03.8, 03.3, 02.9, 02.5, 02.3, 01.3, 00.10 동기식전송 미리정해진수만큼의문자열을한블록 ( 프레임 ) 으로만들어일시에전송하는방식이다. 프레임단위로전송하므로전송속도가빠르다. 제어정보의앞부분을프리앰블, 뒷부분을포스트앰블이라한다. 시작 / 종료비트로인한오버헤드가없고, 휴지시간이없으므로, 전송효율이좋다. 주로원거리전송에사용한다. 단말기는반드시버퍼기억장치를내장하여야한다. 비트동기방식과블록동기방식이있다. 블록동기방식은문자동기방식과비트동기방식으로나누어진다. 문자위주동기방식 비트위주동기방식 SYN 등의동기문자 ( 전송제어문자 ) 에의해동기를맞추는방식 BSC 프로토콜에서사용됨 데이터블록의처음과끝에 8 비트의플래그비트 (01111110) 를표시하여동기를맞추는방식 HDLC, SDLC 프로토콜에서사용됨 프레임 (Frame) : 전송할자료를일정한크기로분리한것으로, 동기식전송의전송단위이며, 프레임은데이터뿐만아니라행선지코드, 동기를위한제어문자, 오류검출을위한패리티나 CRC 등의추가정보로구성됨 정보처리기사필기요약 디지털데이터를공중전화교환망 (PSTN) 과같은아날로그통신망을이용하여전송할때사용한다. 모뎀의기능 : 변 복조기능, 자동응답기능, 자동호출기능, 자동속도조절기능, 모뎀시험기능 널 (Null) 모뎀 : 모뎀을사용하지않고 2대의컴퓨터를직접접속해서정보를교환할수있게하는것으로실제로는모뎀이사용되지않지만컴퓨터의입장에서는모뎀을사용하는것과같으므로모뎀이라표현함 215 07.3, 02.9, 01.6, 00.10 DSU(Digital Service Unit) 컴퓨터나단말장치로부터전송되는디지털데이터를디지털회선에적합한디지털신호로변환하는과정과그반대의과정을수행한다. 신호의변조과정없이단순히유니폴라 ( 단극성 ) 신호를바이폴라 ( 양극성 ) 신호로변환하여주는기능만제공하기때문에모뎀에비하여구조가단순하다. 디지털데이터를공중데이터교환망 (PSDN) 과같은디지털통신망을이용하여전송할때사용한다. 송 수신기능과타이밍회복기능을 DSU 자체에서수행한다. 속도가빠르고, 오류율이낮다. 216 09.3, 08.9, 08.5, 08.3, 06.9, 06.5, 05.9, 05.4, 05.3, 04.9, 04.3, 02.9, 00.7, 99.4 신호변환방식 - 디지털변조 모뎀 (MODEM) 을이용하여디지털데이터를아날로그신호로변조하는방식이다. 변조방식 진폭편이변조 (ASK) 주파수편이변조 (FSK) 2 진수 0 과 1 을서로다른진폭의신호로변조 이방식을사용하는모뎀은구조가간단하고, 가격이저렴함 신호변동과잡음에약하여데이터전송용으로거의사용되지않음 2 진수 0 과 1 을서로다른주파수로변조 1,200bps 이하의저속도비동기식모뎀에서사용됨 이방식을사용하는모뎀은구조가간단하고, 신호변동과잡음에도강함 214 06.5, 05.5, 03.8, 02.9, 01.6, 01.3, 00.10 모뎀 (MODEM) 컴퓨터나단말장치로부터전송되는디지털데이터를아날로그회선에적합한아날로그신호로변환하는변조 (MOdulation) 과정과그반대의복조 (DEModulation) 과정을수행한다. 위상편이변조 (PSK) 2 진수 0 과 1 을서로다른위상을갖는신호로변조 파형의시작위치를다르게하여신호를전송 한위상에 1 비트 (2 위상 ), 2 비트 (4 위상 ), 또는 3 비트 (8 위상 ) 를대응시켜전송하므로속도를증가시킬수있음 중 고속의동기식모뎀에많이사용됨 59

정보처리기사필기요약 직교진폭변조 (QAM) = 진폭위상변조, 직교위상변조 217 09.3, 08.9, 08.5, 07.9, 06.5, 05.9, 05.5, 05.4, 05.3, 04.9, 04.3, 02.9, 01.3, 00.10, 00.7, 00.3, 99.10, 99.8, 99.4 신호변환방식 - 펄스코드변조 (PCM) 화상, 음성, 동영상비디오, 가상현실등과같이연속적인시간과진폭을가진아날로그데이터를디지털신호로변조하는방식으로, CODEC을이용하다. 펄스변조 : 펄스파의진폭, 폭, 위상등을변화시키는변조방식 연속레벨변조 불연속레벨변조 펄스코드변조 (PCM) 순서 : 표본화 (Sampling) 양자화 (Quantizing) 부호화 (Encoding) 표본화 (Sampling) 양자화 (Quantizing) 부호화 (Encoding) 복호화 (Decoding) 여파화 (Filtering) 반송파의진폭과위상을상호변환하여신호를얻는변조방식 제한된전송대역내에서고속전송 (9,600bps) 이가능함 9,600bps 모뎀의표준방식으로권고됨 신호의진폭과위상을표시하는신호의구분점이통신회선의잡음과위상변화에대하여우수한특성을지님 펄스진폭변조 (PAM), 펄스폭변조 (PWM), 펄스위상변조 (PPM) 펄스수변조 (PNM), 펄스코드변조 (PCM), 델타변조 (ΔM) 음성, 영상등의연속적인신호파형을일정시간간격으로검출하는단계 샤논의표본화이론 : 어떤신호 f(t) 가의미를지니는최고주파수보다 2배이상의주파수로균일한시간간격동안채집된다면이채집된데이터는원래의신호가가진모든정보를포함함 표본화에의해검출된신호를 PAM 신호라고하며, 아날로그형태임 표본화횟수 = 2배 최고주파수 1 표본화간격 = 표본화횟수 표본화된 PAM 신호를유한개의부호에대한대표값으로조정하는과정 실수형태의 PAM 신호를반올림하여정수형으로만듦 양자화잡음 : 표본측정값과양자화파형과의오차를말하며, 주로 PCM 단국장치에서발생 양자화잡음은양자화레벨을세밀하게함으로써줄일수있으나, 이경우데이터의양이많아지고전송효율이낮아짐 양자화레벨 : PAM 신호를부호화할때 2진수로표현할수있는레벨 ( 양자화레벨 = 2 표본당전송비트수 ) 양자화된 PCM 펄스의진폭크기를 2 진수 (1 또는 0) 로표시하는과정 수신된디지털신호 (PCM 신호 ) 를 PAM 신호로되돌리는단계 PAM 신호를원래의입력신호인아날로그신호로복원하는과정 60 218 04.5, 03.5, 02.3, 99.8 베이스밴드 (Base Band) 전송 컴퓨터나단말장치등에서처리된디지털데이터를다른주파수대역으로변조하지않고직류펄스의형태그대로전송하는것으로, 기저대역전송이라고도한다, 신호만전송되기때문에전송신호의품질이좋다. 직류를사용하므로감쇠등의문제가있어장거리전송에적합하지않다. 컴퓨터와주변장치간의통신이나 LAN 등비교적가까운거리에서사용된다. 219 09.3, 08.3, 07.5, 05.9 05.5, 03.5, 01.6, 01.3, 00.7, 99.10, 99.4 다중화기 (Multiplexer) 하나의통신회선에여러대의단말기가동시에접속하여사용할수있도록하는장치이다. 다중화 (Multiplexing) : 하나의통신회선을다수의단말기가공유할수있도록하는것으로, 다중화를위한장치에는다중화기, 집중화기, 공동이용기가있음 고속통신회선의주파수나시간을일정한간격으로나누어각단말기에할당하는방식으로운영된다. 통신회선을공유함으로써전송효율을높이고, 통신회선의수와설치비용을줄일수있다. 다중화기는주파수분할다중화기와시분할다중화기로구분할수있다. 입력회선의수와출력회선의수가같다. 여러대의단말기속도의합이하나의통신회선의속도와같다 (A + B + C = D). 220 08.5, 08.3, 07.9, 06.3, 05.9, 05.5, 05.4, 05.3, 04.5, 04.3, 03.5, 03.3, 02.9, 02.5, 01.9, 01.3, 00.7, 00.3, 99.8 주파수분할다중화기 (FDM) 통신회선의주파수를여러개로분할하여여러대의단말장치가동시에사용할수있도록한것이다. 전송신호에필요한대역폭보다통신회선의유효대역폭이큰경우에사용한다. 다중화기자체에변 복조기능이내장되어있어모뎀을설치할필요가없다. 시분할다중화기에비해구조가간단하고가격이저렴하다. 대역폭을나누어사용하는각채널들간의상호간섭을방지하기위한보호대역 (Guard Band) 이필요하다. 보호대역 (Guard Band) 사용으로인한대역폭의낭비가초래된다. 저속 (1,200Bps 이하 ) 의비동기식전송, 멀티포인트방식, 아날로그신호전송에적합하다.

221 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.5, 06.3, 05.9, 05.5, 05.4, 04.5, 04.3, 03.8, 03.5, 03.3, 02.9, 02.5, 02.3, 01.6, 00.10, 00.7, 99.8 시분할다중화기 (TDM) 통신회선의대역폭을일정한시간폭 (Time Slot) 으로나누어여러대의단말장치가동시에사용할수있도록한것이다. 디지털회선에서주로이용하며, 대부분의데이터통신에사용된다. 다중화기의내부속도와단말장치의속도차이를보완해주는버퍼가필요하다. 동기식시분할다중화기 (STDM) 비동기식시분할다중화기 (ATDM) 222 모든단말장치에균등한 ( 고정된 ) 시간폭을제공함 전송되는데이터의시간폭을정확히맞추기위한동기비트가필요함 통신회선의데이터전송률이전송디지털신호의데이터전송률을능가할때사용함 전송할데이터가없는경우에도시간폭 (Time Slot) 이제공되므로효율성이떨어짐 다중화된회선의데이터전송률은접속장치들의데이터전송률의합과같음 전송할데이터가있는단말장치에만시간폭을제공하므로, 전송효율이높음 동기식시분할다중화기보다많은수의단말기들이전송매체에접속할수있음 데이터전송량이많아질경우전송지연이생길수있음 동기식시분할다중화기에비해접속에소요되는시간이김 주소제어, 흐름제어, 오류제어등의기능을하므로복잡한제어회로와임시기억장치가필요하고, 가격이비쌈 지능다중화기, 확률적다중화기, 통계적시분할다중화기라고도함 다중화된회선의데이터전송률은접속장치들의데이터전송률의합보다작음 02.3, 00.10, 00.3 역다중화기 (Inverse Multiplexer) 광대역회선대신에두개의음성대역회선을이용하여데이터를전송할수있도록하는장치이다. 광대역통신회선을사용하지않고도 9,600bps 이상의광대역속도를얻을수있으므로, 통신비용을절감할수있다. 하나의통신회선이고장나더라고나머지하나의회선을통해 1/2 속도로전송을계속유지할수있다. 여러가지변화에대응해다양한전송속도를얻을수있다. 음성회선의특성상두회선의상대적전송지연이발생할수있으며, 이로인한두회선의속도차이를조절하기위해순환기억장치 (Circulating Memory) 가사용된다 ( 비트스트림혼란방지 ). 223 정보처리기사필기요약 06.9, 03.8, 01.6 집중화기 (Concentrator) 하나또는소수의회선에여러대의단말기를접속하여사용할수있도록하는장치이다. 실제전송할데이터가있는단말기에만통신회선을할당하여동적으로통신회선을이용할수있도록한다. 한개의단말기가통신회선을점유하면다른단말기는회선을사용할수가없으므로, 다른단말기의자료를임시로보관할버퍼가필요하다. m 개의입력회선을 n개의출력회선으로집중화하는장치로, 입력회선의수가출력회선의수보다같거나많다. 여러대의단말기속도의합이통신회선의속도보다크거나같다 (A + B + C D). 회선의이용률이낮고, 불규칙적인전송에적합하다. 224 통신속도 변조속도 신호속도 전송속도 베어러속도 08.3, 07.9, 07.5, 07.3, 06.9, 06.3, 05.9, 05.5, 05.4, 05.3, 04.5, 03.8, 03.5, 03.3, 02.5, 02.3, 01.6, 01.3, 00.10, 00.7, 99.10, 99.8 통신속도 1 초동안몇개의신호변화가있었는가를나타내는것 ( 단위 : Baud) 1 초동안전송가능한비트의수 ( 단위 : Bps(Bit/Sec)) 데이터신호속도 (Bps) = 변조속도 (Baud) 변조시상태변화수 변조속도 (Baud) = 데이터신호속도 (Bps) / 변조시상태변화수 단위시간에전송되는데이터의양 ( 문자, 블록, 비트, 단어수등 ) 데이터신호에동기문자, 상태신호등을합한속도 ( 단위 : Bps(Bit/Sec)) 변조시상태변화수 : 모노비트 (Mono Bit) = 1비트, 디비트 (Di Bit) = 2비트, 트리비트 (Tri Bit) = 3비트, 쿼드비트 (Quad Bit) = 4비트 225 09.3, 08.9, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.9, 05.5, 05.3, 04.9, 04.5, 03.8, 03.5, 03.3, 02.5, 02.3, 01.9, 01.6, 01.3, 00.7 전송제어의기본 전송제어 : 데이터의원활한흐름을위하여입 출력제어, 회선제어, 동기제어, 오류제어, 흐름제어등을수행하는것 OSI 7 참조모델의데이터링크계층 (2계층) 에서수행하는기능이다. 전송제어절차 : 데이터통신회선의접속 데이터링크설정 ( 확립 ) 정보메시지전송 데이터링크종결 데이터통신회선의절단 61

정보처리기사필기요약 데이터통신회선의접속 데이터링크설정 ( 확립 ) 정보메시지전송 데이터링크종결 ( 해제 ) 데이터통신회선의절단 226 통신회선과단말기를물리적으로접속하는단계 교환회선을이용한포인트투포인트방식이나멀티포인트방식으로연결된경우에필요한단계 접속된통신회선상에서송 수신측간의확실한데이터전송을수행하기위해서논리적경로를구성하는단계 설정된데이터링크를통해데이터를수신측에전송하고, 오류제어와순서제어를수행하는단계 송 수신측간의논리적경로를해제하는단계 통신회선과단말기간의물리적접속을절단하는단계 08.5, 07.3, 06.9, 06.5, 06.3, 05.4, 05.3, 04.9, 04.5, 03.3, 02.3, 00.10, 00.3, 99.8, 99.4 전송제어문자 링크관리, 프레임의시작및끝의구별과오류제어등의기능을한다. 문자 SYN(SYNchronous idle) SOH(Start Of Heading) STX(Start of TeXt) ETX(End of TeXt) ETB(End Of Transmission Block) EOT(End of Transmission) ENQ(ENQuiry) DLE(Data Link Escape) ACK(ACKnowledge) NAK(Negative AcKnowledge) 227 문자동기 헤딩의시작 기능 본문의시작및헤딩의종료 본문의종료 블록의종료 전송종료및데이터링크의해제 상대편에데이터링크설정및응답요구 전송제어문자앞에삽입하여전송제어문자임을알림 ( 문자의투과성을위해삽입 ) 수신된메시지에대한긍정응답 수신된메시지에대한부정응답 08.9, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 05.9, 05.5, 05.4, 05.3, 04.9, 03.8, 03.3, 02.5, 01.6, 01.3, 00.10 HDLC(High-level Data Link Control) 비트 (Bit) 위주의프로토콜로, 각프레임에데이터의흐름을제어하고오류를검출할수있는비트열을삽입하여전송한다. 포인트투포인트및멀티포인트, 루프방식에서모두사용가능하다. 단방향, 반이중, 전이중통신을모두지원하며, 동기식전송방식을사용한다. 오류제어를위해 Go-Back-N과선택적재전송 (Selective Repeat) ARQ를사용한다. 흐름제어를위해슬라이딩윈도우방식을사용한다. 전송제어상의제한을받지않고자유로이비트정보를전송할수있다 ( 비트투과성 ). 전송효율과신뢰성이높다. HDLC 프레임구조 헤더 텍스트 트레일러 ` 8Bit `8Bit( 확장가능 )` 8Bit `임의 Bit 16/32Bit` `8Bit 플래그주소부제어부정보부 FCS 플래그 플래그 (Flag) : 프레임의시작과끝을나타내는고유한비트패턴 (01111110). FCS( 프레임검사순서필드 ) : 프레임내용에대한오류검출을위해사용되는부분으로, 일반적으로 CRC 코드가사용됨 HDLC의프레임종류 정보 (I) 프레임 (Information Frame) 감독 (S) 프레임 (Supervisor Frame) 비번호 (U) 프레임 (Unnumbered Frame) HDLC의데이터전송모드 데이터전송모드는제어부에서관리하는 U프레임에의해설정된다. 표준 ( 정규 ) 응답모드 (NRM) 비동기응답모드 (ARM) 비동기균형 ( 평형 ) 모드 (ABM) 제어부가 0 으로시작하는프레임 사용자데이터를전달하는역할 제어부가 10 으로시작하는프레임 오류제어와흐름제어를위해사용 제어부가 11 로시작하는프레임 링크의동작모드설정과관리를함 반이중통신을하는포인트투포인트또는멀티포인트불균형링크구성에사용 종국은주국의허가 (Poll) 가있을때에만송신 전이중통신을하는포인트투포인트불균형링크구성에사용 종국은주국의허가 (Poll) 없이도송신이가능하지만링크설정이나오류복구등의제어기능은주국만함 포인트투포인트균형링크에서사용 혼합국끼리허가없이언제나전송할수있도록설정 62

정보처리기사필기요약 228 08.9, 08.5, 07.9, 06.5, 04.3, 03.8, 02.9, 01.9, 01.6, 00.10, 00.3, 99.10 회선제어방식 230 08.5, 06.5, 05.9, 03.8, 02.9 전송오류제어방식 경쟁 (Contention) 방식 폴링 / 셀렉션 (Polling/ Selection) 방식 229 회선접속을위해서서로경쟁하는방식 송신요구를먼저한쪽이송신권을가짐 포인트투포인트방식에서주로사용 데이터링크가설정되면정보전송이종료되기전까지는데이터링크의종결이이루어지지않고독점적으로정보를전송함 대표적인시스템으로는 ALOHA 가있음 주컴퓨터에서송 수신제어권을가지고있는방식으로트래픽이많은멀티포인트방식에서사용됨 폴링 (Polling) : 주컴퓨터에서단말기에게전송할데이터가있는지를물어전송할데이터가있다면전송을허가하는방식으로, 단말기에서컴퓨터로보낼데이터가있는경우에사용됨 셀렉션 (Selection) : 주컴퓨터가단말기로전송할데이터가있는경우그단말기가받을준비가되었는가를묻고, 준비가되어있다면주컴퓨터에서단말기로데이터를전송하는방식 07.5, 06.3, 03.5, 03.3, 01.6, 00.3 오류의발생원인 감쇠 : 전송신호세력이전송매체를통과하는과정에서거리에따라약해지는현상으로, 감쇠현상을해결하기위해중계기 ( 기지국 ) 를이용함 지연왜곡 : 하나의전송매체를통해여러신호를전달했을때주파수에따라그속도가달라짐으로써생기는오류 백색잡음 : 전송매체내부에서온도에따라전자의운동량이변화함으로써생기는잡음으로, 가우스잡음, 열잡음이라고도함 상호변조 ( 간섭 ) 잡음 : 서로다른주파수들이하나의전송매체를공유할때주파수간의합 ( 合 ) 이나차 ( 差 ) 로인해새로운주파수가생성되는잡음 누화잡음 = 혼선 : 인접한전송매체의전자기적상호유도작용에의해생기는잡음으로, 전화통화중다른전화의내용이함께들리는현상 충격성잡음 : 번개와같은외부적인충격또는통신시스템의결함이나파손등의기계적인충격에의해생기는잡음으로, 디지털데이터를전송하는경우중요한오류발생요인이됨 우연적왜곡과시스템적왜곡 전진 ( 순방향 ) 오류수정 (FEC) 후진 ( 역방향 ) 오류수정 (BEC) 231 재전송요구없이오류검출과수정을스스로하는방식 역채널이필요없고, 연속적인데이터흐름이가능함 데이터비트이외에오류검출및수정을위한비트 ( 잉여비트 ) 들이추가로전송되어야하기때문에전송효율이떨어짐 해밍코드, 상승코드방식이있음 데이터전송과정에서오류가발생하면송신측에재전송을요구하는방식 패리티검사, CRC, 블록합방식등을사용하여오류를검출하고, 오류제어는자동반복요청 (ARQ) 에의해이루어짐 09.5, 09.3, 08.5, 08.3, 07.9, 06.9, 06.5, 05.5, 05.3, 04.9, 04.5, 04.3, 03.5, 02.5, 02.3, 01.9, 00.3 자동반복요청 (ARQ) 오류발생시수신측은오류발생을송신측에통보하고, 송신측은오류발생블록을재전송하는모든절차를의미한다. 정지 - 대기 (Stopand-Wait) ARQ 연속 (Continuous) ARQ 적응적 (Adaptive) ARQ 232 송신측에서한개의블록을전송한후수신측으로부터응답을기다리는방식 구현방법은가장단순하지만, 전송효율이떨어짐 연속적으로데이터블록을보내는방식 Go-Back-N ARQ : 오류가발생한블록이후의모든블록을재전송함 선택적재전송 (Selective Repeat) ARQ : 오류가발생한블록만을재전송하는방식으로, 수신측에서데이터를처리하기전에원래순서대로조립해야하므로, 더복잡한논리회로와큰용량의버퍼가필요함 데이터블록의길이를채널상태에따라그때그때동적으로변경하는방식으로, 전송효율이제일좋음 제어회로가복잡하고, 비용도많이들어현재는거의사용되지않음 09.5, 08.9, 08.5, 08.3, 07.5, 07.3, 05.9, 05.4, 05.3, 04.3, 03.5, 03.3, 02.5, 01.9, 00.7, 99.10, 99.8 오류검출방식 우연적왜곡 시스템적왜곡 예측할수없이무작위로발생하는왜곡 백색잡음, 충격성잡음, 누화잡음, 위상히트잡음등 전송매체에서언제든지일어날수있는왜곡 손실, 감쇠, 하모닉왜곡 ( 신호의감쇠가진폭에의해달라지는것 ) 등 패리티검사 전송비트에 1 비트의검사비트인패리티비트 (Parity Bit) 를추가하여오류검출 가장간단한방식이지만, 2 개의비트에동시에오류가발생하면검출이불가능함 오류를검출만할수있고, 수정은하지못함 홀수 / 짝수수직패리티체크와홀수 / 짝수수평패리티체크가있음 63

정보처리기사필기요약 순환중복검사 (CRC; Cyclic Redundan cy Check) 다항식코드를사용하여오류를검출하는방식 동기식전송에서주로사용함 HDLC 프레임의 FCS( 프레임검사순서필드 ) 에사용되는방식 집단오류를검출할수있고, 검출률이높으므로가장많이사용함 호정보제어신호망관리제어신호 신호음, 연결음, 통화중신호음등호의상태정보를송신자에게제공하는역할수행 통신망의전체적인운영, 유지, 고장수리등을위해사용 해밍코드 상승코드방식 233 수신측에서오류가발생한비트를검출한후직접수정하는방식 1 비트의오류만수정이가능하며, 정보비트외에잉여비트가많이필요함 전송비트중 1, 2, 4, 8, 16, 32, 64,, 2n 번째를오류검출을위한패리티비트로사용함 해밍거리 (Hamming Distance) : 송신비트와수신비트중서로다른비트의수 ( 오류비트수 ) 순차적디코딩과한계값디코딩을사용하여오류를수정함 여러비트의오류를수정할수있음 08.5, 08.3, 07.9, 07.3, 06.9, 05.4, 04.5, 04.3, 03.8, 03.5, 01.9, 00.10, 99.8 회선교환방식 통신을원하는두지점을교환기를이용하여물리적으로접속시키는방식이다. 데이터전송전에먼저물리적통신회선을통한연결이필요하다. 접속이되고나면그통신회선은전용회선에의한통신처럼데이터가전달된다 ( 고정대역전송 ). 접속에는긴시간이소요되나일단접속되면전송지연이거의없어실시간전송이가능하다. 데이터전송에필요한전체시간이축적교환방식에비해길다. 일정한데이터전송률을제공하므로동일한전송속도가유지된다. 전송된데이터의오류제어나흐름제어는사용자에의해수행된다. 공간분할교환방식과시분할교환방식으로나누어지고, 시분할교환방식에는 TDM 버스교환방식, 타임슬롯교환방식, 시간다중화교환방식이있다. 통신과정 : 호 ( 링크 ) 설정 데이터전송 호 ( 링크 ) 해제 제어신호방식 234 08.3, 07.9, 07.5, 06.9, 04.9, 03.3, 02.9, 01.3, 99.10 축적교환방식 송신측에서전송한데이터를송신측교환기에저장시켰다가이를다시적절한통신경로를선택하여수신측터미널에전송하는방식이다. 메시지교환방식 패킷교환방식 235 가상회선방식 교환기가일단송신측의메시지를받아서저장한후전송순서가되면수신측으로전송하는방식 각메시지마다전송경로를결정하고, 수신측주소를붙여서전송함 전송메시지는추후검색이가능함 전송지연시간이매우김 응답시간이느려대화형데이터전송에부적절함 메시지를일정한길이의패킷으로잘라서전송하는방식 패킷교환망은 OSI 참조모델의네트워크계층에해당함 회선이용률이높음 수신측에서분할된패킷을재조립해야함 응답시간이빠르므로, 대화형응용이가능함 음성전송보다데이터전송에더적합함 패킷 (Packet) : 전송혹은다중화를목적으로, 메시지를일정한비트수로분할하여송 수신측주소와제어정보등을부가하여만든데이터블록 09.3, 07.5, 07.3, 05.9, 05.3, 03.8, 02.9, 02.3, 01.9, 01.3, 99.4 패킷교환방식의종류 단말기상호간에논리적인가상통신회선을미리설정하여송신지와수신지사이의연결을확립한후에설정된경로를따라패킷들을순서적으로운반하는방식 통신이이루어지는컴퓨터사이에데이터전송의안정, 신뢰성이보장됨 패킷의송 수신순서가같음 모든패킷을전송한후에는연결된회선을해제하기위해 Clear Request Packet 을전송함 통신과정 : 호 (Call) 설정 데이터전송 호 (Call) 해제 감시 ( 관리 ) 제어신호 주소제어신호 상대방과통화하는데필요한자원을이용할수있는지를결정하고알리는데사용되는제어신호 서비스요청, 응답, 경보및휴지상태복귀신호등의기능수행 상대방을식별하고경로를배정하여전화를울리게함 데이터그램방식 연결경로를설정하지않고인접한노드들의트래픽 ( 전송량 ) 상황을감안하여각각의패킷들을순서에상관없이독립적으로운반하는방식 패킷마다전송경로가다르므로송 수신순서가다를수있음 64

정보처리기사필기요약 236 07.5, 03.8, 02.3 패킷교환망의기능 238 06.3, 05.5, 04.9, 04.3, 03.5, 03.3, 02.5, 01.6 트래픽제어 (Traffic Control) 패킷다중화 : 동시에다수의상대터미널과통신을수행하도록하는기능 경로제어 (Routing) : 가장효율적인전송로를선택하는기능 논리채널 : 송 수신측단말기사이에서논리채널 ( 가상회선 ) 을설정하는기능 순서제어 : 패킷의송 수신순서를제어하는기능 트래픽제어 (Traffic Control) : 전송되는패킷의흐름또는그양을조절하기위해교착상태 (Dead Lock) 의방지, 흐름제어등을수행 오류제어 (Error Control) : 오류를검출하고정정하는기능 237 09.5, 07.9, 07.5, 07.3, 04.5, 04.3, 03.5, 03.3, 02.5, 01.9, 01.6, 00.10 경로제어 (Routing) 송 수신측간의전송경로중에서최적패킷교환경로를설정하는기능이다. 경로설정요소 : 성능기준, 경로의결정시간과장소, 정보발생지, 경로정보의갱신시간 경로설정프로토콜 IGP EGP BGP 하나의자율시스템 (AS) 내의라우팅에사용되는프로토콜 RIP : 소규모동종의네트워크내에서효율적인방법으로, 최대홉 (Hop) 수를 15 로제한 OSPF : 대규모네트워크에서많이사용되는프로토콜로, 라우팅정보에변화가있을때변화된정보만네트워크내의모든라우터에알림 자율시스템 (AS) 간의라우팅, 즉게이트웨이간의라우팅에사용되는프로토콜 자율시스템 (AS) 간의라우팅프로토콜로, EGP 의단점을보완하기위해만들어짐 초기에 BGP 라우터들이연결된때에는전체경로제어표를교환하고, 이후에는변화된정보만을교환함 경로설정방식 고정경로제어 (Static Routing) = 착국부호방식 적응경로제어 (Adaptive Routing) 범람경로제어 (Flooding) 임의경로제어 (Random Routing) 네트워크내의모든쌍에대해서경로를미리정해놓은방식 전송경로를동적으로결정하는방식 네트워크정보를요구하지않고, 송 수신처사이에존재하는모든경로로패킷을전송 인접하는교환기중하나를임의로선택하여전송하는방식 네트워크의보호, 성능유지, 네트워크자원의효율적인이용을위해전송되는패킷의흐름또는그양을조절하는기능이다. 흐름제어 (Flow Control) 네트워크내의원활한흐름을위해송 수신측사이에전송되는패킷의양이나속도를규제하는기능이다. 정지 - 대기 (Stop-and-Wait) 슬라이딩윈도우 (Sliding indow) 수신측의확인신호 (ACK) 를받은후에다음패킷을전송하는방식 한번에하나의패킷만을전송할수있음 수신측의확인신호를받지않더라도미리정해진패킷의수만큼연속적으로전송하는방식 한번에여러개의패킷을전송할수있어전송효율이좋음 윈도우크기 (Window Size) : 수신측의확인신호 (ACK) 없이도전송할수있는패킷의개수로, 상황에따라변함 폭주 ( 혼잡 ) 제어 : 네트워크내의패킷수를조절하여네트워크의오버플로 (Over-Flow) 를방지함. 교착상태방지 : 패킷이같은목적지를갖지않도록할당하고, 교착상태발생시에는교착상태에있는한단말장치를선택하여패킷버퍼를폐기함 239 07.9, 07.5, 06.9, 06.3, 05.9, 05.5, 05.4, 05.3, 03.8, 03.5, 01.6, 99.8, 99.4 망 (Network) 의구성형태 성형 (Star, 중앙집중형 ) 중앙에중앙컴퓨터가있고, 이를중심으로단말기들이연결되는중앙집중식의네트워크구성형태이다. 단말기의추가와제거가쉽다. 교환노드의수가가장적다. 링형 (Ring, 루프형 ) 컴퓨터와단말기들을서로이웃하는것끼리포인트투포인트방식으로연결시킨형태이다. 데이터는단방향또는양방향으로전송할수있으며, 단방향링의경우컴퓨터, 단말기, 통신회선중어느하나라도고장나면전체통신망에영향을미친다. 버스형 (Bus) 한개의통신회선에여러대의단말기가연결되어있는형태이다. 물리적구조가간단하고, 단말기의추가와제거가용이하다. 계층형 (Tree, 분산형 ) 중앙컴퓨터와일정지역의단말기까지는하나의통신회선으로연결시키고, 이웃하는단말기는일정지역내에설치된중 65

정보처리기사필기요약 간단말기로부터다시연결시키는형태이다. 분산처리시스템을구성하는방식이다. 망형 (Mesh) 모든지점의컴퓨터와단말기를서로연결한형태로, 노드의연결성이높다. 많은단말기로부터많은양의통신을필요로하는경우에유리하다. 공중데이터통신망에서사용되며, 통신회선의총경로가가장길다. 통신회선장애시다른경로를통하여데이터를전송할수있다. 모든노드를망형으로연결할때필요한회선수 ( 노드 = n) 는 n(n-1) 개이다. 2 240 09.5, 09.3, 08.5, 06.9, 06.5, 06.3, 05.9, 03.8, 03.3, 02.3, 01.9, 01.6, 00.10, 00.7, 99.10 LAN( 근거리통신망 ) 광대역통신망과는달리학교, 회사, 연구소등한건물이나일정지역내에서컴퓨터나단말기들을고속전송회선으로연결하여프로그램파일또는주변장치를공유할수있도록한네트워크형태이다. 단일기관의소유, 제한된지역내의통신이다. 광대역전송매체의사용으로고속통신이가능하다. 경로선택이필요없고, 오류발생률이낮다. 전송매체로꼬임선, 동축케이블, 광섬유케이블등을사용한다. 망의구성형태에따라서스타형, 버스형, 링형, 계층 ( 트리 ) 형으로분류된다. LAN의계층구조는물리계층과데이터링크계층으로나눠진다. 241 08.9, 07.9, 05.4, 04.9, 04.5, 03.5, 02.9, 02.3, 00.7, 00.3 CSMA/CD 방식 통신회선이사용중이면일정시간동안대기하고, 통신회선상에데이터가없을때에만데이터를송신하며, 송신중에도전송로의상태를계속감시한다. 버스형 LAN에가장일반적으로이용된다. 일정길이이하의데이터를송신할경우충돌을검출할수없다. 전송량이적을때매우효율적이고신뢰성이높다. 전송량이많아지면충돌이잦아져서채널의이용률이떨어지고전송지연시간이급격히증가한다. 충돌발생시다른노드에서는데이터를전송할수없으며, 지연시간을예측하기어렵다. CSMA/CD 방식을사용하는 LAN을이더넷 (Ethernet) 이라고한다. 이더넷시스템의규격 10 BASE T 10 BASE 2 10 BASE 5 10 BASE F 고속이더넷 (Fast Ethernet) 기가비트이더넷 (Gigabit Ethernet) 10 은전송속도가 10Mbps, BASE 는베이스밴드방식, T 는전송매체로꼬임선 (Twisted Pair Wire) 케이블을사용함을나타냄 얇은동축케이블을사용하며, 2 는한세그먼트의최장거리가약 200m 임을나타냄 굵은동축케이블을사용하며, 5 는한세그먼트의최장거리가 500m 임을나타냄 F 는광섬유케이블을사용하는이더넷임을나타냄 100 BASE T 라고도불리는이더넷의고속버전. CSMA/CD 를사용하며, 100Mbps 의전송속도를지원함 CSMA/CD 를사용하며, 1Gbps 의전송속도를지원. 기존의이더넷및고속이더넷과완벽한호환성을지님 물리계층 데이터링크계층 IEEE 802 의주요표준규격 OSI 7 계층의물리계층과동일한기능을제공 매체접근제어 (MAC) 계층과논리링크제어 (LLC) 계층으로나누어짐 매체접근제어 (MAC) 방식의종류 : CSMA, CSMA/CD, 토큰버스, 토큰링 802.1 전체의구성 `` 802.5 토큰링방식 802.2 논리링크제어계층 802.6 도시형통신망 (MAN) 802.3 CSMA/CD 방식 802.11 무선 LAN 802.4 토큰버스방식 66 242 07.3, 06.5, 06.3, 05.5, 05.3, 04.9, 04.3, 03.5, 02.3, 01.9, 01.3, 00.3, 99.10 VAN( 부가가치통신망 ) 공중통신사업자로부터통신회선을임대하여하나의사설망을구축하고이를통해정보의축적, 가공, 변환처리등부가가치를첨가한후불특정다수를대상으로서비스를제공하는통신망이다. 계층구조 : 정보처리계층, 통신처리계층, 네트워크계층, 기본통신계층 기능 : 전송기능, 교환기능, 통신처리기능, 정보처리기능 통신처리기능은축적교환기능과변환기능으로나눠진다. 축적교환기능 변환기능 전자사서함, 데이터교환, 동보통신, 정시수집, 정시배달 속도변환, 프로토콜변환, 코드변환, 데이터형식 (Format) 변환, 미디어변환

243 06.9, 06.3, 01.3, 00.7 ISDN( 종합정보통신망 ) 통신방식및전송로가모두디지털방식이다. 단일통신망으로음성, 문자, 영상등의다양한서비스를종합적으로제공한다. 고속통신이가능하며, 확장성과재배치성이좋다. 2 개이상의단말장치를제어할수있기때문에동시에복수통신을할수있다. 통신망의중복투자를피할수있어경제적이다. OSI 참조모델의계층구조를따른다. 64Kbps 1회선교환서비스가기본이다. 통신망의교환접속기능에는회선교환방식과패킷교환방식이있다. 244 245 08.9, 08.5, 07.9, 04.9, 04.3, 03.8, 03.3, 02.9, 00.7 인터넷의주소체계 IP 주소 : 인터넷에연결된모든컴퓨터자원을구분하기위한고유한주소로, 숫자로 8비트씩 4부분, 총 32비트로구성되며, A ~ E 클래스까지총 5단계로구성된다. 서브넷마스크 : 4바이트의 IP 주소중네트워크주소와호스트주소를구분하기위한비트 IPv6 : IPv4의주소부족문제를해결하기위해개발된것으로, 16비트씩 8부분, 총 128비트로구성되며, 각부분을 16진수로표현하고, 콜론 (:) 으로구분함 도메인네임 : 숫자로된 IP 주소를사람이이해하기쉬운문자형태로표현한것으로, 호스트컴퓨터이름, 소속기관이름, 소속기관의종류, 소속국가명순으로구성 DNS(Domain Name System) : 문자로된도메인네임을컴퓨터가이해할수있는 IP 주소로변환하는역할을하는시스템 08.5, 05.5, 05.4, 05.3, 04.5, 04.3, 03.5, 02.5, 01.9, 01.6, 01.3, 00.7, 00.3 네트워크관련장비 허브 (Hub) : 한사무실이나가까운거리의컴퓨터들을연결하는장치로, 각회선을통합적으로관리하며, 신호증폭기능을하는리피터의역할도포함함 리피터 (Repeater) : 물리계층의장비로, 전송되는신호를재생해줌 브리지 (Bridge) : 데이터링크계층의장비로, LAN과 LAN을연결하거나 LAN 안에서의컴퓨터그룹을연결함 라우터 (Router) : 네트워크계층의장비로, LAN과 LAN의연결및경로선택, 서로다른 LAN이나 LAN과 WAN의연결 정보처리기사필기요약 게이트웨이 (Gateway) : 프로토콜구조가전혀다른네트워크의연결을수행하는장비로, 세션계층, 표현계층, 응용계층간을연결하여데이터형식변환, 주소변환, 프로토콜변환등을수행함 246 09.3, 06.9, 06.5, 06.3, 05.5, 05.4, 05.3, 04.5, 03.3, 02.3, 01.6, 99.8 통신프로토콜 정의 : 서로다른기기들간의데이터교환을원활하게수행할수있도록표준화시켜놓은통신규약 기본요소 : 구문 (Syntax), 의미 (Semantics), 시간 (Timing) 기능 : 단편화, 재결합, 캡슐화, 흐름제어, 오류제어, 동기화, 순서제어, 주소지정, 다중화, 경로제어, 전송서비스 ( 우선순위, 서비스등급, 보안성 ) 247 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 06.9, 06.5, 06.3, 05.9, 05.4, 05.3, 04.9, 04.5, 04.3, 03.8, 03.5, 02.9, 02.5, 01.9, 01.6, 01.3, 00.10, 00.3 OSI 참조모델 다른시스템간의원활한통신을위해 ISO( 국제표준화기구 ) 에서제안한통신규약 (Protocol) 이다. OSI 7계층 : 하위계층 ( 물리계층 데이터링크계층 네트워크계층 ) 상위계층 ( 전송계층 세션계층 표현계층 응용계층 ) 물리계층 (Physical Layer) 데이터링크계층 (Data Link Layer) 네트워크계층 (Network Layer, 망계층 ) 전송계층 (Transport Layer) 세션계층 (Session Layer) 전송에필요한두장치간의실제접속과절단등기계적, 전기적, 기능적, 절차적특성에대한규칙정의 두개의인접한개방시스템들간에신뢰성이있고효율적인정보전송을할수있도록함 흐름제어, 프레임동기화, 오류제어, 순서제어 개방시스템들간의네트워크연결관리 ( 네트워크연결을설정, 유지, 해제 ), 데이터의교환및중계 경로설정 (Routing), 트래픽제어, 패킷정보전송 종단시스템 (End-to-End) 간에투명한데이터전송을가능하게함 전송연결설정, 데이터전송, 연결해제기능 주소설정, 다중화, 오류제어, 흐름제어 송 수신측간의관련성을유지하고대화제어를담당 대화 ( 회화 ) 구성및동기제어, 데이터교환관리기능 체크점 (= 동기점 ) : 오류가있는데이터의회복을위해사용하는것으로소동기점과대동기점이있음 67

정보처리기사필기요약 표현계층 (Presentation Layer) 응용계층 (Application Layer) 248 응용계층으로부터받은데이터를세션계층에맞게, 세션계층에서받은데이터는응용계층에맞게변환하는기능 코드변환, 데이터암호화, 데이터압축, 구문검색, 정보형식 ( 포맷 ) 변환, 문맥관리기능 사용자 ( 응용프로그램 ) 가 OSI 환경에접근할수있도록서비스를제공함 09.5, 08.9, 07.3, 06.3, 05.4, 04.9, 04.5, 02.9, 01.6, 00.10, 00.7, 99.8, 99.4 X.25 패킷교환망을통한 DCE와 DTE 간의인터페이스를제공한다. ITU-T에서제정한국제표준프로토콜로우수한호환성을가진다. 신뢰성과효율성이높고, 전송품질이우수하다. 연결형프로토콜로흐름제어, 오류제어등의기능이있다. X.25의계층구조 : 물리계층, 프레임 ( 링크 ) 계층, 패킷계층 LAPB : HDLC의원리를이용한비트중심의프로토콜로, X.25의 2계층에서사용 프레임릴레이 : 기존의 X.25가갖는오버헤드를제거하여고속데이터통신에적합하도록개선한프로토콜 패킷교환을위한수행절차 : 호설정 데이터전송 호해제 주요프로토콜 TCP IP ICMP RTCP ARP RARP OSI 7 계층의트랜스포트 ( 전송 ) 계층에해당됨 신뢰성있는연결형서비스를제공함 패킷의다중화, 순서제어, 오류제어, 흐름제어기능을제공함 TCP 헤더에는긴급포인터, 순서번호, 체크섬이포함됨 OSI 7 계층의네트워크계층에해당됨 데이터그램을기반으로하는비연결형서비스를제공함 패킷의분해 / 조립, 주소지정, 경로선택기능을제공함 통신중에발생하는오류처리와경로변경등을위한제어메시지를관리함 IP 에없는오류수정기능과 IP 의오류를관리하기위해호스트와질의하는매커니즘을보완한프로토콜 메시지는크게오류보고 (Error-Reporting) 메시지와질의 (Query) 메시지로구분됨 스트리밍용프로토콜인 RTP(Real-Time transport Protocol) 를제어하기위한프로토콜로 32Bit 패킷으로구성됨 데이터전송을모니터링하고최소한의제어와인증기능을제공함 호스트의 IP 주소 ( 논리적주소 ) 를호스트와연결된네트워크접속장치의물리적주소 (MAC Address) 로변환함 물리적주소를 IP 주소 ( 논리적주소 ) 로변환함 249 09.5, 09.3, 08.9, 08.5, 08.3, 07.9, 07.5, 07.3, 05.9, 05.5, 05.4, 05.3, 04.9, 04.5, 04.3, 03.5, 03.3, 02.9, 02.5, 00.10 TCP/IP 인터넷에연결된서로다른기종의컴퓨터들이데이터를주고받을수있도록하는표준프로토콜이다. UNIX의기본프로토콜로사용되었고, 현재인터넷표준프로토콜로사용된다. TCP/IP의계층 응용계층 전송계층 인터넷 ( 네트워크 ) 계층 링크계층 응용프로그램간의데이터송 수신제공 TELNET, FTP, SMTP, SNMP 등 호스트들간의신뢰성있는통신제공 TCP, UDP 데이터전송을위한주소지정, 경로설정제공 IP, ICMP, IGMP, ARP, RARP 실제데이터 ( 프레임 ) 를송 수신하는역할을함 Ethernet, IEEE 802, HDLC, X.25, RS-232C 등 68