전체 글
-
네트워크 9주차: Net) IPv4, CIDR교내 강의/컴퓨터 네트워크 2024. 5. 15. 23:03
IP(Internet Protocol) Layer:ip datagram format:Version: 4가 옴(0100)Head Len: 길이/4로 표현TOS: 해당 datagram의 혼잡 여부, 우선순위, 신뢰성, 처리량 등의 정보를 담고 있는 필드이다. 8비트로 이루어져 있다.Length: payload를 합친 전체 길이Identification & IP Flags & Fragment Offset: 최대 전송단위가 정해져 있기 때문에 쪼개서 보내는데 그를 알아 볼 수 있게 해주는 것들. Identification: 쪼개진 네트워크 패킷의 ID(쪼개진 패킷의 그룹을 알 수 있게함) IP Flags: D(Don't Fragmentation)(데이터를 안쪼개서 보내겠다, 거의 안..
-
OS: Semaphoreos 운영체제 2024. 5. 5. 19:44
Semaphore:세마포어의 작동 원리는 상호 배제 알고리즘(Mutual Exclusion Algorithm)에 기반한다. 구성: 세마포어 변수 S, P(wait) 연산, V(signal) 연산으로 구성되어 있다. 세마포어 변수 S는 P와 V라는 명령에 의해서만 접근할 수 있다. s를 수정하는 연산은 모두 원자성을 만족해야한다. P는 임계 구역에 들어가기 전에 수행되고, V는 임계 구역에서 나올 때 수행된다.이진형 세마포어(binary semaphore): 0 또는 1을 가진다. 즉, 1개의 공유 자원을 상호배제하며 이를 이용해 계수 세마포어를 구현할 수도 있다.계수형 세마포어(counting semaphore): 0과 양의 정수값을 가질 수 있따. 여러개의 공유 자원을 상호배제할 ..
-
컴퓨터 네트워크 9주차: Net) VC, Router교내 강의/컴퓨터 네트워크 2024. 4. 30. 15:37
Network(IP) Layer:sender : 일명 송신자, segment를 datagram으로 캡슐화(encapsulate)하여 링크 계층으로 보내는 사용자receiver : 일명 수신자, 송신자가 보낸 datagram을 받아 전송 계층으로 보낸다. router : IP datagram의 헤더 부분을 조사하여 이 데이터그램이 목적지로 가기 위해서 어느 link로 가야 하는지 적절하게 내보내는 역할 Forwarding: Router input에서 output으로 패킷을 보내는 것. (하나의 라우터 통과) (dest가 결정한다.)Routing: source에서 dest로 어떤 루트로 갈지 결정. data plane : local, per-router function. 라우터의 input port로..
-
컴퓨터 네트워크 7주차: Handshake, Flow Control, Congestion Control교내 강의/컴퓨터 네트워크 2024. 4. 19. 14:55
Flow Control: sender는 receiver를 놀래키면 안된다. buffer overflow가 생기지 않도록 보장함. receiver는 TCP 헤더에 free buffer space를 rwnd로 넣어서 보냄. In-flight(unacked) Data Establised됨. Congestion Control: Flow control은 end-to-end Congestion Control은 라우터 범위. Scenario 1) 라우터 버퍼가 무한한 경우: 람다in이 특정 수치를 넘어서면 람다out은 수렴하고 딜레이는 끝 없이 늘어남. (bottle neck) Scenario 2) 라우터 버퍼가 유한: 람다in은 패킷copy를 보냄 (client는 드랍의 유무를 알 수 있음) 드랍된 경우 재전송, ..
-
-
OS: 프로세스 동기화(Process Synchronization)os 운영체제 2024. 4. 15. 11:39
더보기용어원자성(Atomicity) - 어떤 메소드(Method)를 2개 이상의 쓰레드가 동시에 호출하지 못하는 것을 말한다.동기화 - 스레드 간의 협력을 보장하기 위한 원자(indivisible)작업을 사용하는 것.Mutual exclusion - 한 번에 하나의 스레드만 Critical Section 사용, 다른 모든 스레드는 해당 활동에서 제외.Critical Section - 한 번에 하나의 스레드만 실행할 수 있는 코드(예: 공유 데이터를 수정하는 코드)lock - 다른 스레드가 작업을 수행할 수 없도록 하는 메커니즘: critical section에 들어가기 전에 잠금. critical section을 떠날 때 잠금 해제 잠긴 critical section에 들어가려는 스레드는..
-
os: 프로그램 실행 시 메모리의 구조os 운영체제 2024. 4. 14. 21:53
메모리 구조 프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 함. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요함. 따라서 OS는 프로그램에게 대표적으로 4가지 메모리 공간을 제공함. 코드(code) 영역 데이터(data) 영역 스택(stack) 영역 힙(heap) 영역 코드(텍스트) 영역 실행할 프로그램의 코드가 저장되는 영역 CPU는 코드 영역에 저장된 명령어를 하나씩 가져가서 처리하게 됩니다. 데이터(data) 영역 메모리의 데이터(data) 영역은 프로그램의 전역 변수와 정적(static) 변수가 저장되는 영역입니다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸합니다. 스택(stack) 영역 함수의 호출과 관계되는 지역 변수와 매..
-
네트워크 6주차: TL (TCP: Window, Timeout)교내 강의/컴퓨터 네트워크 2024. 4. 13. 15:23
TCP: congestion, flow control에서 window size를 조절함 flow control은 수신쪽의 버퍼를 체크하여 맞춰보냄. MSS: 나눠서 보내는 양 full duplex data: 양방향으로 동시에 보냄 Source Port, Destination Port: 출/도착지 포트번호 Sequence Number: S Flag와 작용, random으로 지정 (2^32 sr 딜레마는 안생김.) Acknowledge Number: 받은 S_num으로 계산됨 HeadLen: 헤더의 총 길이/4 not used: 예약된 필드(미사용) TCP Flags: 통신중에 연결 상태를 물어볼 때 사용하는 부분 U: urgent = 긴급 비트 1이면 보내는 것이 중요하다 (아래 Urgent Pointer..