빙응의 공부 블로그
[정처기]4장 요점 정리 본문
언어부분, 잘 알고있는 부분은 제외하였습니다.
🚩프로그래밍 언어 활용
Python의 시퀀스 자료형
- 시퀀스 자료형이란 리스트, 튜플 range, 문자열처럼 값이 연속적으로 이어진 자료형을 말한다.
- 리스트
- 튜플 : 요소의 추가, 삭제, 변경이 불가
- range : 연속된 숫자
변수 작성 규칙
- 영문자, 숫자, _ 만 사용 가능
- 첫 글자는 숫자를 쓸 수 없음
- 예약어를 사용 불가
기억 클래스
- 변수의 사용 범위를 나타낸다. java에 static 같은 것들이다.
- 자동 변수 : auto
- 레지스터 : register
- static
- extern
가비지 콜렉터 : 변수 선언만 하고 초기화하지 않은 것
C언어의 대표적인 표준 라이브러리
- stdio.h
- math.h
- string.h
- stdlib.h : 난수 생성, 메모리 할당, 자료형 변환
- time.h
JAVA의 주요 예외 객체
- 문법 오류는 예외가 아님
- 직관적이지 않는 것만 작성
- ArithmeticException : 0으로 나누는 산술식 예외
- NumberFormatException : 잘못된 변환
🚩응용 SW 기초 기술 활용
UNIX의 개요
- 개방형 시스템이며 이식성이 높고 프로세스 간의 호환성이 높다.
- 다중 사용자, 다중 작업을 지원
- 트리 구조이다.
UNIX 구조
- 커널
- 가장 핵심적인 부분
- 프로세스 관리, 기억장치 관리, 파일 관리, 입출력 관리, 프로세스간 통신, 데이터 전송 및 변환 등 기능 수행
- 쉘
- 시스템과 사용자 간의 인터페이스 담당
파일 디스크립터
- 파일 관리를 위한 시스템이 필요로 하는 파일에 대한 정보를 가진 제어블록
기억 장치 관리의 개요
- 기억장치 관리 전략으로는 반입(Fetch) 전략, 배치 전략, 교체 전략이 있다.
반입 전략(Fetch)
- 요구 반입 : 실행중인 프로그램이 특정 프로그램이나 데이터 등의 참조를 요구할 때 적재하는 방법
- 예상 반입 : 미리 예상하여 적재
배치 전략(Placement)
- 최초 적합: 빈 영역 중 첫 번째 분할 영역에 배치
- 최적 적합 : 단편화가 가장 작게 남기는 분할 영역을 배치
- 최악 적합 : 단편화가 가장 많이 나믹는 분할 영역에 배치
교체 전략(Replacement)
교체 알고리즘
페이징 기법
- 프로그램을 일정한 크기로 나눈 단위를 페이지
- 주소 변환을 위해 페이지 맵 테이블 필요
- 페이지 맵 테이블 사용으로 비용이 증가되고 ,처리 속도 감소
- 내부 단편화 발생
세그먼테이션 기법
- 페이지와 다르게 일정이 아닌 다양한 크기의 논리적 단위로 나눔
- 세그먼트라고 하며 각 세그먼트는 고유의 이름을 가짐
- 사용 이유는 기억공간 절약이나 외부 단편화가 발생할 수 있다.
- 주소 변환을 위한 세그먼트 맵 테이블이 필요하며 영역에 대한 구분을 위해 기억장치 보호키가 필요
- 외부 단편화 발생
페이지 교체 알고리즘
- OPT(최적 교체)
- 앞으로 가장 오랫동안 사용하지 않을 페이지를 교체하는 방법
- FIFO
- 각 기억장치에서 가장 오래있던 페이지를 교체
- LRU
- 가장 오랫동안 사용하지 않은 페이지 교체
- LFU
- 사용 빈도가 가장 적은 페이지를 교체
- NUR
- 최근에 사용하지 않은 페이지를 교체하나 두개의 비트를 사용하게 된다.
- SCR
- FIFO 기법의 단점 보완 자주 사용되는 페이지 교체를 방지
기타 관리 사항
- 페이지 크기 유무
- 페이지 크기가 작을 경우
- 페이지 단편화가 감소, 주기억장치로 이동하는 시간이 줄어든다.
- 페이지 맵 테이블이 커지고, 매핑속도가 늦어지며 입 출력 시간이 늘어남
- 페이지 크기가 클 경우
- 페이지 맵 테이블이 작아지고, 매핑 소곧가 빨라진다.
- 페이지 단편화 증가
- 페이지 크기가 작을 경우
Locality(지역성)
- 프로세스가 실행되는 동안 주기억장치를 참조할때 일부 페이지만 집중적으로 참조하는 성질이 있다는 이론
- 가상기억장치(캐쉬 메모리)의 이론
- 시간 구역성
- 하나의 페이지를 일정 시간 동안 집중적으로 엑서스하는 현상
- 이루어지는 장소: 반복문, 스택, 부프로그램, 카운팅, 집계에 사용되는 변수
- 공간 구역성
- 프로세스 실행 시 일정 위치의 페이지를 집중적으로 엑서스하는 현상
- 이루어지는 장소 : 배열 순회, 순차적 코드 실행
워킹 셋
- 일정 기간동안 자주 참조되는 페이지의 집합
프리페이징
- 처음의 과도한 페이지 부재를 방지하기 위해 미리 모든 페이지를 한꺼번에 적재하는 기법이다.
스래싱
- 프로세스 처리 시간보다 페이지 교체에 소요되는 시가닝 많아지는 현상
- 방지 방법
- 다중 프로그래밍의 적정 수준 유지
- 페이지 부재 빈도를 조절
- 워킹 셋 유지
프로세스의 개요
프로세스
- 실행중인 프로그램
PCB(프로세스 제어 블록)
- 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳
프로세스 상태 전이
- 제출(Submit) : 작업을 처리하기 위해 사용자가 작업에 시스템을 제출한 상태
- 접수(Hold) : 제출된 작업이 스풀 공간인 디스크에 할당 위치에 저장된 상태
- 준비(Ready) : 프로세스가 프로세서를 할당받기 위해 기다리는 상태
- 실행(Run)
- 대기,보류,블록
- 종료(Terminated, exit)
관련 용어
- Dispatch : 준비 상태에서 대기하고 있는 프로세스 중 하나가 프로세서를 항당받아 실행 상태로 전이
- Wake up : 입출력 작업이 완료되어 준비상태로 전의
- Spooling :나중에 한꺼번에 입출력하기 위해 디스크에 저장되는 과정
스레드
- 프로세스의 작업단위로 시스템의 여러 자원을 할당 받아 실행하는 프로그램의 단위
- 분류
- 사용자 수준
- 속도가 빠르나 구현이 어렵다, 커널 모드 전환이 없어 오버헤드가 줄어든다.
- 커널 수준
- 여러 스레드가 커널에 동시 접근
- 독립적인 스케줄링 가능
- 속도가 느림
- 사용자 수준
스케줄링
비선점 스케줄링 : 우선순위가 높아도 강제러 빼앗아 사용할 수 없는 스케줄링 기법이다.
- FCFS, SJF, HRN 등이 있다.
선점 스케줄링 : 우선순위가 높으면 CPU를 강제로 빼앗아 사용하는 스케줄링 기법이다.
- RR, SRT 등이 있다.
FCFS
- 들어온 차례로 CPU를 할당하는 기법이다.
SJF
- 실행 시간이 가장 짧은 것을 먼저 하여 대기 시간을 줄이는 기법이다.
HRN
- 실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 실행 시간을 이용한 기법이다.
- 실행 시간이 짧거나 대기시간이 긴 프로세스 일 경우 우선순위가 높다.
- 계산식에 의해 결정된다.
인터넷
IP 주소
- 인터넷에 연결된 모든 컴퓨터 자원을 구분하기 위한 고유 주소
- 4개의 클래스가 있다.
- A 클래스 : 국가나 대형 통신망에서 사용(앞자리가 0)
- B 클래스 : 중대형 통신망에서 사용(앞자리가 10)
- C 클래스 : 소규모 통신망에서 사용(앞자리가 110)
- D 클래스 : 멀티케스트용으로 사용(앞자리가 1110)
서브네팅
- 서브네팅은 할당된 네트워크 주소를 다시 여러 개의 작은 네트워크로 나누어 사용하는 것을 말한다.
IPv6
- IPv4의 주소 부족 문제를 해결하기 위해 개발
- 128비트의 긴 주소이며 전송속도도 빠름
- 인증성, 기밀성, 데이터 무결성 지원
- 피캣 크기를 확장 가능 무한
- IPv4 에서 IPv6로 변환 전략
- 듀얼 스택 : 호스트에서 두 버전 모두 사용 가능하게 하는 것
- 터널링
- 구성
- 16비트씩 8부분으로 구성
- 유니캐스트 : 1대1 통신 지원
- 멀티캐스트 : 1대다 통신 지원
- 애니캐스트 : 가까이 있는 단일 수신자와 통신
- 16비트씩 8부분으로 구성
OSI 참조 모델
물리 계층(비트)
- 전송에 필요한 두 장치 간의 실제 접속과 절단 등 기계적, 전기적, 기능적, 절차적 특성에 대한 규칙을 정의
- 리피터와 허브
데이터 링크 계층(프레임)
- 두 개의 인접한 개방 시스템들 간에 신뢰성 있고 효율적인 전송을 할 수 있도록 시스템 간 연결 설정과 유지 및 종료를 담당
- 흐름제어
- 프레임 동기화
- 오류 제어
- 순서 제어
- HDLC, LAPB, LLC, MAC, LAPD, PPP 등의 표준이 있다.
- 브리지 스위치
네트워크 계층(패킷)
- 개방 시스템들 간의 네트워크 연결을 관리하는 기능과 데이터의 교환 및 중계 기능을 한다.
- 네트워크 연결, 설정, 유지 ,해제
- 경로 설정, 데이터 교환 및 중계, 트래픽 제어
- IP 표준
- 라우터
전송 계층(세그먼트)
- 논리적 안정과 균일한 데이터 전송 서비스를 제공함으로써 종단 시스템 간의 투명한 데이터 전송을 가능하게 한다.
- 하위 3계층과 상위 3계층의 인터페이스 역할
- 종단 시스템 간의 전송 연결 설정, 데이터 전송, 연결 해제 기능
- TCP, UDP
- 게이트 웨이
세션계층
표현계층
응용계층
네트워크 관련 장비
허브
- 가까운 거리의 컴퓨터들을 연결
- 더미 허브 : 단순 연결
- 스위치 허브 : 흐름 제어
리피터(물리 계층)
- 네트워크 신호 증폭 및 재전송
브리지
- LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹 연결
- 데이터링크 계층 중 MAC 계층에서 사용
스위치
- LAN과 LAN을 연결하여 더 큰 LAN으로 만든다.
- 데이터 링크 계층 하드웨어 기반으로 전송 속도가 빠름
라우터
- LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있다.
브라우터
- 브리지와 라우터의 기능 모두 가능
TCP/IP
TCP
- 전송 계층을 담당
- 신뢰성 있는 연결형 서비스
- 패킷의 다중화, 순서제어, 오류제어, 흐름제어 기능 제공
- 스트림 기능 제공
IP
- 네트워크 계층을담당
- 비연결형 서비스
- Best Effort원칙에 따른 전송 기능
- 패킷의 분해/ 조립, 주소 지정, 경로 선택 가능
- 헤더 길이는 최소 20Byte, 최대 60Byte
응용 계층의 주요 프로토콜
- FTP : 원격 파일 전송 프로토콜
- SMTP : 전자 우편 전송 프로토콜
- TELNET : 원격 컴퓨터 사용 서비스
- SNMP : TCP/IP의 네트워크 관리 프로토콜, 라우터나 허브 등 네트워크 기기의 네트워크 정보를 네트워크 관리 시스템에 보내는 데 사용
- DNS
- HTTP
- MQTT : 발행 -구독 기반 메시징 프로토콜, IoT 호나경에서 자주 사용
전송 계층 주요 프로토콜
- TCP
- 양방향 연결
- 가상 회선 연결
- 스트림 위주로 전달(패킷 단위)
- 패킷 분실, 손상, 지연 등 투명성 보장
- 최대 100Byte 헤더 가능
- UDP
- 비연결형 서비스
- 단순한 헤더 구조로 오버헤드가 적고 흐름 제어나 순서 제어가 없어 전송이 빠름
- 실시간 전송에 유리
- RTCP
- RTP 패킷의 전송 품질을 제어하기 위한 제어 프로토콜
인터넷 계층의 주요 프로토콜
- IP
- ICMP
- IP와 조합하여 통신중에 발생한 오류의 처리와 전송 경로 변경등을 위한 제어 메시지를 관리하는 역할
- 헤더는 8Byte이다.
- IGMP : 멀티케스트를 지원하는 호스트나 라우터 사이에서 멀티캐스트 그룹 유지를 위해 사용
- ARP : IP를 물리적 주소로 바꿈
- RARP
네트워크 액세스 계층의 프로토콜
- Ethernet : CSMA/CD 방식의 LAN
'정처기' 카테고리의 다른 글
[정처기]실기 1장 - 요구사항 확인 (0) | 2024.04.01 |
---|---|
[정처기]5장 요점 정리 (1) | 2024.02.20 |
[정처기] 3장 요점 정리 (0) | 2024.02.09 |
[정처기]2장 요점 정리 (0) | 2024.02.07 |
[정처기]1장 요점 정리 (0) | 2024.02.06 |