Năm 1984, tại trường Đại học Massachusetts Institute of Technology (MIT) nơi mà Richard Matthew Stallman làm quản trị viên hệ thống đã tiếp nhận phiên bản mới nhất của UNIX. Tuy nhiên, ở phiên bản này khác với các phiên bản trước, nó không phụ thuộc vào các mã nguồn của hệ điều hành, hơn nữa bạn sẽ không thể nhận được bộ mã nguồn nếu không đăng kí những thỏa thuận mật (NDA: Non Disclosure Agreement). Do đó, Richard Matthew Stallman đã không thể thực hiện cài đặt thêm những chức năng mà người dùng mong muốn vào hệ điều hành.
Để khắc phục sự bất tiện trên ông đã quyết định viết lại từ đầu một hệ điều hành mới dựa trên nền tảng của UNIX. Với mục tiêu là hệ điều hành mới này là miễn phí (free), nghĩa là bất cứ ai cũng có thể sử dụng phần mềm này một cách tự do, vì mục đích sử dụng của bản thân thì có thể tự thay đổi cho phù hợp, có thể chia sẻ cho người khác mà không chịu một ràng buộc nào. Dự án này được gọi tắt là GNU (GNU is Not Unix). Trang chủ của GNU : http://www.gnu.org
Tổ chức Free Software Foundation (FSF) là một tổ chức phi lợi nhuận làm cơ sở mục tiêu, nó cung cấp nguồn tài trợ cho dự án GNU và ủng hộ việc dùng các phần mềm miễn phí. Trang chủ của tổ chức FSF: http://www.fsf.org
Bước đầu tiên mà dự án GNU này tiến hành là việc tái thiết lập lại các tiện ích cần thiết của hệ điều hành UNIX. Hàng trăm các phương thức nhỏ được tạo ra nhưng nổi bật nhất là 4 loại sau:
-Trình biên dịch GNU C (gcc): bao gồm kernel (nhân) và trình biên dịch C.
-Thư viện GNU C (glibc): được trang bị thư viện của C đã được tiêu chuẩn hóa khá nhiều.
-emacs: là text edit thông dụng có trong UNIX, đã được thêm nhiều tính năng khác.
-bash (Bourne Again Shell): Shell là một chương trình đặc biệt có khă năng cho phép sự tương tác giữa người dùng và hệ điều hành được trang bị trong hệ điều hành UNIX và bao gồm cả Linux. Bash là một loại của shell, nhận nhiệm vụ biên dịch các câu lệnh mà người dùng nhập vào sau đó truyền tải đến kernel(nhân). Ngoài ra, nó được cung cấp các cấu trúc điều khiển đã được nhúng và trong các lệnh khác nhau, có thể được sử dụng như một ngôn ngữ lập trình toàn diện.
Năm 1991, Linus Benedict Torvalds sinh viên của trường đại học University of Helsinki đã tiến hành một nghiên cứu nhỏ liên quan đến hoạt động của bộ xử lí Intel 80386 mới nhất thời bấy giờ.
Ông gọi công việc đó là Memory Managemnet Unit (MMU), nó mang lại sự hứng thú cho ông với việc nghiên cứu những tính năng mới chưa tồn tại từ trước đến giờ trong bộ xử lí Intel. MMU này hỗ trợ hardware thực thi đồng thời nhiều quá trình trong lần lượt các phân đoạn memory độc lập. Với việc MMU được sử dụng như vậy thì process không thể truy cập với vùng memory mà các process khác sở hữu. Do đó, nếu có một process nào bị hỏng hóc thì toàn bộ hệ thống cũng sẽ không bị ảnh hưởng.
Trong thời gian đó, Hệ điều hành có khả năng sử dụng bằng 386 như MS-DOS + Windows3.1, Windows for Workgroup, Minix thì không có khả năng sử dụng tính năng này và có khuynh hướng dễ bị hỏng hóc.
Trong nghiên cứu này, Linus đã viết ra 3 phần mềm sau:
-Phần mềm nhỏ cho xuất hiện liên tục ra màn hình chữ cái A
-Phần mềm nhỏ cho xuất hiện liên tục ra màn hình chữ cái B
-Phần mềm tương đối lớn, ngắt chuyển bộ xử lí trong protected mode, thực thi 2 chương trình khác nhau theo lịch trình sẵn. Ông đã thành công trong việc cho xuất hiện ra màn hình chuỗi kí tự ABABAB… khi cho thực thi chương trình. Từ đó biết được cơ sở của kernel của Multitasking Operation có thể thực hiện.
Linus tiếp tục cải tiến, củng cố, vào cuối năm 1991 việc thực thi của Bash và trình biên dịch GNU C trên kernel của ông thì đã có thể thực hiện. Với việc kết họp các chức năng thiết yếu, các phần mềm và các phương thức ông đã tạo ra một phần mềm nhỏ phục vụ cho việc nghiên cứu của mình từ nền tảng cơ bản của UNIX. Ông đã lấy tên là Linux với ý nghĩa là UNIX of Linus.
Để cho người khác cũng có thể dùng, ông đã upload phần mềm đó lên network của trường Đại học. Những người trên mạng bắt đầu tải về sử dụng và chỉnh sửa, cải tiến từ phiên bản ban đầu đó. Những người này sau khi chỉnh sửa đã gửi lại cho ông các bản vá đó.
Tuy nhiên, để bắt đầu sử dụng Linux là một việc rất lớn. Những tool mà người dùng cần thiết để hoàn thành Linux kernel,trình biên dịch C, Shell hay hệ điều hành khác thì đều được cung cấp source-code. Trong khi sử dụng thì cần thiết việc biên dịch, vì vậy trình biên dịch C là không thể thiếu. Để khắc phục vấn đề này đã tạo ra một bản phân phối là một phần mềm cài đặt có chứa các trình biên dịch cần thiết.
Điểm đặc trưng nhất ở phần mềm của Linux này mà bây giờ chúng ta vẫn biết đó là hình thức bản quyền của nó. Các phần mềm trong Linux thì hầu hết sử dụng hình thức bản quyền gọi là GPL (GNU General Public License). GPL là bản quyền phần mềm miễn phí được tạo ra bởi dự án GNU của Richard Matthew Stallman như đã nói ở trên với nội dung :
- Tự do tải về, sao chép phần mềm.
- Tự do thay đổi các source của phần mềm.
- Tự do sử dụng hay phân phát phần mềm cho người thứ 3.
- Có quyền phát hành một phần mềm mà mình đã thay đổi.
Biên soạn bởi m1k3y
[…] bài 1 mình đã giới thiệu về lịch sử cũng như hoàn cảnh hình thành Hệ điều hành […]