Menu
Đăng ký
Truyện
← Trước Sau →
Truyen.Free

(Đã dịch) Siêu Não Hắc Khách (Hacker) - Chương 209: LINUX Bản Đầu Tiên

LINUS gửi đến một mã nguồn đồ sộ, ước chừng mười hai ngàn dòng code. Hắn đã dốc mười ngày để biên soạn, nếu tính cả thời gian chuẩn bị, e rằng phải mất cả tháng trời. Ấy vậy mà, Lâm Hồng chỉ mất hơn ba giờ để đọc hết những dòng code này.

Lâm Hồng phát hiện, bên trong có rất nhiều đoạn tham khảo MINIX. Dù sao, trước đó LINUS vẫn luôn nghiên cứu MINIX, nên việc tham khảo các đặc điểm và công năng là điều dễ hiểu. Tỷ như, cấu trúc hệ thống văn bản tài liệu.

Hệ thống văn bản tài liệu của MINIX mô phỏng UNIX. Chỉ cần sửa đổi hệ thống văn bản tài liệu để có thể duyệt ổ cứng, thì có thể coi nó là chương trình quản lý ổ đĩa cứng. Tuy hiện tại LINUX chưa liên quan đến chức năng đọc ghi ổ đĩa cứng, nhưng LINUS vẫn sử dụng bộ phận này.

Theo lệ thường lập trình, chương trình đầu tiên thường là "HELLO, WORLD!". Phiên bản LINUS chia sẻ cho Lâm Hồng cũng đơn giản như vậy.

Trong phiên bản này, hắn chỉ thực hiện hai chức năng quan trọng: chế độ bảo hộ và đa tiến trình.

Đây là hai công năng mà DOS không có, và là hai công năng trọng yếu của hệ điều hành hiện đại.

"Chế độ bảo hộ" là một công năng dành cho bộ nhớ.

Năm 1978, INTEL công bố một CPU 16 bit, tên là 8086. CPU này là một sản phẩm mang tính lịch sử của INTEL, đặc biệt trong lĩnh vực sản xuất chip.

CPU 8086 có thể chứa địa chỉ 20 bit, tạo ra 2^16 ô nhớ, tương đương 1MB bộ nhớ, một con số khá lớn vào thời đó.

Chế độ mà CPU 8086 có thể đạt được số ô nhớ lớn nhất gọi là chế độ thực. Hệ thống DOS chính là chế độ này.

Chế độ này chỉ hỗ trợ bộ nhớ 1MB trở xuống. Dù Lâm Hồng có nâng cấp máy Compaq của mình thêm 1MB bộ nhớ, DOS cũng không hỗ trợ, cấu hình sẽ không tăng thêm chút nào.

Đây là điểm hạn chế của CPU 16 bit. Vào thời điểm đó, 1MB là rất tốt, đủ dùng cho tất cả chương trình.

Tuy nhiên, trong lĩnh vực điện tử, tồn tại "định luật Moore". Máy tính không ngừng phát triển, CPU 8086 không còn đáp ứng được nhu cầu của người dùng.

Vì vậy, năm 1985, INTEL nâng cấp phiên bản 8086 thành 80386, từ 16 bit lên 32 bit.

80386 có nhiều ưu điểm hơn, không chỉ bộ nhớ lớn hơn mà còn thêm khái niệm chế độ bảo hộ.

Trong chế độ bảo hộ, cấu trúc quản lý bộ nhớ không còn phân đoạn như trước, mà biến thành cơ chế phân trang. Cơ chế này có ưu điểm rất lớn, giúp tính năng quản lý bộ nhớ tăng lên đáng kể.

Nhưng trong lĩnh vực máy vi tính, phải có một quy tắc là "kiêm dung" (hỗ trợ) các phiên bản trước. 80386 phải hỗ trợ cơ chế 8086, những chương trình chạy được trên 8086 phải chạy được trên 80386.

Cho nên, hệ thống mặc định không phải là chế độ bảo hộ mà là chế độ thực.

Muốn khai mở "Chế độ bảo hộ", phải dùng code để thao tác ô nhớ thứ 20, "đánh thức" nó. Nó sẽ trở thành người giữ cửa của chế độ bảo hộ, phải thông qua sự đồng ý của nó mới được.

Nói thì đơn giản, nhưng quá trình thực hiện cụ thể lại tương đối phức tạp.

Đây cũng là lý do LINUS mất nhiều thời gian như vậy để biên soạn hoàn tất V0.00.

Họ muốn LINUX đuổi kịp sự phát triển của thời đại, để công năng tương lai của LINUX có thể ngang bằng với những hệ điều hành hiện đại. Tiến vào chế độ bảo hộ là điều không thể thiếu, vì chỉ khi tiến vào chế độ bảo hộ mới có thể phát huy hết sức mạnh của CPU 80386.

Trước đây, khi Lâm Hồng xem 《Hệ điều hành: Thiết kế và thực hiện》, phần này rất mơ hồ. Sau đó, anh còn tìm hiểu thêm nhiều tài liệu, nhưng vẫn không hiểu tại sao lại phải thiết kế như vậy.

Nhưng hôm nay, khi thấy code của LINUS, anh lập tức có cảm giác bừng tỉnh ngộ.

Khi lập trình thông thường, không cần quan tâm đến tầng phần cứng, code của hệ điều hành đã quản lý chặt chẽ phần cứng rồi. Lúc ban đầu, chương trình BOOT và LOADER phải gửi và nhận thông tin từ một vị trí chính xác nào đó của ổ cứng. Muốn hiểu những dòng code này, phải hiểu rõ cấu trúc phần cứng của CPU và ổ đĩa cứng. Tỷ như, CPU cấu tạo như thế nào, công dụng và các bộ phận ra sao.

May mắn thay, những thông số kỹ thuật này đều được Intel giới thiệu kỹ lưỡng. Một con chip nhỏ bé, nhưng có cả một cuốn sách dày để giới thiệu.

Lâm Hồng không khỏi cảm thán, bên trong con chip nhỏ bé chứa đựng lượng trí tuệ khổng lồ của nhân loại, phát huy trí tuệ của nhân loại đến cực điểm. Từng chân, từng thiết bị đều trải qua hàng trăm ngàn lần thử nghiệm không ngừng.

Lâm Hồng dựa theo phần thuyết minh của LINUX, điều chỉnh cấu hình máy cho phù hợp, sau đó tiến hành biên dịch trên MINIX.

Sau khi sửa vài bug nhỏ, anh biên dịch thành công.

Anh chỉ có một máy vi tính, nên cuối cùng đành phải cài LINUX lên máy này.

Đương nhiên, anh sử dụng phương thức dùng cùng lúc nhiều hệ điều hành nên hai cái kia không sao cả.

Khởi động lại, anh chọn "LINUX v0.00" trên menu, rồi nhấn Enter.

Màn hình xuất hiện nhiều dãy ký tự, không ngừng thay đổi.

Giờ phút này, Lâm Hồng đã hiểu rõ quá trình khởi động máy vi tính, không giống như trước kia, căn bản không biết máy vi tính đang làm gì.

Khi ấn nút power, bo mạch chủ gửi gói tin đến CPU, khôi phục CPU về trạng thái ban đầu. Khi kiểm tra thấy nguồn điện cung cấp cho CPU đã ổn định, CPU mới bắt đầu làm việc.

Đầu tiên, nó đọc những lệnh vận hành ở địa chỉ 0XFFFF0.

Trong đó có vài câu lệnh để chuyển tới hệ thống kiểm tra BIOS. BIOS là một cố kiện mà công ty sản xuất đã lưu trữ trong bo mạch chủ, mục đích là quản lý phần cứng.

Tự kiểm là để kiểm tra xem tất cả bộ phận phần cứng của máy vi tính có bình thường hay không. Nếu thiếu hoặc hư hỏng phần cứng, máy sẽ không khởi động được.

Chỉ khi tất cả phần cứng đều được kiểm tra và thông qua, máy mới có thể nhảy đến đọc MBR, chạy hệ điều hành trên ổ cứng.

Công năng mà LINUS hoàn thành chính là sau khi đọc MBR, khởi động hệ điều hành trong ổ cứng.

Quá trình này rất nhanh, ký tự không ngừng đổi mới, việc kiểm tra phần cứng kết thúc nhanh chóng. Màn hình lóe lên, lập tức xuất hiện các ký tự "AAAAAABBBB...".

Nhìn màn hình không ngừng xuất hiện ký tự AB, Lâm Hồng biết rõ quá trình khởi động đã hoàn tất. Lúc này, anh đang thấy công việc đầu tiên mà LINUS hoàn thành trên hệ điều hành này: Ghi ra các ký tự AB.

Nếu một người không hiểu kỹ thuật chứng kiến cảnh này, chắc chắn sẽ cười khẩy và nói: "Đây mà là hệ điều hành? Đùa à!"

Thực tế, khi LINUS làm xong đoạn này, anh đã rất phấn khích gọi em gái Sara đến xem. Dù sao, đây cũng là tác phẩm mà anh đã dốc rất nhiều tâm tư để biên soạn. Cố gắng lâu như vậy, cuối cùng thành công, tự nhiên muốn chia sẻ niềm vui với người khác.

Nhưng Sara ôm gấu Teddy nhìn chằm chằm vào màn hình khoảng năm giây, rồi nói một tiếng "Rất tốt", liền mặt không biểu cảm trở về phòng và gọi điện thoại cho bạn thân.

LINUS vì thế sửng sốt cả buổi, rất lâu sau mới kịp phản ứng, anh và người không hiểu kỹ thuật hoàn toàn không có tiếng nói chung. Anh vậy mà hy vọng em gái mình có thể hiểu được thành quả mà anh đã cố gắng mãi mới đạt được, thật là ngây thơ.

Trong mắt đối phương, đây chỉ đơn giản là hiển thị vài chữ, hoàn toàn không có gì đặc biệt, cũng không biết làm như vậy có tác dụng gì.

Nhưng Lâm Hồng lại hiểu rõ. Việc màn hình không ngừng luân chuyển hiển thị ký tự AB là do hai tiến trình đóng dấu trên màn hình. Nói cách khác, LINUS trong bản v0.00 này không chỉ thực hiện chế độ bảo hộ, mà còn có thể chạy vài đoạn code để thực hiện nhiệm vụ.

"Lợi hại!"

"Rất tuyệt!"

"NICE JOB!"

Đây là những đánh giá của Lâm Hồng dành cho LINUS.

Phần nội dung này, thoạt nhìn rất dễ hiểu, nhưng Lâm Hồng biết rõ, nếu để anh biên soạn, thời gian và công sức bỏ ra sẽ gấp nhiều lần LINUS. Không phải vì kỹ thuật của anh không tốt, mà là kiến thức về phương diện này còn ít. Chỉ dựa vào một cuốn 《Hệ điều hành: Thiết kế và thực hiện》 thì căn bản không viết ra được, còn liên quan đến nhiều kiến thức khác.

Bình thường, Lâm Hồng quan sát và sử dụng máy vi tính từ góc độ vĩ mô. Nhưng khi anh chứng kiến hệ điều hành nguyên thủy nhất này, anh lập tức có cảm giác như nhìn từ góc độ kính hiển vi.

Tất cả hộp đen đều biến mất, trong lòng anh biết rõ máy vi tính sắp làm gì tiếp theo, mọi chi tiết đều được nhìn thấy rõ ràng.

Giờ phút này đã là hai giờ sáng. Lâm Hồng rất muốn liên lạc với LINUS, nhưng đối phương không online.

Vì vậy, trong tâm trạng kích động, anh bắt đầu chính thức vùi đầu vào LINUX.

Anh muốn sửa đổi giao diện BASH mà LINUS đã chia sẻ cho anh trước đó, sửa chữa để nó có thể dùng trong LINUX.

Chương trình giao diện rất quan trọng, có thể nói nó là mẹ của mọi chương trình. Có nó thì mới có thể giúp các chương trình hoạt động được.

BASH bản thân là một chương trình Khai Nguyên, có sẵn trên internet, nhưng Lâm Hồng vẫn có mã nguồn chương trình mà LINUS đã chia sẻ trước đó.

Để biên soạn cái này, ít nhất phải có vài câu lệnh quan trọng của hệ điều hành, tỷ như lệnh hiển thị mục lục "LS", lệnh vào mục lục "CD", những câu lệnh cơ bản nhất.

Hệ thống chuyển đổi có rất nhiều, Lâm Hồng tạm thời chỉ cần MINIX hỗ trợ là đủ. Những thứ khác, sau này hãy tính.

Để tránh LINUS làm trùng việc, anh gửi cho đối phương một email, rồi vùi đầu vào làm.

Quá trình chuyển đổi này không hề dễ dàng. May mắn thay, hệ thống xử lý văn bản của MINUX và LINUX khá giống nhau, nên khi mặt trời mọc, công việc cũng gần như hoàn tất.

Vạn sự khởi đầu nan, gian nan bắt đầu nản. Dịch độc quyền tại truyen.free

Trước Sau
Nghe truyện
Nữ
Nam

Cài đặt đọc truyện

Màu nền:
Cỡ chữ:
Giãn dòng:
Font chữ:
Ẩn header khi đọc
Vuốt chuyển chương

Danh sách chương

Truyen.Free