25 năm phát triển của nhân Linux có thể đủ điều kiện hoặc được trừu tượng hóa theo các điều khoản của giáo dân không? [đóng cửa]


12

Nhân Linux gần 25 tuổi . Nếu tôi phải đưa ra phiên bản ngắn về lịch sử phát triển của nhân Linux từ năm 1991 (ngày ra đời) và trong phần từ năm 1994 (1.0.0) cho đến ngày hôm nay, tôi cũng không thể. Cách tốt nhất tôi có thể làm để đọc mọi ghi chú phát hành kernel đơn lẻ là cung cấp các tính năng phát hành chung sau đây được thêm vào kernel cho đến phiên bản 3.11 (ghi chú và liên kết bị bỏ qua):

  • Phiên bản 1.0 của nhân Linux được phát hành vào ngày 14 tháng 3 năm 1994. Bản phát hành nhân Linux này chỉ hỗ trợ các hệ thống máy tính dựa trên bộ xử lý đơn i386. Tính di động trở thành mối quan tâm và vì vậy phiên bản 1.2 (phát hành ngày 7 tháng 3 năm 1995) đã đạt được sự hỗ trợ cho các hệ thống máy tính sử dụng bộ xử lý dựa trên các kiến ​​trúc Alpha, SPARC và MIPS.
  • Phiên bản 2.0 được phát hành ngày 9 tháng 6 năm 1996. Có 41 bản phát hành trong sê-ri. Tính năng chính của 2.0 là hỗ trợ SMP (nghĩa là hỗ trợ nhiều bộ xử lý trong một hệ thống) và hỗ trợ nhiều loại bộ xử lý hơn.
  • Phiên bản 2.2 (phát hành ngày 26 tháng 1 năm 1999) đã loại bỏ spinlock toàn cầu và cung cấp hỗ trợ SMP được cải thiện và thêm hỗ trợ cho các kiến ​​trúc m68k và PowerPC cũng như các hệ thống tệp mới (bao gồm hỗ trợ chỉ đọc cho NTFS của Microsoft).
  • Phiên bản 2.4.0 , được phát hành vào ngày 4 tháng 1 năm 2001, có hỗ trợ cho Thẻ cắm và chạy, USB và Thẻ PC. Nó cũng bao gồm hỗ trợ cho bộ xử lý PA-RISC từ Hewlett-Packard. Sự phát triển cho 2.4.x đã thay đổi một chút trong đó có nhiều tính năng hơn được cung cấp trong suốt thời gian của loạt bài, bao gồm: hỗ trợ Bluetooth, Trình quản lý khối tin hợp lý (LVM) phiên bản 1, hỗ trợ RAID, hệ thống tệp InterMezzo và ext3.
  • Phiên bản 2.6.0 được phát hành vào ngày 18 tháng 12 năm 2003. Sự phát triển cho 2.6.x đã thay đổi hơn nữa theo hướng bao gồm các tính năng mới trong suốt thời gian của bộ truyện. Trong số các thay đổi đã được thực hiện trong sê-ri 2.6 là: tích hợp các dòngClinux vào nguồn nhân chính, hỗ trợ PAE, hỗ trợ một số dòng CPU mới, tích hợp ALSA vào nguồn nhân chính, hỗ trợ cho tối đa 2 32 người dùng ( lên từ 2 16 ), hỗ trợ tối đa 2 29 ID tiến trình (chỉ 64 bit, vòm 32 bit vẫn giới hạn ở 2 15), tăng đáng kể số loại thiết bị và số lượng thiết bị của từng loại, hỗ trợ 64 bit được cải thiện, hỗ trợ cho các hệ thống tệp hỗ trợ kích thước tệp lên tới 16 terabyte, quyền ưu tiên trong nhân, hỗ trợ cho Thư viện chủ đề POSIX gốc (NPTL), Tích hợp Linux ở chế độ người dùng vào các nguồn nhân chính, tích hợp SELinux vào các nguồn nhân chính, hỗ trợ InfiniBand và hơn thế nữa. Cũng đáng chú ý là việc bổ sung một số hệ thống tệp trong các bản phát hành 2.6.x: FUSE, JFS, XFS, ext4 và hơn thế nữa. Chi tiết về lịch sử của chuỗi kernel 2.6 có thể được tìm thấy trong các tệp ChangeLog trên vùng phát hành mã nguồn chuỗi kernel 2.6 của kernel.org.
  • Phiên bản 3.0 được phát hành vào ngày 22 tháng 7 năm 2011. Torvalds tuyên bố rằng sự thay đổi lớn là "KHÔNG CÓ. Hoàn toàn không có gì." Ngày 30 tháng 5 năm 2011 đã thấy Torvalds thông báo, "... hãy chắc chắn rằng chúng tôi thực sự tạo ra bản phát hành tiếp theo không chỉ là một số sáng bóng hoàn toàn mới, mà còn là một hạt nhân tốt." Sau quá trình phát triển dự kiến ​​6-7 tuần, nó sẽ được phát hành gần kỷ niệm 20 năm Linux.
  • Vào tháng 12 năm 2012, Torvalds đã quyết định giảm độ phức tạp của kernel bằng cách loại bỏ hỗ trợ cho bộ xử lý i386, biến dòng kernel 3.7 trở thành bộ cuối cùng vẫn hỗ trợ bộ xử lý gốc. Cùng một loạt hỗ trợ thống nhất cho bộ xử lý ARM.
  • Phiên bản 3.11 , được phát hành vào ngày 2 tháng 9 năm 2013, bổ sung nhiều tính năng mới như cờ O_TMPFILE mới để mở (2) để giảm lỗ hổng tệp tạm thời, quản lý năng lượng động AMD Radeon thử nghiệm, thăm dò mạng có độ trễ thấp và zswap (bộ đệm trao đổi nén).

Tôi cũng có thể nói thêm rằng trong nhiều năm nay, Quỹ Linux đã báo cáo về sự phát triển hạt nhân. Đây là những điểm nổi bật về phát triển hạt nhân 2012-2013:

  • Gần 92.000 thay đổi đã được sáp nhập từ 3.738 nhà phát triển cá nhân đại diện cho 536 tập đoàn (mà chúng tôi biết).
  • Một loạt các tính năng mới quan trọng đã được hợp nhất vào dòng chính. Chúng bao gồm hoạt động đầy đủ tickless, không gian tên người dùng, ảo hóa KVM và Xen cho ARM, theo dõi tải theo thực thể trong lịch trình, điểm kiểm tra / khởi động lại không gian người dùng, hỗ trợ kiến ​​trúc ARM 64 bit, hệ thống tệp định hướng flash F2FS, nhiều cải tiến mạng tại các vấn đề về độ trễ và bộ đệm, hai hệ thống con độc lập cung cấp bộ nhớ đệm nhanh cho các thiết bị lưu trữ khối và hơn thế nữa.
  • Cuộc tranh cãi lâu dài với các tính năng hạt nhân dành riêng cho Android đã mờ hoàn toàn vào nền. Tính năng "wakelocks" được thảo luận nhiều đã được thay thế một cách lặng lẽ bằng một giải pháp chính khác được sử dụng trong các thiết bị Android mới nhất.
  • Việc sử dụng các công cụ tự động để tìm lỗi trong các hạt nhân phát triển đã tăng đáng kể trong giai đoạn này. Các công cụ như trình kiểm tra fuzz "ba ngôi" và hệ thống khởi động và khởi động 0 ngày đang tìm thấy số lượng lớn lỗi trong các hạt nhân phát hành trước, rút ​​ngắn chu kỳ phát triển và cho phép cộng đồng cung cấp các bản phát hành chất lượng cao hơn.
  • Đóng góp từ các ngành công nghiệp di động và nhúng tiếp tục tăng. Linaro, Samsung và TI, ví dụ, cùng nhau đóng góp 4,4% các thay đổi trong phiên bản trước của bài viết này; trong khoảng thời gian lên tới 3.10, họ đã đóng góp gần 11% cho tất cả các thay đổi.
  • Dự án kernel lần đầu tiên tham gia Chương trình tiếp cận cộng đồng dành cho phụ nữ, dẫn đến 41 ứng dụng cho 7 vị trí khả dụng. Trong quá trình đăng ký, 374 bản vá đã được gửi tới kernel và hơn 1/3 trong số các bản vá đó được chấp nhận trong bản phát hành kernel 3.10. Quá trình thực tập hiện đang được tiến hành, nhưng kết quả của điều đó sẽ không bắt đầu hiển thị cho đến khi phát hành kernel trong tương lai.

Hơn nữa, việc định lượng những gì đang xảy ra với kernel không khó lắm vì chúng ta có các số liệu vượt ra ngoài các cam kết riêng lẻ . Chẳng hạn, chúng ta biết kernel 1.0.0 vào năm 1994 có 176 250 dòng mã; và chúng ta biết một hạt nhân đương đại như 3.10 có 15 803 499 dòng mã. Đáng chú ý hơn. Tần suất phát hành hạt nhân đã tăng (63 ngày trong 3.10), cũng như tốc độ thay đổi (9 lần cam kết mỗi giờ hoặc nhiều hơn khi chúng ta nói). Để trích dẫn Linux Foundation:

Khả năng duy trì tốc độ thay đổi này trong nhiều năm là chưa từng có trong bất kỳ dự án phần mềm công cộng nào trước đây.

Nhưng tất cả những điều này mang lại ít hiểu biết trong quan điểm của tôi. Vì vậy, tôi sẽ hỏi:

  1. Liệu sự tiến hóa trong một phần tư thế kỷ này có thể đủ điều kiện vượt ra ngoài việc bổ sung tuyến tính tất cả các tính năng được liệt kê tạo nên hạt nhân này theo thời gian không?
  2. Và điều này có mang lại cái nhìn sâu sắc nào về nhân Linux không, hay nó sẽ đi về đâu? Sau 25 năm phát triển một số kết luận chắc chắn có thể được rút ra về điều đó?

Tìm kiếm một câu trả lời trừu tượng trong các điều khoản của giáo dân nói lên tất cả mà không cần phải nói tất cả mọi thứ.


"Hỗ trợ cho tối đa 229 ID quá trình" đã nhảy ra khỏi tôi, vì vậy tôi đã tìm ra điều này và tài liệu tham khảo duy nhất là, dường như, nguồn gốc của đoạn đó . Tôi đã nghĩ ID quá trình có phạm vi 16 bit (đã ký), tức là ~ 16.000, nhưng thực tế nó có thể còn nhiều hơn thế . Nó chắc chắn không phải là một vài trăm.
goldilocks

3
Câu hỏi này quá rộng vì nó đang tìm bài viết Wikipedia về chủ đề này.
Gilles 'SO- ngừng trở thành ác quỷ'

Bạn đang có ý định viết một bài báo ở đây? Điều đó tốt, nhưng nó sẽ giúp, lời khuyên khôn ngoan, nếu bạn cụ thể về những gì bạn đang cố gắng làm. Tôi đoán rằng nó không chỉ là để có một bản tóm tắt tốt sẵn sàng cho buổi tối tiếp theo của bạn tại lỗ tưới nước địa phương;)
goldilocks

1
Tôi mơ hồ nhớ lại rằng có ít nhất một vài người dự định viết luận văn về vấn đề này, hoặc tương tự. Tôi nghi ngờ bạn sẽ tìm thấy tài liệu học thuật về chủ đề này ... Khác với việc chỉ vào các ấn phẩm hiện có, có vẻ như câu hỏi của bạn sẽ cần nhiều tháng nghiên cứu để trả lời.
derobert

Về câu hỏi của bạn, có lẽ bạn cần cho chúng tôi biết về các điều khoản của giáo dân, để có được câu trả lời tốt ở đây. Ngoài ra, hãy đăng bài này lên lkml và nhận phản hồi của họ về niên đại của bạn. Nếu bạn bỏ lỡ điều gì đó quan trọng, họ sẽ làm cho bạn biết.
Bananguin

Câu trả lời:


11

Bạn hỏi:

Liệu sự tiến hóa trong một phần tư thế kỷ này có thể đủ điều kiện vượt ra ngoài việc bổ sung tuyến tính tất cả các tính năng được liệt kê tạo nên hạt nhân này theo thời gian không? Và điều này có mang lại cái nhìn sâu sắc nào về nhân Linux không, hay nó sẽ đi về đâu?

Tôi nghi ngờ những câu hỏi như vậy có câu trả lời được xác định rõ. Tuy nhiên, tôi nghĩ không khó để hiểu các lực lượng đang thúc đẩy sự phát triển của nhân Linux.

Đầu tiên, máy tính là thứ ngày càng quan trọng. Chomsky nhận xét ở đâu đó rằng họ là trung tâm của bất kỳ nền kinh tế công nghiệp hóa. Một máy tính không là gì nếu không có hệ điều hành, do đó làm cho hệ điều hành trở nên quan trọng.

Trong một thời gian trong thập niên 80 và 90, các hệ điều hành độc quyền đã trở nên thịnh hành. Đây là một tình trạng không tự nhiên. Windows của Microsoft đã chiếm ưu thế về thời gian và theo một nghĩa nào đó vẫn còn, nhưng nó chỉ giữ vị trí của mình bằng cách khai thác các hiệu ứng mạng.

Với sự phát triển của internet, nó đã có thể tạo ra một hệ điều hành cộng đồng. Tuy nhiên, một hệ điều hành như vậy sẽ chỉ hữu ích nếu nó không thể lần lượt được sở hữu. Họ hệ điều hành BSD không thuộc loại đó. Do đó, sự gia tăng của nhân Linux là trái tim của một hệ điều hành cộng đồng không thể được sở hữu.

Lưu ý rằng rất nhiều nhà cung cấp máy tính lớn đã đứng sau nhân Linux. Tại sao? Cá nhân quan tâm đến tự do. Cộng đồng quan tâm đến tự do. Các tập đoàn chỉ quan tâm đến lợi nhuận và các chiến lược liên quan. Tôi tin rằng nhiều tập đoàn máy tính đã làm hòa với khái niệm hệ điều hành "hàng hóa hóa", "sân chơi bình đẳng", nếu bạn muốn. Họ đã xem xét ví dụ về việc Microsoft kiếm được rất nhiều tiền bằng cách sở hữu một hệ điều hành, nhưng không phải ai cũng có thể là Microsoft, và có một nhà cung cấp duy nhất ở vị trí quyền lực như vậy, có thể nói là ít có vấn đề nhất, nếu chỉ vì nó mang lại họ là một lợi thế không công bằng từ quan điểm của các tập đoàn khác.

Vì vậy, tôi nghĩ rằng vì hầu hết các tập đoàn không có vị trí để trở thành Microsoft và có lẽ không muốn, nên đã quyết định hỗ trợ một hệ điều hành "hàng hóa". Một lần nữa, một sân chơi bình đẳng. Do đó, mọi người đều có thể sử dụng HĐH này cho bất kỳ mục đích nào họ muốn và không ai trong nhóm có lợi thế với bất kỳ ai khác. Một cách nhìn khác là việc có một thứ cơ bản như một hệ điều hành trở thành độc quyền là sự can thiệp nghiêm trọng vào các nguyên tắc thị trường tự do. Trong các tập đoàn nói chung không đặc biệt ủng hộ thị trường tự do nếu họ có thể đứng về phía chiến thắng, nhưng nếu họ không thể, thì họ là như vậy.

Hầu hết các đặc điểm của nhân Linux thực sự có thể được suy luận từ các động lực này. Ví dụ, bản chất mô đun và dễ uốn của hệ điều hành giống Unix rất phù hợp với HĐH được thiết kế là "hàng hóa". Ngoài ra, một phần bản chất di chuyển nhanh của dự án kernel là bởi vì nó đang cố gắng đáp ứng tất cả những yêu cầu của nhiều công ty này để trở thành những gì họ cần. Mặc dù nhiều hoạt động tập trung vào hỗ trợ / trình điều khiển phần cứng, nhưng cũng có nhiều hoạt động bên ngoài khu vực đó; phát triển liên tục các tính năng mới và bảo trì và cải thiện những tính năng hiện có.

Tất nhiên, chúng ta không nên giảm giá mong muốn của cộng đồng, thường được gọi là cộng đồng phần mềm miễn phí, hoặc đôi khi là FOSS (Phần mềm nguồn mở và miễn phí), để có một hệ điều hành miễn phí cho người bình thường sử dụng, không do các tập đoàn kiểm soát. Rốt cuộc, các dự án như Debian và Fedora được điều hành bởi những tình nguyện viên tin vào những giá trị này. Tuy nhiên, tôi nghĩ rằng phần chơi của các tập đoàn cũng không nên bị đánh giá thấp.


1
+1 Để nêu vấn đề của các lực lượng chính trị - xã hội khiến Linux kết hợp với w / GNU hoang mang trong dòng chính. Tôi nghĩ đó là một khía cạnh rất quan trọng của nguồn gốc, mặc dù có vẻ như là "vấn đề phi kỹ thuật", nhưng thực sự là một đặc điểm xác định của sự phát triển của HĐH - đặc biệt là các tác phẩm của Eric S. Raymond - và một phần chính của sự năng động trong việc áp dụng nó bởi một loạt các nhà sản xuất phần cứng và là nền tảng chiếm ưu thế trong lịch sử của internet.
goldilocks

^ Lưu ý rằng nhiều người có kernel linux trong nhà của họ và thậm chí không biết nó vì điều này (bộ định tuyến, hộp DVR của bạn, v.v.)
goldilocks

Tôi khen ngợi câu trả lời của bạn về việc xác định hạt nhân kịp thời và hấp dẫn với động lực đang thịnh hành - sự phát triển của điện toán; kháng cáo kinh doanh; các lực lượng thị trường; Internet; tự do điện toán; cấp phép; và làm thế nào tất cả những điều trên có tác động đến việc triển khai trong kernel, với toàn bộ triển vọng về Linux. Tôi phải đọc trong tuyên bố của bạn về một "tình trạng không tự nhiên" rằng chúng ta có thể thiếu quan điểm lịch sử để đánh giá đúng điều này - và điều này rất quan trọng. Mặc dù tôi đã thực sự tập trung vào kernel mỗi se, tôi sẽ suy nghĩ nhiều hơn về các điểm và nhận xét của bạn ở trên. Cảm ơn!

1
@goldilocks: Chưa kể điện thoại Android của bạn.
slebetman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.