반응형

프로세스 4

프로세스(Process)와 쓰레드(Thread)의 차이점

운영 체제에서는 프로세스와 스레드 모두 코드를 실행하고 작업을 수행하는 데 사용되지만, 몇 가지 점에서 차이가 있습니다. 1. 프로세스(Process)의 개념 프로세스는 컴퓨터에서 실행 중인 프로그램의 인스턴스입니다. 프로세스는 프로그램 코드와 데이터를 포함하는 메모리 공간과 CPU 시간, 파일, 네트워크 연결 및 기타 리소스를 포함한 시스템 리소스 집합으로 구성됩니다. 각 프로세스에는 고유한 메모리 공간이 있으므로 다른 프로세스의 메모리에 직접 액세스할 수 없습니다. 2. 쓰레드(Thread)의 개념 반면 스레드는 프로세스의 하위 집합입니다. 스레드는 프로세스 내에서 독립적인 실행 경로입니다. 프로세스 내에서 여러 스레드가 동시에 실행될 수 있으며 프로세스와 동일한 메모리 공간 및 시스템 리소스를 공유..

공부/OS 2023.04.09

프로세스(Process)란?

1. 프로세스란? 컴퓨터 운영 체제에서 프로세스는 현재 실행 중인 프로그램으로 정의할 수 있습니다. 프로세스는 운영 체제의 기본 개념이며 컴퓨터 시스템의 기본 작업 단위입니다. 컴퓨터에서 실행되는 모든 프로그램은 하나 이상의 프로세스를 생성합니다. 프로세스는 프로그램의 명령어, 데이터, 현재 실행 상태 등 프로그램을 실행하는 데 필요한 모든 정보를 담고 있는 컨테이너입니다. 각 프로세스에는 고유한 주소 공간이 있으므로 다른 프로세스의 메모리에 직접 액세스할 수 없습니다. 2. 프로세스의 구성 요소 프로세스에는 다음과 같은 여러 구성 요소가 있습니다: 프로그램 코드: 프로세스에서 실행되는 코드입니다. 여기에는 프로세스가 작업을 수행하는 데 필요한 지침과 데이터가 포함됩니다. 데이터: 프로세스가 실행하는 동..

공부/OS 2023.04.09

힙(heap)이란 무엇인가?

1. 힙이란? 힙은 동적 메모리 할당에 사용되는 프로세스의 메모리 영역입니다. 크기가 고정되어 함수 호출 및 함수 실행에 사용되는 스택과 달리 힙은 크기가 가변적이며 프로그램 실행 중에 동적으로 메모리를 할당하는 데 사용됩니다. 프로그램이 메모리를 동적으로 할당해야 하는 경우 C의 malloc 또는 C++의 new와 같은 메모리 할당 함수를 호출합니다. 메모리 할당 함수는 힙에서 사용되지 않는 메모리의 연속 블록을 찾고 블록 시작에 대한 포인터를 반환합니다. 그런 다음 프로그램은 개체, 배열 또는 동적으로 할당된 데이터 구조와 같은 데이터를 저장하기 위해 메모리를 사용할 수 있습니다. 힙은 운영 체제의 메모리 관리자가 관리하며 프로그램에서 필요에 따라 크기를 늘리거나 줄일 수 있습니다. 이를 통해 프로그..

공부/자료구조 2023.02.05

스택(stack)이란 무엇인가?

1. 스택이란? 스택은 함수 호출 및 함수 실행과 관련된 데이터를 저장하는 프로세스의 메모리 영역입니다. 프로세스의 각 함수 호출은 함수의 반환 주소뿐만 아니라 함수의 로컬 변수 및 인수를 포함하는 스택에 새 프레임을 만듭니다. 함수가 반환되면 스택의 해당 프레임이 팝되어 함수 호출과 관련된 메모리가 해제됩니다. 스택에는 후입선출(LIFO) 데이터 구조가 있습니다. 즉, 스택에 푸시된 마지막 함수 호출이 함수가 반환될 때 가장 먼저 팝됩니다. 이렇게 하면 함수가 반환될 때 각 함수 호출에 대한 메모리가 자동으로 해제되므로 함수 호출에 사용되는 메모리를 쉽게 관리할 수 있습니다. 스택은 또한 인터럽트 또는 예외가 발생할 때마다 프로그램 카운터 및 레지스터 값을 포함하여 프로세서의 현재 상태를 저장하는 데 ..

공부/자료구조 2023.02.05
반응형