Nội dung bài giảng Bài 1: Tổng quan về hệ điều hành sau đây sẽ giúp các bạn tìm hiểu về khái niệm hệ điều hành, hệ điều hành và phần mềm mã nguồn mở, các thành phần cơ bản của hệ điều hành, phân loại hệ điều hành.
Tóm tắt lý thuyết
1. Khái niệm hệ điều hành
Hệ điều hành là một phần mềm hệ thống dùng để điều hành, quản lí các thiết bị phần cứng và các tài nguyên phần mềm trên máy tính. Hệ điều hành đóng vai trò trung gian trong việc giao tiếp giữa người sử dụng và phần cứng máy tính, cung cấp một môi trường cho phép người sử dụng phát triển và thực hiện ứng dụng của họ một cách dễ dàng.
Khi khởi động máy tính, phàn mềm hệ điều hành được khởi động đầu tiên, sau đó người sử dụng mới có thể sử dụng được các chưomg trình ứng dụng khác thông qua giao diện tương tác do hệ điều hành cung cấp. Chương trình hệ diều hành luôn thường trực trong suốt quá trình máy hoạt động. Khi tắt máy tính, phần mềm hệ điều hành được tắt cuối cùng để kết thúc phiên làm việc với máy.
Nhiệm vụ cơ bản của hệ điều hành
- Điều khiển và quản lí trực tiếp các phần cứng.
- Thực hiện một số thao tác cơ bản trong máy tính như các thao tác đọc, viết tập tin, quản lí hệ thống tập tin và các kho dữ liệu.
- Cung cấp một hệ thống giao diện sơ khai cho các ứng dụng, thường thông qua một hệ thống thư viện các hàm chuẩn để điều hành các phân cứng mà từ đó các ứng dụng có thể gọi tới.
- Cung cấp một hệ thống lệnh cơ bản để điều hành máy. Các lệnh này gọi là lệnh hệ thống (system command).
- Ngoài ra, hệ điều hành còn cung cấp một số phần mềm ứng dụng cơ bản như: trình duyệt web, chương trình soạn thảo văn bản, chương trình nghe nhạc, chương trình chỉnh sửa ảnh.
Hiện nay, các máy tính cá nhân chù yếu sử dụng hai họ hệ điều hành phổ biến là họ Unix và họ Microsoft Windows.
- Windows là hệ điều hành được sử dụng nhiều nhất trong các máy tính cá nhân, vì nó có đồ hoạ rất thân thiện với người sử dụng. Hệ điều hành này được phát triển bởi công ty phần mềm nồi tiếng Microsoft, gồm các phiên bản: Windows 95, Windows 98, Windows NT, Windows 2000, Windows ME, Windows XP, Windows Vista, Windows 7, Windows 8,...
- Unix là hệ diều hành được sử dụng nhiều trong các máy tính lớn như mini, mainframe. Hệ điều hành Unix có nhiều ưu điểm nổi bật như: cơ chế phân quyền người sử dụng tốt, có các modun giao diện với các thiết bị ngoại vi mạnh,... Unix có nhiều phiên bản như: SOLARIS của công ty Sun, AIX của IBM, Alpha Unix của DEC, và đặc biệt là các phiên bản miễn phí mã nguồn mở thuộc dòng LINUX (do Linus Torvalds, người Phần Lan, viết thành công lõi của hệ điều hành) như Ubuntu, Red hat, SUSE,...
Trong nội dung cuốn giáo trình này, chúng tôi chỉ tập trung giới thiệu hệ điều hành được sử dụng phổ biến nhất cho các máy tính cá nhân Microsoft Windows, với phiên bản thịnh hành hiện nay là Windows 7.
2. Hệ điều hành và phần mềm mã nguồn mở
Trong khoảng thời gian gần đây, khái niệm phần mềm nguồn mở trở nên khá phổ biến với người sừ dụng máy tính. Các sản phẩm phần mềm nguồn mở có mặt trong hầu hết các nhóm phần mềm máy tính, đặc biệt là nhóm phần mềm hệ thống, phần mềm công cụ và phần mềm ứng dụng. Những sản phẩm này ngày càng đóng vai trò quan trọng trong ngành công nghiệp phần mềm trên toàn thế giới nói chung và ở Việt Nam nói riêng bởi các lợi ích vượt trội mà nó mang lại.
Các phần mềm nguồn mở có chi phí sở hữu thấp (gồm chi phí mua, chi phí sử dụng và chi phí bảo trì). Hầu hết các phần mềm mã nguồn mở được phát hành miễn phí, tức là người sử dụng có thể tự do sử dụng sản phẩm mà không cần phải mua bản quyền. Điều này giúp giảm đáng kể tỉ lệ vi phạm bản quyền sử dụng sản phẩm phần mềm. Ngoài ra, nhiều tổ chức đã điều tra, nghiên cứu và đưa ra những kết luận khả quan về tính kinh tế khi sử dụng các sản phẩm nguồn mở. Chẳng hạn nghiên cứu của tập đoàn Robert Frances cho biết: chi phí sở hữu Linux bằng 40% Microsoft Windows và bàng 14% hệ điều hành nguồn đóng Solaris của công ty Sun.
Bên cạnh đó với các sản phẩm nguồn mở người sử dụng có quyền tự do sao chép, chỉnh sửa và nâng cấp mã nguồn. Điều này giúp tạo ra các sản phẩm nguồn mở với nhiều phiên bản có chất lượng tốt, được nàng cấp và bào trì nhanh chóng bởi cộng đồng lập trình viên trên toàn thê giới. Cũng chính vì có các quyền tự do này mà phần mềm nguồn mở giúp phát triển tiềm lực của ngành công nghiệp phần mềm địa phương và bản địa hoá các sản phẩm phần mềm. Ưu điểm này của phần mềm nguồn mở thực sự phù hợp với người dùng ở nước ta. Nó giúp làm giảm chi phí nhập khẩu, tạo thêm công ăn việc làm cho lực lượng lao động trẻ dồi dào trong ngành công nghiệp phần mềm ở nước ta.
Do có nhiều ưu điểm nổi bật, người sử dụng nên cân nhắc lựa chọn các sản phẩm phần mềm nguồn mờ cho máy tính của mình. Hiện nay có rất nhiều sản phẩm nguồn mở tiêu biểu mà người sử dụng thông thường nên biết như: hệ điều hành Linux, bộ ứng dụng văn phòng open Office, trình duyệt web Mozilla Firefox,...
- Linux: là hệ điều hành đa người dùng, đa chương trình và đa xử lí. Linux chạy khá nhanh và được cài đặt cho nhiều chủng loại máy tính khác nhau như máy tính cá nhân, máy tính bảng và dặc biệt phù hợp với các máy chủ trong môi trường Internet. Hầu hết các máy chủ Internet ở Việt Nam đều sử dụng hệ điều hành Linux. Các bản phân phối của hệ điều hành Linux phổ biến tại Việt Nam như Android, Ubuntu, SƯSE, REDhat, Debían, Fedora, Centos,... Trong đó Android là hệ điều hành khá phổ biến, được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng.
- Open Office: là bộ phần mềm văn phòng có các tính năng tương dương với Microsoft Office như trình soạn thảo văn bản writer (tương tự như Microsoft Word), chương trình bảng tính Cale (tương tự như Microsoft Excel), chương trình trình diễn Impress (tương tự như Microsoft PowerPoint), Draw,... Open Office được cài đặt mặc định trong hầu hết các bản phân phối của Linux và dỗ dàng cài đặt và sử dụng trong hệ điều hành Windows và Solaris. Một tiện ích nổi bật của phần mềm này là có thể đọc được hầu hết các tài liệu tạo ra từ Microsoft Office. Do đó, Open Office dược sử dụng linh hoạt khi chuyên từ Windows sang Linux.
- Mozilla Firefox: Firefox đạt 25% thị phần trình duyệt web (theo thống kê năm 2011) và là trình duyệt web phổ biến thứ hai trên thế giới. Firefox được nhiều người sử dụng máy tính cá nhân ưa chuộng bởi giao diện đẹp, dỗ sử dụng và nhiều tiện ích đính kèm khác mà người dùng có thể bổ sung qua tính năng add-on.
Ngoài ra, thông qua môi trường Internet, người sù dụng có thể tìm kiếm, tải miền phí và sử dụng hàng triệu tiện ích nguôn mở cho nhiêu mục đích khác, ví dụ: phần mềm nghe nhạc xem phim VLC media player, phần mềm nén tệp thư mục 7-Zip, phần mềm chinh sửa ảnh GIMP, phần mềm hỗ trợ soạn thảo tiếng Việt Unikey,...
3. Các thành phần cơ bản của hệ điều hành
Hệ điều hành có các thành phần chính sau:
3.1 Hệ thống quản lí tiến trình
Một tiến trình được coi là một đon vị làm việc của hệ thông. Hệ thống có thê thực hiện nhiều tiến trình cùng lúc, trong đó, một số tiến trình là của hộ điều hành và một số là của người sử dụng. Vai trò của hệ thống quàn lí tiến trình trong nhiệm vụ này là: tạo và hủy các tiến trình; lập lịch thực hiện các tiến trình. Hầu hết các hệ điều hành hiện nay đều là hệ điều hành đa nhiệm, cho phép người sử dụng có thể cùng một lúc bật nhiêu tiên trình. Chăng hạn, người sử dụng có thê vừa soạn thảo, vừa nghe nhạc và Chat Yahoo Messenger với bạn bè.
3.2 Hệ thống quản lí bộ nhớ chính
Bộ nhớ chính là trung tâm của các thao tác và xử lí. Một chương trình muốn thi hành, trước hết nó phải được ánh xạ thành địa chỉ tuyệt đối nạp vào trong bộ nhớ chính. Khi một chương trình được thi hành, hệ thống truy xuất các chỉ thị và dữ liệu của chương trình trong bộ nhớ chính. Vì vậy, có thể coi bộ nhớ chính là một tài nguyên rất quan trọng, trong quá trình hoạt động của máy tính. Hệ điều hành có nhiệm vụ quản lí nguồn tài nguyên này. Vai trò của hệ điều hành trong việc quản lí bộ nhớ chính cụ thể là:
- Lưu giữ thông tin về các vị trí trong bộ nhớ đã được sử dụng và ai sử dụng.
- Quyết định tiến trình nào được nạp vào bộ nhớ chính khi bộ nhớ đã có thê dùng được.
- Cấp phát và thu hồi bộ nhớ khi cần thiết.
3.3 Hệ thống quản lí bộ nhớ phụ
Khi cài đặt hệ diều hành, các thiết lập phân vùng ổ đĩa logic cho đĩa cứng cũng được thực hiện. Hệ điều hành có nhiệm vụ quản lí các vùng trống trên đĩa, định vị, lưu trữ và lập lịch cho đĩa. Hệ điều hành cũng cung cấp chương trình tiện ích cho phép dọn dẹp lại ổ đĩa và phân vùng lại dữ liệu cho ổ đĩa cứng.
3.4 Hệ thống quản lí nhập xuất
Hệ diều hành cung cấp cơ chế làm việc thân thiện, dễ thao tác hơn, che dấu đi những dặc thù của các thiết bị phần cứng đối với người sử dụng. Một hệ thống quản lí nhập xuất của hệ điều hành bao gồm:
- Hệ thống bộ đệm (buffer caching);
- Các giao tiếp diều khiển thiết bị (device drivers) tổng quát;
- Bộ điêu khiên cho các thiêt bị phân cứng.
3.5 Hệ thống quản lí tập tin
Hệ thống quản lí tập tin là thành phần rõ ràng nhất trong hệ điều hành. Hệ điều hành định nghĩa một đơn vị lưu trữ logic là tập tin. Tập tin là một tập hợp thông tin do người tạo ra nó xác định. Hệ điều hành tạo một ánh xạ từ tệp tin đến vùng thông tin trên đĩa và truy xuất những tập tin này thông qua thiết bị lưu trữ. Bên cạnh đó, dổ quản lí các tệp được dễ dàng, hệ điều hành tổ chức tệp trong các thư mục. Trong một thư mục có thể chứa thư mục con và tộp. Vai trò của hệ diều hành trong việc quản lí tập tin là:
- Tạo và xoá một tập tin;
- Tạo và xoá một thư mục;
- Hỗ trợ các thao tác trên tập tin và thư mục;
- Ánh xạ tập tin trên hệ thống lưu trữ phụ (bộ nhớ ngoài);
- Khôi phục (backup) tệp trên các thiết bị lưu trữ.
3.6 Hệ thống bảo vệ
Hệ thông bảo vệ kiêm soát quá trình truy xuât cùa chương trình, tiên trình hoặc người sử dụng với tài nguyên của hệ thống (CPU, bộ nhớ,...) từ đó giúp bảo vệ các thiết bị ngoại vi của máy, đảm bảo tính an toàn khi vận hành hệ thống máy tính. Hệ thống bảo vệ cũng làm tăng độ an toàn khi kiểm tra lỗi trong giao tiếp giữa những hệ thống nhỏ bên trong.
3.7 Hệ thống dịch lệnh
Con người giao tiếp với máy tính thông qua việc thực hiện các chương trình. Mồi chương trình bao gồm một tập lệnh được sắp xếp theo ị trật tự xác định. Các lệnh được đưa vào hệ điều hành thông qua bộ điều khiển lệnh. Trong các hệ thống chia sẻ thời gian, một chương trình có thê đọc và thông dịch các lệnh điều khiển được thực hiện một cách tự động. Chương trình này thường được gọi là bộ thông dịch điều khiển card, cơ chế dòng lệnh hoặc shell. Chức năng của nó là lấy lệnh kế tiếp và thi hành. Mỗi hệ điều hành có những cơ chế giao tiếp khác nhau, có thể theo cơ chế dòng lệnh, hoặc thân thiện hơn là sử dụng thông qua giao diện dạng biểu tượng, mục chọn, cửa sổ thao tác dùng chuột.
4. Phân loại hệ điều hành
Có nhiều cách phân loại hệ điều hành khác nhau. Phần này giới thiệu, < phân loại hệ điều hành dưới góc độ người sử dụng và số chương trình được thực thi cùng lúc trong hệ điều hành.
4.1 Hệ điều hành đơn nhiệm một người sử dụng
Là hệ điều hành chỉ cho phép tại một thời điểm chỉ có một chương trình được thực thi. Muốn thực hiện nhiều chương trình, các chương trình phải được thực hiện lần lượt. Mỗi lần làm việc cũng chỉ có một người dược đăng nhập vào hệ thống, ví dụ, MS-DOS (tiền thân của hệ điều ị hành Windows hiện nay).
4.2 Hệ điều hành đa nhiệm một người sử dụng
Hệ điều hành loại này chỉ cho phép một người dược đăng nhập vào hệ thống nhưng có thể kích hoạt cho hệ thống thực hiện nhiều chương trình đồng thời, ví dụ, hệ điều hành Windows 95.
4.3 Hệ điều hành đa nhiệm nhiều người sử dụng
Hệ điều hành loại này cho phép nhiều người đăng nhập vào hệ thống tại các thời điểm khác nhau (thông qua tên tài khoản - Account Name) và thực hiện đồng thời nhiều chương trình. Hệ điều hành loại này phức tạp, đòi hỏi máy tính phải có bộ xử lí mạnh và bộ nhớ trong lớn. Đa số các hệ điều hành ngày nay là đa nhiệm nhiều người dùng, ví dụ, Windows XP, Windows 7, Linux,...