본문 바로가기

CS

(10)
[CS정리] 네트워크 웹 동작 방식 사용자가 브라우저에 URL을 입력 브라우저는 DNS 서버를 조회해 서버의 IP정보를 얻어온다 HTTP 프로토콜을 사용해 HTTP 요청 메세지를 생성하고, TCP/IP 연결을 통해 HTTP 요청이 웹 서버로 전송 서버는 HTTP 프로토콜을 활용해 HTTP 응답 메세지를 생성하고, 요청한 컴퓨터로 전송 도착한 HTTP 응답 메세지를 해석해 HTML을 화면에 랜더링하여 사용자가 볼 수 있도록 한다 TCP & UDP TCP(Transmission Control Protocal, 전송제어 프로토콜) 연결 지향형 서비스, 3-way handshaking 과정을 통해 연결을 설정 높은 신뢰성을 보장하지만 속도가 느림, 순차적인 전달을 하며, 신뢰할 수 있는 전송을 보장한다 UDP(User Datagra..
🌐 TCP와 UDP 정리 1️⃣ TCP(Transfermission Control Protocol, 전송 제어 프로토콜) TCP로 전송할 때 붙이는 헤더를 TCP 헤더라 하고, 이 헤더가 붙은 데이터를 세그먼트(segment)라 한다 연결형 통신방식이며, 신뢰할 수 있는 데이터 전송을 보장 흐름 제어, 혼잡 제어, 오류 제어를 제공 ❓ 흐름 제어 데이터를 송수신하는 곳의 데이터 처리 속도를 조절해 수신자 버퍼 오버플로우를 방지하는 것 송신하는 곳에서 감당하지 못하도록 많은 데이터를 빠르게 보내 수신측에서 문제가 발생한다 stop and wait, 슬라이딩 윈도우 등을 사용 ❓ 혼잡 제어 네트워크 내 패킷 수가 넘치지 않도록 막는 것 정보의 소통량이 과다하면 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막는 것이다 연결 지향형..
RAID와 RAID Level RAID Redundant Array of Inexpensive/Independent Disk, 복수 배열 독립 디스크 저장장치를 여러개 묶어 고용량, 고성능 저장장치와 같은 효과를 얻기 위해 개발된 기법 과거에는 저렴한 디스크를 모아 고성능의 디스크처럼 사용하자는 생각이었지만 현재는 경제적인 이유보다 높은 신뢰성과 높은 데이터 전송율에 사용 장점 중복을 통한 신뢰성 향상 중복을 허용(미러링, mirroring)해 디스크 고장이 발생했을 경우 분실된 정보를 재구축하기 위해 사용해 디스크 고장이 발생하더라도 데이터가 분실되지 않음 병렬성을 통한 성능 향상 읽기 요청을 두 디스크 중 하나에서 처리할 수 있기 때문에 읽기 요청의 처리율은 2배가 된다 💡 미러링(mirroring) 하나의 논리 디스크는 두 개의..
[CS 정리] 운영체제 (3) 파일 시스템 파일 보조 저장장치에 기록된 관련 정보의 정명된 집합, 사용자 관점에서 논리적 보조 저장장치의 가장 작은 할당 단위 접근 방법 순차 접근(Sequential Access) 파일의 정보가 레코드 순서대로 차례대로 처리되는 것 가장 간단한 접근방법 읽기(read next) : 파일의 다음 부분을 차례대로 읽어나간다 쓰기(write next) : 파일의 끝에 추가, 새로운 파일의 끝으로 파일 포인터가 이동 직접 접근(Direct Access), 상대 접근 직접접근을 위해 파일은 고정 길이의 논리 레코드로 구성되고 특별한 순서없이 빠르게 레코드를 읽고 쓸 수 있다 디스크가 무작위 파일 블록에 임의적 접근을 허용하기 때문에 파일의 디스크 모델에 기반 14→53→7 등의 접근이 가능 읽거나 탐색할 블록..
HTTP 메소드의 종류와 특징, 속성 HTTP 메소드 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정한다 주요 메소드 종류 GET 리소스의 조회에 사용한다. 서버에 전달하고 싶은 데이터를 query(parameter, query string)을 통해 전달한다. 메시지 바디를 통해 데이터를 전달할 수도 있지만 지원하지 않는 곳도 존재하기 때문에 권장❌ POST 메시지 바디를 통해 서버로 요청 데이터를 전달한다. 서버는 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다. 주로 신규 리소스의 등록, 프로세스 처리 등에 사용한다 신규 리소스를 등록했다면 새로 생성되었다는 201 상태 코드와 생성된 URI 경로(Location)를 반환한다 또한, 다른 메소드로 처리하기 애매한 경우 주로 사용된다. 조회할 때 데..
HTTP란? HTTP의 특징, 메시지의 구조 HTTP? HTTP란 HyperText Transfer Protocol로 문서 간의 링크를 전송하는 프로토콜이다. HTML 메시지에 HTML 뿐만 아니라 텍스트나 이미지, 음성, 영상 JSON 등 거의 모든 형태의 데이터가 전송이 가능하며 서버간의 데이터 전송 시에도 대부분 HTTP를 사용한다. 현재 주로 사용하는 HTTP/1.1과 HTTP/2는 TCP를 기반으로 하고 있다. HTTP의 특징 1️⃣ 클라이언트 서버 구조 Request Response 구조 클라이언트가 서버에 요청을 보내고 응답을 대기 서버가 요청에 대한 결과를 만들어 응답 비즈니스 로직과 데이터는 모두 서버가 처리하고 UI 등은 클라이언트가 처리한다 클라이언트와 서버의 분리를 통해 클라이언트와 서버가 각각의 성장이 가능! 2️⃣ Stat..
[CS 정리] 운영체제 (2) 스케줄러 프로세스를 스케줄링하기 위한 Queue Job Queue : 시스템에 들어올 때 진입하는 큐, 현재 시스템 내에 있는 모든 프로세스의 집합 Ready Queue : 현재 메모리 내에 있으면서 CPU를 잡아 실행되기를 기다리는 프로세스의 집합 Device Queue : 특정 입출력 장치를 대기하는 프로세스의 집합 Process 스케줄러 각각의 Queue에 프로세스들을 넣고 빼주는 스케줄러 장기 스케줄러(Long-term scheduler, Job scheduler) 메모리는 한정되어 있는데 많은 프로세스들이 한꺼번에 메모리에 올라올 경우, 대용량 메모리(일반적으로 디스크)에 임시로 저장. 대용량 메모리(일반적으로 디스크)에 임시로 저장 저장되어 있는 프로세스 중 어떤 프로세스에 메모리를 할당하여 ..
[CS 정리] 운영체제 (1) 프로그램 어떤 작업을 위해 실행할 수 있는 파일 프로세스 컴퓨터에서 연속적으로 실행되고 있는 프로그램 즉, 동적인 개념으로는 실행된 프로그램을 의미 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 운영체제로부터 시스템 자원(주소 공간, 파일, 메모리 등)을 할당받는 작업의 단위 함수의 매개변수, 복귀 주소와 로컬 변수와 같은 임시 자료를 갖는 프로세스 스택과 전역 변수들을 수록하는 데이터 섹션을 포함 프로세스 실행 중에 동적으로 할당되는 메모리인 메모리 힙을 포함 프로그램과 프로세스는 다르다!! 프로그램은 명령어를 내용으로 가진 디스크에 저장된 파일, 수동적인 존재(passive entity) 프로세스는 다음에 실행할 명령..