목록Computer Science (25)
취미가 좋다

OSI 7 Layer의 2 계층인 데이터 링크 계층에 대해 알아보자. 데이터 링크 계층(Data Link Layer)은 네트워크 기기 간에 데이터를 전송하고 물리 주소를 결정한다. 그리고 네트워크 장비 간에 신호를 주고받는 규칙을 정한다. 이더넷(Ethernet) 이란? 랜에서 데이터를 주고받기 위한 규칙으로, 허브와 같은 장비에 연결된 컴퓨터와 데이터를 주고받을 때 사용한다. 일반적으로 사용되는 랜에서 가장 많이 활용되는 기술 규격이다. 만약 허브에 연결된 컴퓨터들이 동시에 데이터를 보낸다면 충돌(collision)이 발생할 수도 있다. CSMA/CD 이더넷은 CSMA/CD라는 데이터 전송 시점을 늦추는 방법을 사용하여 충돌을 방지한다. - CS : 데이터를 보내려고 하는 컴퓨터가 케이블에 데이터가 흐..

OSI 7 Layer의 1계층인 물리 계층에 대해 알아보자. 물리 계층(Physical Layer)은 데이터를 전송하기 위해 시스템 간의 물리적인 연결을 하고 전기 신호의 변환 및 제어하는 역할을 담당한다. 물리 계층에서는 아날로그 신호가 아닌 디지털 신호를 사용한다. 디지털 신호는 0과 1로만 이루어져 있고, 송신측은 데이터를 0과 1의 비트열 데이터 형식으로 전송한다. 랜 카드란? 메인 보드에 내장되어 있거나 별도로 부착되어 0과 1의 정보를 전기 신호로 변환하는 역할을 수행한다. 랜 카드를 통해 디지털 신호는 전기신호로 변환되어 수신 측으로 전송되고, 수신측은 전기신호를 0과 1의 비트열 데이터로 복원되는 것이다. 전송 매체란? 데이터가 흐르는 물리적인 선로로, 유선과 무선이 있다. 유선에는 트위스..

프로토콜이란? 네트워크에서 정보를 주고 받고 통신하기 위한 규칙이다. 데이터를 받고 보내는 데 까지 여러 규칙이 존재한다. 여러 회사 컴퓨터가 서로 통신을 하기 위해서는 표준 규격이 필요하다. 그래서 국제 표준화기구 ISO가 1977년 네트워크 기술의 기본이 되는 국제 통신 표준 규약인 OSI 모델을 제정했다. OSI 모델은 위와 같이 7개의 계층을 가지고, 각 층에 대한 간단한 설명은 아래의 표와 같다. 각 계층마다 다양한 프로토콜이 존재한다. 계층 이름 설명 장비, 용어, 프로토콜 7계층 응용 계층 ( Application Layer ) 이메일 & 파일 전송, 웹 사이트 조회 등 애플리케이션에 대한 서비스를 제공한다. HTTP, FTP, DNS 등 6계층 표현 계층 ( Presentation Laye..

컴퓨터 네트워크란 무엇일까? 컴퓨터를 두 대 이상 연결하여 데이터를 서로 전송할 수 있는 동신망을 의미한다. 데이터(파일) 전송, 웹 사이트 열람, 메일 송수신 등과 같은 일을 수행할 수 있다. 그럼 인터넷이란 무엇일까? 큰 네트워크부터 작은 네트워크까지 연결하는 거대한 네트워크이다. - TCP/IP 프로토콜을 사용하는 세계 최대 규모의 네트워크이다. 이런 네트워크들 간에 소통할 때는 패킷을 사용한다. 패킷이란? 네트워크를 통해 전송되는 데이터의 작은 조각으로 데이터의 기본 단위이다. 꼭 패킷을 이용해야하기 때문에, 큰 데이터라도 작게 나누어서 패킷으로 전송한다. 하지만 큰 이미지와 같은 데이터를 쪼개서 보내면, 순서가 섞이고 패킷이 누락되거나 지연되어 늦게 도착하기도 한다. 따라서 패킷에 적힌 번호에 ..

Busy waiting 문제를 해결하기 위해서 OS가 지원하는 Solution을 살펴보자. Spinlock Semaphore Evencount/sequencer Spinlock : 정수 변수로, 초기화, P( ), V( ) 연산으로만 접근 가능하다. P( ), V( )는 atomic 연산을 하도록 OS 가 보장해준다. 즉, 중간에 preemption되지 않는다. - P는 물건을 꺼내고, V는 물건을 넣는 것으로 볼 수 있다. - S는 물건의 개수로 보면 된다. - P는 자물쇠를 잠그고, S는 자물쇠를 푼다고 생각할 수도 있다. P(S) { while (S = 1 이어야 메시지를 가져갈 수 있다. - 정리하면 In >= u + 1 - 메시지가 있으면 가져가고 Out을 증가시킨다. 다음 글에서는 마지막으로 ..

SW 방식, HW 방식으로 Process Mutual Exclusion을 해결해보자. Dekker's Algorithm Peterson's Algorithm Dijkstra's Algorithm TAS (TestAndSet) instruction SW Solutions 1. Dekker's Algorithm 전략 위의 1번 3번 방법을 섞어서 turn과 flag를 모두 사용한다. 둘 다 flag를 들고 while문에 들어가면 turn을 살핀다. 자신의 turn이 아닌 쪽이 flag를 다시 내리고, turn을 가진 프로세스가 CS에 들어가서 수행한다. 프로세스의 수행이 끝나면 turn과 flag를 최신화 하고 기다리던 프로세스가 flag를 들고 CS로 들어간다. 2. Peterson's Algorithm ..