본문 바로가기

Computer Science59

[네트워크] TCP와 UDP란? (TCP와 UDP 비교, TCP와 UDP 헤더, DNS가 UDP 프로토콜을 사용하는 이유) 목차 프로토콜이란? TCP란? UDP란? TCP와 UDP 비교 TCP 헤더와 UDP 헤더 DNS가 UDP 프로토콜을 사용하는 이유 1. 프로토콜이란? 프로토콜은 네트워크 상에서 데이터를 주고받기 위한 데이터에 대한 통신 규약을 의미한다. OSI 7계층에서 각 계층에서 사용되는 프로토콜 종류가 다르며, 그중 TCP와 UDP는 전송 계층에서 사용되는 프로토콜이다. 계층 프로토콜 애플리케이션 계층 HTTP, FTP, SMTP, POP3, IMAP, Telnet, DNS 등 프레젠테이션 계층 SSL, ASCII, JPEG 등 세션 계층 NetBIOS, RPC 등 전송 계층 TCP, UDP, RTP 등 네트워크 계층 IP, ICMP, IPSec 등 데이터링크 계층 Ethernet, WIFI, PPP 등 물리 계층.. 2024. 2. 9.
[네트워크] OSI 7계층이란? (OSI 7계층을 나눈 이유, OSI 7계층 구조 및 설명, PDU와 캡슐화, 총정리) 목차 OSI 7계층이란? OSI 7계층을 나눈 이유 OSI 7계층 구조 및 설명 1계층 : 물리 계층 2계층 : 데이터링크 계층 3계층 : 네트워크 계층 4계층 : 전송 계층 5계층 : 세션 계층 6계층 : 프레젠테이션 계층 7계층 : 애플리케이션 계층 캡슐화와 역캡슐화 총 정리 1. OSI 7계층이란? Open Systems Interconnection Reference Model의 약자인 OSI 모델은 1984년 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 상에서 통신하는 과정을 7단계로 나눈 것이다. 누구나 참조할 수 있고 기능을 추가할 수 있는 개발형 시스템이며, 컴퓨터나 네트워크 장치를 만들 때 OSI 모델을 참조해서 통신 장치를 개발한다. 2. OSI 7계층을 나눈 이유 컴퓨터를.. 2024. 2. 7.
[OS] fork()와 exec() (fork()와 exec() 비교, exit()과 abort() 비교, wait()) 목차 fork() 함수 exec() 함수 fork()와 exec() 비교 wait() 함수 exit() 함수와 abort() 함수 1. fork() 함수 fork() 함수는 호출한 부모 프로세스 데이터를 모두 복사해 새로운 프로세스를 생성하는 시스템 콜이다. 실행 중인 프로세스에 fork() 함수가 동작하게 된다면, 프로세스의 메모리를 모두 복사해 자식 프로세스를 생성한다. 자식 프로세스는 실행 중이던 부모 프로세스의 PC(Program Counter)부터 다음 명령을 수행한다. (특징) 새로운 프로세스가 생성되어 새로운 메모리 공간이 할당된다. 실행 중이던 프로세스의 메모리를 복제한다. 프로세스 종료 시 PID 값이 리턴되는데, 부모 프로세스 PID는 자식 프로세스의 PID(양수)를, 자식 프로세스의 .. 2024. 2. 7.
[OS] 파일과 파일 시스템 (파일 접근 방식, 파일 할당 방식, 운영체제 별 파일 시스템, 디스크 파편화 관리) 목차 파일이란? 파일 시스템이란? 디렉터리란? 파티션이란? 파일 접근 방식 순차 접근 (Sequential Access) 직접 접근 (Random Access) 색인 접근 (Index Access) 파일 할당 방식 연속 할당 (Contigious Allocation) 연결리스트 할당 (LinkedList Allocation) 인덱스 할당 (Indexed Allocation) 운영체제 별 파일 시스템 윈도우 : FAT, NTFS 리눅스 : EXT2, EXT3, EXT4 디스크 파편화 관리 1. 파일이란? 파일은 사용자 관점에서 데이터에 대한 논리적 저장 단위로, 관련된 정보들을 저장하기 위해 데이터 집합에 이름을 붙인 것이다. 블록이나 레코드 단위로 HDD 혹은 SSD와 같은 비휘발성 보조기억장치에 저장된.. 2024. 2. 5.
[OS] 가상 메모리란? (Demand Paging, Page Fault, 페이지 교체 알고리즘, 스레싱 문제와 해결 방법) 목차 가상 메모리란? 가상 메모리 구현 방법 : Demand Paging 페이지 교체 알고리즘 FIFO 알고리즘 Optimal 알고리즘 LRU 알고리즘 LFU 알고리즘 Second-Change 알고리즘 (= Clock 알고리즘) 스레싱이란? 스레싱 해결 방법 1. 가상 메모리란? 가상 메모리는 메모리보다 크기가 큰 프로세스를 실행시킬 수 있기 위해 나온 기술이다. 프로세스를 실행할 때 실행에 필요한 코드나 데이터만 메모리에 로드하고, 나머지는 디스크에 저장해 두어 작업한다. 이로써 프로그램 전체가 메모리에 로드되어 수행하는 것처럼 만들고, 메모리가 훨씬 더 큰 용량을 가진 것처럼 보이게 한다. 2. Demand Paging 가상 메모리 구현 방법 중 하나인 Demand Paging은 실행에 필요한 페이지.. 2024. 2. 2.
[OS] 메모리 할당 방식이란? (연속적/비연속적 할당 방식, 조각 모음, 페이징과 세그먼트, TLB, 물리적 주소 변환 과정) 목차 메모리 할당 방식이란? 연속적 할당 방식 고정 분할 방식 가변 분할 방식 조각 모음, 외부 단편화 해결 방법 비연속적 할당 방식 페이징 세그먼트 페이징 + 세그먼트 : Paged Segment TLB (Translation Look-aside Buffer) 물리적 주소 변환 과정 연속적 할당 방식과 비연속적 할당 방식 비교 가변 분할 방식과 고정 분할 방식 비교 페이징과 세그먼트 비교 1. 메모리 할당 방식이란? 메모리는 물리적 주소, 논리적 주소를 갖고 있다. 프로세스가 메모리에 올라간 실제 주소를 물리적 주소, 프로세스 내에서 사용되는 주소를 논리적 주소라고 칭하는데, 프로세스가 동작하면서 필요한 데이터 및 코드의 주소에 접근하기 위해서 논리적 주소를 물리적 주소로 변환하는 작업이 필요하다. 주.. 2024. 2. 2.