nhỏ|Linux API, Linux ABI, API và ABI trong nhân
Nhân Linux cung cấp một số giao diện cho các ứng dụng ở không gian người dùng sử dụng cho các mục đích khác nhau và có các thuộc tính khác nhau tùy theo thiết kế. Có hai loại giao diện lập trình ứng dụng (API) trong nhân Linux, không nên nhầm lẫn giữa: API "hạt nhân – không gian người dùng" và API "nội bộ hạt nhân".
API Linux
nhỏ| API Linux được cấu thành từ Giao diện cuộc gọi hệ thống của nhân Linux, Thư viện GNU C (bởi [[GNU), libcgroup, libdrm, libalsa và libevdev (bởi freedesktop.org). ]]
nhỏ|API Linux so với API POSIX
API Linux là API hạt nhân – người sử dụng không gian, cho phép các chương trình trong không gian người dùng có thể truy cập hệ thống tài nguyên và các dịch vụ của hạt nhân Linux. Nó được cấu thành từ Giao diện cuộc gọi hệ thống của nhân Linux và các chương trình con trong Thư viện GNU C (glibc). Trọng tâm của sự phát triển API Linux là cung cấp các tính năng có thể sử dụng của các thông số kỹ thuật được xác định trong POSIX theo cách tương thích hợp lý, mạnh mẽ và hiệu quả và cung cấp các tính năng hữu ích bổ sung không có trong POSIX, giống như các API hạt nhân– không gian người dùng của các hệ thống khác đang triển khai trên API POSIX cũng cung cấp các tính năng bổ sung không có trong POSIX.
API Linux, theo lựa chọn, đã được giữ ổn định trong nhiều thập kỷ và không bao giờ bị phá vỡ; sự ổn định này đảm bảo tính di động của mã nguồn. Đồng thời, các nhà phát triển nhân Linux trong lịch sử đã bảo thủ và tỉ mỉ trong việc giới thiệu các cuộc gọi hệ thống mới.
Nhiều phần mềm nguồn mở và miễn phí có sẵn được viết cho API POSIX. Do có quá nhiều dòng phát triển vào nhân Linux so với các nhân tương thích với POSIX khác và thư viện chuẩn của C,nhân Linux và API của nó đã được tăng cường với các tính năng bổ sung. Theo như các tính năng bổ sung này cung cấp lợi thế kỹ thuật, lập trình cho API Linux được ưu tiên hơn API-POSIX. Các ví dụ nổi tiếng hiện nay là udev, systemd và Weston. Những người như Lennart Poettering công khai ủng hộ API Linux hơn API POSIX, nơi điều này mang lại lợi thế.
Tại FOSDEM 2016, Michael Kerrisk đã giải thích một số vấn đề được nhận thấy với API không gian người dùng của hạt nhân Linux, mô tả rằng nó chứa nhiều lỗi thiết kế do không thể mở rộng, không thể hiểu được, quá phức tạp, vi phạm các tiêu chuẩn và không nhất quán. Hầu hết các lỗi đó không thể sửa được vì làm như vậy sẽ phá vỡ ABI mà kernel thể hiện cho không gian người dùng.
Giao diện cuộc gọi hệ thống của nhân Linux
Giao diện cuộc gọi hệ thống là toàn bộ tất cả các cuộc gọi hệ thống được triển khai và có sẵn trong một hạt nhân. Các hệ thống con khác nhau, chẳng hạn như DRM xác định các cuộc gọi hệ thống của riêng chúng và toàn bộ được gọi là Giao diện cuộc gọi hệ thống.
Nhiều vấn đề khác nhau với việc tổ chức các cuộc gọi hệ thống nhân Linux đang được thảo luận công khai. Nhiều vấn đề đã được chỉ ra bởi Andy Lutomirski, Michael Kerrisk và những người khác.
Thư viện chuẩn C
nhỏ|Thư viện GNU C là một trình bao bọc xung quanh Giao diện cuộc gọi hệ thống nhân Linux.
Thư viện GNU C là một trình bao bọc xung quanh các lệnh gọi hệ thống của nhân Linux; sự kết hợp giữa Giao diện cuộc gọi hệ thống nhân Linux và glibc là thứ xây dựng lên API Linux.
- Thư viện GNU C (glibc)
- GLIBC nhúng
- uClibc
- klibc
- Newlib
- musl
- dietlibc
- libbionic và libhybris
Bổ sung vào POSIX
Giống như trong các hệ thống tương tự Unix khác, các API bổ sung của nhân Linux không phải là một phần của POSIX:
- hệ thống con cgroups, hệ thống gọi nó là giới thiệu và libcgroup
memfd
được đề xuất bởi các nhà phát triển kdbus
** memfd_create
đã được hợp nhất vào dòng chính của nhân Linux trong phiên bản kernel 3.17
readahead
khởi tạo một tập tin "đọc trước" vào bộ đệm trang
DRM là tối quan trọng cho việc phát triển và triển khai các trình điều khiển thiết bị đồ họa nguồn mở và miễn phí được xác định rõ ràng và hiệu năng mà không có khả năng tăng tốc kết xuất nào khả dụng, hoặc thậm chí tệ hơn, chỉ có các trình điều khiển 2D mới có sẵn trong X.Org Máy chủ. DRM được phát triển cho Linux và từ đó cũng đã được chuyển sang các hệ điều hành khác.
Thư viện khác
- libdrm (dành cho Trình quản lý kết xuất trực tiếp)
- libnl (Bộ libnl là một tập hợp các thư viện cung cấp API cho các giao diện kernel dựa trên giao thức netlink.)
- libevdev (cho evdev)
- libasound (Kiến trúc âm thanh Linux nâng cao)
*...
Linux ABI
nhỏ|API Linux và ABI Linux
Thuật ngữ Linux ABI dùng để chỉ một ABI không gian người dùng của kernel. Giao diện nhị phân ứng dụng đề cập đến các thư viện được biên dịch, trong mã máy. Bất kỳ ABI như vậy do đó bị ràng buộc với tập lệnh. Xác định ABI hữu ích và giữ ổn định là trách nhiệm của các nhà phát triển nhân Linux hoặc của các nhà phát triển Thư viện GNU C và nhiệm vụ cho các nhà phân phối Linux và nhà cung cấp phần mềm độc lập (ISV) muốn bán và cung cấp hỗ trợ cho họ phần mềm độc quyền dưới dạng nhị phân chỉ dành cho một ABI Linux duy nhất, trái ngược với việc hỗ trợ nhiều ABI Linux.
Một ABI phải được xác định cho mỗi tập lệnh, chẳng hạn như x86, x86-64, MIPS, ARMv7-A (32-Bit), ARMv8-A (64-Bit), vv với endianness, nếu cả hai được hỗ trợ.
Nó có thể biên dịch phần mềm với các trình biên dịch khác nhau theo các định nghĩa được chỉ định trong ABI và đạt được khả năng tương thích nhị phân đầy đủ. Trình biên dịch là phần mềm miễn phí và nguồn mở, vd Bộ sưu tập trình biên dịch GNU, LLVM / Clang.
Trên thực tế, người dùng cuối không phải tất cả đều quan tâm đến API Linux (hoặc API Windows), mà là ABI.
API nội bộ hạt nhân
Có rất nhiều API bên trong nhân cho tất cả các hệ thống con để có thể giao tiếp với nhau. Chúng đang được giữ khá ổn định, nhưng không có gì đảm bảo cho sự ổn định. Trong trường hợp nghiên cứu mới hoặc thông tin chi tiết làm cho thay đổi có vẻ thuận lợi, API sẽ được thay đổi, tất cả việc viết lại và kiểm tra cần thiết phải được thực hiện bởi tác giả.
Nhân Linux là một hạt nhân nguyên khối, do đó trình điều khiển thiết bị là các thành phần hạt nhân. Để giảm bớt gánh nặng của các công ty duy trì các trình điều khiển thiết bị (độc quyền) ngoài luồng, các API ổn định cho trình điều khiển thiết bị đã được yêu cầu nhiều lần. Các nhà phát triển nhân Linux đã liên tục phủ nhận việc đảm bảo các API trong kernel ổn định cho trình điều khiển thiết bị. Việc đảm bảo như vậy sẽ cản trở sự phát triển của nhân Linux trong quá khứ và trong tương lai và, do bản chất của phần mềm miễn phí và nguồn mở, là không cần thiết. Ergo, theo lựa chọn, hạt nhân Linux không có API nội bộ hạt nhân ổn định.
ABI nội bộ hạt nhân
Vì không có API nội bộ hạt nhân ổn định, nên không thể có ABI nội bộ hạt nhân ổn định.
API trừu tượng
nhỏ|OpenGL thực sự là một API trừu tượng để sử dụng GPU đa dạng của nhiều nhà cung cấp mà không cần phải lập trình cụ thể cho từng nhà cung cấp.
nhỏ|Nhưng việc triển khai đặc tả OpenGL được thực thi trên CPU trong bối cảnh hệ điều hành đang chạy. Một mục tiêu thiết kế của Vulkan là làm cho "trình điều khiển đồ họa", tức là việc triển khai API đồ họa, làm ít hơn.
Đối với một số trường hợp sử dụng, API Linux được coi là API ở mức độ thấp và các API trừu tượng cao hơn được sử dụng. Tất nhiên như vậy vẫn cần phải hoạt động trên các API Linux cấp thấp. Ví dụ:
- triển khai các thông số kỹ thuật OpenGL và Vulkan trong trình điều khiển đồ họa Linux độc quyền và triển khai nguồn mở và miễn phí trong Mesa
- triển khai đặc tả OpenAL
- Lớp DirectMedia đơn giản: API trừu tượng cho đầu vào / âm thanh / vv. có sẵn cho nhiều hệ điều hành
- Thư viện đa phương tiện đơn giản và nhanh chóng: như trên
👁️
2 | 🔗 | 💖 | ✨ | 🌍 | ⌚
nhỏ|Linux API, Linux ABI, API và ABI trong nhân **Nhân Linux** cung cấp một số giao diện cho các ứng dụng ở không gian người dùng sử dụng cho các mục đích khác nhau và
**Unity** là một là một môi trường desktop phân nhánh từ GNOME được phát triển bởi Canonical Ltd. cho hệ điều hành Ubuntu. Unity ra mắt trong phiên bản netbook edition của Ubuntu 10.10. Ban
nhỏ|300x300px| So sánh cấp cao các API và ABI trong nhân-không gian người dùng và nội bộ nhân nhỏ|300x300px| [[Hạt nhân Linux|Nhân Linux và Thư viện GNU C định nghĩa API Linux. Sau khi biên
Trước đây, việc điều khiển một cỗ máy bằng cách nói chuyện với chúng chỉ là những câu chuyện trong khoa học viễn tưởng. Nhưng viễn tưởng này đang dần trở thành hiện thực với
**Security-Enhanced Linux** (**SELinux**) là một module bảo mật của Linux kernel cung cấp một cơ chế hỗ trợ các chính sách bảo mật kiểm soát truy cập, bao gồm kiểm soát truy cập bắt buộc
**Lịch sử của Linux** bắt đầu vào năm 1991 với sự bắt đầu của một dự án cá nhân của sinh viên Phần Lan Linus Torvalds để tạo ra một hạt nhân hệ điều hành
Một **bản phân phối ****Linux** (thường được gọi tắt là **distro**) là một hệ điều hành được tạo dựng từ tập hợp nhiều phần mềm dựa trên hạt nhân Linux và thường có một hệ
**Fedora Linux** là một bản phân phối Linux dựa trên RPM Package Manager, được phát triển dựa trên cộng đồng theo Fedora Project và được bảo trợ bởi Red Hat, một công ty con của
**Bharat Operating System Solutions (BOSS)** là một bản phân phối Linux phát triển bởi National Resource Centre for Free/Open Source Software (NRCFOSS) của Ấn Độ. **BOSS GNU/Linux** cũng được biết đến bởi các từ viết
**SUSE Linux** ( or ; ) là một hệ điều hành máy tính. Nó được xây dựng từ mã nguồn của Linux kernel và phân phối cùng với các phần mềm hệ thống và và
**Red Hat Linux**, được phát triển bởi công ty RedHat, là hệ điều hành dựa trên Linux phổ biến cho đến khi ngừng phát triển trong năm 2004. Red Hat Linux 1.0 được phát hành
**Puppy Linux** là một bản phân phối Linux nhẹ, tập trung vào tính dễ sử dụng. Toàn bộ hệ thống có thể được chạy từ RAM, cho phép các gỡ bỏ phương tiện khởi động
thumb|right|upright=1.2|Trẻ em được dạy cách sử dụng máy tính xách tay cá nhân; màn hình CRT, bàn phím và chuột máy tính để bàn cũ hơn (thời 1990) có thể nhìn thấy trong nền. **Máy
nhỏ|313.976x313.976px|[[iPhone XS Max, iPhone XR và XS (từ trái qua phải) của Apple ra mắt ngày 12 tháng 9 năm 2018.]] **Điện thoại thông minh** hay **smartphone** là khái niệm để chỉ các loại thiết
nhỏ|275x275px|Nhân hệ điều hành kết nối phần mềm ứng dụng với phần cứng máy tính.|thế= **Nhân hệ điều hành** () là một chương trình máy tính, là thành phần trung tâm và không thể thiếu
Trong các hệ điều hành tương tự Unix, **tập tin thiết bị** hoặc **tập tin đặc biệt** là giao diện tới driver thiết bị nằm trong hệ thống tập tin như một tập tin thông
[[KDE 3.5]] [[GNOME 2.12.0]] Trong khoa học máy tính, **Hệ thống X Window** (còn được gọi tắt là **X11** hay **X**) là một windowing system dùng để hiển thị đồ họa bitmap. Nó cung ứng
thế=|nhỏ|300x300px|[[Giao diện nhân Linux|Linux API được cấu thành từ System Call Interface của nhân Linux, GNU C Library (của GNU), libdrm, libalsa và libevdev (củafreedesktop.org).]] thế=|nhỏ|300x300px|GNU C Library là một trình bao bọc xung quanh
**iptables** là một chương trình chạy ở không gian người dùng, cho phép người quản trị hệ thống có thể cấu hình các bảng của tường lửa trong nhân Linux (được cài đặt trong các
nhỏ|Jim Zemlin tại lễ khai mạc LinuxCon Europe 2014 nhỏ|Linus Torvalds tại LinuxCon North America 2016 **Linux Foundation** (**LF**) là một hiệp hội thương mại công nghệ phi lợi nhuận được thành lập để thúc
thumb|right|Ảnh chụp màn hình trang chính của Wikipedia tiếng Việt tháng 12 năm 2020 **Ảnh chụp màn hình** (tiếng Anh: _screenshot_, _screen capture_ hay _screen grab_) là một hình ảnh thu lại những gì được
**Adobe AIR** (trước đây là **Adobe Integration Runtime**) là một hệ thống runtime đa nền tảng được Adobe Systems phát triển để xây dựng các ứng dụng máy tính để bàn và ứng dụng di
nhỏ| Một ví dụ cho thấy một hệ thống [[điện toán lưới kết nối nhiều máy tính cá nhân qua Internet bằng cách sử dụng giao tiếp mạng giữa các quá trình ]] Trong khoa
**_Chicken Invaders_** là một loạt trò chơi điện tử shoot 'em up do nhà phát triển độc lập ở Hy Lạp là Konstantinos Prouskas sáng tạo. Với việc phát hành phiên bản đầu tiên là
**_Torchlight_** là một trò chơi hành động nhập vai được phát triển bởi Runic Games và được phát hành bởi Perfect World, ra mắt trên Windows trong tháng 10 năm 2009. Trò chơi theo chủ
Đây là danh sách tất cả trò chơi điện tử trên Wikipedia, được sắp xếp theo các phân loại khác nhau. ## Theo hệ máy ### Acorn * Danh sách trò chơi Acorn Electron ###
**_Saurian_** là một trò chơi điện tử thế loại mô phỏng sinh tồn, phát triển và phân phối bởi hãng Urvogel Games, tập trung vào sự mô phỏng chính xác lại môi trường tự nhiên
**GNOME Shell** là lớp vỏ đồ họa của GNOME bắt đầu từ phiên bản 3, được phát hành vào ngày 6/4/ 2011. Nó cung cấp các tính năng cơ bản như khởi động ứng dụng,
Sản phẩm Chuột bay G10S điều khiển giọng nói cho SmartTV, TV Box, PC- HÀNG CHÍNH HÃNG Full Box 100% là hàng mới nguyên tem nguyên hộp chất lượng cao được cửa hàng chúng tôi
Sản phẩm Remote Điều khiển Chuột bay G10S bản Pro BT giọng nói CHUỘT BAY + ĐÈN NỀN TIỆN LỢI DÙNG BAN ĐÊM cho SmartTV, TV Box, PC bao gồm các tính năng hiện đại
Sản phẩm Remote Điều khiển chuột bay giọng nói G20S SmartTV, TV Box, PC- HÀNG CHÍNH HÃNG Full Box là hàng mới nguyên tem nguyên hộp chất lượng cao được cửa hàng chúng tôi cam
Sản phẩm Remote Điều khiển chuột bay giọng nói T1 MAX dùng cho SmartTV, TV Box, PC TV Android - HÀNG CHÍNH HÃNG NEW TẶNG KÈM PIN là hàng mới nguyên tem nguyên hộp chất
Sản phẩm Remote Điều khiển chuột bay giọng nói G20S PRO BT SmartTV, TV Box, PC ĐÈN NỀN TIỆN LỢI- HÀNG CHÍNH HÃNG NEW TẶNG KÈM PIN là hàng mới nguyên tem nguyên hộp chất
Sản phẩm Remote Điều khiển chuột bay giọng nói G21 SmartTV, TV Box, PC ĐÈN NỀN TIỆN LỢI- HÀNG CHÍNH HÃNG NEW TẶNG KÈM PIN ĐÈN NỀN TIỆN LỢI- HÀNG CHÍNH HÃNG NEW TẶNG KÈM
**Filesystem in Userspace** (**FUSE**) là một lõi module nạp được cho các hệ thống máy tính chạy hệ điều hành họ Unix, cho phép người dùng thông thường có khả năng tạo các hệ thống
**_Detention_** () là trò chơi điện tử thuộc thể loại kinh dị sinh tồn mạo hiểm được phát triển bởi nhóm sản xuất trò chơi Đài Loan Red Candle Games trên nền tảng Steam. Trò
**_Nebuchadnezzar_** là tựa game xây dựng thành phố được Nepos Games phát triển và phát hành cho Windows và Linux vào ngày 3 tháng 12 năm 2020. Game lấy bối cảnh diễn ra ở Lưỡng
Tương thích với tất cả các loại thiết bị như SmartTV, TV Box, PC, Gamepad hỗ trợ tìm kiếm giọng nói hầu như tất cả các loại Android Box và Tivi android sử dụng hệ
Một PDA đang hiển thị [[biểu trưng của Wikipedia.]] **Thiết bị kỹ thuật số hỗ trợ cá nhân** thường được gọi theo viết tắt tiếng Anh là **PDA** (_Personal Digital Assistant_), là các thiết bị
nhỏ|phải|**[[Qt Designer** - phần mềm thiết kế giao diện bằng các khiển tố của Qt.]] **Qt** (cách phát âm chính thức tương tự như từ _cute_ _/ˈkjuːt/_ trong tiếng Anh), một kiểu phát âm phổ
**Thư rác**, **thư linh tinh**, hay còn được dùng dưới tên gốc Anh ngữ là **spam** hay **spam mail**, là các thư điện tử vô bổ thường chứa các loại quảng cáo được gửi một
Trong mạng máy tính, **Point-to-Point Protocol** (hoặc **PPP**) là một giao thức liên kết dữ liệu, thường được dùng để thiết lập một kết nối trực tiếp giữa 2 nút mạng. Nó có thể cung
**Tomb Raider** là một trò chơi phiêu lưu hành động được công ty Square Enix phát hành và là phần thứ tư trong thương hiệu trò chơi được phát triển bởi Crystal Dynamics. Đây là
thumb|Hình chụp một trang web của một dự án của [[Wikimedia Foundation.]] Trong điện toán, một **danh sách đen**, **danh sách không cho phép**, **danh sách chặn** hoặc **danh sách từ chối** là một cơ
nhỏ|Ngôn ngữ lập trình TK **Tk** là bộ công cụ gồm các thành phần giao diện người dùng đồ họa (_GUI widget_). Sử dụng Tk với một ngôn ngữ lập trình, ta có thể viết
**Android** là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.
**Dell Inc.** là một công ty công nghệ có trụ sở tại Hoa Kỳ. Công ty phát triển, bán hàng, sửa chữa và hỗ trợ máy tính và các sản phẩm và dịch vụ liên
**Máy tính bảng** (Tiếng Anh: Tablet computer hay tablet PC), là một thiết bị di động, thông thường có hệ điều hành di động và mạch xử lý, màn hình cảm ứng và viên pin
**Ubuntu** () là một hệ điều hành máy tính dựa trên Debian GNU/Linux, một bản phân phối Linux thông dụng. Tên của nó bắt nguồn từ "ubuntu" trong tiếng Zulu, có nghĩa là "tình người",
nhỏ|Hackday với [[Jolla, Mer và Nemo Mobile tháng 8/2012]] **Sailfish OS** (cũng được viết là **SailfishOS** Hệ điều hành được phát hành cùng với máy tính bảng và smartphone Jolla (dừng bán năm 2016 nhưng