📌 TCP/IP
- 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고받을 수 있도록 하는 표준 프로토콜
- 1960년대 말 ARPA에서 개발하여 ARPANET(1972)에서 사용하기 시작
- UNIX의 기본 프로토콜로 사용되었고, 현재 인터넷 범용 프로토콜로 사용됨
- 아래와 같은 기능을 수행하는 TCP 프로토콜 + IP 프로토콜 결합을 의미
- TCP 프로토콜
- OSI 7계층 중 전송(트랜스포트, 4계층)에 해당
- 신뢰성 있는 연결형 서비스 제공패킷의 다중화, 순서 제어, 오류 제어, 흐름 제어 기능 제공
- 패킷 단위의 스트림 전송 기능 제공
- IP
- OSI 7계층 중 네트워크(3계층)에 해당
- 데이터그램을 기반으로 하는 비연결형 서비스 제공
- 패킷의 분해, 조립, 주소 지정, 경로 선택 기능을 제공
- 헤더의 길이는 최소 20Byte에서 최대 60Byte
- TCP 프로토콜
📌 IP 주소 체계(IPv6 VS IPv4)
- IPv6
- 패킷 헤더는 40 옥텟의 고정된 길이를 가짐
- 16비트씩 8부분, 총 128비트로 구성되어 있음
- 각 부분을 16진수로 표현하고 콜론으로 구분
- IPv4에 비해 자료 전송 속도가 빠르고 호환성이 뛰어남
- 주소 자동설정 기능을 통해 손쉽게 이용자의 단말을 네트워크에 접속시킬 수 있음
- IPv4
- 호스트 주소를 자동으로 설정하며 유니캐스트 지원
- 클래스 별로 네트워크와 호스트 주소의 길이가 다름
📌 자바 에러
- ArithmeticException : 0으로 나누는 산술 연산에 대한 예외
📌 C언어의 비트연산자
- ^
- &
- ~
📌 C언어의 연산자 우선 순위
- () → 괄호
- / → 산술
- << → 시프트 연산자
- < → 관계 연산자
- == → 관계 연산자(같다)
- || → 논리 연산자
📌 IPv4와 IPv6 간의 주소 전환에 사용되는 기술
- 듀얼 스택
- 터널링
- 헤더 변환
📌 C언어의 시프트 연산자
- r = r << n→ r * 2의n승
- → 만약 r >> n 이라면? r / 2의 n승
- → r은 r을 이진수로 표현한 값에 n비트 왼쪽으로, 즉 기본값(r)에 2의 n승을 곱한 것과 같음
📌 시간 구역성(Temporal Locality)
- 프로세스가 실행되면서 하나의 페이지를 일정 시간동안 집중적으로 액세스하는 현상
- 한 번 참조한 페이지는 가까운 시간 내에 계속 참조할 가능성이 높음을 의미
- 시간 구역성이 이루어지는 기억 장소 : 스택 / 부프로그램(Sub Routine) / 순환문(Loop) / Countring / 집계에 사용되는 변수(기억장소)
📌 출력문이 무한히 반복되는 코드
- For(;;) printf(“무한반복”);
- → for문은 초기값 최종값 증가값을 모두 생략하면 내부 코드를 무한히 반복하여 실행됨
📌 C언어의 헤더 파일
- Stdio.h : 입 출력에 대한 기능 제공
- Math.h : 여러 수학 함수들 제공
- String.h : 문자열 처리에 사용되는 기능 제공
- Stdib.h : 자료형 변환, 메모리 할당에 대한 기능 제공
- Time.h : 시간 처리에 관한 기능들 제공
📌 OSI 7계층 ⭐️⭐️⭐️ → (7) 아파서 티내다, 피나다 (1)
- Physical Layer → 물리 계층
- 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의
- 물리적 전송 매체와 전송 신호 방식을 정의
- RS-2323C, X21 등
- Data Link Layer → 데이터 링크 계층
- 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 정보 전송을 할 수 있도록 함
- 송신 측과 수신 측의 속도 차이를 해결 → 흐름 제어 기능
- 프레임의 시작과 끝을 구분 → 프레임의 동기화 기능
- 오류의 검출과 회복 → 오류 제어 기능
- 프레임의 순서적 전송 → 순서 제어 기능
- HDLC, LAPB, LLC, LPAD, PPP 등의 표준
- Network Layer → 네트워크 계층
- 개방 시스템들 간의 네트워크 연결을 관리하는 기능
- 데이터의 교환 및 총계 기능
- 네트워크 연결을 설정, 유지, 해제하는 기능
- 경로 설정, 데이터 교환 및 중계, 트래픽 제어, 패킷 정보 전송을 수행
- X 25, IP 등의 표준
- IP(Internet Protocol)→ 패킷의 분해/조립/주소 지정/ 경로 선택 기능을 제공→ 헤더 체크섬만 제공
- → Best Effort 원칙에 따른 전송 기능을 제공
- → 헤더의 길이는 최소 20바이트 ~ 최대 60바이트
- → 데이터그램을 기반으로 하는 비연결형 서비스 제공
- Transport Layer → 전송 계층
- 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템(End-to-End) 간에 투명한 데이터 전송을 가능하게 함
- 하위 3계층과 상위 3계층의 인터페이스 담당
- 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능
- 주소 설정, 다중화, 오류 제어, 흐름 제어 수행
- TCP, UDP 등의 표준
- Session Layer → 세션 계층
- 송수신측 간의 관련성을 유지하고 대화 제어를 담당하는 계층
- 대화 구성 및 동기 제어, 데이터 교환 관리 기능
- 연결의 생성, 관리, 종료를 위해 토큰 사용
- Presentation Layer → 표현 계층
- 응용 계층으로부터 받은 데이터를 세션 계층에 보내기 전에 통신에 적당한 형태로 변환
- 세션 계층에서 받은 데이터는 응용 계층에 맞게 변환
- 서로 다른 데이터 표현 형태를 갖는 시스템 간의 상호 접속을 위해 필요한 계층
- 코드 변환, 데이터 암호화, 데이터 압축, 구문 검색, 정보 형식(포맷) 변환, 문맥 관리 기능
- Application Layer → 응용 계층
- 사용자(응용 프로그램)가 OSI 환경에 접근할 수 있도록 서비스를 제공
- 응용프로세스 간의 정보 교환, 전자 사서함, 파일 전송 등의 서비스를 제공
📌 C언어 / melloc() 함수
- 형식 : 포인터 변수 = melloc(크기)
- 포인터 변수가 가리키는 메모리 위치에 지정된 크기만큼의 공간을 할당하되, 크기의 단위는 바이트(Byte)
- 필요한 시점에 필요한 만큼 메모리를 할당할 수 있음 → 동적 메모리 할당
- Stdib.h 헤더 파일에 정의되어 있음
- Melloc() 함수가 성공적으로 수행되면 메모리 주소 반환, 실패하면 NULL 반환
- 힙의 영역에 메모리 할당 → 사용 후 반드시 free() 함수를 통해 메모리 해제!
📌 IEEE 802의 주요 표준 규격
- 802.1
- 전체의 구성, OSI 참조 모델과의 관계, 통신망 관리 등에 관한 규약
- 802.2
- 논리 링크 제어(LLC) 계층에 관한 규약
- 802.3
- CSMA/CD 방식의 매체 접근 제어 계층에 관한 규약
- 802.4
- 토큰 버스 방식의 매체 접근 제어 계층에 관한 규약
- 802.5
- 토큰 링 방식의 매체 접근 제어 계층에 관한 규약
- 802.6
- 도시형 통신망(MAN)에 관한 규약
📌 자동 반복 요청 방식(ARQ) → 오류제어에 사용
- Stop-and-Wait ARP(정지-대기)
- Go-Back-N ARQ
- Selective-Repeat ARP(선택적 재전송)
- Adaptive ARP(적응적)
📌 페이지 교체 알고리즘
- OPT(OPTimal replacement) : 최적 교체, 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 방법
- FIFO(First In First Out) : 각 페이지가 주기억장치에 적재될 때마다 그때의 시간을 기억시켜 가장 먼저 들어와서 가장 오래 있었던 페이지를 교체하는 기법
- LRU(Leat Recently Used) : 최근에 가장 오랫동안 사용하지 않은 페이지를 교체하는 방법
- LFU(Last Frequently Used) : 사용 빈도가 가장 적은 페이지를 교체하는 방법
- NUR(Not Used Recently) : 최근에 사용하지 않은 페이지를 교체하는 기법으로, 참조 비트와 변형 비트 사용
- SCR(Second Chance Replacement) : 2차 기회 교체, 가장 오랫동안 주기억장치에 있던 페이지 중 자주 사용되는 페이지의 교체를 방지 → FIFO 기법의 단점 보완
📌 파일 디스크립터(File Discriptor)
- 파일 관리를 위해 시스템이 필요로하는 정보를 가지고 있음 → 리눅스 또는 유닉스에서 프로세스가 파일에 접근하는 데 사용하는 일종의 키
- 보조기억장치에 저장되어 있다가 파일이 개방되면 주기억장치로 이동
- 사용자는 파일 디스크립터의 정보 확인은 O, 참조는 X
- 파일 제어 블록, 파일 핸들로도 불림
📌 자바스크립트
- 프로토타입의 개념이 존재
- 클래스 기반으로 객체 상속 지원(ES6 버전부터)
- Prototype Link와 Prototype Object 활용 가능
- 객체 지향 언어
- 클라이언트용 스크립트 언어(웹 브라우저에서 해석되어 실행됨)
- 서버용 클라이언트 언어 : JSP, ASP, PHP, 파이썬, 펄, 루비 등
📌 리눅스 Bash 쉘(Shell)에서의 export
- “환경”변수의 값을 변경하거나, 새로운 “환경”변수를 설정할 때 사용하는 명령어
- Export가 매개변수 없이 쓰일 경우 현재 설정된 환경변수들이 출력됨
- 사용자가 생성하는 변수는 export 명령어로 표시하지 않는 한 현재 쉘에 국한됨
- 변수를 export 시키면 전역 변수처럼 되어 끝까지 기억됨
📌 페이징 기법
- 가상 기억장치에 보관되어 있는 프로그램과 주기억장치의 영역을 동일한 크기로 나눔 → 나눠진 프로그램(페이지)을 동일하게 나눠진 주기억장치의 영역(페이지프레임)에 적재시켜 실행
- 페이지 크기가 작아질수록 : 기억장소 이용 효율이 증가, 입출력시간의 증가, 내부 단편화 감소, 페이지 맵 테이블의크기 증가
- 페이지 맵 테이블 사용으로 비용이 증가되고 처리속도는 감소됨
📌 교착 상태 발생의 필요 충분 조건 4가지
- 상호 배제(Mutual Exclusion) : 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 함
- 점유와 대기(Hold and Wait) : 최소한 하나의 자원을 점유하고 있으면서 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함
- 비선점(Non-preemption) : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
- 환형 대기(Circular Wait) : 공유 자원과 공유 자원을 위해 대기하는 프로세스들이 원형으로 구성 → 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 함
📌 Working Set
- 운영체제의 가상기억장치 관리에서 프로세스가 일정 시간동안 자주 참조하는 페이지들의 집합
📌 UNIX 시스템의 구성
- 커널(Kernel)
- 유닉스의 가장 핵심적인 부분
- 컴퓨터가 부팅될 때 주기억장치에 적재된 후 상주하면서 실행
- 하드웨어를 보호하고, 프로그램과 하드웨어 간의 인터페이스 역할 담당
- 프로세스 생성, 종료, 기억장치 할당, 회수, 파일 시스템 관리, 프로세스간 통신, 데이터 전송 및 변환 등
- 쉘(Shell)
- 사용자의 명령어를 인식하여 프로그램을 호출하고 명령을 수행하는 명령어 해석기
- 시스템과 사용자 간의 인터페이스
- 주기억장치에 상주 X, 명령어가 포함된 파일 형태로 존재 O
- 보조기억장치에서 교체 처리가 가능
- 파이프라인 기능을 지원, 입출력 재지정을 통해 출력과 입력의 방향 변경 가능
- 유틸리티(Utility Program)
- 일반 사용자가 작성한 응용 프로그램을 처리하는데 사용
- DOS에서의 외부 명령어에 해당
- 유틸리티 프로그램에는 에디터, 컴파일러, 인터프리터, 디버거 등이 있음
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 실기 | 2024년 수제비 FINAL 모의고사 개념 정리(484개) (2) | 2024.07.24 |
---|---|
정보처리기사 필기 요약 정리 | 5과목 정보시스템 구축관리 (0) | 2024.06.17 |
정보처리기사 필기 요약 정리 | 3과목 데이터베이스 구축 (0) | 2024.05.27 |
정보처리기사 필기 요약 정리 | 2과목 소프트웨어 개발 (0) | 2024.05.24 |
정보처리기사 필기 요약 정리 | 1과목 소프트웨어 설계 (0) | 2024.05.21 |