본문 바로가기

Computer Science5

[네트워크] - HTTP(Hyper Text Transfer Protocol)란? HTTP 프로토콜은 웹 상에서 데이터를 주고 받기 위한 규칙을 정의한 프로토콜이다. HTTP의 특성을 이해하는 것은 웹 애플리케이션을 개발하는데 있어 매우 중요하기에 특징들을 정리해보고자 한다! 1. 비연결성 (Connectionless) HTTP는 비연결을 지향하는 프로토콜이다. "비연결"이란, 클라이언트가 서버에 요청을 하고, 서버가 그 요청에 응답을 하게 되면 연결이 바로 종료되는 형태를 의미한다. 이 방식은 요청을 응답과 함께 종료시킬 수 있어, 많은 수(대규모)의 클라이언트 요청 서비스에 적합하고, 서버 리소스를 효율적으로 사용할 수 있다는 장점이 존재한다. 그러나 상태 정보를 유지하지 않기에, 상태 정보를 필요로 하는 경우에는 단점으로 작용할 수 있다. 2. 무상태성 (Stateless) HT.. 2024. 3. 7.
[운영체제] - 컨텍스트 스위칭(Context Switching) ✅ 컨텍스트 스위칭 (Context Switching) 이란? ▪ 여러개의 프로세스가 실행되고 있을 때, 기존에 실행되던 프로세스를 중단하고 다른 프로세스로 CPU에 실행할 프로세스를 교체하는 기술 ☑ 컨텍스트 ▪ CPU가 해당 프로세스를 실행하기 위해 필요한 해당 프로세스의 정보를 의미한다. ▪ 위의 정보들은 뒤에 설명할 PCB(Process Control Block)에 저장된다. ☑ 프로세스의 동작 ▪ Program Counter, Stack Pointer 를 가지고 동작한다. ▪ Program Counter - 다음에 실행할 코드의 주소를 담고 있다. ▪ Stack Pointer - 호출된 함수와 변수들의 주소를 갖고 있다. 현재 프로세스의 PC와 SP 주소를 PCB(Process Control B.. 2024. 1. 18.
[운영체제] - 프로세스 메모리 구조(코드, 데이터, 힙, 스택) 💁‍♀️ 변수, 객체, 메모리의 관계를 알아야 하는 이유 애플리케이션이 실행될 때 객체를 포함하여 데이터가 메모리에 어떻게 저장되는지 알면 개발 시 이해도가 높아지고 애플리케이션의 성능에 대해서도 연관지어 생각해볼 수 있기 때문이다. ✅ 프로세스란? ▪ 프로세스(process)란 실행중에 있는 프로그램을 의미한다. ☑ 프로그램의 실행이란? ▪ 파일 시스템에 존재하던 실행 파일(중 일부가)에 메모리에 적재된다는 의미 ▪ 프로그램이 CPU를 할당받고 명령을 수행하고 있는 상태 ☑ 프로세스의 특징 ▪ 프로세스는 운영체제에 의해 관리된다. ▪ 프로세스는 각 메모리 공간을 시스템으로 부터 할당 받으며, 독립적으로 실행된다. ✅ 프로세스의 메모리 구조 (프로세스 당 하나씩 존재) ▪ 시스템이 프로그램을 실행할 때,.. 2024. 1. 15.
[컴퓨터 구조] - 주기억장치 : RAM, ROM 주기억 장치(Main Memory)는 메모리 (Memory)의 일종이다. 메모리는 "기억장치"라는 뜻을 가지고 있으며, 우리가 원하는 작업을 처리할 경우, 처리 대상 내용 및 결과를 잠시 기억하기 위해 메모리를 사용하게 된다. 🌟 주기억장치 / 컴퓨터 메모리는 CPU가 직접 접근하여 데이터를 처리하는 기억장치로, 현재 컴퓨터에서 수행되는 프로그램과 데이터를 저장하고 주소(Address)에 의해 저장된 위치를 구분한다. 출처 : https://wikidocs.net/122667 1. ROM ( Read Only Memory ) ROM은 오직 기억된 데이터를 읽기만 하는 장치이다. 가장 대표적인 특징으로는 ROM은 비휘발성 장치로, ROM에 존재하는 데이터는 컴퓨터의 전원이 꺼져도 필요한 데이터이면서, 해당.. 2023. 12. 12.
CS 공부 개요 계획 컴퓨터 구조, 자료구조, 알고리즘, 운영체제, 네트워크, 데이터베이스 순으로 공부하기 + 백엔드 로드맵 참고 ! 참고 자료 : https://gyoogle.dev/blog/ , '혼자공부하는 컴퓨터 구조 + 운영체제 (강민철)' Computer Architecture 01 장 : 컴퓨터 구조 시작하기 컴퓨터 구조를 알아야 하는 이유 : 문제 해결 능력을 기를 수 있다. 성능, 용량, 비용을 고려한 프로그래밍이 가능해진다. 컴퓨터를 미지의 대상이 아닌 분석의 대상으로 바라볼 수 있다. 컴퓨터 구조의 큰 그림 : 데이터 - 정적인 정보 명령어 - 데이터를 움직이고 컴퓨터를 작동시키는 정보 컴퓨터의 4가지 핵심 부품 : 메모리 CPU 보조기억장치 입출력장치 메모리 : 현재 실행되는 프로그램의 명령어와 데.. 2023. 2. 28.