명령줄 인터프리터는 일반 GUI 프로그램과 동일한 방식으로 커널/장치 드라이버와 상호 작용합니까?

명령줄 인터프리터는 일반 GUI 프로그램과 동일한 방식으로 커널/장치 드라이버와 상호 작용합니까?

예를 들어 오프로드는 파일 시스템에서 구현됩니다.

비디오 해상도 변경은 비디오 렌더링 하드웨어를 사용하여 모니터의 디스플레이를 추적하고 관리하는 컴퓨터 프로그램에서 구현됩니다.

명령줄에서 결과를 변경할 수 있습니다(필자는 Linux인 Ubuntu에서 이 작업을 수행했습니다).

Linux 커널 API를 구문 분석하는 명령 인터페이스는 GUI 프로그램에서 해상도를 변경하는 것과 유사합니까, 아니면 이 형식에서 CLI가 다른가요?

내 질문이 너무 혼란스럽지 않기를 바랍니다. 그렇다면 적절하게 편집하겠습니다.

답변1

Linux에서는 실제로 GUI 애플리케이션과 터미널 애플리케이션 사이에 의미 있는 차이가 없습니다. 사실 X는그냥 또 다른 앱- 꽤 정교한 작업을 수행하지만 운영 체제에 관한 한 특별한 것은 아닙니다. X가 할 수 있는 모든 작업은 다른 응용 프로그램에서도 할 수 있으며, 궁극적으로 X는 디스플레이 및 입력 장치를 관리하고 통합 API를 노출하여 기본 하드웨어에 관계없이 화면에 그리기, 포인팅 장치 입력 읽기 등의 작업을 수행합니다. 다양한 툴킷(예: Qt, GTK 등)이 이러한 기반 위에 구축되어 사용자 모드 애플리케이션을 개발하는 고급 방법을 제공하고 입력 텍스트 상자, 메뉴, 클릭 가능한 버튼, 목록 보기 등과 같은 고급 기능을 제공합니다.

일부 Linux 응용 프로그램은 모니터가 현재 터미널에 연결되어 있는지 여부에 따라 사용할 인터페이스를 선택하는 이중 사용자 인터페이스도 표시합니다. X 인터페이스가 필요한지 여부에 따라 더 많은 버전이 별도의 버전으로 제공됩니다. 예를 들어 Emacs와 Vim이 있습니다.

이는 GUI가 모든 의도와 목적을 위해 운영 체제 자체의 필수적인 부분인 Windows 또는 OS X와는 극명한 대조를 이룹니다. 예를 들어 Windows Server Core를 사용하면 Explorer와 기타 여러 항목이 제거되었지만 기본적으로 명령 프롬프트 창으로 이동한다는 점을 제외하면 GUI는 그대로 유지되었습니다. 지금저것익숙해지는 데 시간이 걸립니다.

Linux 커널은 자체 명령줄(부팅 관리자를 통해 편집할 수 있음)을 제외한 모든 명령줄에 관심이 없습니다. 그 이상의 모든 것($PATH 처리 및 파일 이름 글로빙 포함)은 GNOME 데스크탑, bash 쉘, 시스템 초기화 응용 프로그램(보통 /sbin/init - 해당 응용 프로그램이 예임에도 불구하고)과 같은 사용자 공간 응용 프로그램에 의해 처리됩니다.일부커널 일부와 사용자 영역 프로그램 간의 하이브리드로, 다른 프로그램과 마찬가지로 사용자 공간에서 실행되며 커널, 텍스트 편집기 또는 기타 항목에서 부여한 특별한 권한이 없습니다.

우분투는 "본질적으로 Linux"가 아닙니다. "본질적으로 Linux"입니다. Debian, Slackware, RHEL, SuSE 또는 기타 배포판과 같은 Linux 배포판입니다. 거의 모든 다른 주요 배포판과 마찬가지로 자체 소프트웨어 중 일부를 패키지화할 수 있지만 Linux가 아닌 것은 없습니다. 하지만 데비안과 밀접한 관련이 있습니다.할 수 있는Linux 없이도 사용할 수 있습니다(예: 이전 Debian과 거의 동일하지만 FreeBSD 커널 위에서 실행되는 Debian/kFreeBSD).

관련 정보