Thuật ngữ “hệ điều hành” được dùng gần đây chỉ tới một phần mềm cần thiết để người dùng quản lý hệ thống và chạy các phần mềm ứng dụng khác trên hệ thống. Nó không chỉ có nghĩa là “phần lõi” tương tác trực tiếp với phần cứng mà còn cả các thư viện cần thiết để quản lý và điều hành hệ thống.
"Các máy tính ban đầu không có hệ điều hành. Người điều hành sẽ tải và chạy chương trình một cách thủ công. Khi chương trình được thiết kế để tải và chạy chương trình khác, nó đã thay thế công việc của con người."
Cấp thấp nhất của hệ điều hành là phần lõi (còn gọi là nhân), lớp phần mềm đầu tiên được tải vào hệ thống khi khởi động. Các phần mềm được tải tiếp theo phụ thuộc vào nó sẽ cung cấp các dịch vụ cốt lõi cho hệ thống. Những dịch vụ phổ biến là truy xuất ổ đĩa, quản lý bộ nhớ và truy xuất tới thiết bị phần cứng.
Khái niệm hệ điều hành
Hệ điều hành là một phần mềm chạy trên máy tính, 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 có thể phát triển và thực hiện các ứng dụng của họ một cách dễ dàng.
Khái niệm hệ điều hành máy chủ
Với việc ghép nối các máy tính thành mạng thì cần thiết phải có một hệ thống phần mềm có chức năng quản lý tài nguyên, tính toán và xử lý truy nhập một cách thống nhất trên mạng. Mỗi tài nguyên của mạng như tập tin, đĩa, thiết bị ngoại vi được quản lý bởi một tiến trình nhất định và hệ điều hành máy chủ sẽ điều khiển sự tương tác giữa các tiến trình và truy cập tới các tiến trình đó.
Căn cứ vào việc truy nhập tài nguyên trên mạng người ta chia các thực thể trong mạng thành hai loại chủ và khách, trong đó máy khách (Client) truy nhập được vào tài nguyên của mạng nhưng có thể không chia sẻ tài nguyên của nó với mạng, còn máy chủ (Server) là máy tính nằm trên mạng và chia sẻ tài nguyên của nó với các người dùng mạng.
Hiện nay các hệ điều hành máy chủ thường được chia làm hai loại là hệ điều hành mạng ngang hàng (Peer-to-peer) và hệ điều hành mạng phân biệt (client/server).
Với hệ điều hành mạng ngang hàng mỗi máy tính trên mạng có thể vừa đóng vai trò chủ lẫn khách tức là chúng vừa có thể sử dụng tài nguyên của mạng lẫn chia sẻ tài nguyên của nó cho mạng.
Với hệ điều hành mạng phân biệt các máy tính được phân biệt chủ và khách, trong đó máy chủ (server) giữ vai trò chủ và các máy cho người sử dụng giữ vai trò khách (client). Khi có nhu cầu truy nhập tài nguyên trên mạng các trạm tạo ra các yêu cầu và gửi chúng tới máy chủ sau đó máy chủ thực hiện và gửi trả lời.
Với việc ghép nối các máy tính thành mạng thì cần thiết phải có một hệ thống phần mềm có chức năng quản lý tài nguyên, tính toán và xử lý truy nhập một cách thống nhất trên mạng. Mỗi tài nguyên của mạng như tập tin, đĩa, thiết bị ngoại vi được quản lý bởi một tiến trình nhất định và hệ điều hành máy chủ sẽ điều khiển sự tương tác giữa các tiến trình và truy cập tới các tiến trình đó.
Căn cứ vào việc truy nhập tài nguyên trên mạng người ta chia các thực thể trong mạng thành hai loại chủ và khách, trong đó máy khách (Client) truy nhập được vào tài nguyên của mạng nhưng có thể không chia sẻ tài nguyên của nó với mạng, còn máy chủ (Server) là máy tính nằm trên mạng và chia sẻ tài nguyên của nó với các người dùng mạng.
Hiện nay các hệ điều hành máy chủ thường được chia làm hai loại là hệ điều hành mạng ngang hàng (Peer-to-peer) và hệ điều hành mạng phân biệt (client/server).
Với hệ điều hành mạng ngang hàng mỗi máy tính trên mạng có thể vừa đóng vai trò chủ lẫn khách tức là chúng vừa có thể sử dụng tài nguyên của mạng lẫn chia sẻ tài nguyên của nó cho mạng.
Với hệ điều hành mạng phân biệt các máy tính được phân biệt chủ và khách, trong đó máy chủ (server) giữ vai trò chủ và các máy cho người sử dụng giữ vai trò khách (client). Khi có nhu cầu truy nhập tài nguyên trên mạng các trạm tạo ra các yêu cầu và gửi chúng tới máy chủ sau đó máy chủ thực hiện và gửi trả lời.
Chức năng chính của hệ điều hành
Theo nguyên tắc, hệ điều hành cần thỏa mãn hai chức năng chính yếu sau:
- Quản lý chia sẻ tài nguyên.
- Giả lập một máy tính mở rộng.
Ngoài ra có thể chia chức năng của hệ điều hành theo bốn chức năng sau:
- Quản lý quá trình (process management).
- Quản lý bộ nhớ (memory management).
- Quản lý hệ thống lưu trữ.
- Giao tiếp với người dùng (user interaction).
Nhiệm vụ 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 như bo mạch chủ, bo mạch đồ họa và bo mạch âm thanh,…
- 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 (file system) và các kho dữ liệu.
- Cung ứng một hệ thống giao diện sơ khai cho các ứng dụng thường là 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 ứng 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, trong vài trường hợp, cũng cung cấp các dịch vụ cơ bản cho các phần mềm ứng dụng thông thường như chương trình duyệt Web, chương trình soạn thảo văn bản, …
Các thành phần của hệ điều hành
Quản lý tiến trình (Process Management )
Các chương trình thực hiện theo các tiến trình để hoàn thành công việc đồng thời chịu trách nhiệm đối với việc quản lý tiến trình như:
- Tạo và xoá process của người sử dụng và của hệ thống.
- Tạm ngừng và tiếp tục lại process.
- Cung cấp cơ chế cho sự đồng bộ hoá process và sự giao tiếp process.
Quản lý và phân phối tài nguyên
- Quản lý bộ nhớ chính (Main Memory Management), bộ nhớ chính là một thiết bị lưu trữ tạm và sẽ bị mất nội dung bên trong khi hệ thống ngừng hoạt động. Nó lưu lại dấu vết của các phần bộ nhớ đang được sử dụng và đuợc sử dụng bởi tiến trình nào đồng thời quyết định xem những tiến trình nào được nạp khi có bộ nhớ trống và phân phối, thu hồi bộ nhớ cho các tiến trình.
- Quản lý File (File Management), File là các dữ liệu và các chương trình. Hệ điều hành sẽ chịu trách nhiệm đối với các hoạt động sau khi nối kết với file management: Tạo và xoá file, tổ chức file (tạo hoặc xoá thư mục), thao tác với các file và thư mục (read/write), ánh xạ các file vào bộ nhớ thứ cấp, backup file trên các phương tiện lưu trữ ổn định.
- Quản lý hệ thống vào ra (I/O System Management), hệ thống vào ra là các chỉ thị điều khiển thiết bị, kiểm soát các ngắt và lỗi. Hệ điều hành phải cung cấp một cách giao tiếp đơn giản và tiện dụng giữa các thiết bị và phần còn lại của hệ thống và giao tiếp này phải độc lập với thiết bị. Chỉ có các driver biết các tính chất đặc biệt của thiết bị mà nó điều khiển.
- Quản lý bộ nhớ thứ cấp (Secondary Storage Management), bộ nhớ thứ cấp được sử dụng để lưu trữ lâu dài với dung lượng lớn. Hầu hết các hệ thống máy tính hiện đại sử dụng các ổ đĩa như là các phương tiện lưu trữ trực tuyến cơ sở cho cả chương trình và dữ liệu. HĐH chịu trách nhiệm đối với các hoạt động sau khi nối kết với disk management: Quản lý các vùng nhớ tự do, phân phối bộ nhớ, lập lịch ổ đĩa (Disk scheduling).
Hoạt động mạng (Networking)
Quản lý và điều khiển các kết nối đến môi trường mạng, các giáo thức mạng.
Hệ thống bảo vệ (Protection System)
- Hệ thống bảo vệ là một cơ chế 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ửa dụng tài nguyên hệ thống. Cơ chế này cung cấp cách thức để mô tả lại mức độ kiểm soát.
- 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ồndg nhỏ bên trong.
Hệ thống thông dịch lệnh (Command-Interpreter System)
Các lệnh đưa vào hệ thông qua bộ điều khiển lệnh. Trong một 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 cơ chế dồng lệnh hoăc Shell. Chức năng của nó rất đơn giản đó là lấy lệnh kế tiếp và thi hành.
Một số hệ điều hành máy chủ được sử dụng hiện nay
- Asianux Server
- Debian
- Fedora
- FreeBSD
- HP–UX
- Solaris
- Ubuntu Server
- Windows NT
- Windows Server 2003
- Windows Server 2008