데이터베이스 물리 설계 시 레코드 접근 방법
순차 접근 방법 : 레코드를 처음부터 하나씩 검사
인덱스 접근 방법 : 키-값 쌍으로 구성되어 빠르게 검색
해싱 접근 방법 : 해시 함수를 이용해 직접 주소 계산 후 접근
네트워크/원격 접속 관련 프로토콜
- SSH (Secure Shell) : 암호화 및 공개키 기반 인증을 통해 22번 포트를 사용하여 원격 서버에 안전하게 접속하는 보안 프로토콜 (Telnet의 보안 취약점 보완)
- Telnet (Telecommunication Network) : 23번 포트를 사용하여 원격지의 컴퓨터에 접속하여 제어하는 프로토콜로, 데이터가 암호화되지 않고 평문 전송되어 보안에 취약함
- FTP (File Transfer Protocol) : 제어용 21번, 데이터 전송용 20번 포트를 사용하여 네트워크를 통해 클라이언트와 서버 간에 파일을 송수신하는 프로토콜
- SFTP (Secure File Transfer Protocol) : SSH의 보안 채널을 기반으로 데이터 전송 과정을 전면 암호화하여 파일을 안전하게 송수신하는 22번 포트 기반의 파일 전송 프로토콜
- FTPS (FTP Secure) : 전통적인 FTP에 SSL/TLS 암호화 프로토콜을 계층적으로 결합하여 데이터 송수신 안정성을 높인 파일 전송 프로토콜
- RDP (Remote Desktop Protocol) : 마이크로소프트가 개발한 3389번 포트 기반의 프로토콜로, 원격으로 다른 컴퓨터의 GUI(화면)에 접속하여 제어할 수 있도록 지원하는 프로토콜
- HTTP (HyperText Transfer Protocol) : 80번 포트를 사용하여 웹 서버와 브라우저 간에 텍스트, 이미지 등의 하이퍼텍스트 데이터를 주고받는 평문 기반의 기본 응용 계층 프로토콜
- HTTPS (HTTP Secure) : HTTP에 SSL/TLS 암호화 기술을 더해 443번 포트를 사용하며, 데이터 가로채기와 변조를 방지하는 보안 웹 전송 프로토콜
- SSL/TLS (Secure Sockets Layer / Transport Layer Security) : 전송 계층과 응용 계층 사이에서 데이터의 암호화, 무결성, 인증을 보장하여 안전한 통신 채널을 형성하는 보안 규격 프로토콜
스케줄링 알고리즘
1. 비선점형 스케줄링 알고리즘 (Non-preemptive)
이미 CPU를 할당받은 프로세스의 자원을 강제로 앗아갈 수 없는 스케줄링 방식입니다.
- FCFS (First-Come, First-Served) : 준비 큐에 도착한 순서대로 CPU를 할당하는 방식으로, 처리 시간이 긴 프로세스가 앞서면 뒤의 프로세스 대기 시간이 길어지는 호위 효과가 발생함
- SJF (Shortest Job First) : 준비 큐의 프로세스 중 CPU burst(실행) 시간이 가장 짧은 작업을 우선 처리하는 방식으로, 기아 현상이 발생할 수 있으며 선점형으로도 구현 가능함
- HRN (Highest Response Ratio Next) : SJF의 기아 현상을 보완하기 위해 대기 시간과 서비스 시간을 활용한 우선순위 공식 $\frac{\text{대기 시간} + \text{서비스 시간}}{\text{서비스 시간}}$의 계산 결과가 높은 순서대로 자원을 할당하는 방식
- 우선순위 (Priority Scheduling) : 각 프로세스마다 명시적인 우선순위를 부여하여 가장 높은 순위를 가진 프로세스에게 먼저 CPU를 할당하는 방식 (기아 현상은 에이징 기법으로 해결)
- 기한부 (Deadline) : 프로세스가 지정된 일정한 제한 시간(기한) 내에 반드시 작업을 완료하도록 계획하고 제어하는 방식
2. 선점형 스케줄링 알고리즘 (Preemptive)
하나의 프로세스가 CPU를 차지하고 있더라도 다른 높은 우선순위 프로세스가 자원을 강제로 빼앗을 수 있는 방식입니다.
- SRT (Shortest Remaining Time) : SJF를 선점형으로 구현한 형태로, 새로 도착한 프로세스의 남은 실행 시간이 현재 실행 중인 프로세스의 남은 시간보다 짧으면 CPU를 선점하는 방식
- Round Robin (RR) : 시분할 시스템을 위해 개발되었으며, 모든 프로세스에게 동일한 크기의 할당 시간(Time Quantum)을 부여하고 시간이 만료되면 다음 프로세스로 CPU를 넘기는 방식
- 다단계 큐 (Multi-Level Queue) : 준비 큐를 여러 개의 독립적인 그룹(상위, 하위 등)으로 분리하고, 각 큐마다 고유한 스케줄링 알고리즘과 독자적인 우선순위를 부여하여 관리하는 방식
- 다단계 피드백 큐 (Multi-Level Feedback Queue) : 다단계 큐에서 한 단계 나아가, 프로세스가 할당 시간 내에 작업을 완료하지 못하면 점차 우선순위가 낮은 하위 큐로 이동하도록 동적으로 조절하는 방식
AJAX
웹 페이지 전체를 다시 불러오지 않고 JavaScript와 XML(또는 JSON)을 이용하여 일부 콘텐츠만 비동기적으로 갱신할 수 있는 기술이다.
HTML만으로는 구현하기 어려운 동적인 기능들을 가능하게 하여 사용자가 웹 페이지와 보다 자유롭게 상호작용할 수 있도록 해주는 웹 개발 기법이다.
분기커버리지
결정 커버리지라고도 하며, 제어 흐름 그래프 내에 존재하는 모든 조건식(분기점)의 결과가 참(True)과 거짓(False)인 시나리오를 최소한 한 번 이상 실행하도록 요구하는 강도의 화이트박스 시험 기준
프로세스별 반환시간 및 대기시간 계산
- 대기시간 공식 : {대기시간} ={종료시간} - {도착시간} - {실행시간} (또는 {반환시간} - {실행시간})
프로세스 도착 시간(ms) 실행 시간(ms) P1 0 8 P2 1 4 P3 2 9 P4 3 5
종료시간 - 프로세스가 CPU 할당을 받아 실행을 시작한 후, 자기에게 배정된 모든 연산(작업)을 완벽하게 끝마치고 시스템(준비 큐)을 최종적으로 빠져나간 시점의 시각
TCP 통신 과정에서 발생할 수 있는 보안 취약점
1. 연결 설정(3-Way Handshake) 및 해제 단계의 취약점
- TCP SYN Flooding : 공격자가 위조된 IP로 대량의 SYN 패킷만 보내 수신측이 ACK를 기다리는 반개방(Half-Open) 상태의 자원을 고갈시키는 DoS 공격
- TCP Connection Flooding : 위조되지 않은 실제 IP로 TCP 3-Way Handshake 과정을 정상적으로 완료하여 서버의 최대 동시 접속 자원(Connection Pool)을 가로채는 DoS 공격
- TCP Reset (RST) Injection : 위조된 TCP RST 패킷을 세션 중간에 삽입하여 정상적으로 연결된 TCP 소켓 세션을 강제로 파괴하고 통신을 중단시키는 공격
- TCP FIN Flooding : 연결 종료 요청인 FIN 패킷을 대량으로 전송하여 서버가 세션 상태를 정리하고 대기하는 과정(TIME_WAIT 등)에서 시스템 자원을 소모시키는 공격
2. 데이터 전송(Established) 단계의 취약점
- TCP Session Hijacking : 통신 중인 두 호스트의 TCP 시퀀스 번호(Sequence Number)를 예측하여 세션 제어권을 강제로 탈취하고 정당한 사용자로 위장하는 공격
- TCP Sequence Number Prediction : TCP 연결 설정 시 사용되는 초기 시퀀스 번호(ISN)의 생성 규칙성 알고리즘을 악용하여 유효한 시퀀스 번호를 무단으로 위치 예측하는 취약점
- Data Eavesdropping (Sniffing) : TCP 헤더 및 페이로드가 기본적으로 암호화되지 않고 평문(Plaintext)으로 전송되어 네트워크 경로 상에서 데이터를 가로채고 도청할 수 있는 취약점
- Data Tampering (Injection) : 전송 중인 TCP 세션 데이터 흐름 사이에 공격자가 임의의 악성 데이터 패킷을 끼워 넣어 내용을 변조하거나 원격 명령을 실행하는 공격
'정보처리기사 실기 > 개념' 카테고리의 다른 글
| [2024년 2회] 문제 개념 정리 (0) | 2026.06.30 |
|---|---|
| [2024년 3회] 문제 개념 정리 (0) | 2026.06.29 |
| [2025년 1회] 문제 개념 정리 (0) | 2026.06.26 |
| [2025년 3회] 문제 개념 정리 (0) | 2026.06.24 |
| [2026년 1회] 문제 개념 정리 (0) | 2026.06.23 |