프로세스는 시스템의 자원 할당 및 스케줄링의 기본 단위입니다.
프로세스는 프로세서를 선점하는 스케줄링 단위이기도 합니다. 이는 완전한 가상 주소 공간을 갖습니다. (추천 학습: bWeb 프론트엔드 동영상 튜토리얼 )
프로세스가 예약되면 서로 다른 프로세스는 서로 다른 가상 주소 공간을 가지며, 동일한 프로세스의 서로 다른 스레드는 동일한 주소 공간을 공유합니다.
프로세스에 해당하는 스레드는 리소스 할당과 관련이 없으며 특정 프로세스에 속하며 프로세스의 다른 스레드와 프로세스의 리소스를 공유합니다. 스레드는 관련 스택(시스템 스택 또는 사용자 스택) 레지스터와 스레드 제어 테이블 TCB로만 구성됩니다. 레지스터는 스레드 내에 지역 변수를 저장하는 데 사용할 수 있지만 다른 스레드와 관련된 변수는 저장할 수 없습니다. 일반적으로 프로세스에는 프로세스가 소유한 리소스를 활용할 수 있는 여러 스레드가 포함될 수 있습니다. 스레드를 도입한 운영 체제에서 프로세스는 일반적으로 자원 할당의 기본 단위로 간주되며, 스레드는 독립적인 작업 및 독립적인 스케줄링의 기본 단위로 간주됩니다. 스레드는 프로세스보다 작기 때문에 기본적으로 시스템 리소스를 소유하지 않으므로 스레드를 예약하는 데 드는 오버헤드가 훨씬 작아지고 시스템의 여러 프로그램 간의 동시 실행 정도를 보다 효율적으로 높일 수 있으므로 시스템 리소스 활용도가 크게 향상됩니다. 그리고 처리량. 따라서 최근 출시된 범용 운영 체제에서는 시스템의 동시성을 더욱 향상시키기 위해 스레드를 도입했으며 이를 현대 운영 체제의 중요한 지표로 간주합니다.스레드 엔터티에는 프로그램, 데이터 및 TCB가 포함됩니다. 스레드는 동적 개념이며 스레드 제어 블록(TCB)에 의해 동적 특성이 설명됩니다.
TCB에는 다음 정보가 포함됩니다.
(1) 스레드 상태.
(2) 스레드가 실행되지 않을 때 저장되는 현장 리소스입니다. (3) 실행 스택 세트입니다. (4) 각 스레드의 로컬 변수를 메인 메모리 영역에 저장합니다. (5) 동일한 프로세스에서 주 메모리 및 기타 리소스에 액세스합니다. 실행 중인 명령 시퀀스의 프로그램 카운터를 표시하고 로컬 변수, 몇 가지 상태 매개변수, 반환 주소 등을 유지하는 데 사용되는 레지스터 및 스택 세트입니다.위 내용은 운영 체제에서 자원 할당의 최소 단위는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!