자격증/정보처리기사

[정처기] 실기 필수암기 내용

만땅이 2021. 10. 7. 20:28

# 본 필수 암기 내용은 시험에 빈출되는 암기부분이나, 상세하게 출제되는 항목들을 추려서 정리한 내용입니다.

# 수제비, 이기적, 1100제 참고하여 정리하였습니다. 키워드만 보고 빽빽이 해보시는걸 강력 추천드립니다!

도움이 되셨다면 광고좀 클릭해주세요! 몇일동안 노력해서 만든 결과물입니다. 무료 공개인데ㅠㅠ 좀 눌러주세요

 

(◍•ᴗ•◍) 도움이 되셨다면 하트와 광고한번 부탁드립니다 (◍•ᴗ•◍)

 

목차

     

     

    * 객체지향

    1) 구성요소

        ① 클래스 : 같은 종류의 객체들의 집합에서 공통 속성과 행위를 정의함

        ② 객체 : 클래스의 인스턴스

        ③ 속성: 객체의 데이터

        ④ 메소드: 객체의 행위(함수, 메소드), 클래스로부터 생성된 객체를 사용하는 방법임

        ⑤ 메시지: 객체 간의 통신을 말함

    2) 기법 (캡추다정상)

        ①캡슐화 : 속성(데이터)과 메소드(연산)을 하나로 묶어서 객체로 구성

        ②추상화 : 공통 성질을 추출하여 수퍼글래스로 구성

        ③다형성: 동일한 이름의 여러 오퍼레이션(메소드)를 다른 사양으로 정의 가능

        ④정보은닉: 캡슐화된 항목을 다른 객체(object)로부터 숨김

        ⑤ 상속성: 부모 클래스의 속성과 메소드를 상속받아 사용함

     

    * 객체지향 방법론

    1) 럼바우방법론

    : 모든 소프트웨어 구성요소를 그래픽 표기법을 활용하여 모델링하는 기법

        ① 객체모델링: 정보모델링, 속성과 연산 식별 및 객체들간의 관계를 규정, 그래픽 다이어그램으로 표시하는 모델링

        ② 동적모델링: 상태 다이어그램을 사용하여 시스템의 행위를 기술하는 모델링

        ③ 기능모델링: 자료흐름도로 자료의 흐름을 중심으로 처리과정표현, 데이터 입력에 따라 어떤 결과를 구할지 표현

    2) 부치 방법론

    : 미시적 개발 프로세스와 거시적 개발 프로세스를 모드 포함하여 사용, Use case를 강조하여 사용

    3) Coad와 Yourdon

    : E-R다이어그램을 사용하여 객체의 행위를 모델링하는 방법

    4) Wirfs-Borck(워프스-브록)방법

    : 분석과 설계간 구분이 없고 고객 명세서를 평가해서 설계 작업까지 연속으로 수행하는 기법

     

    * 오버라이딩/오버로딩

    1) 오버라이딩: 상속관계에서 상위클래스의 메소드를 하위 클래스에서 재정의

    2) 오버로딩: 하나의 클래스 내에서 같은 이름으로 여러개의 메소드를 정의

     

    * 요구사항 검토방법

    1) 동료검토

    : 2~2명이 진행하는 리뷰의 형태, 요구사항 명세서 작성자가 요구 사항 명세를 설명하고 이해관계자들이 설명을 들으면서 결함을 발견하는 형태로 진행함

    2) 워크스루 

    : 개발 단계마다 실시하는 비정형 검토회의, 오류를 조기에 검출하는게 목적이고 리뷰를 통해 검출 및 문서화

    3) 인스펙션

    : 저작자 외 다른 전문가가 검사하여 오류를 찾아내는 공식적 검토방법, SW품질 높이는 방법

     

    * 애자일 방법론

    : 고객의 요구사항 변화에 유연하게 대응하기위해 일정한 주기를 반복하며 개발하는 방법론

    1) XP : 의사소통 개선, 즉각적인 피드백에 의한 단순 코딩을 sw품질 높임. 5가지 가치, 12가지 실천항목

    2) SCRUM : 매일 정해진 시간에 정해진 장소에서 짧은 시간의 개발을 하는 팀을 위한 프로젝트 관리 방법론

    3) LEAN : 프로세스의 낭비요소를 제거, 7가지 원칙

     

    * UML다이어그램

    1) 구조 다이어그램

        ①class : 시스템 내 클래스들을 정적 구조로 표현

        ②object: 클래스의 여러 객체 인스턴스를 나타내는 대신 실제 클래스를 사용

        ③component: 코드 컴포넌트에 바탕을 둔 코드의 물리적 구조 표현

        ④depolyment: 시스템HW와 SW간 물리적 구조를 표현, 실질적인 컴퓨터와 디바이스간 관계 표현에 이용

        ⑤package: 시스템 계층적으로 구조 표현

        ⑥composite structure: 전체 클래스 안에 각 컴포넌트 클래스 표현

    2) 행위 다이어그램

        ① use case : 사용자 입장에서 본 시스템의 행동 표현

        ② state: 클래스의 객체가 가질 수 있는 모든 가능한 상태와 상태간의 전이 표현

        ③ activity: 행위의 순서적 흐름을 표시

    3) 상호작용 다이어그램

        ①sequence: 객체와 객체간의 상호작용을 메세지 흐름으로 표시

        ②communication: 상호작용에 참여하는 객체/컴포넌트 간의 관계를 명시적으로 표현

        ③interaction overview: 활동 다이어그램과 시퀀스 다이어 그램 혼합 

        ④timing: 시간적 제약과 객체상태 변화를 표현

     

    * 디자인패턴

    : 좋은코드(응집도 높, 결합도 낮)를 설계하기 위한 설계 방법론

    1) 생성패턴 

    : 객체의 생성방식을 결정하는 패턴

        ①factory method: 객체를 생성하기 위한 인터페이스를 따로 정의, 어떤 클래스,객체를 생성하는 일을 서브 클래스가 담당하도록 하는 패턴 

        ②singleton: 지정한 클래스의 인스턴스가 반드시 한개만 존재하도록하는 패턴

        ③Abstract factory: 관련성을 갖는 객체들 or 독립적인 객체들의 집합생성 가능한 인터페이스 제공하는 패턴

        ④Builder: 복잡한 객체를 2개로 분리해서 서로 다른 표현이라도 이를 생성할 수 있는 동일한 절체를 제공하는 패턴

        ⑤Prototype: 원본의 인스턴스를 사용해서 생성할 객체의 종류를 명시, 견본 복사해서 새로운 객체 생성하는 패턴

    2) 구조패턴

    : 객체를 조직화 하는데 유용한 패턴

        ①Adaptor: 클래스의 재사용성을 높이기 위해 클래스 간의 기능 변환 제공하는 패턴

        ②Bridge: 인터페이스가 다른 클래스를 연결하는 패턴

        ③Composite: 복잡한 객체구조를 표현하여 객체 집합 속에 또 다른 객체 집합을 갖는 패턴

        ④Decorator: 새로운 기능 추가될때마다 새로운 객체, 이전 객체의 기능은 새로운객체내에서도 유지보장해주는 패턴

        ⑤Facade: 서브 시스템이 복잡하면, 간단한 인터페이스를 통해 서브시스템의 주요기능 사용할 수 있는 패턴

        ⑥Fly weight: 인스턴스를 가능한 공유하여 불필요한 생성 안하도록하는 패턴

        ⑦Froxy: 객체 접근을 제어하려는 목적으로 인터페이스 역할을 하는 객체를 사용하여 제어하는 패턴

    3) 행위패턴

    : 객체의 행위를 조직,관리,연합하는데 사용하는 패턴

        ①Template method: 상위클래스에서 처리흐름 정의, 하위 클래스에서 구체적 내용 재정의하는 패턴

        ②Interpreter: 언어의 문법정의방법과 그 언어로 문장구사법, 해석법을 제시하는 패턴

        ③Iterator: 집합객체 요소들의 내부 표현 방식 공개x, 순차적으로 접근하는 구조를 제공하는 패턴

        ④Command: 요청자체를 객체화(캡슐화)하고 매개변수(파라미터)를 추가해서 여러 요구사항 추가가능한 패턴

        ⑤Chain of Responsibitiy: 요청 처리기회를 1개 이상의 객체에 부여하여 객체간 결합도 없애는 패턴

        ⑥State: 상태를 객체로 만들어 그 상태에 따른 행동을 분리한 패턴

        ⑦Strategy: 상황별 알고리즘 변환시, 각 알고리즘 클래스들의 공통된 인터페이스에 맞게 구현, 다형성 활용 패턴

        ⑧Mediator: 중재자를 통해 한 집합에 속해있는 객체들의 상호작용을 캡슐화 하는 패턴

        ⑨Memeto: 어떤 시점의 객체 상태를 저장, 필요시 객체를 그떄로 돌리는 패턴

        ⑩visitor: 데이터 구조 안을 돌아다니는 주체인 방문자(class)에게 처리를 맡겨서 기능 추가시 유연성 제공하는 패턴

        ⑪observer: 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 통지, 필요시 자동내용 갱신되는 패턴

     

    * 7layer 특징 및 프로토콜

    1) 응용계층(Data)

    : 사용자와 네트워크 간의 응용 서비스 연결, 데이터 생성

        - SNMP(Simple Network Management Progtocol) : 네트워크 장비를 관리 감시하기위한 목적으로 TCP/IP 상에 정의된 프로토콜

        - DNS(Domain Name System) : IP주소와 호스트 이름/URL을 서로 연결하여 해석

    2) 표현계층(Data)

    : 데이터의 형식 설정과 부호 교환, 암호화 해독

    3) 세센 계층(Data)

    : 응용 프로세스 간의 연결 접속 및 동기 제어

    4) 전송 계층(Segment)

    : 프로세스 간 논리적 통신 서비스 제공, 패킷들의 전송유효확인, 재전송, 오류검출과 복구, 흐름제어

        - TCP ( Transmission control Protocol) : 전송제어 프로토콜, 네크워크 정보전달을 통제하는 프로토콜

        - UDP (User Datagram Protocol): 전송에 사용되며, 신뢰성 낮음, 완정성을 보증X, 응용이나 네트워크 환경에서 가상회선이 굳이 확립필요 없어 유연하고 효율적임

        - RTP (Real-time Transport Protocol) : 인터넷상에서 다수가 종단간에 실시간으로 비디오나 오디오 패킷을 전송하기위해 표준화된 프로토콜

        - SCTP(Streaming Control Transmission Protocol) : 멀티미디어 통신을 위해, UDP와TCP장점을 결합. 고도의 신뢰 전송을 제공하는 전송계층 프로토콜

    5) 네트워크 계층(Packet)

    : 단말 간 시스템끼리 Data를 전송하기 위한 최선의 통신경로 선택 제공

        - ARP ( address resolution protocol): TCP/IP 네트워크에서 IP 주소를 물리주소로 변환

        - RARP(Reverse ARP): 물리주소인 MAC 주소를 IP 주소로 변환

        - IPSec(Internet Protocol Security Protocol) : IP 패킷단위로 인증 및 암호화를 하는 프로토콜

        - ICMP (internet control message protocol): TCP/IP에서 IP 패킷을 처리할때 발생되는 문제를 알리거나, 진단 등과 같이 IP 계층에서 필요한 기타 기능들을 수행하기 위해 사용되는 프로토콜

    6) 데이터링크 계층(Frame)

    : 인접시스템간의 데이터존송, 전송 오류 제어, 오류검출, 재전송, 흐름제어

        - HLDC(High-level Data-Link Control): 고속 데이터 전송에 적합, 비트전송을 기본으로 하는 범용의 데이터 링크 전송제어 절차

    7) 물리계층(Bits)

    : 통신 회선으로 Data를 나타내는 0과1비트의 정보를 회선에 내보내기 위한 전기적 변환이나 기계적 작업담당

        - X.25 : DTE로 명명한 사용자 컴퓨터와 DCE로 명명된 통신회사장비사이에서 신호들을 패킷 단위로 교환하여 통신의 시작이나 종료하는 방법을 규정

     

    * NAT ( Network Access Translation)

    : 외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서 IP 주소를 변환하는 기술

    * DHCP ( Dynamic Host Configuration Protocol)

    : 네트워크관리자가 일정한 시간동안만 유효하도록 하는 임대개념의 IP 주소를 할당하고 관리할 수 있도록하는 프로토콜

    * 라우터

    : 패킷을 최적 경로를 이용하여 전달하는 장치

     

    * 데이터 베이스 이상

    1) 삽입이상 : 테이블에 데이터를 삽입할때 의도와는 관계없이 원하지 않는 값으로 삽입 불가

    2) 갱신이상 : 튜플에 있는 속성값을 갱신할때 일부 튜플의 정보만 갱신되어 정보에 붙일치성 발생하는 현상

    3) 삭제이상 : 한 튜플을 삭제할때, 의도와 상관없이 다른 값들도 함께 연쇄 삭제되는 현상

     

    * 정규화

    : 데이터베이스 이상현상의 원인이 되는 데이터 중복성을 제거, 데이터의 무결성을 보전  ( 조인종속 제거 )

     - 반정규화 : 정규화된 데이터 모델을 통합, 중복, 분리하는 과정으로 성능개선을 위해 의도적으로 정규화 원칙 위배

    1) 제1정규화 : 모든 속성값이 원자값을 가지는 릴레이션  ( 원자값은 도메인 내에서 )

    2) 제2정규화 : 제1정규화 + 기본키가 아닌 속성이 기본키에 완전 함수종속일때  ( 부분함수종속 제거 )

    3) 제3정규화 : 제2정규화 + 기본키가 아닌 속성이 기본키에 직접종속일때  ( 이행함수종속 제거 )

    4) BCNF : 제3정규화 + 함수 종속성 X → Y일때, 모든 결정자X가 후보키일때  ( 결정자가 후보자아닌 함수종속 제거 )

    5) 제4정규화 : BCNF + 모든 속성 X에 대해 A → X이고 A가 후보키일때  ( 다치종속 제거 )

    6) 제5정규화 : 제4정규화 + 모든 조인종속이 후보키를 통해 성립 ( 조인종속 제거 )

     

    * XML / JSON / SOAP / AJAX

    1) XML : 웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML 복잡성을 해결하기위해 개발된 다목적 마크업 언어

    2) JSON : 속성-값 쌍으로 이루어진 데이터 객체를 전달하기 위해 사람이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포멧

    3) SOAP : XML과 HTTP 등을 통해 XML 기반의 메세지를 컴퓨터 네트워크 상에서 교환하는 프로토콜

    4) AJAX : Asynchronous JavaScript And XML 약자로, HTML만으로 표현하기 어려운 다양한 작업을 웹페이지에 구현하여 다시 로드 안하고 자유롭게 상호작용하는 기술

     

    * 화이트/블랙박스 기법 유형

    1) 화이트 박스 테스트 기법 유형 ( 제 데 루 )

        기본경로 : 순환 복잡도를 통해 독립적인 경로의 수를 찾아 테스트 하는 기법

        제어 구문 검사: 프로그램 제어문(if,case, else)을 테스트 하는 기법

        데이터 흐름검사 : 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞추어 검사

        반복 경로 검사(루프검사) : 프로그램의 반복구조에 초점을 맞추어검사

    2) 블랙박스 테스트 기법 유형

        동등 분할기법 : 입력값의 범위를 유사한 특징을 갖는 동등 그룹으로 나누고 그룹별 대표값을 선정해 테스트 케이스 선정

        경계값 분석 기법: 경계의 유효한 값과, 유효하지 않은값을 테스트 데이터로 선택하여 테스트

        원인효과그래프 기법 : input 원인, 효과를 output으로 정하고 원인 결과그래프를 만들어서 테스트

        의사결정테이블테스팅 기법: 생성될 수 있는 결과를 테이블로 나열하여 모든 조합 테스트

    * 테스트 커버리지

    : 시스템/소프트웨어 구조가 테스트 된 정도

     - 컴포넌트 레벨 커버리지 

        1) 구문커버리지 : 프로그램 내 모든 명령문을 적어도 한번 수행

        2) 결정 커버리지 : 전체 결정문이 적어도 한번은 참과 거짓의 결과를 수행

        3) 조건 커버리지: 결정 명령문 내 각 조건이 적어도 한번은 참과 거짓의 결과가 출력되도록 수행

     

    * 에러/결함/ 실패 및 문제

    에러 : 결함의 원인, 주로 사람이 시룻

    결함: 에러가 원인으로 제품에 포함되는것, 제거 안하면 실패 및 문제의 원인이됨

    실패/문제 : 제품의 결함이 있는 부분이 실행될떄 발생하는 현상

     

    (암호 알고리즘 중 하나는 나올듯)

    * 대칭키 종류 

    1. 스트림 암호

    2. 블록암호

        - 블록암호 알고리즘 유형

            1) AES ( Advanced Encryption Standard)

                : 암호화 알고리즘 공모전에서 선정된 것, 세종류의키(128비트, 192비트, 256비트)를 사용 

            2) DES ( Data Encryption Standard ) 

                :미국NBS에서 국가표준으로 정함, 56비트 키사용, 

            3) ARIA ( Academy, Research Institute Agency 합작 ) 

                : 경량환경 및 하드웨어 구현을 위해 최적화된 구조를 갖는 범용 알고리즘

            4) IDEA ( International Data Encryption Algorithm )

                : 128비트키를 이용해서 64비트의 평문을 8라운드에 거쳐서 64비트 암호문으로 구성. 모든 연산이 16비트 단위. 주로 키교환에 사용

            5) RC5 ( Ron's code 5 )

                : 간단한 연산, 빠른 암호화와 복호화기능 입출력/key/라운드수 가 가변임

     

    * 비 대칭키 구조

    - 공개키 암호화 기법 유형

    1) Diffle hellman

    : 최초의 공개키 알고리즘. 이산대수 문제를 이용. 키분배에 최적화

    2) RSA

    : 대표적인 공개키고, 소인수분해 이용. 컴퓨터 속도에 발전에 따라 키 길이가 증가

    3) DSA

    : 전자서명 알고리즘표준, 이산대수 문제 이용. 구조 간단. 암호화/키교환이 안됨

    4) ECC

    : 짧은키지만 높은 암호강도, 타원곡선 이용. 오버헤드적고, 키테이블 필요

     

    * 공격기법 / 해킹 기법

    1) SQL-injection

    : 데이터 베이스로 전달되는 SQL 쿼리를 변경하기위해 웹앱에서 입력받은 파라미터를 변조 후 삽입하여 비정상적인 데이터 베이스 접근을 시도하거나 쿼리를 재구성하여 원하는 정보를 열람하는 해킹방법

    2) XSS ( Cross Site Scripting )

    : 타 사용자의 정보를 추출하기 위해 사용되는 공격기법으로 게시판에 악성 스크립트를 작성하여 다른 사람이 그 글을 보았을때 그 글은 본 사람의 쿠키정보를 빼내가는 해킹 기법

    3) CSRF ( Cross Site request forgery ) 

    : 공격자가 사용자의 쿠키 값이나 세션 정보를 의도한 사이트로 보내거나 특정동작을 유발하는 스크립트를 글에 삽입하여 사용자가 게시물 등을 클릭할 경우 공격자가 원하는 동작이 실행되는 해킹 기법

    4) LAND attact

    : 패킷을 전송할때 출발지IP주소와 목적지IP주소를 똑같이 만들어서 공격 대상에게 보내는 공격

    5) FTP 바운스 공격

    : FTP 서버의 전송 목적지 주소를 임의로 지정, FTP서버를 경유하여 임의의 목적지로 메세지나 파일을 전송하는 공격기법

    6) 디렉토리 접근 공격

    : 브라우저의 주소창에서 디렉토리 경로를 상위 경로로 임의로 이동하여 특정 디렉토리 내의 파일을 다운로드 하는 공격 기법

    7) 랜섬웨어

    : Ransom(몸값)과 ware(제품)의 합성어로 컴퓨터 시스템을 감염시켜 접근을 제한하고 일종의 몸값을 요구하는 악성소프트웨어

     

    * 보안 취약점

    1) Null pointer 역참조: NULL로 설정된 변수의 주소값을 잠조했을때 생기는 취약점

    2) 부적절한 자원 해제: 사용된 자원을 적절히 해제 안하면 자워누수, 자원부족 생김

    3) 해제된 자원사용: 해제된걸 참조해서 에러

    4) 초기화 되지 않은 변수 : 변수를 초기화 안해서 에러

    5) 제거되지 않고 남은 디버거 코드: 디버깅용 코드가 남아있어서 의도치않게 정보와 제어정보 누출

    6) 민감한 데이터를 가진 내부 클래스 사용: 권한 없는 클래스를 사용하고자 할때 발생

     

    * 언어 종류

    1) 스크립트 언어: 소스 코드를 컴파일 하지 않고도 실행 할 수 있는 프로그래밍 언어 ex. javaScript, JSP, Perl, PHP, Python

    2) 컴파일러 언어: like번역가, 전체 라인을 처음부터 끝까지 해독해서 목적코드로 만든뒤 실행 ex. C, C++, COBOL

    3) 인터프리터 언어: like 통역사, 라인단위로 한줄씨 해석하고 바로 실행 ex. BASIC, LISP

     

    (응집도/ 결합도 무조건 상세 내용까지 다외워야함)

    * 응집도

    : 모듈 내부의 구성요소간 관계 밀접정도, 높은게 좋음

    기능적 응집도: (높) 모든 기능이 단일 목적으로 수행됨

    순차적 응집도 : 한활동으로부터 나온 출력값을 다른 활동이 사용

    통신적 응집도 : 동일한 입력 출력을 사용해서 다른 기능을 수행하는 활동

    절차적 응집도: 모듈이 다수의 관련 기능을 가질떄, 모듈안의 구성 요소들이 그 기능을 순차적으로 수행

    시간적 응집도 : 특정 시간에 처리되야 하는 활동들

    논리적 응집도: 유사한 성격을 가지거나 특정 형태로 분류되는 처리요소들이 한 모듈

    우연적 응집도: (낮) 연관x

     

    * 결합도

    : 모듈과 모듈사이의 관련성이 어느정도 인지, 낮은게 좋은거

    자료 결합도 : (낮) 모듈간 인터페이스로 전달되는 파라미터를 통해서만 모듈 상호작용

    스탬프 결합도 : 인터페이스로 배열, 오브젝트, 스트럭처 등이 전달

    제어 결합도 : 값과 함께 처리방법에 대해서도 전달

    외부 결합도 : 외부로 선언한 데이터를 다른모듈에서 참조할때, 외부에서 도입된 데이터 포멧, 프로토콜 등 공유시 주로

    공통 결합도 : 모듈 밖에 선언된 전역변수 참조, 갱신

    내용 결합도 : 다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용

     

    * 시스템 소프트웨어의 종류

    1) 링커 : 서로 독립적으로 작성되고 번역된 목적프로그램ㅇ르 연계시키는 시스템 프로그램, 동작단계: 할당→링킹→재배치→적재

    2) 로더 : 외부 기억장치로부터 실행 프로그램을 주기억장치로 옮기기 위하여 메모리 할당, 연결, 재배치와 적재를 담당하는 시스템 프로그램

    3) 쉘 : 컴퓨터 내부를 관리하는 컨러과 사용자간 인터페이스 담당

    파이프라인 : 단위시간내에 하나 이상의 명령어를 병렬처리함으로써 성능을 향상시키는 멀티프로세스 환경에서 명령어 처리 메커니즘

     

    * 분산 컴퓨팅 구조

    1) 완전연결구조 (fully connected) : 메시 네트워크 구조 

    2) 부분 연결구조 ( Partially connected ) : 모두 직접연결은 아님, 통신속도 늦음, 완전연결보다 신뢰성 떨어짐

    3) 계층 구조 (hierarchy) : 트리형태

    4) 성형 구조 ( Star) : 중심노드는 타 노드와 연결, 타 노드는 상호간 연결x, 중심노드 장애면 전체 마비

    5) 환형 구조 (Ring) : 단방향, 양방향 통신 방법 존재, cost는 노드 수에 비례

    6) 다중 접근 버스구조 (Multi-access bus) : 공유되는 하나의 버스 존재, 버스회선 고장나면 네트워크 분할

     

    * 스래싱 방지기법

    1) 프리페이징 prepaging : 과도한 페이지 부재를 줄이기위해 모든 페이지를 한번에 페이지 프레임에 적재

    2) 워킹세트 : 하나의 프로세스에 자주 참조되는 페이지를 모아놓은 기법, 그 집함에 속하지 않은 페이지 교체

    3) 페이지 프레임 조정 PFF( page fault requency ) : 현재 페이지부재, 직전 페이지 부재 사이 시간 확인, 그 시간 > 현재까지 최소시간 이면 호출되지 않은 페이지 모두 제거

     

    (이번에 나올느낌)

    * 교착상태 발생조건

    : 다중 프로세스 환경하에 서로 다른 프로세스가 자신이 소유한 자원을 포기하지 않고, 상대 프로세스의 자원을 무한대기 하고 있는 상태 

    1) 상호 배제 : 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없음

    2) 점유와 대기 : 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태

    3) 비선점 : 한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만 해제 가능

    4) 환형대기 : 두개 이상의 프로세스간 자원의 점유와 대기가 하나의 원형을 구성한 상태

     

    * 교착상태 해결방안

    1) 예방 : 상호 배제, 점유와 대기, 비선점 및 환형대기 조건의 부정

    2) 회피 : ex. 은행가 알고리즘 : 프로세스가 자원을 요구할때 시스템은 자원을 할당한 후에도 안정 상태로 남아있게 되는지를 사전에 검사

    3) 발견 : 시스템의 상태를 감시 알고리즘을 통해 교착상태 검사

    4) 회복 : 교착 (deadlock)이 없어질 때까지 프로세스를 순차적으로 Kill 해서 제거

     

    * 세그먼테이션, 페이징

    1) 세그먼테이션 : 가상 기억장치 내의 프로그램과 데이터를 각 세그먼트가 주기억장치에 적재될 때마다 필요한 서로 다른 크기의 세그먼트로 분할

    2) 페이징 기법: 가상 기억장치 내의 프로그램과 데이터를 고정되게 분할한 용량(페이지)을 주 기억장치에서 사상 시킴

     

    * 스키마

    : 데이터 베이스의 전체적인 구조와 제약조건에 대한 명세를 기술, 정의한것

    1) 개념스키마 : 사용자 관점, 내부와 외부 사이에 간접/중간연결 단계, 데이터 개체, 관계, 제약조건 접근 권한 등 명세

    2) 내부 스키마 : 기계적 관점, 물리적인 기억장소와 가장 가까움. 저장장치 입장에서 데이터 베이스 전체가 저장되는법 명세

    3) 외부스키마 : 사용자와 가장 가까운 단계, 논리적 구조

     

    * 데이터 베이스 키

    유일성 : 하나의 키값으로 하나의 튜플만을 유일하게 식별가능

    후보키: 속성의 집합인 키가 릴레이션의 모든 튜플을 유일하게 식별하기 위해 꼭 필요한 속성들로 구성된것

    후보키 : 유일성 O, 최소성 O

    기본키 : 유일성 O, 최소성 O

    슈퍼키 : 유일성 O, 최소성 X

    외래키 : 다른테이블 튜플 식별가능

     

    * 무결성

    참조 무결성: 2개의 관련있는 테이블 간의 일관성 보장

    도메인 무결성: 특정 속성 값이 미리 정의된 규칙내에서 데이터로 존재

     

    * 병행 제어

    : 다중 사용자 환경을 지원하는 데이터 베이스 시스템에서 여러 트랜젝션이 성공적으로 동시에 실행될 수 있도록 지원하는 기능

    - 기법

    1) 로킹: 데이터베이스 관리에서 하나의 트랜잭션에 사용되는 데이터를 다른 트랜잭션이 접근하지 못하게하는것

    2) 검증기법: 트랜잭션 처리시 먼저 메모리상에서 복사본에 대한 연산을 수행하고 검증 완료시 DBMS에 반영

    3) 타임스탬프 기법: 트랜잭션 순서 규칙은 시스템 계수기, 논리적 계수기를 이용해서 해당 트랜잭션의 도착 시간 별로 타임 스탬프를 할당하는 기법

     

    * 프로토콜의 3요소

    구문: 데이터의 구조나 형태를정의

    타이밍: 어떤 데이터를 보낼지, 얼마나 빨리 보낼지를 결정

    의미: 데이터의 각 부분이 무엇을 뜻하는지 알 수 있도록 미리 정해둔 규칙

     

    * NoSQL

    : 단순한 키와 값의 쌍으로만 이루어져 인덱스와 데이터가 분리되어 별도로 운영됨

     

    * HDFS ( Hadoop Distributed file system)

    : 대용량 파일을 분산된 서버에 저장하고 저장된 데이터를 빠르게 처리할 수 있는 파일 시스템

     

    * 역공학 / 재공학 / 재사용

    1) 역공학: 기존 개발된 시스템을 자동화된 도구를 이용하여 사양서, 설계서 등의 문제로 추출하는 방법

    2) 재공학: 기존 시스템을 산업계의 표준 프로그래밍으로 맞추거나 고수준의 언어로 재구성하거나 타 하드웨어에서 사용할 수 있도록 변환하는 방법

    3) 재사용: 품질,성능 인정받은 소프트웨어의 전체 또는 일부분을 다시 사용하는 방법

     

     

     

    [ 키워드 정리로 넘어가기 ] 

    [정처기] 키워드 정리 1

    [정처기] 키워드 정리 2

    [정처기] 키워드 정리 3

    [정처기] 키워드 정리 4

    [정처기] 키워드 정리 5

    [정처기] 키워드 정리 6

     

     

    (◍•ᴗ•◍) 도움이 되셨다면 하트와 광고한번 부탁드립니다 (◍•ᴗ•◍)

     

    반응형

    '자격증 > 정보처리기사' 카테고리의 다른 글

    [필기&실기] C언어 포인터  (0) 2022.03.01
    [기사시험] 2021년 기사시험 일정  (0) 2021.01.04
    [정처기] 키워드 정리 6  (0) 2020.11.27
    [정처기] 키워드 정리 5  (0) 2020.11.26
    [정처기] 키워드 정리 4  (0) 2020.11.22