📗 Computer Science

    [네트워크] 데이터 통신 정리

    [네트워크] 데이터 통신 정리

    3월 1일차 인터넷 인터넷이란, 두가지 관점으로 정의할 수 있다. "nuts and bolts" 너츠앤볼츠 관점 : 하드웨어에 관한 정의이다. 너츠앤볼츠의 관점에서 볼 때, 인터넷은 호스트 = 종단 시스템 (가장자리에 있는 애들) , 링크, 패킷스위치 (라우터, 스위치를 말함) 3가지로 이루어짐. 서비스 관점 : 애플리케이션에게 서비스를 제공하는 구조에 관한 정의이다. 애플리케이션에 서비스를 제공할 때, 프로그래밍을 통해 소켓이나 아이피를 연결하여 서비스를 제공한다. 이 때, 패킷이란 단위로 나누어 제공하는데 효율성이 높아진다. 프로토콜이란 네트워크에서 프로토콜이란, 네트워크 통신 규약으로 메세지를 보내고 받는 것의 순서나 형식을 정하는 것을 말한다. 예) TCP, IP, HTTP, Wifi ( 802...

    [2장] 운영체제 - Operating System Concepts 공룡책

    [2장] 운영체제 - Operating System Concepts 공룡책

    2장. 시스템 구조 운영체제 서비스 사용자에게 도움이 되는 기능 사용자 인터페이스, 프로그램 실행, 입출력 연산 파일 시스템 조작, 통신, 오류 검출 시스템의 효율적 연산을 보장하는 기능 자원 할당, 계정 관리, 보호 및 보안 운영체제의 세 가지 사용자 인터페이스 CLI : 명령어 라인 인터페이스 GUI : 그래픽 유저 인터페이스 Batch Interface : 일괄처리 인터페이스 시스템 호출 시스템 호출은 프로세스가 운영체제에게 요청 할 수 있는 방법을 제공 프로그램은 시스템 API나 표준 라이브러리 함수를 사용하여 요청. API나 함수는 궁극적으로 일련의 시스템 호출로 구성. 시스템 호출에서 매개변수를 전달하는 방법 레지스터 : 가장 간단한 방법 블록 스택 운영체제는 블록이나 스택 방법을 선호한다. ..

    [네트워크] Link Layer - 링크 계층

    [네트워크] Link Layer - 링크 계층

    Link Layer 처음에 호스트라 라우터에 보낼때 브로드케스트로 보내서 모든 호스트한테도 신호가 간다. 따라서 한명이 신호를 보내고 있을때 다른호스트가 동시에 신호를 보내면 충돌이 일어날 수 있다. 따라서 충돌이 일어나지 않도록 해야함. 충돌이 발생하지 않게 , 또 충돌이 발생한다면 해결하는 일을 하는것이 링크레이어의 핵심적인 일. 링크레이어는 유선(이더넷), 무선(와이파이) 일 수가 있음 유선인 상황 링크레이어의 어뎁터는 NIC(네트워크 인터페이스 카드)임 유선일 경우는 브로드캐스트 또는 포인트 투 포인트, 무선일 경우 브로드캐스트. Medium Access Control (MAC): 어떻게 하면 충돌을 해결할것인가? 와이파이도 맥 프로토콜이라 할수있음 현재는 유선을 얘기하겟음 TDMA: 타임 디비전..

    [네트워크] Network Layer - 네트워크 계층

    [네트워크] Network Layer - 네트워크 계층

    네트워크 레이어의 핵심 2가지 forwarding routing IP 헤더 TTL (Time To Live) : 라우터를 거칠때마다 -1 씩해줌 0 되면 버림. IP address IPv4 : 32비트 8 비트씩 끊어서 10진수로 바꾼게 우리가 아는 아이피 주소 아이피 주소는 네트워크 인터페이스 카드(NIC) 를 지칭하는 주소 따라서 여러개 꽂으면 여러개 아이피 가질 수 있음. ( 라우터가 여러개 아이피를 가지는 대표적인 예) 라우터는 forwarding table을 보고 어디로 보낼 지 결정한다. Hierarchical addressing 12.34.158.0/24 라는것은 앞에 24피드가 네트워크 어드레스 라는것이고, 뒤에 8비트가 호스트 아이피라는 것이다. 포워딩 테이블이 단축되는 장점이있다. 아니..

    [1장] 운영체제 - Operating System Concepts 공룡책

    [1장] 운영체제 - Operating System Concepts 공룡책

    운영체제 정의 컴퓨터 하드웨어를 관리하는 프로그램. 사용자와 하드웨어 사이에서 중재자 역할을 수행하는 프로그램. 운영체제는 자원 할당자이다. 운영체제는 제어 프로그램이다. 컴퓨터에서 항시 수행되는 하나의 프로그램은 커널(kernel)이다. 운영체제의 목적 환경 관리 : 편리하게 사용할 수 있는 환경 제공 프로세스 관리 : 사용자 프로그램을 쉽게 해결 자원 관리 : 하드웨어를 효율적으로 사용 컴퓨터 시스템 구성 하드웨어 : 중앙처리장치, 메모리, 입출력장치로 구성 운영체제 응용 프로그램 사용자 부트스트랩 프로그램 부트스트랩 프로그램은 ROM 등의 펌웨어에 저장된다. 시스템의 모든 기능을 초기화 한다 커널을 메모리에 로딩하고 실행을 시작한다 컴퓨터 시스템 조직 하나 이상의 제어기, CPU가 공유 메모리에 접..

    [네트워크] TCP 개념

    [네트워크] TCP 개념

    TCP 특징 Point to Point : 소켓 한쌍끼리의 통신을 책임 진다 신뢰적으로 순서대로 전송이 된다. 파이프 라인 형태로 감 데이터가 양방향으로 작용한다 둘다 sender receiver될수 있음.(duplex data) MSS : maximum segment size 윈도우 사이즈 만큼이 있음 . 이것에 해당하는 버퍼가 receiver에 필요함.둘다 리시버가 될 수 있기 때문에 버퍼가 각자 있음 연결 기반 3-way handshaking Flow control : receiver가 받아드릴수 있을 만큼 보내야됨 Congestion control: 네트워크가 받아 드릴 수 있을 만큼 보내야됨 전송 단위는 세그먼트이며 , 트렌스포트 계층임. Ack가 Cumulate Ack임 (다음 순서를 Ack의..

    알고리즘 정리

    알고리즘 정리

    7. Greedy Method 탐욕적 알고리즘의 개요 설계 절차 : 선정과정 -> 적정성 -> 해답 점검 탐욕적 알고리즘은 항상 최적의 결과를 준다고 보장 할 수 없다. 최소 비용 신장 트리 : MST 신장 트리 : 순환경로(cycle)가 없어지도록 이음선을 제거하여 구성한 연결된 부분 그래프를 신장트리라 한다. (모든 정점은 포함 해야됨) 최소 비용 신장 트리 : G 그래프를 가지고 만든 여러 신장트리 중에서 가중치의 합이 최소가 되는 신장트리를 최소 비용 신장 트리라고 한다. MST 구하는 알고리즘 종류 Prim 알고리즘 : O(n^2) Kruskal 알고리즘 : O(nlogn) O(n^2logn) Prim 알고리즘 최단 경로 구하기 : Dijkstra's Algorithm Prim 알고리즘과의 차이..

    마이크로프로세서 용어정리

    마이크로프로세서 용어정리

    TOY에서 LINK 명령어의 용도 : 함수를 호출하기 전에 되돌아올 주소를 R6에 저장해놓는 어셈블리 명령어 TOY에서 RET 명령어의 용도 : R6에 저장된 주소로 다음 실행위치를 이동하게하는 어셈블리 명령어 TOY에서 R0의 용도 : 함수 반환값을 전달하는 레지스터 함수별 스택 프레임 : 함수의 실행중에 인수 및 지역변수들을 포함하는 스택 메모리 영역. TOY에서 SP란? : 스택포인터로 R5에 해당하며 스택의 맨 윗부분을 가리키고 있다. TOY에서 FP란? : R4에 해당하며 스택 프레임의 기준이 되는 주소를 저장하는 레지스터 ARM과 x86의 함수 호출 비교: ARM은 함수호출시 BLAL func 이용하며 복귀시 MOV PC, R14를 이용한다. x86은 호출시 CALL func 복귀시 RET를 ..

    [소프트웨어 공학] 3. UML Class Diagram

    [소프트웨어 공학] 3. UML Class Diagram

    [소프트웨어 공학] 3. UML Class Diagram Object Class 는 붕어빵을 만드는 틀이고, Object는 실제 붕어빵들이다. maxMiller가 Person이란 Class Object의 이름이다. :Person처럼 때론 익명의 Object를 바로 만들어 바로 사용할 수 있다. Objects are instances of classes Class Arrtibutes : Java로 따지면 필드 Operations : Java로 따지면 Method 같은 클래스 타입의 객체라면 Attributes는 다른 값을 가질 수 있지만 , 행위 (Operation)은 같다. Class Variable and Class Operation Class variable (= class attribute, sta..

    [네트워크] 3 - 1. Transport 트랜스포트 계층

    [네트워크] 3 - 1. Transport 트랜스포트 계층

    [네트워크] 3 - 1. Transport 트랜스포트 계층 Multiplexing / Demultiplexing Multiplexing : Socket으로부터 받은 데이터에 헤더를 추가한다. Demultiplexing : 받은 세그먼트를 올바른 Socket에 전달한다. TCP Soket Connection - oriented UDP는 목적지 Port 번호만 같으면 같은 Socket으로 간다. TCP는 목적지 IP, 목적지 Port번호, 소스 IP , 소스 Port번호 4가지가 모두 같아야 같은 Socket으로 가고, 하나라도 다를경우 다른 Socket으로 간다. (1:1) TCP Segment와 UDP Segment의 차이 실제 Data의 크기는 Header보다 훨씬 크다 세그먼트 Header에는 목적지..