본문 바로가기

Dev.Basic

(54)
[1장] 2. 웹 서버의 IP 주소를 DNS 서버에 조회한다. 이 포스팅은 '성공과 실패를 결정하는 1%의 네트워크 원리' 책을 기반으로 작성되었습니다.1장 두번째. 웹 서버의 IP 주소를 DNS서버에 조회한다. 1. IP 주소를 통한 메시지 운반허브를 중심으로 몇 대의 컴퓨터가 모여 서브넷을 이룬다. 이 서브넷들은 라우터를 통해 연결되어 네트워크를 이루게 된다. 서브넷에 할당된 주소를 네트워크 주소(번호)라고 하고 허브로 연결된 각각의 컴퓨터에 할당된 주소(번호)를 호스트 번호라고 한다. IP 주소는 네트워크 번호와 호스트 번호, 이 두 주소를 합친 것을 말한다. IP주소는 같은 값이 할당된 기기가 존재하면 안된다. 액세스 대상의 서버까지 메시지를 운반할 때는 IP 주소에 따라 운반된다. 클라이언트에서 메시지를 전송하면 서브넷 안에 있는 허브가 가장 가까운 라우터..
[1장] 웹 브라우저 - 1. HTTP Request 메시지를 작성한다. 이 포스팅은 '성공과 실패를 결정하는 1%의 네트워크 원리' 책을 기반으로 작성되었습니다.1장 웹 브라우저는 어떻게 동작하는가Outline1. HTTP Request 메시지를 작성한다. URL을 결정된 규칙에 따라 분석하고 그 의미에 따라 리퀘스트 메시지를 만든다. => 메시지의 정체인 HTTP 프로토콜과 그 구조에 대해서 알아본다. 2. 웹 서버의 IP Address를 DNS 서버에 조회한다. DNS 서버에 접근하여 메시지를 넘기는 상대의 IP Address를 요청한다. => 넘겨받은 메시지에는 URL이 있고 여기엔 도메인 명이 존재한다. 이 도메인 명을 기준으로 IP Address를 조회한다. 3. 전 세계의 DNS 서버가 연대한다. 수 만대의 DNS 서버가 어떠한 방법으로 연대를 하여 해당 IP 주..
[DataStructure] 2. 자료구조 기본 - Heap(Max heap, Min heap)에 대해서 Heap 자료구조자료구조의 일종으로 Tree의 형식을 하고 있으며, Tree 중에서도 배열에 기반한 Complete Binary Tree 이다. 배열에 트리의 값들을 넣어줄 때, 0번째는 건너뛰고 1부터 루트노드가 시작된다. 이는 노드의 고유번호 값과 배열의 index를 일치시켜 혼동을 줄이기 위함이다. 힙에는 최소힙(min heap), 최대힙(max heap) 두 종류가 있다. Max Heap이란, 각 노드의 값이 children 의 값보다 크거나 같은 complete binary tree를 말한다. ( min heap은 그 반대이다. ) Max heap에서는 Root node에 있는 값이 제일 크므로, 최대값을 찾는데 소요되는 연산의 time complextiry이 O(1)이다. 그리고 complet..
[DataStructure] 1. 자료구조 기본 - Array, Linked List, Stack, Queue, Tree 1. 자료구조 기본 - 기본적인 자료구조 종류선형 자료 구조Array vs Linked List가장 기본적인 자료구조인 Array 자료구조는, 논리적 저장 순서와 물리적 저장 순서가 일치한다. 따라서 인덱스로 해당 원소에 접근할 수 있다. 그렇기 때문에 찾고자 하는 원소의 인덱스 값을 알고 있으면 Big-O(1)에 해당 원소로 접근할 수 있다. 즉 random access가 가능하다는 장점이 있는 것이다. 하지만 삭제 또는 삽입의 과정에서는 해당 원소에 접근하여 작업을 완료한 뒤, 또 한 가지의 작업을 추가적으로 해줘야 하기 때문에, 시간이 더 걸린다. 만약 배열의 원소 중 어느 원소를 삭제했다고 했을 때, 배열의 연속적인 특징이 깨지게 된다. 따라서 삭제한 원소보다 큰 인덱스를 갖는 원소들을 shift..
[Intro] 브라우저부터 서버까지 네트워크의 큰 흐름 브라우저부터 서버까지 네트워크의 큰 흐름브라우저 : “xxx라는 페이지의 데이터를 주십시오!" 웹 서버 : “예! 알겠습니다. 이것이 그 데이터입니다!"이 애플리케이션 내부의 대화를 실현하려면 브라우저와 웹 서버 간에 대화하는 요청(request)과 응답(reponse)을 상대측까지 운반하는 구조가 필요하다. 여기서 요청이나 응답은 0과 1로 이루어진 디지털 데이터이다. 이 구조는 통신 상대를 정확하게 식별한 뒤, 요청이나 응답을 넘길 수 있어야 하고, 넘기는 도중에 요청이나 응답이 삭제될 수 있는 사태도 고려해야 한다. 즉, 디지털 데이터를 반드시 상대에게 넘겨야하는, 운반해야 하는 구조인 것이다. 이 구조는 여러 기기가 역할을 분담하면서 실현된다. 디지털 데이터들은 이 구조 내부에서 작은 덩어리들로 ..
[OS] 11-2. Disk Management & Scheduling II Chapter 11-2. Disk Management & Scheduling IIDisk Scheduling Algorithm큐에 다음과 같은 실린더 위치의 요청이 존재하는 경우,디스크 헤드 53번에서 시작한 각 알고리즘의 수행 결과는? (실린더 위치는 0-199) 98, 183, 37, 122, 14, 124, 65, 67 각각의 알고리즘에 대입하여 살펴보자. FCFS(First Come First Service) 들어온 순서대로 처리해주는 방법이다.=> 98, 183, 37, 122, 14, 124, 65, 67 안쪽과 바깥쪽 번호가 요청되면 굉장히 비효율적인 헤더 이동을 보이게 된다. SSTF(Shortest Seek Time First) 현재 헤더 위치에서 가장 가까운 위치에 존재하는 헤더 요청을..
[OS] 11-1. Disk Management & Scheduling I Chapter 11-1. Disk Management & Scheduling IDisk StructureLogical block디스크의 외부에서 보는 디스크의 단위 정보 저장 공간을 의미한다.주소를 가진 1차원 배열로 인식을 하며 정보를 전송하는 최소 단위이다. Sector디스크 내부에서 디스크를 관리하는 최소 단위이다.logical block 이 물리적인 디스크에 매핑된 위치인 것이다.Sector 0은 최외곽 실린더의 첫 트랙에 있는 첫번째 섹터이다. Disk ManagementPhysical formatting (low-level formatting) 디스크가 처음에 해주는 포맷 과정으로, 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정을 말한다.각 섹터는 header + 실제 data(..
[OS] 10-4. File System IV Chapter 10-4. File System IV - File System StructureDirectory ImplementationDirectory에 file의 meta data를 어떻게 저장할 것인가? Linear list순서리스트의 구조로 저장한다.단순하기 때문에 구현이 간단하지만 파일을 찾기 위해 linear search가 필요하다. Hash Tablelinear list 구조에 hash 구조를 더한 방법이다.search time을 없애는 것이 목적이지만 hash 구조의 특성상 Collision이 발생할 수 있다. VFS(Virtual File System)사용자가 파일시스템에 접근하기 위해서는 시스템 콜을 요청해야 한다.서로 다른 다양한 file system에 대해 동일한 시스템 콜 인터페이..