Bước tới nội dung

Shell (điện toán)

Bách khoa toàn thư mở Wikipedia
Một giao diện đồ họa tương tự như những giao diện từ cuối thập niên 1980, trong đó có một cửa sổ TUI cho một trang man, một cửa sổ có hình dạng (oclock) cùng với nhiều cửa sổ được biểu tượng hóa. Ở phía dưới bên phải chúng ta có thể thấy một trình giả lập đầu cuối đang chạy shell Unix, nơi người dùng có thể nhập lệnh giống như khi họ đang ngồi trước một thiết bị đầu cuối.

Trong điện toán, shell là chương trình máy tính trình bày các dịch vụ của một hệ điều hành tới người dùng hoặc các chương trình khác. Nói chung, các shell hệ điều hành thường sử dụng giao diện dòng lệnh (CLI) hoặc giao diện người dùng đồ họa (GUI), tùy vào vai trò và hoạt động cụ thể của máy tính. Nó được gọi là shell (vỏ ngoài) bởi đây là lớp ngoài cùng của hệ điều hành.[1][2]

Tổng quan

[sửa | sửa mã nguồn]

Các hệ điều hành cung cấp nhiều dịch vụ tới người dùng, bao gồm quản lý tập tin, quản lý tiến trình (chạy và ngừng các ứng dụng), xử lý hàng loạt, giám sát và cấu hình hệ điều hành.

Hầu hết các hệ điều hành không phải là các giao diện trực tiếp tới hạt nhân bên dưới, kể cả khi một shell tương tác với người dùng thông qua các thiết bị ngoại vi được gắn trực tiếp vào máy tính. Shell thực chất là các ứng dụng đặc biệt sử dụng API hạt nhân giống như cách mà các chương trình ứng dụng khác vẫn làm. Shell quản lý tương tác người dùng–hệ thống bằng cách yêu cầu nhập liệu từ người dùng, diễn dịch dữ liệu đầu vào của họ, và xử lý đầu ra từ hệ điều hành bên dưới (khá giống với vòng lặp đọc–đánh giá–in, REPL).[3] Bởi shell hệ điều hành thực chất là một ứng dụng, nó có thể dễ dàng được thay thế bằng một ứng dụng tương tự khác, trên hầu hết các hệ điều hành.

Ngoài các shell chạy trên hệ thống cục bộ, có nhiều cách khác nhau để người dùng cục bộ có thể truy cập các hệ thống từ xa; những cách tiếp cận như vậy thường được gọi là truy cập từ xa ("remote access") hoặc quản trị từ xa ("remote administration"). Ban đầu xuất hiện trên các máy tính lớn đa người dùng, nhằm cung cấp các giao diện người dùng dựa trên văn bản cho mỗi người dùng hoạt động cùng lúc thông qua thiết bị đầu cuối văn bản kết nối với máy tính lớn qua đường nối tiếp hoặc modem, truy cập từ xa đã được mở rộng sang các hệ thống tương tự Unix và Microsoft Windows. Trên hệ thống tương tự Unix, giao thức Secure Shell (SSH) thường được sử dụng cho các shell dựa trên văn bản, trong khi đường hầm SSH có thể được sử dụng cho các giao diện người dùng đồ họa (GUI) dựa trên Hệ thống X Window. Trên Microsoft Windows, Remote Desktop Protocol có thể được sử dụng để cung cấp truy cập từ xa GUI, và kể từ Windows Vista, PowerShell Remote có thể được sử dụng dành cho truy cập từ xa dựa trên văn bản thông qua WMI, RPC, và WS-Management.[4]

Hầu hết các shell hệ điều hành thuộc một trong hai phân loại – dòng lệnh và đồ họa. Shell dòng lệnh cung cấp giao diện dòng lệnh (CLI) cho hệ điều hành, còn shell đồ họa cung cấp giao diện người dùng đồ họa (GUI). Các phân loại khác ít phổ biến hơn bao gồm giao diện người dùng giọng nói và các cách triển khai khác nhau của giao diện người dùng dựa trên văn bản (TUI) nhưng không phải CLI, ví dụ như các hệ thống menu dựa trên văn bản. Những ưu điểm của shell dựa trên CLI và GUI là chủ đề thường xuyên được bàn luận. Nhiều người dùng máy tính sử dụng cả hai tùy theo tác vụ cần thực hiện.

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ “The Internet's fifth man”, Brain scan, The Economist, London: Economist Group, 13 tháng 12 năm 2013, Mr Pouzin created a program called RUNCOM that helped users automate tedious and repetitive commands. That program, which he described as a “shell” around the computer’s whirring innards, gave inspiration—and a name—to an entire class of software tools, called command-line shells, that still lurk below the surface of modern operating systems.
  2. ^ Raymond, Eric S. (biên tập). “shell”. The Jargon File.
  3. ^ “Operating system shells”. AIX 6.1 Information Center. IBM Corp. Truy cập ngày 16 tháng 9 năm 2012.
  4. ^ Wheeler, Sean (14 tháng 10 năm 2018). “Running Remote Commands”. Microsoft Docs. Microsoft. Truy cập ngày 30 tháng 6 năm 2019. You can run commands on one or hundreds of computers with a single PowerShell command. Windows PowerShell supports remote computing by using various technologies, including WMI, RPC, and WS-Management.
Lỗi chú thích: Thẻ <ref> có tên “BCS” được định nghĩa trong <references> không được đoạn văn bản trên sử dụng.