2023 정보처리기사 정리
정보처리기사 4강(프로그래밍 언어) 핵심 요약
choco2706
2024. 5. 7. 21:00
1. C / JAVA의 자료명
2. C언어의 구조체
- 자료의 종류가 다른 변수의 모임
- 예약어 struct를 이용해 정의한다
3. 변수명 작성 규칙
- 영문자, 숫자, _(under bar)를 사용할 수 있다.
- 첫 글자는 숫자를 사용할 수 없다.
- 공백이나 *, +, -, / 등의 특수문자는 사용할 수 없다.
- 대·소문자를 구분한다
- 예약어를 변수명으로 사용할 수 없다
4. 가비지 콜렉터(Garbage Collector)
선언만 하고 사용하지 않는 변수들이 점유한 메모리 공간을 강제로 해제하여 다른 프로그램들이 사용할 수 있도록 하는 것이다.
5. 산술 연산자
6. 비트 연산자
- & (and) : 모든 비트가 1일 때만 1
- ^ (xor) : 모든 비트가 같으면 0, 하나라도 다르면 1
- | (or) : 모든 비트 중 한 비트라도 1이면 1
- ~ (not) : 각 비트의 부정, 0이면 1, 1이면 0
- << (왼쪽 시프트) : 비트를 왼쪽으로 이동
- >> (오른쪽 시프트) : 비트를 오른쪽으로 이동
7. 논리 연산자
- ! (not) : 부정
- && (and) : 모두 참이면 참
- || (or) : 하나라도 참이면 참
8. 조건 연산자(삼항 연산자)
조건에 따라 서로 다른 수식을 수행한다
Ex) mx = a < b ? b : a;
a가 b보다 작으면 mx에 b를 저장하고 그렇지 않으면 a를 저장한다.
9. 연산자 우선 순위
10. 스크립트 언어의 종류
- 자바스크립트 : 웹 페이지의 동작을 제어하는 데 사용되는 클라이언트용 스크립트 언어
- PHP : Linux, Unit, Windows 운영체제에서 사용 가능한 서버용 스크립트 언어
- 파이썬(Python) : 귀도 반 로섬이 발표한 대화형 인터프리터 언어
- 쉘 스크립트 : 쉘에서 사용되는 명령어들의 조합으로 구성된 스크립트 언어
- Basic : 절차 지향 기능을 지원하는 대화형 인터프리터 언어
11. 라이브러리
- 표준 라이브러리 : 프로그래밍 언어에 기본적으로 포함되어 있는 라이브러리로, 여러 종류의 모듈이나 패키지로 구성됨
- 외부 라이브러리 : 개발자들이 필요한 기능들을 만들어 인터넷 등에 공유해놓은 것으로 외부 라이브러리를 다운받아설치한 후 사용
12. UNIX의 특징
- 대부분 C언어로 작성되어 있어 이식성이 높다.
- 장치와 프로세스 간의 호환성이 높다.
- 다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.
- 트리 구조의 파일 시스템을 갖는다.
- UNIX - 커널(Kernel)의 기능
- 프로세스(CPU 스케줄링) 관리
- 기억장치 관리
- 파일 시스템 관리
- 입·출력 관리
- UNIX - 쉘(Shell)
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스를 담당.
- UNIX - 커널(Kernel)의 기능
13. 기억장치의 배치 전략
- 최초 적합(First Fit) : 첫 번째 분할 영역에 배치
- 최적 적합(Best Fit) : 단편화를 가장 작게 남기는 분할 영역에 배치
- 최악 배치(Worst Fit) : 단편화를 가장 많이 남기는 분할 영역에 배치
14. 페이지 교체 알고리즘 - FIFO
각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법
15. 쓰레싱(Thrashing)
프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
16. 프로세스 상태 및 상태 전이
- 프로세스의 상태 : 제출(Submit), 접수(Hold), 준비(Ready), 실행(Run), 대기(Wait, 보류, 블록), 종료(Teminated Exit)
- 프로세스 상태 전이 : Dispatch, Wake-Up, Spooling
17. 스케줄링 - SJF
실행 기간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
18. 스케즐링 - HRN
19. UNIX의 주요 명령어
- fork : 새로운 프로세스를 생성
- uname : 시스템 정보를 표시
- wait : 상위 프로세스가 하위 프로세스 종료 등의 event를 기다림
- chmod : 파일의 보호 모드를 설정함
- ls : 현재 디렉터리 내의 파일 목록을 확인함
- cat : 파일 내용을 화면에 표시함
- chown : 소유자를 변경함
20. 인터넷 주소 체계 - IPv4
- 8비트씩 4부분, 총 32비트로 구성되어 있다.
- A클래스에서 E클래스까지 총 5단계로 구성되어 있다.
- IPv4 주소 체계 : 유니캐스트(Unicast), 멀티캐스트(Multicast), 브로드캐스트(Broadcast)
21. 인터넷 주소 체계 - IPv6
- 16비트씩 8부분, 총 128비트로 구성되어있다.
- 각 부분을 16진수로 표현하고, 콜론(:)으로 구성한다.
- 주소의 확장성, 융통성, 연동성이 뛰어나고, 품질 보장이 용이하다.
- IPv6 주소 체계 : 유니캐스트(Unicast), 멀티캐스트(Multicast), 애니캐스트(Anycast)
22. OSI 7계층
- OSI 7계층은 응용, 표현, 세션, 전송, 네트워크, 데이터링크, 물리계층으로 나뉨.
- 데이터 링크 계층(Data Link Layer)
- 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 한다.
- 기능 : 흐름 제어, 프레임 동기화, 오류 제어, 순서 제어 등
- 프로토콜 : HDLC, LAPB, PPP, LLC
- 네트워크 계층(Netword Layer)
- 개방 시스템들 간의 네트워크 연결을 관리하고 데이터를 교환 및 중계한다.
- 기능 : 경로 설정, 트래픽 제어, 패킷 정보 전송 등
- 세션 계층(Session Layer)
- 송·수신 측 간의 관련성을 유지하고 대화 제어를 담당한다.
- 대화의 생성, 관리, 종료를 위해 토큰을 사용한다.
- 기능 : 대화 구성 및 동기 제어, 데이터 교환 관리 등
- 데이터 링크 계층(Data Link Layer)
23. 네트워크 관련 주요 장비
- 리피터(Repeater) : 원래의 신호 형태로 재생하여 다시 전송함
- 브리지(Bridge) : LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹을 연결함
- 라우터(Router) : 데이터 전송의 최적 경로를 선택함
- 스위치(Switch) : LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
- 브라우터(Brouter) : 브리치와 라우터의 기능을 모두 수행하는 장치로, 브리치 기능은 내부 네트워크를 분리하는 용도로 사용하고, 라우터 기능은 외부 네트워크에 연결하는 용도로 사용
24. TCP / IP 프로토콜
- MQTT : 발행 - 구독 기반의 메시징 프로토콜로, IoT 환경에서 자주 사용된다.
- TCP
- 신뢰성 있는 연결형 서비스를 제공한다.
- 양뱡향 연결형 서비스를 제공한다.
- 기능 : 패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어, 스트림 전송 등
- UDP
- 비연결형 서비스를 제공한다.
- 흐름 제어나 순서 제어가 없어 전송 속도가 빠르다.
- 실시간 전송에 유리하다.
- ARP : 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address)로 바꾼다.
25. CSMA / CD
IEEE 802.3 LAN에서 사용되는 전송 매체 접속 제어(MAC) 방식이다.