리눅스에는 어떤 모듈이 있나요?

青灯夜游
풀어 주다: 2022-04-14 18:42:07
원래의
3793명이 탐색했습니다.

Linux에는 5개의 주요 모듈이 있습니다. 1. 프로세스에서 사용하는 프로세서를 관리하고 제어하는 ​​데 주로 사용되는 프로세스 스케줄링 모듈 2. 주로 동기화, 데이터 공유 및 데이터 공유를 제어하는 ​​데 사용되는 프로세스 간 통신 모듈 사용자 공간의 서로 다른 프로세스 간 교환 3. 다중 프로세스의 스토리지 관리를 실현하기 위해 고급 가상 스토리지 메커니즘을 사용하는 메모리 관리 모듈

리눅스에는 어떤 모듈이 있나요?

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

Linux 커널에는 프로세스 스케줄링 모듈, 프로세스 간 통신 모듈, 메모리 관리 모듈, 파일 시스템 모듈, 네트워크 인터페이스 모듈 등 5개의 주요 하위 모듈이 포함되어 있습니다.

리눅스에는 어떤 모듈이 있나요?

1. 프로세스 스케줄링 모듈

Linux는 프로세스를 시스템 자원 할당의 기본 단위로 사용하며, 프로세서를 사용하는 각 프로세스의 합리성을 보장하기 위해 동적 우선 순위 프로세스 고급 알고리즘을 채택합니다. 프로세스 스케줄링 모듈은 주로 프로세스에서 사용하는 프로세서를 관리하고 제어합니다.

【프로세스 생성】:

Linux 환경에서 프로그래밍할 때는 일반적으로 fork()/vfork() 함수를 사용합니다. (fork는 하위 프로세스를 생성하고 상위 프로세스의 메모리 데이터를 자식 프로세스는 자식 프로세스를 생성하고 이를 부모 프로세스의 메모리 데이터 공유와 함께 사용하여 새로운 프로세스를 생성합니다. 물론 이는 커널에서 clone() 시스템 호출을 호출합니다. clone() 함수에 의해 제어되는 는 do_fork()를 계속 호출하여 프로세스 생성을 완료합니다.

fork()/vfork()/_clone--->clone()--->do_fork()--->copy_process()
로그인 후 복사

【Process Undo】:

 프로세스가 종료된 후 메모리, 열린 파일 및 세마포와 같은 기타 리소스를 포함하여 프로세스가 소유한 리소스를 커널이 해제할 수 있도록 커널에 알려야 합니다. 프로세스를 종료하는 일반적인 방법은

exit() 라이브러리 함수를 호출하는 것입니다. 이 함수는 C 함수 라이브러리에서 할당한 리소스를 해제하고 프로그래머가 등록한 각 함수를 실행한 후 시스템에서 프로세스를 회수하는 시스템 호출을 종료합니다. .

【프로세스 전환】:

  프로세스 전환을 태스크 전환, 컨텍스트 전환이라고도 합니다. 프로세스의 실행을 제어하기 위해 커널이 현재 CPU에서 실행 중인 프로세스를 일시 중지하고 이전에 일시 중지된 일부 프로세스의 실행을 다시 시작하는 동작입니다.  기본적으로 각 프로세스 스위치는 두 부분으로 구성됩니다.

    페이지 전역 디렉터리를 전환하여 새 주소 공간을 설치합니다.
  • 하드웨어 컨텍스트가 실행할 커널을 제공하므로 커널 모드 스택과 하드웨어 컨텍스트를 전환합니다. CPU 레지스터를 포함하여 필요한 모든 정보는 주로 switch_to() 함수에 의해 완성됩니다.

【프로세스 스케줄링】:

  최신 Linux에서 스케줄링 알고리즘은 (실행 가능한 프로세스 수에 관계없이) 고정된 시간 내에 실행할 프로세스를 선택할 수 있습니다. 우선 프로세스는 실시간 프로세스와 일반 프로세스로 나눌 수 있다는 것을 알아야 합니다. 각 LInux 프로세스는 항상 다음 예약 유형에 따라 예약됩니다: 선입선출 실시간 프로세스, 타임 슬라이스 회전 실시간 프로세스, 일반 시간 공유 프로세스. 스케줄링 알고리즘은 프로세스가 일반 프로세스인지 실시간 프로세스인지에 따라 크게 다릅니다.


2. 프로세스 간 통신 모듈

  프로세스 간 통신은 주로 서로 다른 프로세스 간의 사용자 공간에서 동기화, 데이터 공유 및 교환을 제어하는 ​​데 사용됩니다. 서로 다른 사용자 프로세스는 서로 다른 프로세스 공간을 가지므로 프로세스 간 통신은 커널 릴레이의 도움으로 이루어져야 합니다. 일반적으로 프로세스는 하드웨어 작업이 완료되기를 기다리는 동안 일시 중지됩니다. 하드웨어 작업이 완료되면 프로세스가 재개되고 이 프로세스를 조정하는 것은 프로세스 간 통신 메커니즘입니다. 프로세스 간 통신 모듈은 Linux가 파이프, 명명된 파이프, 메시지 큐, 세마포어, 공유 메모리 등


3. 메모리 관리 모듈

  Linux의 메모리 관리 모듈은 고급 가상 스토리지

메커니즘을 사용하여 여러 프로세스의 스토리지 관리를 실현합니다. 이는 매우 안정적인 스토리지 보호 조치를 제공하고 프로세스에 다양한 권한을 부여하므로 사용자는 시스템의 프로그램 및 데이터에 직접 액세스할 수 없으므로 시스템 보안이 보장됩니다. 동시에 각 사용자 프로세스에는 독립적인 가상 주소 공간이 할당됩니다.


4. 파일 시스템 모듈

 Linux의 파일 시스템 모듈은 다양한 파일 시스템 간의 차이점을 보호하고 다양한 파일 시스템을 처리하기 위한 솔루션을 제공하는 고급 가상 파일 시스템(VFS) 기술을 채택했습니다. 통합 인터페이스를 제공하며 90개 이상의 다양한 물리적 파일 시스템을 지원합니다. 동시에 Linux는 다양한 하드웨어 장치를 특수 파일로 취급하고 파일과 동일한 방식으로 장치를 관리하므로 매우 편리하고 효과적입니다.


5. 네트워크 인터페이스 모듈

 Linux는 가장 강력한 네트워크 기능을 갖추고 있습니다. 네트워크 인터페이스 모듈은 socket(소켓) 메커니즘을 통해 컴퓨터 간의 네트워크 통신을 구현하고 네트워크 계층 모델을 사용하여 여러 네트워크 프로토콜 및 네트워크 하드웨어 장치에 대한 지원을 제공합니다.

  네트워크 인터페이스는 다양한 네트워크 표준 구현과 다양한 네트워크 하드웨어 지원을 제공합니다. 네트워크 인터페이스는 일반적으로 네트워크 프로토콜과 네트워크 드라이버로 구분됩니다. 네트워크 프로토콜 부분은 가능한 모든 네트워크 전송 프로토콜을 구현하는 일을 담당합니다. 네트워크 장치 드라이버는 주로 하드웨어 장치와의 통신을 담당합니다. 가능한 모든 네트워크 하드웨어 장치에는 해당 장치 드라이버가 있습니다

관련 권장 사항: "Linux 비디오 튜토리얼"

위 내용은 리눅스에는 어떤 모듈이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿