Networks Business Online Việt Nam & International VH2

Hạt nhân Linux – Wikipedia tiếng Việt

Đăng ngày 03 October, 2022 bởi admin

Nhân Linux hay Linux kernel là một hạt nhân monolithic cho các hệ điều hành tương tự Unix. Họ hệ điều hành Linux dựa trên hạt nhân này và được triển khai trên cả hai hệ thống máy tính truyền thống là máy tính cá nhân và máy chủ, thường dưới dạng bản phân phối Linux,[7] và trên các thiết bị nhúng khác nhau như router, điểm truy cập không dây, PBX, set-top box, máy thu FTA, smart TV, PVR và thiết bị NAS. Hệ điều hành Android cho máy tính bảng, điện thoại thông minh và đồng hồ thông minh sử dụng các dịch vụ do hạt nhân Linux cung cấp để thực hiện chức năng của nó. Trong khi thị phần trên desktop thấp, các hệ điều hành dựa trên Linux chiếm ưu thế gần như mọi phân đoạn máy tính khác, từ thiết bị di động đến máy tính lớn. Tính đến tháng 11/ 2017, tất cả 500 siêu máy tính mạnh nhất thế giới đều chạy Linux.[8]

Nhân Linux được viết bởi Linus Torvalds vào năm 1991 cho máy tính cá thể của mình [ 9 ] và không có dự tính đa nền tảng, nhưng sau đó nó đã lan rộng ra tương hỗ số lượng nền tảng kiến trúc máy tính khổng lồ. Linux nhanh gọn lôi cuốn những nhà tăng trưởng và người dùng sử dụng nó làm hạt nhân cho những dự án Bất Động Sản ứng dụng tự do khác, đáng chú ý quan tâm là Hệ điều hành GNU [ 10 ] được tạo ra như một hệ điều hành tự do, không độc quyền và dựa trên UNIX như một mẫu sản phẩm phụ của sự sụp đổ của những đại chiến Unix. [ 11 ] Nhân Linux đã nhận được sự góp phần của gần 12.000 lập trình viên từ hơn 1.200 công ty, gồm có một số ít nhà phân phối ứng dụng và phần cứng lớn nhất. [ 12 ]Linux kernel API, một API trải qua đó những chương trình người dùng tương tác với hạt nhân, nó có ý nghĩa làm không thay đổi và không phá vỡ những chương trình khoảng trống người dùng ( một số ít chương trình có giao diện đồ họa người dùng GUI, số khác cũng dựa vào những API khác ). Là một phần của công dụng của kernel, trình điều khiển và tinh chỉnh thiết bị điều khiển và tinh chỉnh phần cứng ; Trình điều khiển và tinh chỉnh ” mainlined ” ( bên trong kernel ) cũng có nghĩa là rất không thay đổi. Tuy nhiên, giao diện giữa những mô-đun hạt nhân và hạt nhân hoàn toàn có thể tải ( LKMs ), không giống như trong nhiều hạt nhân và hệ điều hành khác, không có nghĩa là rất không thay đổi theo phong cách thiết kế. [ 13 ]

Hạt nhân Linux được phát triển bởi những người đóng góp trên toàn thế giới, là một ví dụ nổi bật về phần mềm tự do nguồn mở,[14] và nó được hỗ trợ lên đến sáu năm tùy theo phiên bản. Các cuộc thảo luận phát triển hàng ngày diễn ra trên Linux kernel mailing list (LKML). Hạt nhân Linux được phát hành theo Giấy phép Công cộng GNU phiên bản 2 (GPLv2)[15][16] với một số firmware được phát hành theo nhiều giấy phép không miễn phí.[15]

Xem thêm: Lịch sử Linux

Tháng 4/1991, Linus Torvalds, tại thời gian đó là một sinh viên khoa học máy tính 21 tuổi tại Đại học Helsinki, Phần Lan, mở màn điều tra và nghiên cứu một số ít ý tưởng sáng tạo đơn thuần cho một hệ điều hành. Ông khởi đầu với một tác vụ switcher trong assembly Intel 80386 và một trình tinh chỉnh và điều khiển thiết bị đầu cuối. Ngày 25/8/1991, Torvalds đã đăng thông tin sau lên Usenet comp.os.minix, [ 17 ] trong đó có đoạn viết :

Tôi đang làm một hệ điều hành (miễn phí) (chỉ là một sở thích, sẽ không lớn và chuyên nghiệp như gnu) cho một bản sao AT 386 (486). Việc này đã bắt đầu từ tháng 4 và đang bắt đầu sẵn sàng. Tôi muốn bất kỳ thông tin phản hồi về việc mọi người thích, không thích trong Minix như hệ điều hành của tôi tương tự nó (giống về cấu trúc vật lý của file system (vì lý do thực tế) và nhiều tứ khác. Hiện tôi đang port bash(1.08) và GCC(1.40) và mọi thứ dường như hoạt động. Điều này ngụ ý rằng tôi sẽ nhận được một cái gì đó thực tế trong vòng một vài tháng […] Có – nó miễn phí của bất kỳ mã Minix, và nó có một fs đa luồng. Nó không phải là portable (sử dụng chuyển đổi tác vụ 386), và nó có lẽ sẽ không bao giờ hỗ trợ bất cứ thứ gì ngoài ổ cúng AT, vì đó là tất cả những gì tôi có:-(. ”
[…] nó chủ yếu viết bằng C, nhưng hầu hết mọi người sẽ không gọi những gì tôi viết. Nó sử dụng tất cả các tính năng có thể tưởng tượng của 386 mà tôi có thể tìm thấy vì nó cũng là một dự án để dạy tôi về 386. Như đã đề cập, nó sử dụng MMU cho cả phân trang (chưa vào đĩa) và phân đoạn. Đó là phân đoạn làm cho nó thực sự 386 phụ thuộc (mỗi tác vụ có một segment 64Mb cho mã và dữ liệu – tối đa 64 tác vụ trong 4Gb. Bất kỳ ai cần hơn 64Mb /tác vụ – cookie khó khăn).

Sau đó, nhiều người đã góp phần mã cho dự án Bất Động Sản. Ban đầu, hội đồng MINIX đã góp phần mã và ý tưởng sáng tạo cho nhân Linux. Vào thời gian đó, Dự án GNU đã tạo ra nhiều thành phần thiết yếu cho một hệ điều hành tự do, nhưng hạt nhân riêng của nó, GNU Hurd, không không thiếu và không có sẵn. Hệ điều hành BSD vẫn chưa tự giải thoát khỏi những vụ kiện pháp lý. Mặc dù có những công dụng số lượng giới hạn của những phiên bản đầu, Linux nhanh gọn lôi cuốn những nhà tăng trưởng và người dùng .Vào thời gian này, dự án Bất Động Sản GNU đã triển khai xong nhiều cấu thành thiết yếu cho một hệ điều hành tự do, tuy nhiên phần hạt nhân ( lõi – Linux Kernel ) GNU Hurd của hệ điều hành này vẫn chưa được triển khai xong. Ngoài ra hệ điều hành BSD vẫn chưa được tự do hóa do những trở ngại về mặt pháp lý. Những điều này đã tạo ra một chỗ đứng thuận tiện cho hạt nhân Linux, nó nhanh gọn giành được sự chăm sóc của những nhà tăng trưởng cũng như người dùng .Tháng 9/1991, hạt nhân Linux phiên bản 0.01 được phát hành trên sever FTP ( ftp.funet.fi ) của Đại học Phần Lan và Mạng Nghiên cứu ( FUNET ). Nó có 10,239 dòng mã. Ngày 10/5/1991, phiên bản 0.02 của hạt nhân Linux đã được phát hành. [ 18 ]
Nhân Linux được tìm thấy phổ biến trên nhiều phần cứng khác nhau và được hỗ trợ bởi sự phong phú của cả phần mềm tự do nguồn mở và phần mềm sở hữu độc quyềnđược tìm thấy thông dụng trên nhiều phần cứng khác nhau và được tương hỗ bởi sự đa dạng chủng loại của cả ứng dụng tự do nguồn mở và ứng dụng chiếm hữu độc quyềnTháng 12/1991, hạt nhân Linux 0.11 đã được phát hành. Phiên bản này là phiên bản tiên phong được tự tàng trữ vì hạt nhân Linux 0.11 hoàn toàn có thể được biên dịch bởi một máy tính chạy cùng phiên bản hạt nhân. Khi Torvald phát hành phiên bản 0.12 vào tháng 2/1992, ông đã trải qua Giấy phép Công cộng GNU ( GPL ) so với giấy phép tự soạn thảo trước đó của mình, điều này đã không được cho phép phân phối lại thương mại. [ 19 ]

Ngày 19/1/1992, bài đăng đầu tiên tới nhóm tin tức mới alt.os.linux đã được đăng tải.[20] Ngày 31/3/1992, nhóm tin được đổi tên thành comp.os.linux.[20][21] Việc Linux là một hạt nhân nguyên khối chứ không phải là một microkernel là chủ đề của cuộc tranh luận giữa Andrew S. Tanenbaum, người đã tạo ra MINIX, và Torvalds.[22] Cuộc thảo luận này được gọi là cuộc tranh luận Tanenbaum–Torvalds và bắt đầu vào năm 1992 trên nhóm thảo luận Usenet comp.os.minix như một cuộc tranh luận chung về Linux và kiến trúc hạt nhân.[23] Tanenbaum lập luận rằng microkernel vượt trội hơn so với hạt nhân nguyên khối và do đó Linux đã lỗi thời. Không giống như các hạt nhân nguyên khối truyền thống, trình điều khiển thiết bị trong Linux có thể dễ dàng được cấu hình dưới dạng các mô-đun hạt nhân có thể tải và được tải hoặc không tải trong khi chạy hệ thống. Chủ đề này đã được xem lại vào ngày 9 tháng 5 năm 2006,[24] và vào ngày 12 tháng 5 năm 2006 Tanenbaum đã viết một tuyên bố về quan điểm.[25]

Tháng 3 năm 1992, phiên bản 0.xx cuối cùng của Linux kernel được phát hành. Linux version 0.95 là phiên bản đầu tiên có khả năng chạy X, vì Hệ thống X Window đã được port sang Linux. Bước nhảy lớn này được thể hiện trong số hiệu phiên bản, từ 0.1x đến 0.9x, do kỳ vọng phiên bản 1.0, mà không có những phần thiếu sót lớn, sắp xảy ra. Tuy nhiên, điều này đã được chứng minh là sai và từ năm 1993 đến đầu năm 1994, 15 phiên bản phát triển của phiên bản 0.99 đã ra mắt. Ngày 14 tháng 3 năm 1994, phiên bản chính thức đầu tiên của Linux kernel được phát hành.[26] Linux kernel 1.0.0 có 176,250 dòng lệnh. Linux kernel 1.0.0 đã khởi động một hệ thống đánh số phiên bản v.x.y tiêu chuẩn cho kernel,trong đó x đại diện cho một phiên bản chính. Các bản phát hành số lẻ là để thử nghiệm và phát triển. Vào thời điểm đó, chỉ có các phiên bản được đánh số chẵn là phát hành sản xuất. Chữ y được tăng lên khi các bản vá nhỏ được phát hành trong phiên bản chính.[26] Vào tháng 3 năm 1995, Linux kernel 1.2.0 đã được phát hành, với 310.950 dòng mã.

Sau phiên bản kernel v1. 3, Torvalds đã quyết định hành động rằng đã có đủ những biến hóa so với nhân Linux để bảo vệ việc phát hành phiên bản mới. Phiên bản 2.0.0 của Linux kernel được phát hành ngày 9 tháng 6 năm 1996. [ 27 ] Trái ngược với Unix, tổng thể mã nguồn của Linux kernel có sẵn không tính tiền, gồm có trình tinh chỉnh và điều khiển, thư viện runtime và những công cụ tăng trưởng. [ 28 ] Thành công khởi đầu của nhân Linux được thôi thúc bởi sự tương hỗ của những lập trình viên và người thử nghiệm trên toàn quốc tế. Bằng cách cấu trúc nhân Linux theo những tiêu chuẩn POSIX, nó thích hợp với một loạt những ứng dụng và ứng dụng không lấy phí đã được tăng trưởng cho những trường ĐH .

Các nhà phát triển đóng góp cho nhân Linux đã nghĩ rằng điều quan trọng là hạt nhân mà Torvald đã viết cho các PC của Intel hỗ trợ các kiến ​​trúc phần cứng khác nhau. Hiện nay hạt nhân Linux có thể chạy trên các CPU từ Intel (80386, 80486, 80686), Digital Equipment Corporation (Alpha), Motorola (MC680x0 and PowerPC), Silicon Graphics (MIPS) và Sun Microsystems (SPARC). Thông qua một trình giả lập FPU tích hợp, nhân Linux thậm chí có thể chạy trên các kiến ​​trúc phần cứng thiếu bộ đồng xử lý toán học dấu phẩy động.[29] Các nhóm nhà phát triển được thành lập cho các kiến ​​trúc khác nhau và với việc phát hành Linux kernel phiên bản 2.0, các nguồn của kernel bao gồm tất cả các thành phần để cấu hình kernel cho các kiến ​​trúc khác nhau trước khi biên dịch nó.[30] Làm cho nhân Linux tương thích với các hệ thống file khác nhau cũng được ưu tiên. Nhân Linux có thể vận hành các hệ thống tệp đã được định dạng cho Minix, Xenix hoặc System V, trong khi định dạng umsdos thậm chí cho phép Linux được cài đặt trong phân vùng MS-DOS.[29] Vào tháng 12 năm 1999, các bản vá máy tính lớn của IBM cho 2.2.13 đã được xuất bản, cho phép nhân Linux được sử dụng trên các máy cấp doanh nghiệp.

Tháng 12 năm 2003, với việc phát hành phiên bản kernel 2.6.0, 2.6.0, đã coi các hạt nhân Linux ổn định đến mức ông bắt đầu chu trình phát hành 2.6.x.y. Mỗi bản phát hành 2.6 là một hạt nhân để sản xuất, các bản phát hành phát triển được chỉ định bằng -rc (“release candidate”) được gắn vào số hiệu phiên bản. Các bản phát hành kernel ổn định 2.6 bắt đầu được phát hành theo lịch trình đều đặn cứ sau 2 tháng 3, cho đến 2.6.39 tháng 5 năm 2011.[27] Chu kỳ phát hành ngắn hơn là kết quả của các cuộc thảo luận giữa các nhà phát triển kernel về sơ đồ phát hành và phiên bản năm 2004.[31][32]

Để đáp lại việc thiếu một nhánh ổn định, nơi mọi người có thể điều phối bộ sưu tập sửa lỗi như vậy, vào tháng 12 năm 2005 Adrian Bunk tuyên bố rằng anh ta sẽ tiếp tục phát hành hạt nhân 2.6.16.y khi nhóm ổn định chuyển sang 2.6.17.[33][34] Ông cũng bao gồm một số cập nhật trình điều khiển, làm cho việc bảo trì loạt 2.6.16 rất giống với các quy tắc cũ để bảo trì một loạt ổn định như 2.4.[35] Kể từ đó, “nhóm ổn định” đã được thành lập và nó sẽ tiếp tục cập nhật các phiên bản kernel với các sửa lỗi. Vào tháng 10 năm 2008, Adrian Bunk tuyên bố rằng ông sẽ duy trì 2.6.27 trong một vài năm để thay thế 2.6.16.[36] Đội ngũ ổn định đã lên ý tưởng và tính toán năm 2010, họ tiếp tục duy trì phiên bản đó và phát hành các bản sửa lỗi cho nó, ngoài ra còn có các bản sửa lỗi khác.[37] Andrew Morton quyết định tái sử dụng cây-mm của mình từ quản lý bộ nhớ để làm đích cho tất cả các mã mới và thử nghiệm. Vào tháng 9 năm 2007, Morton quyết định ngừng duy trì cây này.[38] Vào tháng 2 năm 2008, Stephen Rothwell đã tạo ra cây linux-next để phục vụ như là một nơi mà các bản vá nhằm mục đích được hợp nhất trong chu kỳ phát triển tiếp theo được tập hợp lại.[39][40] Một số nhà bảo trì hệ thống con cũng sử dụng hậu tố -next cho các cây có chứa mã được gửi để đưa vào chu kỳ phát hành tiếp theo. Tính đến tháng 1 năm 2014, phiên bản đang phát triển của nhân Linux được giữ trong một nhánh không ổn định có tên linux-next.[41]

Mã nguồn nhân Linux được bảo dưỡng mà không cần sự trợ giúp của mạng lưới hệ thống quản trị mã nguồn tự động hóa ( SCM ), đa phần là do Torvalds không thích những mạng lưới hệ thống SCM tập trung chuyên sâu. Năm 2002, tăng trưởng nhân Linux đã chuyển sang BitKeeper, một mạng lưới hệ thống SCM cung ứng những nhu yếu kỹ thuật của Torvalds. BitKeeper đã được cung ứng không tính tiền cho Torvalds và một số ít người khác không tính tiền nhưng không phải là ứng dụng tự do, đây là một nguồn gây tranh cãi. Hệ thống này đã cung ứng 1 số ít năng lực tương tác với những mạng lưới hệ thống SCM không lấy phí như CVS và Subversion. Tháng 4 năm 2005, Vào tháng 4 năm 2005, những nỗ lực dò ngược mạng lưới hệ thống BitKeeper của Andrew Tridgell đã khiến BitMover, công ty duy trì BitKeeper, ngừng tương hỗ hội đồng tăng trưởng Linux. Đáp lại, Torvalds và những người khác đã viết một mạng lưới hệ thống trấn áp mã nguồn mới cho mục tiêu này, được gọi là Git. Hệ thống mới được viết trong vòng vài tuần và trong hai tháng, bản phát hành hạt nhân chính thức tiên phong được triển khai bằng Git. [ 42 ]Năm 2008, Greg Kroah-Hartman nói rằng từ năm 2005 hơn 3.700 nhà tăng trưởng những nhân từ hơn 200 công ty khác nhau đã có góp phần vào kernel. [ 43 ] Kỷ niệm 20 năm nhân Linux được Torvalds tổ chức triển khai vào tháng 7 năm 2011 với việc phát hành phiên bản kernel 3.0.0. [ 27 ] [ 44 ] [ 45 ] Mặc dù nó không có đổi khác công nghệ tiên tiến lớn khi so sánh với Linux 2.6.39 [ 46 ] Linux Foundation đã kỷ niệm 20 năm hạt nhân trong phiên bản 2011 của điều tra và nghiên cứu tăng trưởng hạt nhân của họ. Kernel 3.0 có 15 triệu dòng lệnh và hơn 1.300 nhà tăng trưởng những nhân có góp phần cho phiên bản này của nhân Linux. Các nhà tăng trưởng tình nguyện góp phần 16 % tổng thể đổi khác của nhân Linux vào năm 2011. Những đổi khác khác đến từ những nhà tăng trưởng ứng dụng chuyên nghiệp, những người được những công ty thuê để gửi mã cho kernel. Năm 2011, những nhà tăng trưởng Red Hat đã góp phần 10 % những biến hóa được thực thi cho kernel, doanh nghiệp góp phần lớn thứ hai là Intel, tiếp theo là IBM và Novell. Mặc dù lúc đó Nokia đã từ bỏ hệ điều hành cho điện thoại cảm ứng mưu trí dựa trên nhân Linux của mình là MeeGo, nhưng năm 2011, những nhà tăng trưởng Nokia vẫn góp phần nhiều mã cho nhân Linux hơn so với những nhà tăng trưởng được Google thuê, đã phát hành Android vào năm 2007 và Chrome OS vào năm 2009. Đến năm 2011, Microsoft giao động như thể doanh nghiệp góp phần nhiều thứ 17 cho hạt nhân. Các nhà tăng trưởng của nó đã lần tiên phong mở màn góp phần cho kernel vào năm 2009 để cải tổ hiệu năng của những máy ảo Linux chạy trên trình ảo hóa Windows Hyper-V. [ 47 ]

Các hạt nhân ổn định 3.x.y đã được phát hành cho đến 3.19 trong tháng 2 năm 2015, với các phiên bản phát triển mang ký hiệu -rc. Để giải thích cho bản phát hành bản vá đặc biệt thường xuyên, series v3 của kernel đã thêm một chữ số thứ tư vào đánh số phiên bản. tháng 4 năm 2015, Torvalds đã phát hành phiên bản kernel 4.0.[27] Vào tháng 2 năm 2015, nhân Linux đã nhận được sự đóng góp của gần 12.000 lập trình viên từ hơn 1.200 công ty, bao gồm một số nhà cung cấp phần mềm và phần cứng lớn nhất thế giới.[48] Phiên bản 4.1 của nhân Linux, được phát hành vào tháng 6 năm 2015, chứa hơn 19,5 triệu dòng mã được đóng góp bởi gần 14.000 lập trình viên.[49]

Các bản phân phối Linux đóng gói nhân Linux với những ứng dụng, chương trình và gói ứng dụng Unix chịu nghĩa vụ và trách nhiệm cho sự phổ cập ngày càng tăng của hệ điều hành Linux với người dùng. [ 30 ] Sự phổ cập của hệ điều hành Android, gồm có nhân Linux, đã khiến hạt nhân này trở thành lựa chọn thông dụng nhất cho những thiết bị di động, cạnh tranh đối đầu với cơ sở được setup của toàn bộ những hệ điều hành khác. [ 50 ] [ 51 ] [ 52 ]Nhiều bộ định tuyến cũng sử dụng nhân Linux, [ 53 ] cũng như nhiều loại thiết bị nhúng khác, ví dụ điển hình như smart TVs, set-top boxes, và webcams. Nhiều bản phân phối Linux trên máy tính để bàn gồm có cả nhân Linux sống sót, nhưng tỷ suất sử dụng của những bản phân phối Linux thấp so với những hệ điều hành khác .Tính đến tháng 11 / 2017, tổng thể 500 siêu máy tính mạnh nhất quốc tế đều chạy Linux. [ 8 ]
Bản đồ của Linux kernelNhân Linux là một phong cách thiết kế nguyên khối và mô đun hóa ( hoàn toàn có thể nạp vào hay gỡ bỏ những kernel mô đun trong lúc đang chạy ), [ 54 ] [ 55 ] tương hỗ hầu hết những tính năng chỉ có trên nhân mã nguồn đóng của những hệ điều hành không tự do. Từ giờ trở đi, bài viết này sử dụng những thuật ngữ của những hệ điều hành Unix và tựa như, được đề cập trong những Man page ( cẩm nang ) chính thức. Các số đằng sau câu lệnh, giao diện hay những tính năng khác chỉ định nó thuộc thành phần nào của nhân ( ví dụ execve ( 2 ) là một lời gọi mạng lưới hệ thống, còn exec ( 3 ) là một wrapper trong userspace ). Danh sách sau đây và những phần tiếp theo miêu tả tổng quan không khá đầy đủ về phong cách thiết kế kiến ​ ​ trúc Linux và 1 số ít tính năng đáng chú ý quan tâm của nó .
Trình tinh chỉnh và điều khiển thiết bị và phần lan rộng ra kernel chạy trong khoảng trống kernel ( ring 0 trong nhiều kiến trúc CPU ), với toàn quyền truy vấn vào phần cứng, mặc dầu 1 số ít ngoại lệ chạy trong khoảng trống người dùng, ví dụ : mạng lưới hệ thống file dựa trên FUSE / CUSE, và những phần của UIO. [ 80 ] [ 81 ] Hơn nữa, X Window và Wayland, những mạng lưới hệ thống hành lang cửa số và những giao thức sever hiển thị mà hầu hết mọi người sử dụng với Linux không chạy trong kernel .Không giống như những hạt nhân nguyên khối tiêu chuẩn, trình tinh chỉnh và điều khiển thiết bị thuận tiện được thông số kỹ thuật dưới dạng những mô-đun và được tải hoặc không tải trong khi mạng lưới hệ thống đang chạy. Ngoài ra driver hoàn toàn có thể bị ngắt quãng trong 1 số ít điều kiện kèm theo nhất định ; tính năng này đã được thêm vào để giải quyết và xử lý những ngắt phần cứng một cách đúng mực và để tương hỗ tốt hơn cho đa giải quyết và xử lý đối xứng. [ 82 ] Theo lựa chọn, nhân Linux không có giao diện nhị phân ứng dụng không thay đổi cho những driver. [ 83 ]Phần cứng cũng được bộc lộ trong mạng lưới hệ thống phân cấp file. Giao diện trình điều khiển và tinh chỉnh thiết bị với những ứng dụng người dùng trải qua một mục trong thư mục / dev hoặc / sys. [ 84 ] tin tức tiến trình cũng được ánh xạ tới mạng lưới hệ thống file trải qua thư mục / proc. [ 84 ]
Bốn giao diện được phân biệt : hai bên trong kernel và hai ở giữa kernel và khoảng trống người dùng .Linux là một hệ điều hành giống UNIX, và nhắm tới việc thích hợp với POSIX và Single UNIX Specification. [ 85 ] Ngoài ra nó còn cung ứng những lời gọi mạng lưới hệ thống và giao diện khác của riêng mình. Một đoạn mã muốn được thêm vào kernel chính thức phải tuân theo 1 số ít quy tắc về việc cấp phép. [ 86 ] [ 87 ]Giao diện nhị phân ứng dụng ( ABI ) của Linux nằm giữa kernel và khoảng trống người dùng ( user space ) có bốn mức độ không thay đổi ( không thay đổi, testing, lỗi thời và bị xóa bỏ ), [ 88 ] tuy nhiên những lời gọi mạng lưới hệ thống không khi nào được phép đổi khác vì điều đó hoàn toàn có thể làm hỏng những chương trình user space sử dụng chúng. [ 89 ]Các Loadable kernel module ( LKM ) được phong cách thiết kế không hề phụ thuộc vào vào một ABI không thay đổi. [ 90 ] Do đo chúng phải luôn được biên dịch lại mỗi khi có một kernel mới được setup vào mạng lưới hệ thống, nếu không sẽ không tải được chúng. Các driver đã có sẵn như thể một phần trọng điểm trong tệp thực thi của kernel ( gọi là vmlinux ) được link tĩnh trong quy trình biên dịch .Ngoài ra không có sự bảo vệ nào về tính không thay đổi của những API trong kernel [ 91 ], thế cho nên mã nguồn của driver cũng như những mạng lưới hệ thống trong kernel phải được update tiếp tục. Bất kỳ lập trình viên nào đổi khác một API cũng được nhu yếu phải sửa tổng thể những code bị ảnh hưởng tác động. [ 92 ]

API giữa kernel và người dùng[sửa|sửa mã nguồn]

Tập hợp API của kernel liên quan đến giao diện viết cho ứng dụng người dùng, về cơ bản, bao gồm các lời gọi hệ thống của UNIX và các lời gọi của riêng Linux.[93] Một lời gọi hệ thống là một điểm vào bên trong kernel.[94] Ví dụ, trong các lời gọi riêng của Linux có một họ các lời gọi là system(2).[95] Hầu hết các mở rộng phải được bật thông qua macro _GNU_SOURCE trong một header file hoặc trong lúc biên dịch chương trình ứng dụng.[96]

Lời gọi mạng lưới hệ thống chỉ được thực thi bằng cách sử dụng những lệnh bằng hợp ngữ được cho phép chuyển từ chính sách người dùng không độc quyền lên chính sách kernel độc quyền trong ring 0. Vì vậy, thư viện C chuẩn ( libC ) có công dụng như một wrapper của những lời gọi mạng lưới hệ thống, trong đó những hàm C chỉ khi thiết yếu [ 97 ] mới vào bên trong kernel để thực thi lời gọi thay cho chương trình gọi nó. [ 98 ] Đối với những lời gọi không có trong libC, ví dụ như fast user mutex ( futex ), [ 99 ] thư viện cung ứng hàm syscall ( 2 ) được cho phép triển khai thẳng lời gọi đó. [ 100 ]

Các hệ thống file giả (ví dụ như sysfs hay procfs) và các file đặc biệt như /dev/random, /dev/sda/ hay /dev/tty, v.v là một cách trừu tượng hóa các thiểt bị phần cứng vật lý hoặc thiết bị phần mềm.[101][102]

ABI giữa kernel và người dùng[sửa|sửa mã nguồn]

Có sự độc lạ giữa hàng trăm hệ điều hành Linux khác nhau, do đó những tập thực thi nhị phân được biên dịch, hợp dịch ( assembly ) hay link để chạy trên một kiến trúc máy tính ( ISA ) đơn cử thường không hề chạy được trên những bản phân phối Linux khác nhau. Lý do hầu hết là thông số kỹ thuật riêng của bản phân phối hay những bản vá của kernel, hoặc độc lạ trong thư viện của mạng lưới hệ thống, dịch vụ ( daemon ), mạng lưới hệ thống file hay biến môi trường tự nhiên .Tiêu chuẩn chính tương quan đến yếu tố thích hợp của những tệp nhị phân và ứng dụng trong những bản phân phối là Linux Standard Base ( LSB ). [ 103 ] [ 104 ] Tuy nhiên LSB không chỉ đề cập đến kernel mà cả những môi trường tự nhiên desktop như thư viện X và Qt, những thứ không tương quan lắm đến kernel. [ 105 ] LSB phiên bản 5 dựa trên vài tiêu chuẩn và bản dự thảo như POSIX, SUS, X / Open, File System Hierarchy ( FHS ), v.v. [ 106 ]

Các thành phần phần lớn liên quan đến kernel của LSB gọi là General ABI (gABI),[107] đặc biệt là System V ABI[108][109] và Executable and Linking Format (ELF)[110][111] và Processor Specific ABI (psABI), ví dụ như Core Specification for X86-64.[112][113]

Tiêu chuẩn ABI để các chương trình x86_64 thực hiện lời gọi hệ thống là nạp mã số lời gọi vào thanh ghi rax và các tham số vào các thanh ghi rdi, rsi, rdx, r10, r8r9, sau đó thực thi lệnh (hợp ngữ) syscall.[114][115][116]

API nội bộ kernel[sửa|sửa mã nguồn]

[117] Thư viện đồ họa độc quyền libGL-fglrx-glxTại XDC2014, Alex Deucher đến từ AMD công bố một driver hợp nhất trong kernel. Thư viện đồ họa độc quyềnsẽ sử dụng DRM cùng với Mesa 3D. Vì không có ABI nội bộ không thay đổi, AMD phải liên tục quy đổi từ binary blob cũ được sử dụng bởi Catalyst .Có vài API nội bộ được sử dụng giữa những mạng lưới hệ thống trong kernel. Một số chỉ truy vấn được bên trong mạng lưới hệ thống con, ngoài những có một tập hợp khá rất ít những symbol ( gồm có những biến, hàm và cấu trúc ) được xuất ra cho những module hoàn toàn có thể tải động ( ví dụ, những driver được tải khi nhu yếu ) bằng cách thêm vào những macro EXPORT_SYMBOL ( ) hoặc EXPORT_SYMBOL_GPL ( ) ( được dùng riêng cho những module có giấy phép GPL ). [ 118 ] [ 119 ] [ 120 ]Linux còn cung ứng những API nội bộ được cho phép tương tác với những cấu trúc tài liệu ( như list link, cây radix, [ 121 ] cây đỏ-đen [ 122 ] và hàng đợi ) hay triển khai những hành vi thường thì như sao chép tài liệu trong user space, cấp phép bộ nhớ, in ra lịch trình mạng lưới hệ thống, v.v. được không thay đổi kể từ phiên bản 2.6. [ 123 ] [ 124 ] [ 125 ]Các API nội bộ gồm có những thư viện cung ứng những dịch vụ cấp thấp cho những trình điều khiển và tinh chỉnh thiết bị phải kể đến :

ABI nội bộ kernel[sửa|sửa mã nguồn]

Các nhà tăng trưởng Linux chọn cách không bảo dưỡng những ABI không thay đổi bên trong kernel. [ 135 ] Các module được biên dịch cho một phiên bản nhất định không hề nạp được vào phiên bản khác nếu không được biên dịch lại, mặc dầu mã nguồn của API nội bộ kernel không đổi khác. Nếu chúng bị đổi khác thì mã nguồn module phải được viết lại. [ 136 ]

Cộng đồng nhà tăng trưởng[sửa|sửa mã nguồn]

Tính đến năm 2007, sự phát triển của hạt nhân đã chuyển từ top 20 nhà phát triển tích cực nhất, viết 80% mã thành top 30 viết 30% mã, với các nhà phát triển hàng đầu dành nhiều thời gian xem xét thay đổi hơn.[137] Các nhà phát triển cũng có thể được phân loại theo liên kết; trong năm 2007, các nhóm hàng đầu là không rõ trong khi đứng đầu nhóm doanh nghiệp là Red Hat với 12% đóng góp, và những người nghiệp dư được biết ở mức 3.9%.[137] Những thay đổi về hạt nhân được thực hiện trong năm 2007 đã được gửi bởi hơn 1900 nhà phát triển, có thể là một đánh giá thấp đáng kể bởi vì các nhà phát triển làm việc theo nhóm thường được tính là một.[cần dẫn nguồn] Nó thường được giả định rằng cộng đồng các nhà phát triển hạt nhân Linux bao gồm 5000 hoặc 6000 thành viên.

Cập nhật từ năm nay Linux Kernel Development Report, do Linux Foundation phát hành, gồm có quy trình tiến độ từ 3,18 ( tháng 12 năm năm trước ) đến 4,7 ( tháng 7 năm năm nay ) : Khoảng 1500 nhà tăng trưởng đã góp phần cho mỗi bản phát hành từ khoảng chừng 200 – 250 công ty trên mỗi bản phát hành. 30 nhà tăng trưởng số 1 đã góp phần hơn 16 % mã. Trong khối doanh nghiệp, những công ty góp phần nhiều nhất là Intel ( 12,9 % ) và Red Hat ( 8,0 % ), vị trí thứ ba và thứ tư được tổ chức triển khai bởi hạng mục ‘ không ‘ ( 7,7 % ) và ‘ không xác lập ‘ ( 6,8 % ) [ 138 ] .

Quá trình tăng trưởng[sửa|sửa mã nguồn]

Một nhà tăng trưởng muốn biến hóa hạt nhân Linux khởi đầu bằng việc tăng trưởng và thử nghiệm sự biến hóa đó. Tùy thuộc vào mức độ đổi khác đáng kể và số lượng mạng lưới hệ thống con mà nó biến hóa mà biến hóa sẽ gồm có một bản vá hoặc nhiều bản vá. Trong trường hợp của một mạng lưới hệ thống con duy nhất được duy trì bởi một người bảo dưỡng duy nhất, những bản vá này được gửi dưới dạng e-mail đến người duy trì mạng lưới hệ thống con với list gửi thư thích hợp trong Cc. Người duy trì và fan hâm mộ của list gửi thư sẽ xem xét những bản vá và phân phối phản hồi. Khi quy trình xem xét kết thúc, người duy trì đồng ý những bản vá lỗi trong cây hạt nhân của mình. Nếu những đổi khác này là sửa lỗi được coi là đủ quan trọng, nhu yếu kéo gồm có những bản vá sẽ được gửi đến Linus Torvalds trong vòng vài ngày. Nếu không, nhu yếu kéo sẽ được gửi đến Linus Torvalds trong hành lang cửa số hợp nhất tiếp theo. Cửa sổ hợp nhất thường lê dài hai tuần và khởi đầu ngay sau khi phát hành phiên bản hạt nhân trước đó. [ 139 ]Linus Torvalds là tác nhân sau cuối không chỉ qua những biến hóa được gật đầu vào nhân Linux mà còn hơn những người hoàn toàn có thể trở thành một người bảo dưỡng. Các nhà bảo dưỡng hạt nhân giữ vai trò của họ trừ khi họ tự nguyện đóng vai trò của họ. Không có ví dụ nào được biết về những nhà bảo dưỡng hạt nhân đã được nhu yếu từ bỏ. Ngoài ra, không có ví dụ nào được biết đến về trình bảo dưỡng hạt nhân đã bị chỉ trích vì kiểu tương tác của cô ấy với những nhà tăng trưởng của Linus. Điều này mang đến cho người bảo dưỡng một lượng nguồn năng lượng đáng kể. Mặc dù văn hóa truyền thống trong hội đồng tăng trưởng hạt nhân đã được cải tổ qua nhiều năm, hội đồng tăng trưởng hạt nhân có tiếng tăm đôi lúc rất thô lỗ. [ 140 ] [ 141 ] Các nhà tăng trưởng cảm thấy bị đối xử không công minh hoàn toàn có thể báo cáo giải trình điều này với Linux Foundation’s Technical Advisory Board. [ 142 ] Một số thành viên hội đồng hạt nhân không đồng ý chấp thuận với văn hóa truyền thống tranh luận hiện tại. [ 143 ]

Ngôn ngữ lập trình[sửa|sửa mã nguồn]

Linux được viết bằng một phiên bản của ngôn ngữ lập trình C hỗ trợ bởi GCC (đã giới thiệu một số phần mở rộng và thay đổi cho tiêu chuẩn C), cùng với một số phần ngắn viết bằng hợp ngữ (trong cú pháp “AT&T-style” của GCC) cho kiến trúc đích. Bởi vì sự hỗ trợ mở rộng của C mà nó được viết, GCC trong một thời gian dài là trình biên dịch có thể dịch được đúng hạt nhân Linux.
Nhiều ngôn ngữ khác được sử dụng trong nhiều cách, chủ yếu liên quan đến quá trình biên dịch. Bao gồm Perl, Python và nhiều loại shell scripting.

Sự thích hợp với những trình biên dịch[sửa|sửa mã nguồn]

GCC là trình biên dịch mặc định cho nguồn nhân Linux. Năm năm trước, Intel ttuyên bố đã sửa đổi kernel để trình biên dịch C của họ cũng có năng lực biên dịch hạt nhân. [ 144 ] Có một báo cáo giải trình thành công xuất sắc như vậy trong năm 2009, với phiên bản kernel đã được sửa đổi 2.6,22. [ 145 ] [ 146 ]

Từ năm 2010, nỗ lực đã được tiến hành để xây dựng nhân Linux với Clang, một trình biên dịch thay thế cho ngôn ngữ C;[147] kể từ ngày 12 tháng 4 năm 2014, kernel chính thức gần như có thể được biên dịch bằng Clang.[148][149] Dự án dành riêng cho nỗ lực này được đặt tên là LLVMLinux theo cơ sở hạ tầng trình biên dịch LLVM mà Clang được xây dựng.[150] LLVMLinux không nhằm mục đích phân nhánh hạt nhân Linux hoặc LLVM, do đó, đây là một siêu dự án bao gồm các bản vá cuối cùng được gửi cho các dự án ngược dòng. Bằng cách cho phép nhân Linux được Clang biên dịch, trong số các ưu điểm khác, được biết đến với khả năng biên dịch nhanh hơn so với GCC, các nhà phát triển nhân có thể được hưởng lợi từ quy trình làm việc nhanh hơn do thời gian biên dịch ngắn hơn.[151]

Xung đột hội đồng tăng trưởng[sửa|sửa mã nguồn]

Đã có một số ít xung đột đáng chú ý quan tâm giữa những nhà tăng trưởng nhân Linux. Ví dụ về những xung đột đó là :

  • Ngày 10 tháng 7 năm 2007 Con Kolivas tuyên bố rằng ông sẽ ngừng phát triển cho nhân Linux. Thảo luận về lý do của mình trong một cuộc phỏng vấn, ông bày tỏ sự thất vọng với các khía cạnh của quy trình phát triển nhân chính, mà ông cảm thấy không ưu tiên đủ cho tương tác máy tính để bàn, ngoài việc hack gây tổn hại cho sức khỏe, công việc và gia đình.[152][153]
  • Ngày 28 tháng 7 năm 2009, Alan Cox đã từ bỏ vai trò là người duy trì lớp TTY sau khi không đồng ý với Torvalds về phạm vi công việc cần thiết để sửa lỗi trong hệ thống con đó.[154]
  • Tháng 12 năm 2010, đã có một cuộc thảo luận giữa nhà bảo trì SCSI James bottomley và nhà duy trì SCST Vladislav Bolkhovitin về việc ngăn xếp mục tiêu SCSI nào sẽ được đưa vào nhân Linux – SCST hoặc LIO. Mặc dù tại thời điểm đó SCST được coi là vượt trội về mặt kỹ thuật, LIO đã được sáp nhập ngược dòng.[155] Điều này làm cho một số người dùng Linux buồn bã.[156]
  • Vào ngày 14 tháng 6 năm 2012 Linus Torvalds đã nói rất rõ rằng ông không đồng ý với việc NVIDIA phát hành trình điều khiển của mình dưới dạng trình điều khiển nguồn đóng.[157]
  • Ngày 6 tháng 10 năm 2014, Lennart Poettering đã cáo buộc Linus Torvalds dung túng kiểu thảo luận thô lỗ trong danh sách gửi thư liên quan đến nhân Linux và là một mô hình vai trò xấu.[158]
  • Ngày 5 tháng 3 năm 2015, Christoph Hellwig đã đệ đơn kiện VMware vì vi phạm bản quyền trên nhân Linux.[159] Linus Torvalds nói rõ rằng ông không đồng ý với việc này và các ý định tương tự bằng cách gọi luật sư là một bệnh hoạn.[160]

Các nhà phát triển nhân Linux nổi bật đã nhận thức được tầm quan trọng của việc tránh xung đột giữa các nhà phát triển.[161] Trong một thời gian dài, không có quy tắc ứng xử nào cho các nhà phát triển nhân do sự phản đối của Linus Torvalds.[162] Tuy nhiên, một Linux Kernel Code of Conflict đã được giới thiệu vào ngày 8 tháng 3 năm 2015.[163] Nó đã được thay thế vào ngày 16 tháng 9 năm 2018 bởi Code of Conduct dựa trên Giao ước cộng tác viên (Contributor Covenant). Điều này trùng hợp với một lời xin lỗi công khai của Linus và một thông báo rằng ông đang tạm nghỉ phát triển nhân.[164][165]

Phương diện pháp luật[sửa|sửa mã nguồn]

Điều khoản cấp phép[sửa|sửa mã nguồn]

Ban đầu, Torvalds phát hành Linux theo một giấy phép cấm sử dụng thương mại [ 166 ]. Điều này đã được biến hóa trong phiên bản 0.12 bằng cách chuyển sang Giấy phép Công cộng GNU ( GPL ). [ 19 ] Giấy phép này được cho phép phân phối và bán những phiên bản hoàn toàn có thể sửa đổi và chưa sửa đổi của Linux nhưng nhu yếu tổng thể những bản sao đó phải được phát hành theo cùng một giấy phép và được kèm theo mã nguồn tương ứng hoàn hảo .Torvalds đã miêu tả việc cấp phép Linux theo GPL là ” điều tốt nhất tôi từng làm “. [ 166 ]
Linux kernel chỉ được cấp phép rõ ràng theo phiên bản 2 của GPL, [ 4 ] mà không cung ứng cho người được cấp phép tùy chọn ” bất kể phiên bản mới hơn “, đây là một phần lan rộng ra GPL phổ cập. Đã có cuộc tranh luận đáng kể về việc giấy phép hoàn toàn có thể được đổi khác thuận tiện để sử dụng những phiên bản GPL sau này ( gồm có cả phiên bản 3 ) và liệu sự biến hóa này có đáng mong ước hay không. [ 167 ] Bản thân Torvalds đã chỉ định đơn cử khi phát hành phiên bản 2.4.0 rằng mã riêng của ông chỉ được phát hành trong phiên bản 2. [ 168 ] Tuy nhiên, những lao lý của trạng thái GPL rằng nếu không có phiên bản nào được chỉ định thì hoàn toàn có thể sử dụng bất kể phiên bản nào, [ 169 ] và Alan Cox chỉ ra rằng rất ít người góp phần Linux khác đã chỉ định một phiên bản đơn cử của GPL. [ 170 ]Tháng 9/2006, một cuộc khảo sát với 29 lập trình viên hạt nhân chính đã chỉ ra rằng 28 người thích GPLv2 hơn dự thảo hiện tại của GPLv3. Torvalds nhận xét : ” Tôi nghĩ rằng 1 số ít người ngoài cuộc … tin rằng cá thể tôi chỉ là người kỳ quặc vì tôi đã công khai minh bạch không phải là một fan hâm mộ lớn của GPLv3. ” [ 171 ] Nhóm những nhà tăng trưởng hạt nhân hạng sang này, gồm có Linus Torvalds, Greg Kroah-Hartman và Andrew Morton, đã phản hồi trên những phương tiện đi lại truyền thông online đại chúng về sự phản đối của họ so với GPLv3. [ 172 ] Họ đã đề cập đến những pháp luật tương quan đến DRM / tivoization, văn bằng bản quyền trí tuệ, ” những hạn chế bổ trợ ” và cảnh báo nhắc nhở Balkanisation của ” Open Source Universe ” của GPLv3. [ 172 ] [ 173 ] Linus Torvalds, người quyết định hành động không vận dụng GPLv3 cho nhân Linux, đã nhắc lại những lời chỉ trích của mình thậm chí còn nhiều năm sau đó. [ 174 ]

Loadable kernel modules

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

Cuộc tranh luận liệu những loadable kernel modules ( LKMs ) có được coi là tác phẩm phái sinh theo luật bản quyền hay không, và do đó nằm trong những lao lý của GPL .

Torvalds đã tuyên bố niềm tin của mình rằng các LKM chỉ sử dụng một tập hợp con giới hạn, “công khai” của các giao diện kernel đôi khi có thể là các tác phẩm không có nguồn gốc, do đó cho phép một số trình điều khiển chỉ nhị phân và các LKM khác không được cấp phép theo GPL.[cần dẫn nguồn] Một ví dụ điển hình cho việc này là việc sử dụng dma_buf bởi các trình điều khiển đồ họa Nvidia độc quyền. dma_buf là một tính năng kernel gần đây giống như phần còn lại của kernel, nó được cấp phép theo GPL), cho phép nhiều GPU nhanh chóng sao chép dữ liệu vào bộ đệm khung của nhau.[175] Một trường hợp sử dụng có thể là Nvidia Optimus kết hợp GPU nhanh với GPU tích hợp Intel, trong đó GPU Nvidia ghi vào bộ đệm khung Intel khi nó hoạt động. Nhưng, Nvidia không thể sử dụng cơ sở hạ tầng này vì nó sử dụng một phương tiện kỹ thuật để thực thi quy tắc rằng nó chỉ có thể được sử dụng bởi các LKM cũng là GPL. đã trả lời trên LKML, từ chối yêu cầu từ một trong các kỹ sư của họ để loại bỏ thực thi kỹ thuật này khỏi API. Tuy nhiên, không phải tất cả những người đóng góp nhân Linux đều đồng ý với cách giải thích này, và ngay cả Torvald cũng đồng ý rằng nhiều LKM là các tác phẩm có nguồn gốc rõ ràng, và thực sự ông viết rằng “các mô-đun hạt nhân là dẫn xuất ‘theo mặc định'”.[176]

Mặt khác, Torvalds cũng đã nói rằng “một vùng màu xám nói riêng giống như một trình điều khiển ban đầu được viết cho một hệ điều hành khác (nghĩa là rõ ràng không phải là một tác phẩm có nguồn gốc từ Linux). […] ĐÓ là một khu vực màu xám, and _that_ is khu vực mà cá nhân tôi tin rằng một số mô-đun có thể được coi là không có nguồn gốc hoạt động đơn giản vì chúng không được thiết kế cho Linux và không phụ thuộc vào bất kỳ hành vi đặc biệt nào của Linux“.[177] Trình điều khiển đồ họa độc quyền, đặc biệt, được thảo luận rất nhiều. Cuối cùng, có khả năng những câu hỏi như vậy chỉ có thể được giải quyết bởi một tòa án.

Firmware binary blobs[sửa|sửa mã nguồn]

Một điểm gây tranh cãi về cấp phép là việc sử dụng firmware ” binary blobs ” trong Linux kernel để tương hỗ một số ít thiết bị phần cứng. Các tệp này thuộc nhiều loại giấy phép, trong đó nhiều tệp bị hạn chế và mã nguồn cơ bản đúng mực của chúng thường không được biết .

Năm 2002, Richard Stallman đã tuyên bố tại sao, theo quan điểm của mình, những đốm màu đó làm cho nhân Linux không phải là một phần mềm miễn phí và việc phân phối nhân Linux “vi phạm GPL”, đòi hỏi phải có “mã nguồn tương ứng hoàn chỉnh”.[5] Năm 2008, Tổ chức Phần mềm Tự do Mỹ Latinh đã khởi động Linux-libre như một dự án tạo ra một biến thể hoàn toàn miễn phí của nhân Linux mà không có đối tượng độc quyền; nó được sử dụng bởi một số bản phân phối Linux hoàn toàn tự do, chẳng hạn như những bản phân phối được chứng nhận bởi Free Software Foundation, trong khi nó cũng có thể được sử dụng trên hầu hết các bản phân phối.[178]

Vào ngày 15 tháng 12 năm 2010, Dự án Debian đã thông tin rằng phiên bản không thay đổi tiếp theo của Debian ” 6.0 Squeeze ” sẽ đi kèm với một hạt nhân ” vô hiệu toàn bộ những bit ứng dụng không tự do “. [ 179 ] Chính sách này liên tục được vận dụng trong những bản phát hành Debian không thay đổi sau này .

Linux là thương hiệu đã đăng ký của Linus Torvalds tại Mỹ và một số quốc gia khác. Đây là kết quả của một sự cố trong đó William Della Croce, Jr., người không tham gia vào dự án Linux, đã đăng ký nhãn hiệu tên và sau đó yêu cầu tiền bản quyền để sử dụng nó[180]. Một số người ủng hộ Linux đã yêu cầu tư vấn pháp lý và nộp đơn kiện chống lại Della Croce. Vấn đề đã được giải quyết vào tháng 8 năm 1997 khi nhãn hiệu được giao cho Linus Torvalds[181][182].

Tranh chấp SCO[sửa|sửa mã nguồn]

Đầu năm 2007, SCO đã đệ trình những cụ thể đơn cử về vi phạm bản quyền có mục tiêu. Mặc dù những công bố trước đó rằng SCO là chủ sở hữu hợp pháp của 1 triệu dòng mã, họ chỉ xác lập 326 dòng mã, hầu hết trong số đó là không bản quyền [ 183 ]. Vào tháng 8 năm 2007, TANDTC trong vụ Novell đã phán quyết rằng SCO đã không thực sự chiếm hữu bản quyền của Unix [ 184 ], mặc dầu Tòa án phúc thẩm thứ mườ i phán quyết vào tháng 8 năm 2009 rằng câu hỏi về người chiếm hữu bản quyền vẫn còn đúng cho bồi thẩm đoàn câu vấn đáp. Tòa án đã ra phán quyết ngày 30 tháng 3 năm 2010 có lợi cho Novell. [ 185 ]

Liên kết ngoài[sửa|sửa mã nguồn]

Source: https://vh2.com.vn
Category : Ứng Dụng