출처 📌 HTTP 관련 질문 HTTP, HTTPS(TLS(SSL))/HTTP 1.1 2.0 3.0/ HTTP RESTful / HTTP 응답코드 HTTP : Hypertext Transfer Protocol, 서버와 클라이언트가 요청(Request)과 응답(Response) 형식으로 인터넷에서 데이터를 주고 받을 수 있는 프로토콜 HTTPS(TLS(SSL)) : HyperText Transfer Protocol over Secure Socket Layer, SSL/TLS 계층을 추가하여 클라이언트와 서버 사이에 오가는 모든 HTTP 프로토콜 메세지를 암호화하여 통신하는 프로토콜이다. 📌 HTTP 버전 HTTP/1.1 1. Persistent Connection : 지정한 timeout 동안 커넥션을 닫지..
메모리 개념 메인 메모리(Main Memory, Physical Memory, 주기억장치) 메인 메모리란 CPU가 직접 접근할 수 있는 기억 장치로, 프로세스가 실행되려면 프로그램 코드를 메인 메모리에 적재해두어야 한다. 이때, 프로그램 용량이 메인 메모리보다 크다면 어떻게 될까 ? 가상 메모리(Virtual Memory) 실제 물리 메모리 개념과 사용자의 논리 메모리 개념을 분리한 것이다. Memory 공간은 한정적이므로 사용자에게 더 많은 Memory를 제공하기 위해 가상 주소를 사용한다. MMU를 통해 논리 주소, 물리 주소를 나누어 사용하며 CPU의 메모리를 관리한다. MMU란 ? Memory Management Unit로 가상 주소를 실제 메모리 주소로 변환해주는 장치 가상 주소 공간 - 하나의..
✔️ ICMP (Internet Control Message Protocol)란 ? 3계층 (Network Layer)의 IP 프로토콜은 오로지 패킷을 목적지에 도달시키기 위한 내용들로만 구성되어 있다. IP 패킷 경로에 문제가 있거나, dst 호스트에 문제가 있는 경우 패킷 전달을 의뢰한 src 호스트에 이러한 사실을 알려야 하지만 IP에는 에러에 대한 처리 방법이 명시되어 있지 않다. 즉, IP는 전송 상태에 대한 관리가 이루어지지 않는 신뢰할 수 없는 프로토콜이다. 이러한 IP 프로토콜의 단점을 보완하기 위한 프로토콜이 ICMP 프로토콜이다. ✔️ ICMP 기능 ICMP는 IP 프로토콜을 이용해 IP 패킷 전송 중 에러가 발생하면 에러 발생 원인을 알려주며 해결 가능한 힌트 제공 Error-Repo..
✔️ Process Management 프로세스란 실행 중인 프로그램을 의미하며 구체적으로 시스템(커널)에 등록되고 커널의 관리하에 있는 작업을 뜻한다. 또한 프로세스는 각종 자원들을 요청하고 할당받을 수 있는 프로세스 관리 블록(PCB)를 할당받은 개체이다. 프로세스 관리란 CPU가 여러개의 프로세스가 있을 때 CPU 스케줄링을 통해 프로세스를 관리하는 것을 말한다. 이때, CPU는 각 프로세스들을 식별할 수 있어야 관리가 가능하다. 프로세스의 특징을 갖고 있는 것이 바로 Process Matadata이다. ✔️ Process Matadata process-id : 새로운 프로세스에 시스템이 할당해주는 고유 id process- state : 프로세스의 라이프 타임과 관련된 상태로, waiting, r..
✔️ 인터럽트란 ? CPU가 프로그램을 실행하고 있을 때 예외상황이 발생해 처리가 필요할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 뒤 다시 실행중인 작업으로 복귀하는 것을 말한다. 입출력 연산이 CPU 연산 수행속도보다 현저히 느리기 때문에 사용한다. I/O 연산이 끝난 이후 I/O Device는 인터럽트를 통해 CPU에게 알리고 CPU는 I/O 연산 결과를 이용해 작업을 완료한다. ✔️ 인터럽트의 종류 인터럽트의 종류는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트 전원 이상 인터럽트(Power fail interrupt) : 말그대로 정전, 파워 이상 등 기계 착오 인터럽트(Machine check interrupt) : CPU의 기능적인 오류 외..
✔️ 프로세스란 ? 메모리 영역에 올려 실행 중인 프로그램의 인스턴스(독립적인 개체) 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 하나의 프로세스는 반드시 하나 이상의 스레드를 가진다. 운영체제로 부터 시스템 자원을 할당받는 작업의 단위 시스템 자원 1) CPU 시간 2) 운영되기 위해 필요한 주소 공간 3) Code, Data, Stack, Heap의 구조로 되어 있는 독립된 메모리 영역 ✔️ 프로세스의 특징 프로세스는 각각 독립된 영역(Code, Data, Stack, Heap의 구조)을 할당 받는다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료 구조에 접근할 수 없다. 한 프로..