전체 글
-
네트워크 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..
-
네트워크 6주차: TL (rdt 3.0, Packet pipelining (GBN, SR))교내 강의/컴퓨터 네트워크 2024. 4. 12. 17:19
RDT 3.0: packet los에 대비, sender는 '적당한' 시간만큼만 ACK를 기다리고 오지 않으면 패킷을 재전송 한다. premature time-out = ack의 도착 시간이 time-out 보다 길 때 발생 5. Performance of RDT 3.0 stop and wait operation: 정확하지만 느림(전체회선 사용량이 낮음) round trip time, RTT: 패킷을 보내고 ack가 도착하기까지의 시간. 1. Pipelining이란 stop and wait는 회선의 사용량이 낮으니 패킷을 한번에 몰아서 보내는 방식 2. Go-Back-N 수신자가 어떤 패킷을 받지 못하면 그 패킷부터 모든 패킷을 다시 보내는 방식. 보내야 될 전체 파일에서 window size(버퍼)를 ..
-
-
OS: Thread(cooperating system)os 운영체제 2024. 4. 8. 23:34
Process를 보는 두가지 시야: ● 리소스 소유 단위 프로세스에는 프로그램 코드 및 데이터가 포함된 주소 공간이 있음. 프로세스에 파일이 열려 있거나 I/O 장치를 사용하는 경우. ● 스케줄링 단위 CPU 스케줄러는 한 번에 하나의 프로세스를 CPU로 전송. 프로세스와 연관된 것은 PC, SP 및 기타 레지스터의 값. (~1988) 두가지 단위를 묶을 필요가 없다 Process = 리소스 소유 단위 Thread = 스케줄링 단위 스레드(LWP): 프로세스 내의 단일 순차적 실행 스트림 쓰레드는 child를 생성/block 할 수 있음 동시에 실행 됨 (고유한 레지스터=>프로그램 카운터(PC), 스택&스택 포인터(SP) 보유) 동시성 vs 병렬성 더보기 2. Concurrency vs Paralleli..
-
OS: RPCos 운영체제 2024. 4. 8. 21:59
RPC(Remote Procedure Call): 일반적으로 프로세스는 자신의 주소공간 내의 함수만 호출, RPC는 다른 주소공간의 프로세스의 함수를 실행할 수 있음.(네트워크 사용) - Client-Server 간의 커뮤니케이션에 필요한 상세정보는 최대한 감춘다. (=> 언어나 환경에 구애를 받지 않는다! ) - Client와 Server는 각각 일반 메소드를 호출하는 것처럼 원격지의 프로시저를 호출할 수 있다. 과정 1. 클라이언트 프로시저가 클라이언트 스터브를 호출 2. 클라이언트 스터브는 매개변수들을 pack해서 kernel을 trap함 3. 커널이 원격 커널에 메시지 보냄 4. 원격 커널이 서버 스터브에 메시지를 줌 5. 서버 스터브가 매개 변수를 unpack하고 서버를 호출함 6. 서버가 프로..
-
-
OS: 프로세스, IPC, fork/execos 운영체제 2024. 4. 3. 21:51
출처 Process Scheduling: 어떤 프로세스에게 cpu를 할당할지 정함. 1. Long-Term Scheduler (장기 스케줄러 or Job Scheduler) 시작(디스크에 있는) 프로세스 중 어떤 프로세스를 Ready Queue로 보낼지를 결정하며, 프로세스에 메모리 및 각종 자원을 할당한다. 자주 발생하지는 않는다. 또 Degree of Multiprogramming(메모리에 몇 개의 프로세스가 존재하는지)를 제어한다. Time-sharing 시스템에서는 보통 Long-Term Scheduler가 존재하지 않고 무조건 Ready Queue로 올라가는 방식이다. 2. Short-Term Scheduler (단기 스케줄러 or CPU Scheduler) 어떤 프로세스를 다음에 실행시킬지를 ..
-
네트워크 5주차: Transport Layer (Multiplexing, Demultiplexing, PDU, RDT)교내 강의/컴퓨터 네트워크 2024. 4. 3. 18:14
Encapsulation, Decapsulation: PDU(Protocol Data Unit): Segment: Data Chunk + Port# (Transport layer) Datagram: Segment + IP Addr (Network layer) Frame: Datagram + HW Addr (Data Link layer) Multiplexing(다중화): Application Layer->Network Layer로 소켓을 통해 받은 데이터를 세그먼트로 캡슐화하여 네트워크 계층으로 전달 Demultiplexing(역다중화): 네트워크 계층으로부터 전달받은 세그먼트의 헤더 정보를 확인하여, 응용 계층의 각각 올바른 소켓으로 전달해 주는 과정 해더에 있는 주소 정보: Source IP, Port..