51. 병행제어의 로킹 (Locking)
- 데이터베이스 관리에서 하나의 트랜잭션에 사용되는 데이터를 다른 트랜잭션이 접근하지 못하게 하는 것
- 트랜잭션 갱신의 순서 : 잠금 (Lock) → 실행 (Execute) → 해제 (Unlock)
- 로킹 단위
- 병행 제어에서 한 번에 잠금할 수 있는 데이터 단위
- 데이터베이스, 테이블, 레코드, 필드 등에 사용
- 로킹 단위의 크기에 따른 관리의 복잡도와 공유성
- 로킹 단위가 클 경우 : 잠금 수가 작음, 관리가 용이, 공유성 수준이 낮아짐
- 로킹 단위가 작을 경우 : 잠금 수가 많음, 관리가 복잡, 공유성 수준이 높아짐
- 병행 제어 기법
- 2단계 잠금 기법 (2 Phase Locking)
- 최적 병행수행 : 검증기법, 확인기법, 낙관적 기법
- 타임 스탬프 순서 (Timestamp Ordering)
53. 관계 데이터베이스 주요 용어
- 릴레이션 (Relation) : 2차원의 테이블, 스프레드 시트와 유사
- 레코드 (Record) : 릴레이션의 각 행
- 튜플 (Tuple) : 레코드를 좀 더 공식적으로 부른 용어
- 애트리뷰트 (Attribute, 속성) : 릴레이션에서 이름을 가진 하나의 열
- 도메인 (Domain) : 한 속성에 나타날 수 있는 값들의 집합 (속성이 가질 수 있는 값의 범위), 프로그래밍 언어의 데이터 타입과 유사, 같은 도메인이 여러 속성에서 사용될 수 있음
- 차수 (Degree) : 한 릴레이션에 들어 있는 속성들의 수. 유효한 릴레이션의 최소 차수는 1. 릴레이션의 차수는 자주 바뀌지 않음
- 카디널리티 (Cardinality) : 릴레이션의 튜플 수, 유효한 릴레이션은 카디널리티 0을 가질 수 있으며, 릴레이션의 카디널리티는 시간이 지남에 따라 계속 변함
- 널 값 (Null Value) : 알려지지 않음, 적용할 수 없음을 나타내기 위해 사용하는 개념 숫자 "0"이나 공백문자 ' ', 공백문자열 " " 이 아닌 정해지지 않은 값
- 릴레이션 스키마 (Relation Schema) : 릴레이션의 이름과 릴레이션의 속성들의 집합을 말함. 릴레이션을 위한 틀 (Framework)
- 릴레이션 인스턴스 (Relation Instance) : 특정 시점에서 릴레이션에 들어 있는 튜플들의 집합, 시간의 흐름에 따라 계속 변함
55. 분산 데이터베이스의 투명성
- 분할 투명성 (단편화)
- 하나의 논리적 릴레이션이 여러 단편으로 분할되어 각 단편의 사본이 여러 사이트에 저장
- 위치 투명성
- 사용하려는 데이터의 저장 장소 명시가 불필요
- 위치 정보가 System Catalog에 유지되어야 함
- 지역사상 투명성
- 지역 DBMS와 물리적 DB 사이의 매핑 보장
- 각 지역 시스템 이름과 무관한 이름 사용 가능
- 중복 투명성
- DB 객체가 여러 사이트에 중복되어 있는지 알 필요가 없는 성질
- 장애 투명성
- 구성 요소 (DBMS, Computer)의 장애에 무관한 트랜잭션의 원자성 유지
- 특정 지역의 컴퓨터 시스템이나 네트워크에 장애가 발생해도 데이터 무결성이 보장되는 것
- 병행 투명성
- 다수 트랜잭션 동시 수행 시 결과의 일관성 유지
- Time Stamp, 분산 2단계 Locking을 이용해 구현
58. 데이터 제어언어 (DCL)
- 데이터 제어어의 개념
- 데이터베이스의 규정이나 기법을 정의하고 제어하는 언어 (Control Laguage)
- 트랜잭션 제어 명령을 이용해 데이터베이스의 무결성과 보안, 회복, 동시성 제어 수행
- 데이터 제어어의 종류
- 무결성 기능
- COMMIT : 수행된 결과를 실제 물리적 디스크로 저장
- ROLLBACK : 명령 수행 실패, 수행 결과 원복
- SAVEPOINT (checkpoint) : 저장점 지정, 지정된 저장점부터 현재까지 일부만 ROLLBACK 가능
- 데이터 보안 기능
- GRANT : 데이터베이스 사용자에게 사용권한 부여
- REVOKE : 데이터베이스 사용자에게 부여된 사용 권한 취소
- 무결성 기능
60. 트랜잭션의 특징 (ACID)
- Atomicity (원자성)
- 분해할 수 없는 최소 단위
- 연산 전체가 성공 또는 실패
- 한 가지라도 실패할 경우 전체가 취소되어 무결성 보장 (All or Nothing)
- 기법 : Commit / Rollback (트랜잭션 관리자)
- Consistency (일관성)
- 트랜잭션이 실행 성공 후 항상 모순 없이 일관성 있는 DB 상태 보존
- 기법 : 참조 무결성 기법 (무결성 제어기)
- Isolation (고립성)
- 현재 수쟁 중인 트랜잭션이 완료될 때까지 트랜잭션이 생성한 중간 연산 결과에 다른 트랜잭션들이 접근할 수 없음을 의미
- 기법 : Serializable, Repeatable Read, Read Commit, Read Uncommit (병행 제어 관리자)
- Durabilty (영속성)
- 성공이 완료된 트랜잭션의 결과는 영구(속)적으로 데이터베이스에 저장
- 기법 : 회복 기법 (연관회복 관리자)
61. UNIX의 쉘
- 쉘의 개념
- Linux와 Unix 명령어 입력 공간
- 컴퓨터 내부를 관리하는 커널과 사용 자 간을 인터페이스 하는 명령어 해석기
- 쉘 스크립트를 통해 시스템 운영 자동화가 가능
- 쉘의 기능
- 세션 별 변수 설정 등 사용자 지정 상태로 운영 체제 설정 지원
- 사용자 요청에 기반한 명령어 작성
- 백그라운드 처리 및 서브 쉘 생성
- 일련의 명령어를 묶어 처리하는 스크립트 기능 지원
- echo $SHELL 명령어를 통해 현재 사용중인 Shell 종류를 확인 가능
62. TCP/IP 프로토콜
64. 결합도
- 모듈과 모듈 사이의 관련성을 나타냄
- 관련성이 적을수록 모듈의 독립성이 높아 모듈 간 영향이 작아지게 됨
- 효과적인 모듈화 설계를 위해서는 결합도를 낮춰야 함
- 결합도의 종류
- 자료 결합도 (Data Coupling) : 모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 상호 작용이 일어남
- 스탬프 결합도 (Stamp Coupling) : 모듈 간의 인터페이스로 배열이나 오브젝트, 스트럭쳐 등이 전달되는 경우
- 제어 결합도 (Control Coupling) : 단순 처리할 대상인 값만 전달하는 것이 아닌 어떻게 처리해야 한다는 제어 요소가 전달되는 경우
- 외부 결합도 (External Coupling) : 모듈이 다수의 관련 기능을 가질 때, 모듈 안의 구성 요소들이 그 기능을 순차적으로 수행하는 경우
- 공통 결합도 (Common Coupling) : 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고, 전역 변수를 갱신하는 식으로 상호 작용하는 경우
- 내용 결합도 (Content Coupling) : 다른 모듈 내부에 있는 변수나 기능을 또 다른 모듈에서 사용하는 경우
67. 교착상태
- 교착상태의 개념
- 다중 프로세스 환경 하에 서로 다른 프로세스가 각자 자신이 소유한 자원을 포기하지 않고, 상대 프로세스의 자원을 무한 대기하고 있는 상태
- 교착상태 해결 방안
- 예방 (Prevention)
- 상호배제 조건, 점유와 대기 조건, 비선점 조건 및 환형 대기 조건의 부정
- 회피 (Avoidance)
- 은행가 알고리즘 (Banker's Algorithm)
- 프로세스가 자원을 요구할 때 시스템은 자원을 할당한 후에도 안정 상태로 낭아 있게 되는지를 사전에 검사하여 교착상태의 발생을 회피하는 기법
- Wait-die, wound-wait 알고리즘
- 은행가 알고리즘 (Banker's Algorithm)
- 발견 (Detection)
- 시스템의 상태를 감시 알고리즘을 통해 교착상태 검사
- 자원할당 그래프, Wait for Graph
- 회복 (Recovery)
- Deadlock이 없어질 때까지 프로세스를 순차적으로 Kill 하여 제거
- 프로세스 종료 비용 최소화 : 우선순위, 진행비용, 복귀비용 등
- 자원의 우선순위 할당 : 희생자 선택, 복귀, 기아 상태
- 예방 (Prevention)
68. IEEE 802.11 표준화 동향
- 802.11b : 2.4GHz ISM 대역에서 최대 11 Mbps 전송속도를 지원하는 고속 PHY 개발
- a : 5GHz ISM 대역에서 최대 54 Mbps 전송속도를 지원하는 고속 PHY 개발
- e : Qos 보증을 위한 MAC 강화
- f : 액세스 포인트 간의 표준화된 프로토콜 개발
- g : 2.4 GHz ISM 대역에서 최대 20 Mbps이상 전송 속도를 지원하는 고속 PHY roqkf
- h : 802.11a에서 동적 주파수 선택 기능 추가
- i : 보안을 위한 MAC 강화
69. TCP/IP 프로토콜
- IP 프로토콜
- ICMP, ARP, RARP : IP (3계층)의 대표적인 프로토콜
- SNMP, DNS, DHCP, COAP : UDP (4계층)의 대표적인 프로토콜
- 프로토콜 특징
- UDP : RFC 768 문서에 정의된 비연결 지향형 통신 프로토콜
- TCP : 송신 포트에서 수신 포트로 바이트 스트림을 전송하는 연결 지향형 통신 프로토콜
- ARP : IP 주소를 MAC 주소로 변환하는 프로토콜
- ICMP : TCP/IP 에서 IP 패킷을 처리할 때 발생되는 문제를 알리거나 진단하는 프로토콜
70. HRN 스케줄링 방식
- SJF의 약점 보완 기법
- 실행 시간이 긴 프로세스를 차별하고 짧은 프로세스를 지나치게 선호하는 점을 보강한 알고리즘
- 각 프로세스의 우선순위를 서비스 시간만이 아닌 서비스 대기시간도 계산하여 측정
- 우선 순위 = (대기시간 + 서비스 시간) / 서비스 시간
72. FIFO 알고리즘
- FIFO 알고리즘의 개념 : 메모리에 올라온 지 가장 오래된 페이지를 교체하는 메모리 교체 알고리즘
- 페이지 부재 (Page Fault) : 기억 장치에 적재되지 않은 Page를 사용하는 현상
- 콜드 미스 : 데이터를 최초로 읽을 때 발생
- 용량 미스 : 메모리 용량이 부족해서 발생
- 페이지 부재가 발생하는 경우 : 주기억장치에 입력값이 없는 경우
- 페이지 부재가 발생하지 않는 경우 : 주기억장치에 입력값이 있는 경우
- 예시 : 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0
입력값 | 7 | 0 | 1 | 2 | |
주기억장치 | 프레임 1 | 7 | 7 | 7 | 2 |
프레임 2 | 0 | 0 | 0 | ||
프레임 3 | 1 | 1 | |||
페이지 부재 | 발생 | 발생 | 발생 | 발생 | |
입력값 | 0 | 3 | 0 | 4 | |
주기억장치 | 프레임 1 | 2 | 2 | 2 | 4 |
프레임 2 | 0 | 3 | 3 | 3 | |
프레임 3 | 1 | 1 | 0 | 0 | |
페이지 부재 | 미발생 (프레임 2와 동일값) | 발생 | 발생 | 발생 | |
입력값 | 2 | 3 | 0 | 3 | |
주기억장치 | 프레임 1 | 4 | 4 | 0 | 0 |
프레임 2 | 2 | 2 | 2 | 2 | |
프레임 3 | 0 | 3 | 3 | 3 | |
페이지 부재 | 발생 | 발생 | 발생 | 미발생 (프레임 3 값과 동일) | |
입력값 | 2 | 1 | 2 | 0 | |
주기억장치 | 프레임 1 | 0 | 0 | 0 | 0 |
프레임 2 | 2 | 1 | 1 | 1 | |
프레임 3 | 3 | 3 | 2 | 2 | |
페이지 부재 | 미발생 (프레임 2 값과 동일) | 발생 | 발생 | 미발생 (프레임 1값과 동일) | |
입력값 | 1 | 7 | 0 | 페이지 부재 수 (발생) | |
주기억장치 | 프레임 1 | 0 | 7 | 7 | 14 |
프레임 2 | 1 | 1 | 0 | HIT 수 (미발생) | |
프레임 3 | 2 | 2 | 2 | 5 | |
페이지 부재 | 미발생 (프레임 2값과 동일) | 발생 | 발생 |
73. C언어의 변수명
- 영문과 숫자를 혼용 가능, 첫 선언에 숫자가 올 수 없음
- 대문자, 소문자를 구분
- 변수 제일 앞이나 중간에 _(언더 바) 사용 가능 : 대시 (-) 등의 특수문자는 사용 불가능하니 형태 혼동하지 말것 주의
- C 라이브러리에서 미리 선언된 예약어는 변수 사용을 못함
79. 언어의 종류
- 컴파일러 언어
- 번역사 : 프로그램 전체 라인을 처음부터 끝까지 해독해 목적코드로 만든 후에 실행
- 언어 종류 : C, C++, COBOL, Ada, FORTRAN, PASCAL 등
- 인터프리터 언어
- 통역사 : 프로그램 라인 단위로 한 줄씩 해석하고 바로 실행
- 언어 종류 : Javascript, BASIC, LISP 등
- 스크립트 언어
- 하나의 응용 소프트웨어를 제어하기 위한 용도로 쓰이는 언어
- 소스코드를 컴파일 하지 않고도 실행할 수 있는 프로그래밍 언어
- 별도의 컴파일 없이 내장된 번역기에 의해 번역하여 바로 실행할 수 있음
- 인터프리터 방식을 사용하여 코드 한 줄씩 즉시 해석하고 실행
- 언어 종류 : JavaScriopt, ActionScrip, AutoHotKey, JSP, Perl, PHP, Python, Lua, Ruby, VBS 등
80. OSI 7계층
- 응용 계층 (Application Layer)
- 사용자와 네트워크 간의 응용 서비스 연결, 데이터 생성
- 주요 프로토콜 : HTTP, TELNET, DHCP, DNS, FTP, SSH, SMTP, SNMP
- 단위 : Data
- 표현 계층 (Presentaion Layer)
- 데이터의 형식 설정과 부호 교환, 암호화, 해독
- 주요 프로토콜 : MIME, TLS, SSL, JPEG, MPEG, SMB, AFP
- 단위 : Data
- 세션 계층 (Session Layer)
- 응용 프로세스 간의 연결 접속 및 동기 제어
- 주요 프로토콜 : SSH, TLS, RPC
- 단위 : Data
- 전송 계층 (Transport Layer)
- 프로세스 간 논리적 통신 서비스 제공
- 패킷들의 전송 유효 확인, 실패한 패킷은 재 전송하여 신뢰성 있는 통신 보장
- 오류 검출과 복구, 흐름 제어
- 주요 프로토콜 : TCP (3-Way Handshaking), UDP, SCTP, RTP
- 단위 : Segment
- 네트워크 계층 (Network Layer)
- 단말 간 시스템끼리 Data를 전송하기 위한 최선의 통신 경로 선택 제공
- 주요 프로토콜 : IP, ARP, ICMP, IGMP, IPsec
- 단위 : Packet
- 데이터링크 계층 (Data Link Layer)
- 인접 시스템 간의 데이터 전송, 전송 오류 제어
- 오류 검출, 재전송, 흐름 제어
- 주요 프로토콜 : Eternet, ATM, PPP
- 단위 : Frame
- 물리 계층 (Pysical Layer)
- 통신 회선으로 Data를 나타내는 0과 1 비트의 정보를 회선에 내보내기 위한 전기적 변환이나 기계적 작업 담
- 주요 프로토콜 : RS-485, RS-232, X25/21
- 단위 : Bits
85. 애드혹과 피코넷
- 애드 혹 (Ad-hoc)
- 유선 망과의 연결 없이 2대 이상의 단말기로 구성
- 인프라가 구축되지 않은 장소에서 손쉽게 통신망을 구축할 수 있음
- 대표적인 기술 : 블루투스
- 피코넷 (PICONET)
- 블루투스 기술 프로토콜을 사용하여 무선 사용자 그룹의 장치를 연결하는 애드 혹 네트워크
- 동일한 물리적 채널을 차지하는 둘 이상의 장치로 구성
- 하나의 Master 장치가 최대 7개의 활성 Slave 장치와 상호 연결될 수 있음
86. 원시 프로그램 규모에 따른 COCOMO 유형
- 조직형 (Organic Model)
- 기관 내부에서 개발된 중소 규모의 소프트웨어
- 일괄 자료 처리, 과학 기술 계산용, 비즈니스 자료 처리용 등으로 사용
- 5만 라인 이하의 소프트웨어를 개발하는 유형
- 반분리형 (Semi Detached Model)
- 조직형과 내장형의 중간 정도
- 트랜잭션 처리 시스템, 운영체제, 데이터베이스 관리 시스템 등으로 사용
- 30만 라인 이하의 소프트웨어를 개발하는 유형
- 컴파일러, 인터프리터와 같은 유틸리티 개발에 적합
- 내장형 (Embedded Model)
- 최대 규모의 트랜잭션 처리 시스템이나 운영 체제 등
- 30만 라인 이상의 소프트웨어를 개발하는 유형
- 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등 시스템 프로그램 개발에 적합
90. 공개키 암호화 기법
- 공개키로 암호화한 평문을 개인키로 복호화하는 비대칭키 구조
- 암호화키와 복호화 키가 달라 키 분배가 용이
- 부인방지, 인증, 무결성, 기밀성 제공이 가능
- 전자서명, 전자봉투 등에 활용
- 인증서는 x.509 표준에 따라 인증서 저장소에 저장하여 공개
- 대표적인 비대칭키 암호화 알고리즘 : 디피/헬만, RSA, ECC 등
- RSA
- 암호화 뿐만 아니라 전자서명이 가능한 최초의 알고리즘
- 큰 숫자를 소인수 분해하는 것이 어렵다는 것에 안정성 기반을 둠
- RSA
96. 정보보호의 주요 목표
- 기밀성 (Confidentiality)
- 자산이 인가(authorizaion)된 당사자에 의해서만 접근하는 것을 보장하는 것
- 위협 요소 : 도청 : 사회 공학 공격 등
- 무결성 (integrity)
- 자산이 인가된 당사자에 의해서 인가된 방법으로만 변경 가능한 것
- 자산의 완전성과 정확성을 보장하는 것
- 위협 요소 : 논리폭탄, 백도어, 바이러스 등
- 가용성 (Avaliability)
- 자산이 적절한 시간에 인가된 당사자에게 접근 가능해야 하는 것
- 위협 요소 : DoS, DDoS, 지진, 홍수, 화재 등
- 부인방지 (Non-repudiation)
- 상대방이 자신의 행위를 부인하지 못하도록 조치하는 것
- 법적인 효력을 가지는 영수증과 같은 증거를 남기는 방식
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] 2022 기사패스 정보처리기사 기출문제 상세풀이 800제 : 101 ~ 150 오답정리 (0) | 2025.04.01 |
---|---|
[정보처리기사 필기] 2022 기사패스 정보처리기사 기출문제 상세풀이 800제 : 1 ~ 50 오답정리 (1) | 2025.03.28 |
[정보처리기사 필기] 기출문제 - 951 ~ 1000. 오답노트 (0) | 2025.03.27 |
[정보처리기사 필기] 기출문제 - 901 ~ 950. 오답노트 (0) | 2025.03.26 |
[정보처리기사 필기] 기출문제 - 851~ 900. 오답노트 (1) | 2025.03.25 |