전공(33)
-
Routing in Switched Data Network
Routing in Packet Switching Network 라우팅이 스위치 네트워크를 설계하는데 주요 설계 요소임 네트워크를 통해 엔드노드들 간의 루트를 선택하는 것이 라우팅임 라우팅 알고리즘이 가져야 하는 요구 조건 정확성 단순성 견고성 안정성 공정성 최적성 효율성 Performance Criteria 라우팅 알고리즘 평가 기준 루트를 선택하기 위해 사용됨 Minimum hop : 가장 간단한 형태 hop : 하나의 노드와 다음 노드 사이 거리가 길더라도 hop이 적으면 서비스하는 데 걸리는 시간이 짧다고 봄 최소가격 알고리즘(least cost) 최소가격알고리즘은 융통성이 있어 minimum hop보다 일반적 Elements of Routing Techniques for Packet Switch..
2023.09.28 -
Asynchronous Transfer Mode
The Role of Asynchronous Transfer Mode(ATM의 역할) ATM은 효율적인 스위칭 방식 통계적 다중화를 기반 전송되는 패킷의 길이는 고정길이 → 고정 길이 패킷 : Cell 작고 고정된 길이(53byte) 고정길이의 패킷을 사용함으로써 효율적인 다중화 가능 지연을 줄일 수 있음 지연의 변이도 줄일 수 있음 서비스 품질 향상 연결의존서비스 circuit switching의 성능을 가지면서 packet switching의 융통성과 효율성을 가짐 어떠한 서비스도 제공가능(실시간 or 비실시간) : 데이터, 음성, 비디오 QoS 서비스 품질 제공 우선순위 컨트롤 가능 ATM ITU-T : international tele communication union ATU Forum 다중화 ..
2023.09.28 -
Circuit Switching and Packet Switching
Switched Communications Networks switching node(교환노드)는 노드들 간에 데이터를 전송하는 교환 시설을 제공 stations : 네트워크에 접근하는 장치들 nodes : 통신을 제공하는 교환 장치들 전송 링크로 연결됨 point to point로 전용됨 FDM와 TDM을 사용하여 다중화됨 네트워크 안에 있는 요소들은 node 네트워크 밖에 있는 요소들은 station station은 end user end user의 종류 : PC, Server, Mainframe(대형컴퓨터) 네트워크의 고객이 될 수 있음 고객들은 또 다른 고객들과 통신이 가능해야 함 ⇒ 네트워크 필요 네트워크 주요 구성 요소 : node, link Switching node(교환노드) : 노드와 노..
2023.09.28 -
메인 메모리 관리
메모리란 무엇인가? 메모리란 주소(Address)를 통해 접근할 수 있는 저장 장치 주소는 메모리상의 서로 다른 위치를 구분하기 위한 숫자 32비트 시스템 2^32 개만큼의 메모리 위치 구분 가능 2^32 bytes의 메모리 공간 사용 가능 64비트 시스템 2^63 개 만큼의 메모리 위치 구분 가능 2^64 bytes의 메모리 공간 사용 가능 주소 바인딩(Address Binding) 메모리의 논리 주소와 물리 주소를 연계하는 작업 논리주소(Logical Address) 프로세스가 메모리에 적재될 때 할당되는 가상의 (독자적인) 위치 물리주소(Physical Address) 프로세스가 실제 배치되는 메모리상의 위치 주소 바인딩의 방식 Compile Time Binding 프로세스가 적재될 메모리 위치를 ..
2023.09.26 -
데드락
식사하는 철학자 문제 식사하는 철학자 문제 (Dining philosophers problem) 5명의 철학자(philosopher)가 둥근 탁자에 둘러앉아 있고 탁자 중앙에는 밥 한 공기가 있다. 총 5개의 젓가락이 철학자 사이마다 있다. 철학자는 식사를 하거나 생각한다. 생각할 때는 젓가락이 필요 없다. 식사를 하려면 자신의 왼쪽, 오른쪽에 있는 젓가락을 들어야 한다. 철학자 : 협력적 스레드(혹은 프로세스) 중앙 밥공기 : 각 스레드가 처리하고자 하는 자신의 작업 젓가락 : 공유 자원(혹은 공유 데이터) 젓가락에 대한 상호 배제 보장 필요 철학자 스레드를 위한 루틴 순서 일단 생각을 하다가 배가 고파서 밥을 먹기로 한다. 밥을 먹기 위해 자기 위치의 좌우 젓가락을 집는다. 밥을 먹는다. 배가 부르니..
2023.09.26 -
동기화 응용
컨디션 변수 스레드 실행 중간 조건 검사 부모 스레드가 작업을 시작하기 전 자식 스레드가 작업을 끝냈는지 알고 싶다면? 회전(spin) 기반 공유 변수 활용 but 바쁜 대기 문제가 남음 컨디션 변수(Conditional variable) 일종의 큐 자료 구조 어떤 실행의 상태(또는 어떤 조건)가 원하는 것과 다를 때, 조건이 참이 되기를 기다리며 스레드가 대기할 수 있는 큐 스레드의 바쁜 대기 문제를 해결할 수 있음 pthread_cond_t c; 컨디션 변수 c 정의] pthread_cond_wait(pthread_cond_t *c, pthread_mutex *m) 스레드가 스스로를 재우기(sleep) 위하여 호출 mutex lock변수 m의 락을 해제하고, 스레드를 잠재움 다른 스레드로부터 시그널을..
2023.09.26