>  기사  >  운영 및 유지보수  >  어떤 유형의 Linux 장치 파일이 있습니까?

어떤 유형의 Linux 장치 파일이 있습니까?

青灯夜游
青灯夜游원래의
2022-05-11 18:11:475255검색

Linux 장치 파일에는 두 가지 유형이 있습니다. 1. 문자 장치는 바이트 스트림처럼 액세스할 수 있는 장치 파일입니다. 문자 장치에 읽기 또는 쓰기 요청이 발생하면 해당 IO 작업이 즉시 발생합니다. 2. 블록 장치는 TO 작업을 수행할 때 블록 단위로 액세스해야 하는 장치 파일입니다. 일반적인 블록 장치에는 하드 디스크, 플로피 디스크 드라이브, Blu-ray 드라이브가 포함됩니다. 레이 리더와 플래시 메모리.

어떤 유형의 Linux 장치 파일이 있습니까?

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

장치 파일 개요

Unix 계열 운영 체제에서 장치 파일이나 특수 파일은 장치 드라이버에 대한 인터페이스이며 파일 시스템에 일반 파일인 것처럼 나타납니다. MS-DOS, OS/2 및 Microsoft Windows에도 특수 파일이 있습니다. 이러한 특수 파일을 사용하면 응용 프로그램은 표준 입출력 시스템 호출을 통해 장치 드라이버를 사용하여 장치와 상호 작용할 수 있습니다. 표준 시스템 호출을 사용하면 많은 프로그래밍 작업이 단순화되고 장치의 기능과 관계없이 일관된 사용자 공간 I/O 메커니즘이 가능해집니다.

장치 파일은 일반적으로 프린터 및 직렬 포트와 같은 표준 장치에 간단한 인터페이스를 제공하지만 디스크 파티션과 같은 장치의 특정 고유 리소스에 액세스하는 데 사용될 수도 있습니다. 또한 장치 파일은 데이터 싱크 및 난수 생성기와 같이 실제 장치와 연결되지 않은 시스템 리소스에 액세스하는 데 유용합니다.

Linux 시스템에는 7가지 유형의 파일이 있습니다.

  • 일반 파일(-)

  • 디렉토리(d)

  • 소프트 링크(문자 링크 L)

  • 소켓 파일( S)

  • 문자 장치(S)

  • 블록 장치(B)

  • 파이프 파일(파이프 P로 명명)

따라서 장치 파일에는 문자 장치와 두 가지 유형이 있습니다. 블록 장치.

(1) 문자 장치

문자 장치는 문자 장치에 읽기 또는 쓰기 요청이 발생하면 해당 IO 작업이 즉시 발생합니다. Linux 시스템의 많은 장치는 문자 터미널, 직렬 포트, 키보드, 마우스 등과 같은 문자 장치입니다. 임베디드 Linux 개발에서 가장 일반적인 것은 문자 장치와 드라이버입니다.

(2) 블록 장치

블록 장치는 Linux 시스템에서 TO 작업을 수행할 때 블록 단위로 접근해야 하는 장치입니다. 블록 장치 드라이버는 시스템 메모리의 일부를 버퍼로 사용하므로 블록 장치에 대한 읽기 및 쓰기 액세스를 실행한다고 해서 반드시 하드웨어 I/O 작업이 즉시 발생하지는 않습니다. Linux 시스템의 일반적인 블록 장치에는 하드 디스크, 플로피 드라이브 등이 포함됩니다.

블록 장치와 문자 장치 구별

  • 블록 장치는 고정 크기의 데이터 청크에 대한 무작위(순차적일 필요는 없음) 액세스로 구별되는 하드웨어 장치입니다. 고정된 크기의 청크를 블록이라고 합니다. 가장 일반적인 블록 장치는 하드 디스크이지만 플로피 드라이브, 블루레이 리더, 플래시 메모리와 같은 다른 블록 장치도 많이 존재합니다. 이는 파일 시스템이 마운트되는 장치이며 파일 시스템은 블록 장치의 범용 언어와 같습니다.

  • 문자 장치는 바이트 단위로 연속적인 데이터 스트림을 통해 액세스됩니다. 일반적인 문자 장치는 터미널(물리적이든 가상이든 다양한 유형의 터미널이 있음)과 키보드입니다.

블록 장치와 문자 장치를 구별하는 가장 쉬운 방법은 데이터에 접근하는 방식을 살펴보는 것입니다. 블록 디바이스는 랜덤하게 접근하여 데이터를 얻을 수 있고, 캐릭터 디바이스는 바이트 순서로 접근해야 합니다.

여기서 약간의 데이터를 읽고, 저기서 약간의 데이터를 읽고, 이를 연속적인 전체 데이터 조각으로 묶을 수 있다면 이는 블록 장치입니다. 하드 디스크의 데이터가 불연속적인 것처럼, 필요할 수도 있습니다. 랜덤 액세스를 통해 데이터 조각을 얻습니다. 예를 들어, 디스크의 약간 큰 파일에서 처음 10k 데이터는 연속 데이터 블록이나 연속 섹터에 있을 수 있고 다음 10k 데이터는 해당 파일에서 멀리 떨어져 있거나 심지어 다른 실린더에 있을 수도 있습니다.

데이터 조각의 각 바이트가 액세스할 때와 동일한 바이트 순서로 되어 있다면, 즉 액세스할 때부터 데이터의 최종 처리까지 바이트 순서가 완전히 일관된다면 이는 문자 장치입니다. 즉, 문자 장치는 스트림 장치로 생각할 수 있습니다. 키보드에서 데이터를 입력하는 것과 마찬가지로 두 개의 키를 연속해서 누르면 이 두 키에 해당하는 바이트 데이터를 수신할 때 먼저 앞쪽에 입력한 후 뒤쪽에 입력해야 합니다. 마찬가지로 터미널 장치도 같은 방식으로 작동합니다. 프로그램이 터미널에 데이터를 출력할 때 프로그램은 먼저 문자 a를 출력한 다음 숫자 3을 출력합니다. 그런 다음 터미널에 표시할 때 a가 앞에 있어야 하고 앞에 3이 있어야 합니다. 뒷면.

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 어떤 유형의 Linux 장치 파일이 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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