본문 바로가기

전체 글108

스레드와 동시성 스레드와 동시성 스레드(Thread)와 동시성(Concurrency)은 프로그래밍에서 중요한 개념이다. 멀티스레드 환경에서 프로그램이 동시에 여러 작업을 수행할 수 있도록 하는 기술이다. 먼저 스레드부터 알아보자 스레드(Thread) 스레드란? 스레드는 프로세스 내에서 실행되는 작은 실행 단위로, 프로세스 내의 주소 공간과 시스템 자원을 공유한다. 하나의 프로세스에는 여러 개의 스레드가 있을 수 있다. 프로세스와 스레드의 차이 프로세스는 독립적인 실행 단위로, 각 프로세스는 자신만의 주소 공간을 가진다. 스레드는 프로세스 내에서 실행되는 각각의 흐름으로, 프로세스의 자원을 공유한다. 스레드의 장점 자원 공유 : 스레드 간에 자원을 쉽게 공유할 수 있다. 응답성 향상 : 여러 작업을 동시에 처리하여 응답성.. 2024. 1. 17.
자바(JAVA) - synchronized 란? 자바 - synchronized 란? synchronized는 자바에서 멀티스레드 환경에서 동시 접근에 대한 동기화를 제공하는 키워드이다. 이를 사용하면 여러 스레드가 동일한 자원에 접근할 때 상호 배제를 통해 안전하게 작업을 수행할 수 있다. synchronized 키워드는 크게 두 가지 주요 사용방법이 있다. 1. 메서드 public synchronized void synchronizedMethod() { // 동기화가 보장된 코드 블록 // 여러 스레드가 동시에 이 메서드에 접근할 수 없음 } synchronizedMethod()에 synchronized 키워드를 사용함으로써 해당 메서드는 오직 한 스레드만이 동시에 접근할 수 있다. 2. 블록에 적용 public void method() { // .. 2024. 1. 16.
프로세스란? 프로세스란? 프로세스는 컴퓨터에서 실행 중인 프로그램을 나타내는 용어이다. 각 프로세스는 메모리에 할당된 자원과 코드, 데이터, 스택, 힙 등의 구성요소를 포함하며, 독립된 실행 환경을 갖는다. 프로세스 메모리 구조 프로세스 구조는 코드, 데이터, 스택, 힙 영역으로 크게 나눌 수 있다. 1. 코드 영역(Text) 프로그램의 실행 코드가 저장되는 영역이다. 읽기 전용이며, 프로그램이 실행될 때 메모리에 로드되어 CPU가 해당 명령어를 실행한다. 프로그램의 명령어와 함수들이 여기에 저장된다. 2. 데이터 영역 전역 변수, 정적변수가 저장되는 영역이다. 초기값을 가지는 전역 변수와 정적 변수가 여기에 저장되며, 프로그램 시작 시 생성되고 종료 시 소멸된다. 3. 스택 영역 함수 호출과 관련된 지역 변수 및 .. 2024. 1. 15.
OS의 일반적인 작동 원리 OS의 일반적인 작동 원리 운영체제(OS, Operating System)란? 컴퓨터 시스템의 핵심 소프트웨어로, 하드웨어 자원을 효율적으로 관리하고 응용 프로그램이 원활하게 동작할 수 있도록 지원하는 시스템 소프트웨어이다. 컴퓨터의 여러 부분들을 조율하고 사용자와 하드웨어 간의 인터페이스 역할을 한다. 일반적인 OS의 작동원리 부트 프로세스 컴퓨터를 켜면 BIOS(Basic Input/Output System) 또는 UEFI(Unified Extensible Firmware Interface)가 실행되고, 이는 부팅 프로세스를 시작한다. 부트 로더가 메인 메모리에 운영 체제의 핵심 부분을 로드하고 실행한다. 커널 로딩, 초기화 운영 체제의 핵심 부분인 커널이 메모리에 로드되고 초기화된다. 커널은 하드웨.. 2024. 1. 12.
호스팅이란? 호스팅이란? 호스팅은 웹사이트나 애플리케이션과 같은 온라인 콘텐츠를 저장하고 이를 인터넷을 통해 사용자에게 제공하는 서비스를 말한다. 호스팅 서비스 제공업체는 서버, 스토리지, 네트워크 연결 등을 제공하여 고객이 자신의 웹사이트나 애플리케이션을 온라인으로 공개하고 운영할 수 있도록 도와준다. 주요 호스팅 유형을 알아보자. 웹 호스팅 가장 일반적인 호스팅 유형 중 하나로, 여러 웹사이트가 하나의 서버를 공유하는 형태이다. 일반적으로 소규모 웹사이트나 블로그를 호스팅 하는 데 사용된다. VPS 호스팅 (Virtual Private Server) 가상 서버를 사용하여 여러 가상 환경을 독립적으로 운영하는 형태이다. 물리적 서버를 가상으로 분할하여 각각의 가상 서버가 독립적으로 운영된다. 전용 서버 호스팅 고객.. 2024. 1. 11.
DNS와 그 작동 원리 DNS와 그 작동 원리 DNS(Domain Name System) 란? DNS는 '도메인 이름 시스템'의 약어로, 컴퓨터 네트워크에서 사용되는 분산된 명명 시스템이다. 이 시스템은 사용자가 읽기 쉬운 도메인 이름(ex. www.example.com)을 컴 네트워크에서 사용되는 숫자로 된 IP주소 ( ex. 192.168.0.1)로 변환하거나 반대로 IP 주소를 도메인 이름으로 변환하는 역할을 한다. DNS는 전 세계적으로 분산된 네트워크에서 동작하며, 계층적인 구조를 가지고 있다. 이 구조는 효율적인 도메인 이름 해석을 가능케 하며, DNS 서버들 간의 계층적인 쿼리를 통해 도메인 이름을 IP 주소로 변환하는 과정이 이뤄진다. DNS는 웹 브라우징, 이메일 송수신, 파일 전송 등 네트워크 기반 서비스의 .. 2024. 1. 10.