전체 글 79

[데이터 통신과 네트워킹-TCP/IP프로토콜 기반] 8장 네트워크층: 패킷의 라우팅

8.1 개요인터넷의 유니캐스트 라우팅은 수많은 라우터와 호스트를 효과적으로 연결하기 위해 계층적 라우팅을 사용8.1.1 일반적인 아이디어 패킷 경로: 패킷은 출발지 호스트의 기본 라우터인 발신지 라우터(source router) 시작하여 목적지 호스트의 기본 라우터인 목적지 라우터(destination router)로 전달라우터의 역할: 출발지 및 목적지 호스트는 포워딩 테이블이 필요 없으며, 인터넷 내 라우터만 포워딩 테이블을 유지하여 패킷 경로를 결정.경로 선택 문제: 출발지와 목적지 사이의 여러 경로 중 가장 적합한 경로를 선택해야 합니다.  그래프로 표현한 인터넷 그래프(graph) 표현: 라우터는 노드(node)로, 라우터 간 네트워크는 선(edge)로 표현됩니다.가중치 그래프(weighted ..

[mano의 컴퓨터시스템 구조] 8장 중앙 처리 장치

8.1 개요 중앙처리 장치(CPU) 구성 요소:CPU는 주로 데이터 처리를 담당하며, 세 가지 주요 부분으로 구성된다.레지스터 세트: 명령 실행 중 사용되는 중간 데이터를 저장제어 장치(Control Unit): 레지스터 간 정보 전송을 감독하고 ALU가 수행할 작업을 지시.산술 논리 장치(ALU): 명령 실행에 필요한 미소 연산(microoperation)을 수행8.2 범용 레지스터 구조레지스터 사용 이유메모리 접근은 시간이 많이 걸리는 작업이므로, 포인터, 카운터, 반환 주소, 임시 결과 등 중간 데이터를 CPU 레지스터에 저장하는 것이 더 효율적 버스 시스템을 통한 레지스터 연결많은 레지스터를 포함하는 CPU에서는 공통 버스 시스템으로 레지스터를 연결하는 것이 가장 효율적위 그림의 버스 구성: 7개..

[운영체제 공룡책] 7장 동기화 예제

7.1 고전적인 동기화 문제들7.1.1 유한 버퍼 문제 (Bounded-Buffer Problem)생산자와 소비자가 공유 버퍼를 사용하는 문제.버퍼는 제한된 크기를 가지며, 생산자는 항목을 생성하고 버퍼에 추가하며, 소비자는 버퍼에서 항목을 제거해 소비한다.공유 자료구조int n; // 버퍼 크기semaphore mutex = 1; // 상호 배제를 위한 이진 세마포어semaphore empty = n; // 빈 버퍼 슬롯 개수semaphore full = 0; // 꽉 찬 버퍼 슬롯 개수 생산자 프로세스 구조while (true) { produce(); // 항목 생성 wait(empty); // 빈 슬롯 확인 wait(mutex); // 버퍼 접근 제어 add_to..

[C언어로 쉽게 풀어쓴 자료구조] 10장 그래프 Ⅰ

C언어로 쉽게 풀어쓴 자료구조: 10장 그래프 Ⅰ10.1 그래프란?그래프(Graph)는 객체 사이의 연결 관계를 표현할 수 있는 자료구조이다. 10.2 그래프의 정의와 용어그래프는 정점(vertex)와 간선(edge)들의 유한 집합이다.수학적으로는 G = (V, E)라 표기V(G)는 그래프 G의 정점들의 집합E(G)는 그래프 G의 간선들의 집합 무방향 그래프와 방향 그래프 간선의 종류에 따라 무방향 그래프(undirected graph)와 방향 그래프(directed graph)로 구분된다.무방향 그래프는 양방향으로 갈수 있다.방향 그래프는 간선에 방향성이 존재하는 그래프로, 한쪽 방향으로만 갈 수 있다.방향 그래프에서 와 는 다른 간선이다. 가중치 그래프와 부분 그래프 간선에 비용이나 가중치가 할당된 ..

[데이터 통신과 네트워킹-TCP/IP프로토콜 기반] 7장 네트워크층: 데이터 전송

데이터 통신과 네트워킹-TCP/IP프로토콜 기반: 7장 네트워크층: 데이터 전송7.1 서비스네트워크층에서 제공되는 서비스7.1.1 패킷화(Packetizing) 네트워크 계층은 상위 계층에서 데이터를 받아 네트워크 계층 패킷으로 캡슐화하여 송신하고, 수신 측에서는 이를 역캡슐화하여 상위 계층에 전달.경로에서 패킷이 단화(fragmentation)되면 이를 재조립하여 상위 계층으로 전달.7.1.2 경로지정(Routing)소스에서 목적지까지 패킷을 최적 경로로 전달.다양한 경로 중 최적의 경로를 선택하는 전략이 필요.7.1.3 오류제어(Error Control)데이터그램 헤더의 손상을 방지하기 위해 체크섬 필드 사용.데이터 전체의 오류 검사는 비효율적이라 생략.7.1.4 흐름 제어(Flow Control)송..

[데이터 통신과 네트워킹-TCP/IP프로토콜 기반] 6장 연결 장치와 가상 LAN

데이터 통신과 네트워킹-TCP/IP프로토콜 기반: 6장 연결 장치와 가상 LAN6.1 연결 장치(Connecting device)네트워크를 만들기 위해 호스트를 설호 연결할 때 사용인터넷을 구성하기 위해 네트워크를 서로 연결하기 위해 사용허브, 링크 계층 교환기, 라우터 등6.1.1 허브(Hub)허브(Hub): 물리층에서만 동작중계기(repeater): 신호가 약해지거나 손상되기 전에 수신하여 원래의 비트 패턴을 재생(regenerate), 증폭(retime)하고 다시 보낸다.허브의 작동 방식:허브는 신호를 수신하여 재생성하고, 수신 포트를 제외한 모든 포트로 신호를 브로드캐스트한다.LAN의 모든 장치가 프레임을 수신하지만, 목적지 주소와 일치하는 장치만 데이터를 유지하며 나머지는 폐기한다.허브와 중계기..

[mano의 컴퓨터시스템 구조] 7장 마이크로 프로그램된 제어

Mano의 컴퓨터시스템 구조: 7장 마이크로 프로그램된 제어7.1 제어 메모리 제어 유닛의 역할디지털 컴퓨터의 제어 유닛은 마이크로작업(microoperations)을 순차적으로 실행하기 위한 제어 신호를 생성한다.하드와이어드 제어 vs. 마이크로프로그래밍하드와이어드 제어: 논리 설계를 통해 고정된 제어 신호를 생성.마이크로프로그래밍: 마이크로작업의 순서를 제어 메모리에 저장된 마이크로명령어(microinstructions)를 통해 수행.  제어 메모리와 마이크로프로그래밍제어 메모리는 제어 변수들이 저장된 메모리로, 일반적으로 ROM(Read-Only Memory)을 사용.마이크로명령어는 하나 이상의 마이크로작업을 지정하며, 이를 통해 다양한 연산 수행 가능.마이크로프로그램: 마이크로명령어의 순차적인 집..

[운영체제 공룡책] 6장 Synchronization Tools(동기화 도구)

6.1 Background 동시성 및 병렬성프로세스는 동시성(concurrent) 또는 병렬성(parallel)을 통해 실행될 수 있다.CPU 스케줄러는 프로세스 간 빠르게 전환하며 동시 실행을 가능하게 한다.병렬성은 여러 프로세스가 별도의 처리 코어에서 동시에 실행되는 것을 의미한다.공유 데이터와 무결성 문제여러 프로세스가 공유 데이터를 동시에 수정할 때 데이터 무결성 문제가 발생할 수 있다.예로 생산자-소비자 문제가 있으며, 공유 메모리에서 데이터의 생산과 소비를 조율한다.레이스 조건(Race Condition)여러 프로세스가 동일한 데이터에 접근해 조작할 때 실행 순서에 따라 결과가 달라지는 상황을 의미한다.동기화 필요성레이스 조건을 방지하려면 공유 데이터에 대해 하나의 프로세스만 접근 가능하도록 ..

[C언어로 쉽게 풀어쓴 자료구조] 9장 우선순위 큐

C언어로 쉽게 풀어쓴 자료구조: 9장 우선순위 큐9.1 우선순위 큐 추상 데이터 타입우선순위 큐의 소개데이터들이 우선순위를 가지고 있고 우선 순위가 높은 데이터가 먼저 나가게 된다.자료구조삭제되는 요소스택가장 최근에 들어온 데이터큐가장 먼저 들어온 데이터우선순위 쿠가장 우선순위가 높은 데이터 우선순위 큐 추상자료형기본적으로 다른 자료구조와 같다.delete 연산 시 가장 우선 순위가 높은 요소를 삭제하고 이 요소를 반환한다. 9.2 우선순위 큐의 구현 방법1. 배열정렬되지 않은 배열요소 삽입: 배열의 맨 끝에 새로운 요소를 추가한다. 요소 삭제: 처음부터 끝까지 모든 요소들을 스캔해야 한다. 삭제 후 뒤의 요소를 앞으로 이동시켜야 한다.정렬된 배열요소 삽입: 순차 탐색, 이진탐색등을 사용하여 다른 요소와..

[데이터 통신과 네트워킹-TCP/IP프로토콜 기반] 5장 광역 통신망: WAN

데이터 통신과 네트워킹-TCP/IP프로토콜 기반: 5장 광역 통신망: WAN5.1 전화망5.1.1 주요 요소종단국(end offices)직렬국(tandem offices)지역국(regional office)가입자 회선(local loop)가입자의 전화와 가까운 종단국 또는 지역 센터를 연결하는 꼬임쌍선 케이블로 되어 있다.간선(trunk)전화국들 사이의 통신을 담당하는 전송 매체이다.교환국(switching office)몇 개의 가입자 회선 또는 간선을 연결하며 서로 다른 가입자들을 연결해준다.5.1.2 지역 접근 전송 구역(LATA, Local Access Transport Area)1984년 이후 미국은 200개 이상의 LATA로 나뉘었으며, 현재 그 수는 증가함.LATA는 소규모 지역(작은 주) 또..