[OS] 운영체제(Operating System)란?
·
Computer Science/Operating System
What is an Operating System?운영체제 -> 사용자와 하드웨어 사이의 인터페이스 제공하는 서비스프로세스CPU 스케줄링메모리 관리파일 시스템네트워킹개발 목표 - machine을 더 편리하고 효율적으로 사용할 수 있도록 하는 것. (소프트웨어 엔지니어링 문제) Why study Operating System?Abstraction (추상화)사용자에게 무한한 자원(CPU 시간, 메모리, 파일 공간)에 대한 환상을 어떻게 제공하는지?System Design (시스템 설계)이 추상화들의 성능과 편리성OS의 성능과 단순성하트웨어 / 소프트웨어의 기능Primaty intersection point (주요 교차점)하드웨어, 소프트웨어, 프로그래밍 언어, 데이터 구조 및 알고리즘이 모두 합쳐지는 지점C..
[Computer Network] 2-4 DNS
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다.  DNS1. DNS: domain name system인터넷 호스트에 대한 식별자호스트 네임(hostname) IP 주소  DNS (domain name system)DNS 서버들의 계층구조로 구현된 분산 데이터베이스 (세계 곳곳에 분산해서 갖고 있음)호스트가 분산 데이터베이스로 질의하도록 허락하는 애플리케이션 계층 프로토콜 2. DNS가 제공하는 서비스host name을 IP 주소로 변환호스트 엘리어싱(host aliasing)복잡한 호스트 네임(정식 호스트 네임)을 가진 호스트는 하나 이상의 별명을 가질 수 있음. DNS는 호스트의 IP 주소뿐만 아니라 제시한 별칭 호스트 네임에 대한 정식 호스트 네임을 얻기 위해 이용됨.메일 ..
[Computer Network] 2-3 FTP, electronic mail
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다.  FTP1. FTP: the file transfer protocolFTP: TCP로 동작하는 파일을 주고받기 위한 프로토콜  2. FTP 제어와 데이터 연결의 분리TCP는 제어 연결을 위해 21번 포트를 사용하고, 데이터 전송을 위해 20번 포트를 사용한다. 클라이언트가 제어 연결을 통해 커맨드를 전송한다.서버가 파일 전송 커맨드를 받으면 클라이언트에 2번째 TCP 데이터 연결을 연다. 하나의 파일 전송이 끝나고 나면, 서버는 제어 연결을 닫는다. 이러한 FTP의 제어 연결을 out of band라고 하는데, 기존 제어 포트에서 벗어났다고 말한다!FTP 서버는 state를 유지한다. (현재 디렉토리 - 사용자가 어느 폴더에 있는지..
[Computer Network] 2-2 Web and HTTP
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. Web and HTTP1. HTTP 개요HTTP: hypertext transfer protocol웹의 애플리케이션 계층 프로토콜 HTTP는 클라이언트 프로그램과 서버 프로그램으로 구현됨.HTTP는 TCP를 전송 프로토콜로 사용한다. 클라이언트가 서버에세 TCP 연결 요청 서버는 요청을 수락HTTP 메세지가 브라우저(HTTP 클라이언트)와 웹 서버(HTTP 서버) 사이에서 교환 TCP 연결 종료HTTP는 stateless서버가 클라이언트에게 요청 파일을 보낼 때, 서버는 클라이언트에 관한 어더한 상태 정보고 저장하지 않음.  2. HTTP 연결RTT(round trip time): 작은 패킷이 클라이언트로부터 서버까지 가고, 다시 ..
[Computer Network] 2-1 네트워크 애플리케이션의 원리
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. Principles of network applications1. 애플리케이션 구조클라이언트-서버 구조(client-server architecture)server항상 켜져 있는 호스트고정 IP 주소를 통해 클라이언트가 접속함.하나의 서버 호스트가 모든 요청에 응답하는 건 불가능하므로 많은 수의 호스트를 갖춘 데이터 센터(data center)를 흔히 사용함. (data center for scaling)serverclient항상 켜져 있지 않아도 됨.IP 주소가 바껴도 상관 없음.클라이언트끼리 직접 통신하지 않음. 2. P2P 구조P2P 구조(peer-to-peer, P2P)특정 서버를 통하지 않고, 피어(peer)라는 간헐적으로..
[Computer Network] 1-4 프로토콜 계층과 서비스 모델 (+ 인터넷의 역사)
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. protocol layers, service models1. ISO/OSI reference model 1. application네트워크 애플리케이션과 애플리케이션 계층 프로토콜이 있음. (HTTP, FTP, SMTP)2. presentation통신하는 애플리케이션들이 교환되는 데이터의 의미를 해석하도록 하는 서비스 제공.3. session데이터 교환의 경계와 동기화는 제공.4. transport클라이언트와 서버 간에 애플리케이션 계층 메시지를 전송하는 서비스 제공. (TCP, UDP)5. network한 호스트에서 다른 호스트로 데이터그램(datagram)을 라우팅을 책임짐. (IP, routing protocols)6. link..
[Computer Network] 1-3 Network core
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. network core1. network core 인터넷의 end system을 연결하는 패킷 스위치들과 링크들의 연결망  2. packet switching송신 end system에서 긴 메세지를 패킷(packet)이라고 하는 작은 데이터 덩어리로 분할하고, 각 패킷은 통신 링크와 패킷 스위치를 거치고 수신 end system에 도착하게 된다.대부분의 패킷 스위치는 저장-후-전달 전송(store-and-forward transmission) 방식이다.  홉(hop): 출발지에서 라우터 까지의 경로를 말한다.  3. queueing delay, loss각 링크에 대해 패킷 스위치는 출력 버퍼(출력 큐)를 가지고 있으며 그 링크로 송..
[Computer Network] 1-2 Network edge
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다.network edge1. 접속 네트워크network edge: 한 end system으로부터 다른 end system까지의 경로상에 있는 첫 번재 라우터에 연결하는 네트워크 host는 client와 server로 구분됨.client: 데스크톱, 모바일PC, 스마트폰 등을 의미server: 웹 페이지를 저장하고 분배하고, 비디오를 스트림하며, 전자메일을 릴레이 함. 대부분의 서버들은 커다란 데이터 센터 내에 있음. 2. 연결 네트워크과 physical mediaend system이 edge router에 어떻게 연결이 될까residential access nets (주거용 접속 네트워크)institutional access netwo..
[Computer Network] 1-1 인터넷이란 무엇인가?
·
Computer Science/Computer Network
본 내용은 컴퓨터 네트워크 - 하향식 접근 책을 바탕으로 정리하였습니다. 인터넷이란 무엇인가? 1. 구성요소로 본 인터넷인터넷: 전 세계적으로 수십억 개의 컴퓨팅 장치를 연결하는 컴퓨터 네트워크 1. host: 인터넷에 연결되어있는 수많은 컴퓨팅 디바이스들 ( = end system)2. link: host들을 연결하는 매개체. 광섬유, 구리선, 전파, 인공위성 등등각각의 link들은 다양한 전송률(링크 대역폭, bandwidth)을 이용하여 데이터를 전송하며, 전송률은 초당 비트 수를 의미하는 bps(bit per second)를 이용함.3. packet switch: 입력 통신 링크의 하나로, 도착하는 패킷을 받아서 출력 통신 링크의 하나로 그 패킷을 전달함.라우터(router)와 링크 계층 스위치(..
[BOJ/Python] 14719번: 빗물 | 시뮬레이션
·
Program Solving/Python
https://www.acmicpc.net/problem/14719 문제2차원 세계에 블록이 쌓여있다. 비가 오면 블록 사이에 빗물이 고인다.비는 충분히 많이 온다. 고이는 빗물의 총량은 얼마일까? 입력첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500)두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치부터 차례대로 W개 주어진다.따라서 블록 내부의 빈 공간이 생길 수 없다. 또 2차원 세계의 바닥은 항상 막혀있다고 가정하여도 좋다. 출력2차원 세계에서는 한 칸의 용량은 1이다. 고이는 빗물의 총량을 출력하여라.빗물이 전혀 고이지 않을 경우 0을 출력하여라.  코드h, w = map(int, in..