CS

CS

[네트워크] OSI 7계층, TCP/IP, HTTP

OSI 7계층 OSI 7계층은 국제 표준화 기구에서 네트워크 통신이 이루어지는 과정을 7단계로 나눈 네트워크 표준 모델이다. 데이터를 송신할 때는 높은 계층에서 낮은 계층으로 / 수신부에서는 낮은 계층에서 높은 계층으로 데이터를 전달한다. 데이터 캡슐화 : 데이터를 송신할 때 각 계층에서 필요한 정보를 추가해 데이터를 가공하는데 이 때 제어 정보를 담은 헤더나 트레일러를 붙이는 것 헤더는 데이터 앞에 붙고 트레일러는 데이터 뒤에 붙는다 프로토콜 : 통신 규약. 데이터를 송수신하기 위해 정한 규칙 7계층(응용 계층) : 사용자에게 통신을 위한 서비스 제공. 인터페이스 역할 6계층(표현 계층) : 데이터의 형식(Format)을 정의하는 계층 (코드 간의 번역을 담당) 5계층(세션 계층) : 컴퓨터끼리 통신을..

CS

[네트워크] 쿠키, 세션, REST

쿠키와 세션 쿠키 클라이언트의 상태 정보를 클라이언트에 PC에 저장했다가 필요시 정보를 참조하거나 재사용 가능 저장 위치 : 클라이언트 만료 시점 : 쿠키 저장시 설정 세션 일정 시간동안 같은 사용자로부터 들어오는 일련의 요구를 하나의 상태로 보고 그 상태를 유지시키는 기술 저장 위치 : 웹 서버 만료 시점 : 브라우저 종료시 삭제 (기간 지정 가능) 속도 : 쿠키 > 세션 (쿠키는 파일을 읽고, 세션은 요청마다 서버에서 처리를 해야함) 보안 : 쿠키 < 세션 (쿠키는 탈취와 변조가 가능하시만, 세션은 ID값만 가지고 있으므로 상대적으로 안전) REST API REST REST는 HTTP 통신을 활용하기 위해 고안된 아키텍쳐이다. 클라이언트는 URI로 표현된 자원을 HTTP 메서드를 이용해 CRUD 연산..

CS

[운영체제] 기본개념, 커널, 시스템

운영체제 하드웨어 위에 설치되어 하드웨어 계층과 다른 소프트웨어 계층을 연결하는 소프트웨어 계층 컴퓨터 시스템의 자원을 관리하고, 사용자가 컴퓨터를 사용할 수 있는 환경을 제공하는 역할 수행 악성 프로그램에 대한 사용자와 운영체제 자신을 보호 운영체제의 목적 처리 능력(throughput) 향상: OS는 자원 관리를 통해 일정 시간 내에 시스템이 처리하는 일의 양을 향상시킨다. 반환 시간(turnaround time) 단축: OS는 사용자가 시스템에 요청한 작업을 완료할 때까지 소요되는 시간을 단축시킨다. 사용 가능도(availability) 향상: 사용 가능도는 시스템 자원을 얼마나 빨리 제공할 수 있는가를 의미한다. OS는 사용자가 컴퓨터를 사용해야 할 때 자원을 즉시 사용할 수 있게 한다. 신뢰도(..

CS

[운영체제] 메모리 관리, 가상메모리

연속 메모리 할당 멀티 프로세스 환경에서 여러 프로세스를 메모리에 연속적으로 로드하는 방법 고정 분할 방식 고정 분할은 메모리 영역을 분할한 뒤 각 영역에 프로세스를 할당하는 방식이다. 분할된 영역의 크기는 서로 다를 수 있으며, 분할된 크기는 고정된다, 메모리에 올릴 수 있는 프로세스의 수와 각 프로세스의 크기가 제한된다는 단점이 있다. 단편화 문제가 발생할 수 있다. 외부 단편화 : 프로세스를 할당하기 어려울만큼 작은 메모리 공간들로 인해 메모리가 낭비되는 현상 내부 단편화 : 분할된 크기보다 작은 프로세스가 할당되어 메모리 공간이 남는 경우 가변 분할 방식 할당할 프로세스의 크기에 따라 메모리 공간을 분할하는 방식 메모리 할당 알고리즘을 이용해 가용 메모리 공간에서 프로세스가 로드될 수 있는 메모리..

CS

[운영체제] 프로세스 동기화, 데드락

동시성과 병렬성 동시성(병행성) 하나의 코어에서 여러 작업을 번걸아가며 처리하는 방식 빠른 CPU 처리속도로 여러 프로그램가 동시에 작동하는 것처럼 느낌 문제점 - 프로세스간 메모리 공유 (잦은 콘텍스트 스위칭으로 인한 오버헤드) 병렬성 CPU가 여러개 있어서 각 CPU에서 작업을 동시에 처리하는 방식 물리적인 시간 관점에서 실제로 여러 작업이 동시에 실행 프로세스 동기화 프로세스 동기화 공유 자원에 여러 프로세스가 동시 접근해도 데이터의 일관성이 유지되도록하는 매커니즘 임계 영역 공유 자원에 접근할 수 있고 접근 순서에 따라 결과가 달라지는 코드 영역 레이스 컨디션 (경쟁 상태) 공유 자원에 여러 프로세스들이 동시에 접근해서 경쟁하는 상태 최종 연산결과는 마지막에 공유 데이터를 다룬 프로세스가 누구인지..

CS

[네트워크] 네트워크 레이어, IP 프로토콜

IP란? IP(Internet Protocol) 란 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소이다. IPV4와 IPV6 IPV4 IPv4는 IP version 4의 약자로 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다. 일반적으로 172.16.254.1와 같이 마침표로 구분된 4개의 숫자가 있고 10진수 형식으로 표시된다. 4바이트(32비트)로 이루어지며 약 43억개의 주소를 가진다. 인터넷 사용자 수 급증으로 인한 IPv4 주소의 고갈 문제를 해결하기 위해 IPv6가 등장한다. IPV6 IPv6는 IP version 6의 약자로, IPv4의 주소체계를 128비트 크기로 확장한 차세대 인터넷 프로토콜 주소이다. 16비..

CS

[운영체제] CPU 스케줄링

CPU 스케줄링 CPU 스케줄링은 운영체제가 프로세스들에게 CPU 자원을 배분하는 것이다. 운영체제는 준비 큐에 있는 프로세스들 중에서 어떤 프로세스에게 CPU를 할당할지 결정한다. 시분할 시스템에서 각 프로세스들의 CPU 수행시간이 다르기 때문에 CPU 스케줄링을 통헤 적절히 CPU를 할당하여 빠른 사용자 응답을 제공하고, CPU와 입출력장치의 효율을 높일 수 있다. 스케줄링의 종류 단기 스케줄링 준비 큐에 있는 대기 상태 프로세스 중 어떤 프로세스를 다음으로 실행할지 스케줄링 알고리즘으로 결정한다. CPU 스케줄링이라고도 한다. 중기 스케줄링 너무 많은 프로세스에게 메모리를 할당해 성능이 저하되는 경우를 막기 위해, 메모리에 로드 된 프로세스 수를 동적으로 조절한다. 메모리에 프로세스가 많이 로드되면..

CS

[네트워크] 신뢰적 데이터 전송, TCP

신뢰적 데이터 전송의 원리 전송 후 대기 프로토콜 송신부에서 데이터를 보낸 후 수신부로부터 응답을 받을때까지 다음 데이터를 보내지 않고 기다리는 방식이다. 송신부는 패킷을 보낸 후 수신부의 ACK 또는 NAK 신호를 기다린다. 송신자는 ACK 메세지를 받으면 다음 패킷을 전송하고, 일정 시간동안 ACK 메시지를 받지 못하면 패킷을 재전송 한다. 구현이 간단하지만 이전 메시지에 대한 응답을 받아야 다음 메시지를 보낼 수 있어 시간 면에서 비효율적이다. 파이프라인 프로토콜 파이프라인 프로토콜은 메시지 패킷을 동시에 보내고 ACK 패킷도 동시에 받는 방법이다. 하나의 패킷을 전송하고 ACK가 돌아올 때까지 기다리는 방법 보다 훨씬 효율적이지만 신뢰성이 낮고, 신뢰성을 보장하기 위한 대표적인 두 가지 방법이 있..

CS

[운영체제] 프로세스와 스레드

프로세스 프로세스는 컴퓨터에서 실행 중인 하나의 프로그램을 의미한다. 프로세스는 운영체제로부터 독립된 메모리 영역을 할당 받으며 다른 프로세스의 메모리 영역에 접근할 수 없다. 프로세스 메모리 영역 프로세스 메모리 영역은 크게 스택, 힙, 데이터, 코드 영역으로 나뉜다. 스택 영역 데이터를 일시적으로 저장하는 공간. 함수의 실행이 끝나면 사라지는 매개변수나 지역변수 등이ㅣ 저장 높은 주소 값에서 낮은 주소 값으로 메모리가 할당된다. 재귀함수가 반복해서 호출되거나 함수가 지역변수를 메모리를 초과할 만큼 많이 가지고 있다면 스택 오버플로가 발생한다. 영역 크기는 컴파일 때 결정된다. 힙 영역 프로그래머에 의해 동적 메모리 할당이 일어나는 공간 힙 영역은 런타임에 결정되고, 자바에서는 GC에 의해 메모리가 정..

CS

[네트워크] HTTPS, DNS, UDP

HTTPS HTTPS란? HTTPS는 보안계층인 SSL/TLS를 이용해 HTTP의 보안을 강화한 웹 통신 프로토콜이다. 데이터 암호화를 거치지 않고 전송해 보안에 취약한 HTTP의 단점을 보완하기 위해 등장했다. HTTPS는 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. → SSL(Secure Sockets Layer)은 넷스케이프에서 개발한 암호화 프로토콜 → 당시 SSL의 몇 가지 문제점을 보완해 새로운 암호화 프로토콜인 TLS(Transport Layer Security) 개발 → 현재 통용되는 방식은 TLS이지만 명칭을 SSL 또는 SSL/TLS라고 부름 HTTP → SSL/TLS → TCP → IP → 네트워크 인터페이스 HTTP는 원래 TCP와 직접 통신했지만, HTTPS에서 H..

jny0
'CS' 카테고리의 글 목록