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:
- 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? 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ứ.