[네트워크] 소켓 프로그래밍 개요
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.)소켓 프로그래밍소켓소켓은 네트워크(인터넷)에서의 연결 도구로, 운영체제에 의해 제공되는 소프트웨어적인 장치소켓을 사용하면 프로그래머는 데이터 송수신에 대한 물리적, 소프트웨어적 세부 사항에 신경 쓰지 않고도 네트워크 프로그래밍을 할 수 있다.소켓의 비유와 분류TCP 소켓은 전화기에 비유될 수 있습니다. 전화기를 사용하는 방식에 따라 전화를 거는 용도(클라이언트)의 소켓과 전화를 받는 용도(서버)의 소켓으로 나눌 수 있으며, 이 두 소켓의 생성 방법에는 차이가 있다.서버 소켓의 생성 (전화를 받는 소켓)1단계: 소켓 생성 (socket 함수 호출)서버 소켓은 socket 함수를 호출하여 생성한다.int server_sock = socket(AF_INET, ..
[네트워크] TCP 타이머, 옵션
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.)TCP 타이머재전송 타이머영속 타이머킵얼라이브 타이머시간대기 타이머킵얼라이브 타이머(keepalive timer)오랜 기간 동안 idle 상태에 있는 것 방지서버가 2시간 동안 클라이언트로부터 세그먼트를 전송받지 못하면, probe 세그먼트 전송cf. https, s+a, a이 먼저 셋업되어야 요청을 보낼 수 있다.RTT 측정*RTT: Round Trip Time, 왕복 시간RTTm: 측정값Smoothed RTT (평균)처음: 아무 값도 설정 안 됨첫 번째 측정 시: RTTs = RTTm ☞최초 측정값을 평균으로 대입해서 시작첫 번째 이후의 측정 시: RTTs = (1-α)RTTs + α RTTm → (7/8)기존 평균값 + (1/8)측정값새로운 측정값에..
[네트워크] TCP segment, control
·
CS/Network
전공 수업 내용 정리 (문제 발생시 비공개합니다.) TCP segmentsending buffer보내는 버퍼는 버퍼 안에 보내 복사본을 그대로 가지고 있음(재전송이 필요할까봐)recieving buffer패킷 번호 매기기각 연결에서 전송되는 데이터의 바이트는 TCP에 의해 번호가 매겨짐.번호 매기기는 임의로 생성된 번호로 시작Cumulative ACK현재 사용하는 TCP 방식다음 번에 받고 싶은 번호를 보냄TCP segment 형식옵션마다 헤더 길이가 달라질 수 있음→ 이를 표현하기 위해 HLEN 사용(보낼 때 %4, 받을 때 *4)IP(발신지 16 + 목적지 16) + seq(32) + ack(32) + 헤더(4) + 예약(6)제어 필드(6) + 윈도우 크기(16) + 검사합(16) + 긴급 포인터(1..
[운영체제] 메모리 관리
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.) 메모리 관리운영체제의 핵심 기능 중 하나인 메모리 관리는 프로세스가 실행되기 위해 필요한 메모리를 적절히 할당하고 관리하는 역할1. 페이징 (Paging) = 분산적재페이징은 프로세스의 주소 공간을 동일한 크기의 블록으로 나누어 메모리에 분산하여 적재하는 방법페이지(Page): 프로세스의 주소 공간을 동일한 크기의 블록으로 나눈 단위.프레임(Frame): 실제 물리적 메모리를 페이지와 동일한 크기로 나눈 블록.특징외부 단편화 없음: 모든 페이지와 프레임의 크기가 동일하기 때문에 외부 단편화 문제가 발생하지 않음주소 변환 필요: 논리 주소를 물리 주소로 변환하기 위해 페이지 테이블을 사용해야함논리 주소 구조:페이지 번호 (p): 논리 주소에서 상위 비트로..
[운영체제] 동기화
·
CS/OS
전공 수업 내용 정리 (문제 발생시 비공개합니다.)프로세스 동기화(Process Synchronization)여러 프로세스가 공유하는 자원의 일관성을 유지하는 것여러 프로세스가 서로 협력해 공유자원을 사용하는 상황에서 경쟁조건(race condition)이 발생하면 공유자원의 신뢰성이 떨어진다. 이를 방지하기 위해 프로세스들이 공유자원을 사용할 때 특별한 규칙을 만드는 것경쟁 상황(race condition)여러 프로세스(또는 스레드)가 공유자원에 동시에 접근할 때 공유자원에 대한 접근 순서에 따라 실행 결과가 달라질 수 있는 상황동시에 접근할 때 자료의 일관성을 해치는 결과가 나올 수 있다.임계구역(critical section)여러 프로세스 또는 스레드가 자원을 공유하는 상황에서 하나의 프로세스만 접..