본문 바로가기
728x90
반응형

컴퓨터 사이언스69

하루에 하나씩 배우는 컴퓨터 사이언스 개념: 스레드 개념 이해 이 글에서는 컴퓨터 사이언스 개념을 학습하는 데 집중하면서 스레드(thread)의 개념과 작동 방식에 대해 좀 더 자세히 알아보겠습니다. 이해를 돕기 위해 스레드의 정의와 작동 방식, 그리고 멀티 스레딩의 장점과 단점을 알아보며 예시를 살펴봅니다. 1. 스레드(thread)란? 스레드(thread)는 특정 프로세스 내에서 실행되는 독립적인 작업 단위입니다. 스레드는 해당 프로세스의 메모리 공간, 파일 디스크립터 등과 같은 자원을 공유하며 작동하고, 각 스레드는 자신만의 레지스터 및 스택 포인터를 가지게 됩니다. 이렇게 독립적인 실행을 가능하게 하는 스레드 구조는 병렬 처리와 고성능 연산이 필요한 상황에서 높은 효율성을 얻을 수 있게 합니다. 2. 스레드의 작동 방식 스레드의 작동 방식은 다음과 같이 크게.. 2023. 8. 7.
하루에 하나씩 배우는 컴퓨터 사이언스 개념: 멀티 프로세스와 IPC 이해 이 글에서는 컴퓨터 사이언스 개념을 학습하는 데 집중하면서 멀티 프로세스와 IPC(Inter-Process Communication)에 대해 좀 더 자세히 알아보겠습니다. 이해를 돕기 위해 멀티 프로세스의 개념과 IPC가 필요한 이유, 그리고 다양한 IPC 메커니즘이 사용되는 예제와 세부 내용을 살펴봅니다. 1. 멀티 프로세스란? 멀티 프로세스(multi-process)는 컴퓨터 시스템에서 동시에 여러 개의 프로세스가 실행되는 것을 말합니다. 각각의 프로세스는 독립된 메모리 영역과 자원을 가지고 실행되며, 프로세스 간의 독립성을 유지하고 안정성을 확보할 수 있습니다. 멀티 프로세스는 동시에 실행되는 다양한 응용 프로그램과 서비스를 위해 자주 사용되며, 이러한 실행 모델은 운영 체제가 프로세스 관리 및 스.. 2023. 8. 6.
하루에 하나씩 배우는 컴퓨터 사이언스 개념: 힙과 컨텍스트 스위칭 이해 이 글에서는 컴퓨터 사이언스 개념을 학습하는 데 집중하면서 힙과 컨텍스트 스위칭에 대해 좀 더 자세히 알아보겠습니다. 이해를 돕기 위해 힙 영역의 동작 원리와 컨텍스트 스위칭의 개념을 설명하고, 프로세스 및 스레드로 인한 컨텍스트 스위칭의 차이와 세부 사항을 살펴봅니다. 1. 힙이란? 힙(heap)은 동적 메모리 할당이 이루어지는 영역으로, 메모리 관리자에 의해 관리됩니다. 힙 영역은 프로세스 내에서 사용되는 데이터 중 크기와 수명이 언제든지 변할 수 있는 변수나 데이터 구조를 저장합니다. 다양한 크기의 메모리 블록들이 서로 떨어져 위치하는 특성 때문에 메모리 단편화가 발생할 수 있는데, 이를 방지하기 위해 가용 메모리 관리 알고리즘이 적용됩니다. 자바에서 힙은 객체와 가비지 컬렉션을 지원하기 위한 구조.. 2023. 8. 5.
하루에 하나씩 배우는 컴퓨터 사이언스 개념: 프로세스 구조 이해 프로세스의 구조와 그 관련 핵심 개념을 설명하겠습니다. 이 글에서는 프로세스의 기본 구조, 주요 영역, 프로세스 상태 변화를 포함한 관련 이론과 구현 예시를 Java 언어로 살펴보겠습니다. 1. 프로세스의 기본 정의와 구조 먼저 프로세스(process)라는 개념에 대해 이해하기 위해서는 프로그램과 프로세스의 차이를 이해해야 합니다. 프로그램은 디스크에 저장된 정적인 명령어의 집합이며, 프로세스는 실행 중인 프로그램 즉, 메모리에 로드된 동적인 상태입니다. 프로세스는 운영체제가 프로그램을 메모리에 로드하여 실행시킨 비동기적인 단위입니다. 프로세스는 다음과 같은 주요 영역으로 구성되어 있습니다. Code 영역: 프로그램 코드가 저장되는 영역입니다. Data 영역: 전역 변수와 정적 변수가 저장되는 영역입니다.. 2023. 8. 4.
728x90
반응형