본문 바로가기

전체 글

(63)
[OS] 프로세스와 스레드 프로세스와 컴파일 과정프로세스란?프로그램이 메모리에 올라가 인스턴스화된 실행 단위 컴파일 과정전처리: 소스 코드의 주석을 제거하고 #include 등 헤더 파일을 병합하여 매크로를 치환컴파일러: 오류 처리 및 코드 최적화 작업을 수행하고 어셈블리어로 변환어셈블러: 어셈블리어를 목적 코드로 변환링커: 라이브러리 함수 또는 다른 목적 코드와 결합하여 실행 파일 생성라이브러리정적 라이브러리: 프로그램 빌드 시 코드에 통합되며 외부 의존성이 적지만 메모리 사용량 증가동적 라이브러리: 실행 시 필요할 때 DLL 파일을 참조하며 메모리 효율은 높지만 외부 의존성이 큼프로세스의 상태생성: 프로세스가 생성된 상태로, PCB가 할당됨. fork() 함수는 부모 프로세스를 복사해 자식 프로세스를 생성하며, exec() 함..
[OS] 메모리 메모리 계층 구조메모리는 속도와 용량에 따라 다음과 같은 계층으로 구성됩니다.레지스터: CPU 내부의 초고속 휘발성 메모리. 속도는 가장 빠르며 용량은 가장 작습니다.캐시(Cache): L1, L2, L3 캐시로 구성. 휘발성이며 속도는 빠르고 용량은 적습니다.주기억장치(Main Memory, RAM): 휘발성이며 속도와 용량은 중간 수준입니다.보조기억장치(HDD, SSD): 비휘발성이며 속도는 느리지만 용량은 큽니다.캐시(Cache)캐시는 빠른 장치(CPU)와 느린 장치(메모리) 간 속도 차이를 보완하기 위한 임시 저장소입니다.지역성의 원리시간 지역성: 최근에 사용된 데이터가 다시 사용될 가능성이 높음공간 지역성: 접근된 데이터의 근처 주소도 접근될 가능성이 높음캐시 히트와 캐시 미스캐시 히트: 필요한..
[OS] 운영체제와 컴퓨터 개요운영체제(Operating System, OS)는 사용자가 컴퓨터를 쉽게 사용할 수 있도록 도와주는 인터페이스 역할을 합니다. 컴퓨터의 하드웨어와 소프트웨어 사이를 중재하면서 자원 관리, 사용자 편의성 제공, 보안 유지 등의 핵심적인 기능을 수행합니다.운영체제의 역할운영체제는 다양한 자원을 효율적으로 관리하고, 사용자와 하드웨어 간의 매끄러운 연결을 담당합니다. 주요 역할은 다음과 같습니다: CPU 스케줄링과 프로세스 관리CPU 사용 순서를 결정하고프로세스 생성 및 삭제, 자원 할당과 반환을 담당합니다.메모리 관리제한된 메모리를 여러 프로세스에게 적절히 분배합니다.디스크 파일 관리파일 시스템을 관리하고, 파일의 저장 및 접근을 제어합니다.I/O 디바이스 관리마우스, 키보드 등 외부 장치와의 데이터 송..
[Network] HTTP HTTP/1.0한 연결당 하나의 요청만 처리RTT(Round Trip Time) 증가 문제 발생RTT란?패킷이 목적지에 도달하고 다시 출발지로 돌아오기까지 걸리는 시간. 즉, 왕복 시간.RTT 증가 해결 방법이미지 스플리팅여러 이미지를 합쳐 하나의 이미지로 다운로드한 후 background-image와 background-position을 이용하여 분리해서 표시#icons>li>a { background-image: url("icons.png"); width: 25px; display: inline-block; height: 25px; repeat: no-repeat;}#icons>li:nth-child(1)>a { background-position: 2px -8px;}..
[Network] IP 주소 개요인터넷을 사용하는 모든 장치에는 IP 주소가 존재합니다. 하지만 IP 주소만으로 통신이 되는 것은 아니며, 그 이면에는 다양한 프로토콜과 장치들이 협력하고 있습니다. 이 글에서는 IP 주소 기반 통신에 사용되는 주요 개념들을 정리해보았습니다.ARP (Address Resolution Protocol)컴퓨터는 IP 주소 기반으로 통신하지만, 실제로는 MAC 주소를 이용해 데이터를 주고받습니다. 이때 사용하는 프로토콜이 바로 ARP입니다.역할: IP 주소 → MAC 주소로 변환예시: 장치 A가 120.70.80.3의 MAC 주소를 알기 위해 ARP Request를 브로드캐스트 → 장치 B가 ARP Reply로 자신의 MAC 주소를 유니캐스트로 응답브로드캐스트: 네트워크의 모든 장치에 데이터 전송유니캐스트..
[Network] 네트워크 기기의 처리 범위와 역할 개요네트워크를 구성하는 다양한 장비들은 OSI 7계층 중 어느 계층을 처리하느냐에 따라 그 역할이 달라집니다. 이번 글에서는 계층별로 어떤 네트워크 장비들이 있고, 각 장비가 어떤 기능을 수행하는지 정리해 보겠습니다. 네트워크 기기의 처리 범위계층처리 기기애플리케이션 계층 (L7)L7 스위치인터넷 계층 (L3)라우터, L3 스위치데이터 링크 계층 (L2)L2 스위치, 브리지물리 계층 (L1)NIC, 리피터, AP상위 계층을 처리하는 장치는 하위 계층도 처리할 수 있지만, 그 반대는 불가능합니다. 애플리케이션 계층 (L7)을 처리하는 기기* L7 스위치 (로드밸런서)여러 서버로 클라이언트 요청을 분산하여 트래픽 부하를 최소화하고 시스템 성능을 향상시킵니다.URL, HTTP 헤더, 쿠키 등을 기반으로 정교한..
[Cursor] 개발자용 AI IDE, Cursor 설치 및 사용 후기 0. Cursor란?Cursor는 AI 코드 자동완성 및 편집 기능이 내장된 차세대 개발자용 코드 에디터입니다. 기존의 인기 있는 코드 에디터인 Visual Studio Code(VS Code)를 기반으로 만들어졌으며, 여기에 OpenAI의 GPT 계열 언어 모델을 통합하여 AI의 도움을 받아 더 빠르고 효율적으로 코드를 작성할 수 있는 환경을 제공합니다.AI 코딩 지원: 마치 ChatGPT를 코드 에디터 안에 넣은 느낌. 코드 자동완성, 설명, 리팩토링, 버그 수정 등을 AI가 제안합니다.VS Code 기반: 기존 VS Code 사용자에게 익숙한 인터페이스와 익스텐션 호환성을 유지합니다.빠른 설치 & 바로 사용: 별도의 복잡한 설정 없이 설치만 하면 AI 코딩이 가능한 환경을 제공합니다.부분 선택 프롬..
[Network] TCP/IP 4계층 모델 TCP/IP 계층 구조TCP/IP는 컴퓨터 네트워크 통신을 위한 표준 프로토콜 집합으로, 데이터를 주고받을 때 사용하는 규칙과 절차를 정의합니다. 이 구조는 총 4계층으로 구성되어 있으며, 각 계층은 서로 협력하여 안정적이고 효율적인 통신을 가능하게 합니다. 1. 애플리케이션 계층(Application Layer) : 사용자에게 직접적인 서비스를 제공하는 계층입니다. 웹, 이메일, 파일 전송 등 다양한 응용 프로그램에서 사용되는 프로토콜이 존재합니다. 주요 프로토콜FTP: 장치 간 파일 전송을 위한 프로토콜HTTP: 웹 사이트 접속을 위한 웹 통신 프로토콜SSH: 보안이 적용된 원격 접속을 위한 암호화 통신 프로토콜SMTP: 이메일 전송을 위한 표준 프로토콜DNS: 도메인 이름을 IP 주소로 변환하는 시..