>운영 및 유지보수 >리눅스 운영 및 유지 관리 >리눅스에서 중요한 섹션은 무엇입니까

리눅스에서 중요한 섹션은 무엇입니까

藏色散人
藏色散人원래의
2023-04-18 10:27:202432검색

Linux 중요 섹션은 중요 리소스에 액세스하는 각 프로세스의 프로그램을 의미합니다. 중요 리소스는 한 번에 하나의 프로세스에서만 사용할 수 있는 공유 리소스입니다. 및 기타 프로세스는 진입 후 진입이 불가능합니다.

리눅스에서 중요한 섹션은 무엇입니까

이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.

1. 크리티컬 섹션이 무엇인가요?

답변: 중요 리소스에 액세스하는 각 프로세스의 프로그램을 중요 섹션이라고 합니다(중요 리소스는 한 번에 하나의 프로세스에서만 사용할 수 있는 공유 리소스입니다). 한 번에 하나의 프로세스만 임계 영역에 진입할 수 있으며, 진입 후 다른 프로세스는 진입할 수 없습니다.

2. 임계 영역에 진입하는 프로세스의 스케줄링 원칙은 다음과 같습니다.

① 유휴 임계 영역에 진입하도록 요청하는 프로세스가 여러 개 있는 경우 한 번에 하나의 프로세스만 진입할 수 있습니다. ② 크리티컬 섹션에는 항상 하나 이상의 프로세스가 있을 수 없습니다. 프로세스가 자신의 임계 구역에 진입한 경우 임계 구역에 진입하려는 다른 모든 프로세스는 대기해야 합니다. ③Critical section에 진입한 프로세스는 제한된 시간 내에 종료되어야 다른 프로세스가 제때에 자신들의 Critical section에 진입할 수 있다. ④ 프로세스가 자신의 크리티컬 섹션에 들어갈 수 없다면 프로세스의 "busy wait" 현상을 피하기 위해 CPU를 포기해야 합니다.

뮤텍스 개체는 가장 간단한 커널 개체로, 특정 리소스에 대한 상호 배타적 액세스를 쉽게 달성하는 데 사용할 수 있습니다. 커널 객체이기 때문에 신호를 생성할 수 있으며 실제로 프로그램에서 상호 배제를 달성하는 데 사용됩니다.

제가 정확하게 기억한다면 임계 섹션은 커널 개체가 아니라 시스템에서 제공하는 데이터 구조입니다. 프로그램에서 이러한 유형의 변수를 선언한 다음 이를 사용하여 리소스에 상호 배타적으로 액세스할 수 있습니다. 중요한 리소스에 액세스하려면 먼저 중요한 섹션을 잠그고(중요 섹션이 유휴 상태가 아닌 경우 대기) 리소스를 모두 사용한 후 중요한 섹션을 해제합니다.

일반적으로 스레드 간 동기화에 사용되며 일반적으로 서로 바꿔 사용할 수 있습니다.

복잡한 상호 배제를 구현하려면 세마포어 커널 객체 등 다른 방법을 사용해야 합니다. 임계 섹션 개체는 프로세스에 걸쳐 있을 수 없으며 스레드 간의 공유 데이터 영역에 대한 동기화 개체입니다. 뮤텍스 개체는 프로세스 간의 공유 데이터 영역에 대한 동기화 개체로 사용될 수 있습니다.

추천 학습: "linux 비디오 튜토리얼"

위 내용은 리눅스에서 중요한 섹션은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.