안녕하세요!

FE 개발자 유진주입니다.

CS 35

[컴퓨터네트워크] Chapter1.4 프로토콜 계층 구조

1.4 프로토콜 계층 구조 통신 프로토콜과 계층 구조 계층 구조 모델: TCP/IP와 OSI 캡슐화(Encapsulation) : 상위 계층에 있는 프로토콜이 하위계층을 이용하기 위해, 하위 계층의 어떠한 필요한 정보를 추가해서 하위 계층 프로토콜이 상위 계층 프로토콜을 감싸는 방식으로 교환하는 정보를 만드는 방법. 통신 프로토콜과 계층 구조 통신 프로토콜 정의 - 통신 장치들간에 교환될 메시지의 형식 정의 (Syntax) - 메시지 교환 순서 정의 (Timing) - 메시지를 교환할 때 수행해야 할 행위를 정의(Semantics) 프로토콜 구조: 계층 구조 - 계층 구조의 예) 계층 구조의 장점 - 새로운 프로토콜 정의 용이 - 특정 통신 기능 또는 서비스 수정 용이 (유지보수) - 전체 시스템 이해 ..

CS/네트워크 2023.10.10

[컴퓨터네트워크] Chapter1.3 네트워크 코어와 라우터

1.3 네트워크 코어 네트워크 코어와 라우터 패킷 스위칭(Packet Switching) 회선 스위칭(Circuit Switching) 인터넷 코어 구조 네트워크 코어와 라우터 *라우터(router): 고속의 링크로 연결 : 접속 네트워크(Access Network)들을 연결하기 위해 ISP들이 운영하는 광역 네트워크 구성 : 라우터(Router)들을 고속의 링크로 연결 종단간(End-to-end) 경로 : N개의 링크와 (N-1)개의 라우터의 연결 라우터(Router) - 라우터 구조 - 라우터의 역할 1) 연결기능: 대상(Network) ( 링크를 통해 네트워크를 연결 ) 2) 패킷 교환: 대상(Packet) 패킷 스위칭(Packet Switching) ( 패킷 스위치) - 패킷(Packet) : 전..

CS/네트워크 2023.10.10

[컴퓨터네트워크] Chapter1.2 네트워크 엣지(Network Edge): 접속 네트워크(Access Network)

1.2 네트워크 엣지(Network Edge): 접속 네트워크(Access Network) 홈 접속 네트워트(Home(=Residential) Access Network) 엔터프라이즈 접속 네트워크(Enterprise Access Network) : 회사라기 보다는, 네트워크를 구축하고 운영하고 서비스를 제공할 수 있는 역량을 가진 조직에서 자체적으로 운영하는 네트워크. *기관 네트워크라고 하기도 함. 물리 매체(Physical Media) 네트워크 엣지(Network Edge) : 인터넷에서 호스트(Host) 또는 종단 장치가 연결되는 접속 네트워크(Access Network) *home network는 그 자체가 하나의 네트워크로 구성된다기 보다는, 어떤 지역의 인터넷 서비스를 제공하는 네트워크의 일..

CS/네트워크 2023.10.09

[컴퓨터네트워크] Chapter1.1 컴퓨터 네트워크와 인터넷

1.1 인터넷이란 무엇인가? 인터넷이란? : 여러 네트워크들을 상호 연결한 네트워크 네트워크 : 다양한 유형의 호스트와 스위치(Switch)들을 통신 링크(Link)로 연결한 분산 시스템 호스트(Host): 인터넷의 끝에 연결된 종단 장치(End-system) 예) PC, 서버, 스마트폰, IoT 센서 등 (통신)링크(Link): 통신 장치들 간에 정보 전달 단위인 패킷(packet)을 전달하는 유.무선 매체. 예) 구리선, 광케이블, WiFi 채널, 모바일 통신 채널, 위성 채널 등 링크 전송속도(Transmission rate) : 초당 전송가능한 비트수(bit per second. bps) // 전송속도 표현 단위 링크의 품질에 따라 달라짐. * 단위: bps, Kbps, Mbps, Gbps, Tb..

CS/네트워크 2023.10.08

Chapter 08 가상 메모리

운영체제는 주어진 메모리의 크기 아래서 프로그램을 작은 조각으로 나누어 그 중에 일부분만을 메모리에 적재하되, 적재 가능한 곳으로 비연속적으로(흩어) 넣어줌으로써, 사용자는 메모리에 대한 고민으로부터 벗어날 수 있게 된다. (프로그램의 일부분만이 적재되기 때문에 보다 많은 사용자를 수용할 수 있고, 더 중요한 것은 모든 사용자가 메모리의 크기로부터 자유로울 수 있게 된다.) 가상 메모리(Virtual Memory)를 위해서는 ▶ 우선, 모든 프로그램은 작은 조각(Block)들로 나뉘어지는데, - 페이지(Page): 조각들의 크기를 모두 같도록 했을 때 한 조각 - 세그먼트(Segment): 조각들의 크기를 서로 다르게 했을 때 각각의 조각 * 조각의 크기 = 메모리와 디스크 사이에서 한 번에 전송되는 전..

CS/운영체제 2023.06.01

Chapter 07 메모리 관리

프로그램이 실행되기 위해서는 메모리에 올라와 있어야 한다. 따라서 메모리를 잘 관리하면 프로그램 실행 성능을 높여 CPU의 효율적인 사용과 사용자에게의 빠른 응답성을 가능하게 하므로 효과적인 메모리 관리는 중요하다. : 디스크(보조기억장치)에 있는 많은 프로그램 중 몇 개를 메모리의 어디에 어떻게 적재할 것인가! (데이터의 저장이 목적인 큰 용량의 보조기억장치에 반해, 메모리는 실행될 프로그램을 위한 적재 장소로서 그 크기가 디스크보다는 매우 작다.) - 메모리의 구성 방식 - 주어진 구성과 연관하여 시스템의 성능을 고려한 관리 기법들 메모리의 구성? 메모리의 구성과 메모리의 관리는 밀접한 연관이 있다. 다시 말해, 메모리를 관리하기 위한 기법은 그 대상이 되는 메모리의 구조에 의존적이어서 일단 구성이 ..

CS/운영체제 2023.05.26

Chapter 6. 교착 상태(Deadlock)

교착 상태(Deadlock) : 두 개 이상의 프로세스가 각자 먼저 확보한 자원을 가진 채 상대방의 자원을 필요로 할 경우, 외부로부터의 조치가 없는 한 아무 일도 못하고 계속해서 기다려야 하는 상태 - 교착상태와 관련된 자원의 개념 설명 - 교착 상태 일으킬 수 있는 네 가지 조건 - 다양한 교착 상태의 해결책들 교착 상태가 발생되는 근본 원인? → 시스템이 가지고 있는 한정적인 자원보다 사용하고자 하는 프로세스들의 요청이 더 많은 경우 (자원이 넉넉하면 문제가 없으나, 최소의 비용으로 최대의 효과를 노리는 경제적 논리에 따라, 거의 사용되지 못할 것임에도 필요 이상의 비용을 들여 많은 자원을 구비할 필요 X) 교착상태의 문제점 1. 해당 프로세스들이 더 이상 실행되지 못하여 사용자들에게 응답해 주지 ..

CS/운영체제 2023.05.22

Chapter 5. 병행 프로세스와 동기화(1)

병행(Concurrent): 같이 존재하고 있다는 의미. 메모리에 다수의 프로세스가 같이 존재하는 것. 프로세스들의 실행 순서는 일차적으로 스케줄링에서 담당하겠지만, 실제 실행 과정에서 프로세스 간의 좀 더 복잡한 문제는 세심한 프로세스 관리를 요구함. 다중처리 시스템의 경우 여러 개의 프로세스가 동시에 병렬(Parallel)로 실행됨 (=> 병행 != 병렬) 프로세스의 병행성은 처리기의 수와 상관없으나, 병렬처리가 성공하기 위해서는 기본적으로 병행성이 전제되어야 한다. - 병행 프로세스들은 서로 간에 비동기적(Asyschronous)이다. = 다른 프로세스들이 어떤 상태에 있는지, 어떤 자원을 가지고 있는지, 어디까지 실행됐는지 등에 대해 모른 채 실행 됨 이번 장의 목적 : 공유하는 자원이나 데이터가..

CS/운영체제 2023.04.14

Chapter 4. CPU 스케줄링

스케줄링(Scheduling) : CPU를 기다리고 있는 여러 프로세스 중에 누구를 선택해야 할지에 대해 필요한 방식이나 기준 (주어진 시점에서 어떤 프로세스가 이 자원을 사용할 수 있도록 해 줄 것인가를 결정하는 것) * 대부분 스케줄링이라 함은 CPU 스케줄링을 의미 스케줄링(Scheduling)의 단계 ** 스케줄링이 요구되는 시점을 기준으로 구분 ■ 장기 스케줄링 (=작업 스케줄링) * 대부분 제일 먼저 겪게 되고, 한번 겪으면 그 다음에는 겪을 일 X : 어느 작업을 커널에 등록시켜 프로세스로 만들어 줄 것인가 결정 => 요청된 일을 프로세스로 만들어 시스템에 알려진 일거리로 추가할지 말지 결정. & 다중 프로그래밍의 정도(Multiprogramming Degree)를 조절. - 수행 횟수 적음..

CS/운영체제 2023.04.12