# Fragmentation
DB Fragmentation(단편화)
단편화란 ? 데이터가 저장되고 반환되는 과정을 통해, 저장된 데이터들과 빈 공간이 여러 조각으로 파편화되어 저장 장치를 구성하게 되는 현상을 말한다. 단편화로 인해 메모리 / 또는 디스크와 같은 기억 장치에서 값을 저장 할 때 효율적이지 않은 구조로 저장되고 이 때문에 공간 낭비와 성능 저하가 발생한다. 그림을 통해 단편화가 발생한 상황을 시각적으로 살펴보자.

[컴퓨터 네트워크] IP(Internet Protocol) & Fragmentation
✔Unrealiable and Connectionless datagram protocol이다. 즉 패킷의 완전한 전달을 보장하지 않으면서 전송전에 미리 연결을 설정하지 않는다. 또한 error & flow control 기능이 전혀 없는 best-Effort 서비스이다. 데이터그램 서비스는 독립적으로 전송되며 각 네트위크 상에 접속해 있는 노드의 주소를 지정해서 데이터를 전송할 목적지를 지정하고 목적지의 주소를 가지고 패킷을 전송하기 위해 최적의 경로를 설정해주는 역할을 한다. 📌IP Datagram 형식 VER(version): ip프로토콜의 버전을 나타낸다.(현재 버전 IPv4이기에 0100을 표현) HLEN(Header Length): 헤더의 최소길이는 20 b
주기억장치 사용 방식
주기억장치 사용 방식 1) 주기억장치 할당 (1) 주기억장치 할당의 개념 프로그램이나 데이터를 실행하기 위해 주기억장치에 어떻게 할당할 것인지에 대한 내용이다. 연속 할당 기법과 분산 할당 기법으로 분류할 수 있다. (2) 연속 할당 기법 데이터를 주기억장치에 연속으로 할당하는 기법이다. 단일 분할 할당 기법과 다중 분할 할당 기법이 있다. (3) 분산 할당 기법 가상 기억장치의 데이터를 특정 단위로 나누어 주기억장치 내에 분산하여 할당하는 기법이다. 페이징 기법과 세그멘테이션 기법이 있다. 2) 단일 분할 할당 기법 (1) 단일 분할 할당의 개념 주기억장치를 운영체제 영역과 사용자 영역으로 나누어 한 명의 사용자만 사용자 영역을 사용하도록 하는 기법이다. 가장 단순한 기법으로 초기의 운영체제에서 많이 사용하던 기법이며 영역을 구분하는 경계 레지스터가 사용된다. 프로그램의 크기가 작을 경우 사용자 영역이 낭비되며,
Segmentation과 Fragmentation
호스트에서 네트워크로 데이터를 보낼때 언제 어떻게 데이터를 쪼개는지 헷갈려서 작성한다. Segmentation process의 socket에서는 stream 형태로 데이터를 넘긴다. 이 때, stream 형태의 데이터가 segment 단위로 쪼개진다. 이후 layer3(TCP)에서 TCP header + segment되고 layer4(IP)에서 IP header + TCP header + segment 되어 Packet이 된다. 참고로 Segment는 TCP에서만 사용하며, UDP에서는 datagram이라고 한다. Fragmentation layer 3에서 만들어진 ip 패킷은 원하는 호스트까지 전송되기 위해 MTU 값을 고려해서 만들어진다. 만약 패킷의 크기가 MTU 값보다 크다면, 패킷은 단편화(Fragmentation)되고, 마지막 호스트에서 재조립(Reassemble) 된다. 단편화되고 재조립되는 과정에서 비용이 들고 이는

Memory Virtualization: Segmentation
Inefficiency of the Base and Bound Approach base/bound approach를 사용하면 영역 내부에 free space의 big chunk가 생긴다는 inefficiency가 있다. 이미 한 process에게 할당된 address space는 다른 process가 침범할 수도, 사용할 수도 없기 때문에 사용되지 않은 그대로 남게 된다. 이 free space가 physical memory를 채우면 실제로 사용되는 공간이 많지 않음에도 process를 할당할 수 있는 공간이 부족해서 새로운 process를 실행할 수 없게 된다. 이것을 internal fragmentation 문제라고 한다. 각 process마다 address space가 있는데 어떤 프로세스

[운영체제] 메모리 단편화(memory fragmentation)
🎞 메모리 단편화(memory fragmentation) |Process|free|Process|free|Process|free|Process| |---|---|---|---|---|---|---| 외부 단편화(external fragmentation) > 프로그램 크기 > 분할의 크기일 때, 해당 분할이 비어 있음에도 불구하고 프로그램을 적재하지 못하기 때문에 발생하는 메모리 공간 어떤 프로그램에도 배당되지 않은 빈 공간 현재 상태에서 사용될 수 없는 작은 분할 내부 단편화(internal fragmentation) > 프로그램 크기 < 분할의 크기일 때, 해당 분할에 프로그램을 적재하고 남는 메모리 공간 하나의 분할 내부에서 발생하는 사용되지 않는 메모리 조각 압축(compaction) |Process|Process|Process|Process| &nbs

TIL - 2021.02.25 (Thu)
Today I Learned 학습 내용 ios-baseball game Step2 진행 Step1에 대한 리뷰를 보충하는 commit을 하고 merge 확인 후 Step2에 대한 PR을 보내야되는데, 모르고 의욕이 앞서서 Step2에 반영시켜 PR을 보냈다... 다음부터는 꼭 지키도록 해야겠다. 그리고 오늘 Step2를 진행하면서 subscript, 연산프로퍼티에 대해서 Neph와 공부하였다. CS (기억장치 관리에 대한 정리) CS 관련 서적에서 기억장치에 대한 부분을 정리하였다. 특히 오늘 아침에 같이 이야기 나누었던 가상기억장치(일부분의 보조기억장치를 주기억장치처럼 사용하는 것)에 대해 간략하게 정리하였다. 📕 오늘의 CS 가상기억장치는 보조기억장치(HDD, SSD 등)의 일부를 주기억장치처럼 사용하는 것으로, 용량이 작은 주기억장치를 마치 큰 용량을 가진 것처럼 사용하는 기법이다. 이는 주기억장치의 용량보다 큰

[Network week4] ARP, IP Headers, Fragmentation, MTU, PMTUD, ICMP
Network Layer Protocol Protocols at Network Layer ARP Hosts and routers are recognized at the network layer by IP addresses : An IP address is universally unique Hosts and routers are recognized at the data-link layer by MAC addresses : A MAC address is locally unique | | MAC | IP | |:----------:|:----------:|:----------:| | Full form | Media Access Control | Internet Protocol Add