4과목 프로그래밍 언어 활용
1. 개발 도구 분류
빌드도구 : Ant, Maven, Gradle
구현도구 : Eclipse, IntelliJ, Tool Stuite, NetBeans, Visual Studio
테스트도구 : xUnit, PMD, Findbugs, cppCheck, SonarQube
형상관리도구:CVS, SVN, Git
2. 소프트웨어 취약점
FTP 바운스 공격 : FTP 서버가 데이터를 전송할 때 목적지가 어디인지 검사하지 않는 설계상의 문제점을 이용한 공격기법
SQL 삽입:데이터베이스와 연동된 웹 애플리케이션에서 공격자가 입력 폼 및 URL 입력란에 SQL 문을 삽입하여 DB로부터 정보를 열람할 수 있는 공격기법
디렉토리 접근 공격 : HTTP 기반의 공격으로 엑세스가 제한된 디렉토리에 접근하여 서버의 루트 디렉토리에서 외부 명령을 실행하여 파일, 웹 소스 등을 강제로 내려받을 수 있는 공격기법
3. 배치프로그램의 필수 요소
자동화, 안정성, 대용량 데이터, 견고성, 성능
4. 파이썬 자료형
세트(set)형 : 중복된 원소를 허용하지 않는 집합의 성질을 가지고 있는 자료구조
리스트(list)형 : 크기가 가변적으로 변하는 선형리스트의 성질을 가지고 있는 자료구조
튜플(tuple)형 : 초기에 선언된 값에서 값을 생성, 삭제, 수정이 불가능한 형태의 자료구조
딕셔너리(dictionary)형 : 키와 값으로 구성된 객체를 저장하는 구조로 되어 있는 자료구조
5. c 언어 함수
atoi 함수 : 문자열(str)을 정수(int)형으로 변환하는 라이브러리 함수
atof 함수 : 문자열(str)을 실수(float, double)형으로 변환하는 라이브러리 함수
itoa 함수 : 정수(int)형을 문자열(str)로 변환하는 라이브러리 함수
ceil 함수 : 소숫점 올림 라이브러리 함수
6. c 언어 문자열 처리 함수
strlen : 문자열의 길이를 알려주는 함수
strcpy : 문자열을 복사하는 함수
strcmp : 문자열을 비교하는 함수
strrev:문자열 거꾸로 뒤집는 함수
7. 쉘
사용자가 내린 명령을 운영체제가 수행할 수 있도록 명령을 해석하는 명령어 해석기임
쉘이 아닌 커널이 프로세스 관리, 파일관리, 입-출력 관리, 기억장치 관리 등의 기능 수행
8. 운영체제를 기능별로 분리하기
구분
|
프로그램
|
설명
|
제어 프로그램
(Control Program)
|
감시 프로그램
(Supervisor Program)
|
각종 프로그램의 실행과 시스템 전체의 작동 상태 감시 및 감독
|
작업 제어 프로그램
(Job Control Program)
|
작업의 연속 처리를 위한 스케줄 및 시스템 자원 할당 담당
job scheduler, master scheduler
|
|
데이터 관리 프로그램
(Data management Program)
|
주기억장치와 보조기억장치 사이의 데이터 전송과 보조기억 장치의 자료 갱신 및 유지보수 기능을 수행
|
|
처리 프로그램
(Processing Program)
|
언어 번역 프로그램
(Language Translator Program)
|
원시 프로그램을 기계어 형태의 목적 프로그램으로 번역하는 프로그램으로 어셈블러, 컴파일러. 인터프리티가 있음
|
서비스 프로그램
(Service Program)
|
효율성을 위해 사용 빈도가 높은 프로그램으로 링커, 정렬/합병 프로그램, 라이브러리, 유틸리티 프로그램이 있음
|
|
문제 프로그램
(Problem Program)
|
특정 업무 해결을 위해 사용자가 작성한 프로그램
|
9. UNIX 명령어
ls : 자신이 속해있는 폴더 내에서의 파일 및 폴더들의 목록(list)을 표시하는 명령어
cat : 파일의 내용을 화면에 출력하는 명령어
fork : 새로운 프로세스를 생성하는 명령어
chmod : 특정 파일 또는 디렉토리의 퍼미션을 수정하는 명령어
10. 리눅스 명령어
ls : 자신이 속해있는 폴더 내에서의 파일 및 폴더들을 표시하는 명령어
cat : 파일의 내용을 화면에 출력하는 명령어
pwd : 현재 작업중인 디렉토리의 절대 경로를 출력하는 명령어
uname : 시스템의 정보를 확인하는 명령어
11. 메모리 관리 기법
Worst fit(최악 적합) : 프로세스의 가용 공간 중에서 가장 큰 공간을 할당하는 방식
First fit(최초 적합) : 프로세스가 적재될 수 있는 가용 공간 중에서 첫 번째 분할에 해당하는 방식
Best fit(최적 적합) : 가용 공간 중에서 가장 크기가 비슷한 공간을 선택 후 적재하는 방식
12. 페이지 교체 알고리즘
FIFO: 가장 오래 있었던 페이지를 교체
LRU(Least Recently Used): 가장 오랫동안 사용하지 않은 페이지 교체
NUR(Not used Recently): 최근에 사용하지 않은 페이지 교체
LFU: 사용된(참조된) 횟수가 가장 적은 페이지와 교체
13. 주 기억장치 할당 기법 중 분산 할당 기법의 유형
- 페이징 기법(paging) : 프로그램을 고정된 크기의 일정한 블록으로 나누어 주기억장치의 분산된 공간에 적재시킨 후 프로세스를 수행시키는 기법
- 세그먼테이션 기법(segmentation) : 가상기억장치 내의 프로세스를 가변적인 크기의 블록으로 나누고 메모리를 할당하는 기법
페이징/세그먼테이션 혼용 기법 : 하나의 세그먼트를 정수 배의 부분 페이지로 다시 분할하는 기법
14. 페이징 기법
* 페이징 크기가 작을 경우 발생 현상
더 많은 페이지 사상 테이블 공간이 필요
내부 단편화는 줄고, 특정한 참조 구역성만을 포함하기 때문에 기억장치 효율이 좋음
페이지 정보를 갖는 페이지 맵 테이블의 크기가 커지고, 매핑 속도가 늦어짐
디스크 접근 횟수가 많아져서 전체적인 입출력 시간 증가
* 페이지 크기가 클 경우 발생 현상
테이블의 크기가 작아지므로 주기억 장치의 공간이 절약
페이지 정보를 갖는 페이지 맵 테이블의 크기가 작아져서 관리가 용이하고, 매핑 속도가 빨라짐
디스크 접근 횟수가 줄고, 전체적인 입-출력 시간 감소
페이지 단편화가 증가하고, 이에 따라 기억 공간의 낭비 초래
15. Microsoft의 windows 운영체제의 특징
GUI 기반 운영체제
트리 디렉터리 구조를 가짐
선점형 멀티태스킹 방식 사용
16. 비선점, 선점 스케줄링 알고리즘
- 선점 스케줄링 알고리즘 (SMMR)
SRT/MLQ/MLFQ/ROUND ROBIN]
비선점 스케줄링 알고리즘 (우기 HFS)
우선순위/기한부/HRN/FCFS/SJF
17. 스레싱(Thrashing)
어떤 프로세스가 계속적으로 페이지 부재가 발생하여 프로세스의 실제 처리 시간보다 페이지 교체 시간이 더 많아지는 현상
오류율이 클수록 스레싱이 많이 발생한 것이고, 스레싱으로 인해 전체 시스템의 성능 및 처리율은 저하됨.
방지 방법
다중 프로그래핑의 정도를 적정 수준으로 유지, 부족한 자원 증설, 일부 프로세스 중단, 페이지 부재 빈도 조절, 워킹 셋 유지
적정 프레임 수 제공
18. 프로세스 상태의 종류
생준 실대완
생성 상태(Create), 준비 상태(Ready), 실행 상태(Running), 대기 상태(Waiting), 완료 상태(Complete, Exit)
19. 운영체제 기법 및 성질
워킹 세트(Working set) : 각 프로세스가 많이 참조하는 페이지들의 집합을 주기억장치 공간에 계속 상주하게 하여 빈번한 페이지 교채 현상을 줄이고자 하는 기법
지역성(Locality; 구역성) : 프로세스가 기억 장치 내의 모든 정보를 균일하게 참조하는 것이 아니라 특정 부분만을 집중적으로 참조하는 성질
교착 상태(Deadlock) : 다중프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원할당을 무한정 대기하는 상태
스레싱(Thrashing) : 프로세스의 처리 시간보다 페이지 교체시간이 더 많아지는 현상
20. 운영체제에서 커널의 기능
프로세스 관리 : 프로세스 스케줄링 및 동기화 관리 담당, 프로세스 생성과 제거, 시작과 정지, 메시지 전달 등의 기능 담당
기억장치 관리 : 프로세스에게 메모리 할당 및 회수 관리 담당
주변장치 관리 : 입출력 장치 스케줄링 및 전반적인 관리 담당
파일 관리 : 파일 관리 파일의 생성과 삭제, 변경, 유지 등의 관리 담당
21. 통신망 사용 시 공유 매체에 대한 다중 접근제어방식
CSMA/CD : IEEE802.3 유선 LAN 의 반이중 방식에서 사용하는 방식으로 각 단말이 신호 전송 전에 현재 채널이 사용중인지 체크하여 사용하지 않을 때 전송하는 전송매체 접속 제어(MAC) 방식
CSMA/CA : IEEE 802.11 무선 LAN 의 반이중 방식에서 사용하는 방식으로 데이터 전송 시, 매체가 비어있음을 확인한 뒤 충돌을 회피하기 위해서 임의 시간을 기다린 후 데이터를 전송하는 방법
22. HRN 스케줄링
최소 작업 우선(널) 기법의 약점을 보완한 비선점 스케줄링 기법으로 다음과 같은 식을 이용해 우선 순위를 판별함
(대기시간+서비스 받을시간)/서비스 받을 시간
23. OSI 7계층에서 단말기 사이에 오류 수정과 흐름 제어를 수행하여 신뢰성 있고 명확한 데이터를 전달하는 계층 : 전송계층
24. OSI 7계층에서 TCP는?
전송계층에 해당
25. IPv6 특징
128비트의 주소 공간 제공
인증 및 보안 기능 포함
패킷 크기는 최대(64KByte~1Byte)까지 가능함
IPv6 확장 헤더를 통해 네트워크 확장 기능이 용이함
25-1. IPv6 주소체계(전송방식)
유멀애
유니캐스트/멀티캐스트/애니캐스트
25-2. IPv6 헤더항목
버트플 페넥홉 소데
Version/Traffic Class/Flow label/Payload Length/Next Header/Hop Limit/Source Address/Destination Address
26. IP 별 클래스
A 클래스 : 0.0.0.0~127.255.255.255 (국가나 대형통신망)
B 클래스 : 128.0.0.0~191.255.255.255 (중대형 통신망)
C 클래스 : 192.0.0.0~223.255.255.255 (소규모 통신망)
D 클래스 : 224.0.0.0~239.255.255.255 (멀티캐스트용)
E 클래스 : 240.0.0.0~255.255.255.255 (실험용)
27. IPv4 헤더구조
버헤타토 아폴프 타플체소데
Version/Header Length/Type of Service/Total Length/Identification/Flag/Fragment Offset/
Time to Live/Protocol/Header Checksum/Source Address/Destination-Address
28. OSI 7계층 데이터링크 계층의 프로토콜
HDLC, PPP, Frame-Relay, FDDI, ATM, LCC, ALOHA
29. UDP 특성
데이터 전송 전 연결 설정하는 비연결형 서비스 제공
TCP에 비해 상대적으로 단순한 헤더구조이기 때문에 오버헤드 적음
실시간 전송, 신뢰성보다 속도가 중요시되는 네트워크에서 사용
30. IP 프로토콜 특징
IP 프로토콜은 신뢰성이 없는 비연결형 데이터그램 프로토콜로서 최선의 노력으로 전달을 제공하는 전송 서비스임
최선의 노력이란 IP가 오류 검사나 추적을 제공하지 않는다는 것을 의미
IP는 각기 개별적으로 전송되는 데이터그램이라는 패킷 형태로 데이터를 전송함
데이터그램은 서로 다른 경로로 전달될 수 있으므로 순서대로 도착하지 않거나 중복되어 도착할 수 있음
31. TCP/IP 응용계층에 해당하는 프로토콜
DNS, SMTP, HTTP
32. TCP/IP 전송계층에 해당하는 프로토콜
TCP
33. TCP/IP 프로토콜 특징
UDP : 비연결성이고, 신뢰성이 없으며, 순서화되지 않은 데이터그램 서비르스를 제공하는 전송 계층(4계층)의 통신 프로토콜
ARP : IP 네트워크상에서 IP 주소를 MAC 주소(물리주소)로 변환하는 프로토콜(논리주소->물리주소)
TCP : 전송 계층에 위치하면서 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러 없이 교환할 수 있게 해주는 프로토콜
ICMP : IP 패킷을 처리할 때 발생하는 문제를 알려주는 프로토콜
34. UDP 헤더 구조
소데 랭체
Source Port Number/Destination Port Number/UDP Length/UDP checksum
35. 리눅스 명령어
ls : 현재 디렉터리 내 파일 및 폴더들의 목록을 표시하는 명령어
cat : 파일의 내용을 화면에 출력하는 명령어
finger : 현재 시스템에 로그인한 사용자 정보(계정 정보)를 확인하는 명령어
mkdir : 디렉토리 생성할 경우 사용되는 명령어
'정보처리기사 필기 준비' 카테고리의 다른 글
정보처리기사 필기시험 합격 후기! (0) | 2024.10.18 |
---|---|
5과목 정보 시스템 구축관리 정리 (2) | 2024.10.18 |
3과목 데이터베이스 정리 (1) | 2024.10.18 |
2과목 소프트웨어 개발 정리 (1) | 2024.10.18 |
정보처리기사 필기 정리 (0) | 2024.10.18 |