Hệ điều hành

Màu nền
Font chữ
Font size
Chiều cao dòng

Hệ điều hành (operating systems) là chương trình đóng vai trò trung gian giữa người sử dụng và phần cứng của máy tính.  Hệ điều hành  che dấu sự phức tạp, đa dạng của phần cứng, giúp việc sử dụng máy tính trở nên đơn giản, hiệu quả.  Nhiệm vụ của hệ điều hành là quản lý tài nguyên của máy tính, thực thi các chương trình ứng dụng, hỗ trợ các chức năng mạng, vv …

Một hệ thống máy tính được chia thành 4 thành phần sau: phần cứng, hệ điều hành, chương trình ứng dụng/chương trình hệ thống, người sử dụng.

+ Phần cứng (hardware) : CPU, bộ nhớ, các thiết bị nhập/xuất,…

+ Hệ điều hành (operating systems): điều khiển và phối hợp việc sử dụng phần cứng cho nhiều ứng dụng với nhiều người sử dụng khác nhau.

+ Chương trình ứng dụng và chương trình hệ thống (system and applications programs): là các chương trình giải quyết những vấn đề của người sử dụng như là chương trình dịch, hệ quản trị cơ sở dữ liệu, chương trình  trò chơi, chương trình thương mại,…

+ Người sử dụng (user): người sử dụng hoặc máy tính.

1.3.1  Hệ thống xử lý theo lô (Batch Systems)

Đây là hệ điều hành đầu tiên, thô sơ nhất. Đối với hệ điều hành này thì tại một thời điểm chỉ có một công việc trong bộ nhớ, khi thực hiện xong một công việc, công việc khác sẽ được tự động nạp vào và cho thực thi. Hệ điều hành có một chương trình, gọi là bộ giám sát, thường trú trong bộ nhớ chính, giám sát việc thực hiện dãy các công việc theo thứ tự và tự động.

Cách bố trí bộ nhớ của hệ điều hành xử lý theo lô như sau: phần bộ nhớ ở địa chỉ thấp dành cho hệ điều hành, phần còn lại dành cho một chương trình của người dùng.

1.3.2  Hệ thống xử lý đa chương (MultiProgramming Systems)

Tại một thời điểm có nhiều công việc trong bộ nhớ và khi một công việc đang thực hiện, nếu có yêu cầu nhập/xuất thì CPU không nghỉ mà hệ điều hành sẽ chuyển sang thực hiện công việc khác.

Ví dụ trong bộ nhớ hiện có ba chương trình thực hiện ba công việc. Nếu công việc 1 yêu cầu nhập/xuất thì công việc 1 tạm ngừng, công việc 2 (hoặc công việc 3) sẽ được thực hiện. Khi thao tác nhập/xuất của công việc 1 xong thì công việc 1 sẽ được thực hiện tiếp,  công việc 2 sẽ tạm ngừng,…

Hình 1.6: mô hình tổ chức bộ nhớ của hệ thống xử lý đa chương

* Các chức năng của hệ điều hành trong hệ thống xử lý đa chương

+ Lập lịch CPU (CPU scheduling): chọn một trong những công việc trong bộ nhớ cho thực thi (cho sử dụng CPU). Khi chọn cần tránh trường hợp một công việc chờ trong bộ nhớ quá lâu.

+ Quản lý bộ nhớ (Memory management): cần phải quản lý phần bộ nhớ nào đã cấp phát và cấp cho công việc nào (bộ nhớ cấp phát cho mỗi công việc phải riêng biệt), phần bộ nhớ nào chưa cấp, khi một công việc thực thi xong cần thu hồi phần bộ nhớ đã cấp cho công việc đó. Nếu một công việc truy xuất đến phần bộ nhớ đã cấp cho công việc khác thì phải ngăn cấm. Nếu bộ nhớ bị phân mảnh quá nhiều, cần dồn bộ nhớ, vv…

+ Cấp phát thiết bị (Allocation of devices): tình trạng thiết bị rảnh hay không rảnh, thiết bị đã cấp cho công việc nào, công việc nào cần đưa vào hàng đợi để chờ. Thiết bị nào có thể dùng chung và tối đa bao nhiêu công việc sử dụng chung thiết bị cùng lúc, thiết bị nào không thể dùng chung,… và phải tránh bị tắc nghẽn (các công việc chờ vô hạn để được cấp tài nguyên).

+ Cung cấp các hàm xử lý nhập/xuất (I/O routines): Các hàm nhập/xuất sẽ che dấu sự phức tạp và đa dạng của các thiết bị nhập/xuất, quản lý việc sử dụng chung các thiết bị nhập/xuất.

1.3.3  Hệ thống xử lý đa nhiệm (Multitasking Systems)

Hệ thống xử lý đa nhiệm là hệ thống mở rộng của hệ thống xử lý đa chương. Đối với hệ điều hành trong hệ thống xử lý đa nhiệm,  việc chuyển đổi công việc không chờ công việc đang thực thi có yêu cầu nhập/xuất, mà khi công việc đang thực thi hết thời gian qui định sử dụng CPU thì việc chuyển đổi công việc cũng sẽ xảy ra.  Mỗi công việc được thực hiện luân phiên qua cơ chế chuyển đổi CPU, thời gian mỗi lần chuyển đổi diễn ra rất nhanh nên người sử dụng có cảm giác là các công việc đang được thi hành cùng lúc.  Hệ thống xử lý đa nhiệm còn gọi là hệ thống chia xẻ thời gian (Time-Sharing Systems).

Ví dụ hệ thống có môt CPU và hiện có ba công việc A, B, C trong bộ nhớ. Ba công việc này sẽ được thực hiện luân phiên: công việc A thực hiện trong khoảng thời gian q (quantum) thì tạm ngừng, đến lượt công việc B thực hiện trong khoảng thời gian q, rồi đến lượt công việc C. Sau đó lại đến lượt A, … lặp lại việc thực thi các công việc cho đến khi tất cả các công việc hoàn tất.

1.3.4  Hệ thống đa xử lý (Multiprocessor Systems)

Máy tính có nhiều bộ xử lý cùng chia xẻ hệ thống đường truyền dữ liệu, đồng hồ, bộ nhớ và các thiết bị ngoại vi. Mỗi CPU sẽ thực hiện một công việc và khi đó các công việc sẽ thực sự diễn ra đồng thời. Hệ thống đa xử lý còn gọi là hệ thống xử lý song song (Parallel Systems).

Hình 1.7: mô hình hệ thống đa xử lý: có nhiều cpu nhưng sử dụng chung bộ nhớ

* Ưu điểm của hệ thống đa xử lý

+ Sự hỏng hóc của một bộ xử lý sẽ không ảnh hưởng đến toàn bộ hệ thống.

+ Hệ thống sẽ thực hiện rất nhanh do thực hiện các công việc đồng thời trên các bộ xử lý khác nhau

+ Việc liên lạc giữa các công việc dễ dàng bằng cách sử dụng bộ nhớ dùng chung.

* Phân loại hệ thống đa xử lý

+ Hệ thống đa xử lý đối xứng (Symmetric MultiProcessing (SMP)): mỗi bộ xử lý chạy với một bản sao của hệ điều hành và các bộ xử lý là ngang cấp. Các hệ điều hành hiện nay đều hỗ trợ SMP.

+ Hệ thống đa xử lý bất đối xứng (Asymmetric multiprocessing): Có một bộ xử lý chính (master

processor) kiểm soát, phân việc cho các bộ xử lý khác (slave processors).

1.3.5  Hệ thống xử lý phân tán (Distributed Operating Systems)

Tương tự như hệ thống đa xử lý nhưng mỗi bộ xử lý có bộ nhớ riêng.  Các bộ xử lý liên lạc với nhau thông qua các đường truyền dẫn mạng. Mạng LAN, WAN với hệ điều hành Windows, UNIX chính là các hệ thống xử lý phân tán.

* Phân loại hệ thống xử lý phân tán: có hai loại

+ Peer-to-peer: hệ thống mạng ngang hàng, các máy tính ngang cấp, không có máy nào đóng vai trò quản lý tài nguyên dùng chung.

+ Client-server: có một máy đóng vai trò quản lý các tài nguyên dùng chung gọi là máy server (máy chủ), các máy khác gọi là máy client (máy khách). Client muốn sử dụng tài nguyên dùng chung phải được server cấp quyền.  Mô hình hệ thống client-server:

Hình 1.8: mô hình hệ thống xử lý phân tán

* Ưu điểm của hệ thống xử lý phân tán

+ Dùng chung tài nguyên: máy in, tập tin …

+ Tăng tốc độ tính toán:  phân chia công việc để  tính toán trên nhiều vị trí khác nhau

+ An toàn: Nếu một vị trí bị hỏng, các vị trí khác vẫn tiếp tục làm việc.

+ Truyền thông tin dễ dàng: download/upload file, gởi/nhận mail,…

1.3.6  Hệ thống xử lý thời gian thực (Real-Time Systems)

Hệ thống sẽ cho kết quả chính xác trong khoảng thời gian nhanh nhất. Hệ thống thường dùng cho những ứng dụng chuyên dụng như là hệ thống điều khiển trong công nghiệp.

* Các loại hệ thống xử lý thời gian thực

+ Hệ thống xử lý thời gian thực cứng (Hard real-time): các công việc được hoàn tất đúng thời điểm qui định.

+ Hệ thống xử lý thời gian thực mềm (Soft real-time): mỗi công việc có một độ ưu tiên riêng và sẽ được thi hành theo độ ưu tiên.

1.3.7  Hệ thống nhúng (Embedded Systems)

Hệ điều hành được nhúng trong các thiết bị gia dụng, các máy trò chơi,... Do các thiết bị gia dụng có bộ nhớ ít, bộ xử lý tốc độ thấp, kích thước màn hình nhỏ nên  hệ điều hành này cần đơn giản, nhỏ gọn, có tính đặc trưng cho từng thiết bị. Ví dụ hệ điều hành dùng cho máy PDAs (Personal Digital Assistants), Mobil phones,… Hệ thống nhúng còn được gọi là hệ thống cầm tay (Handheld Systems).

1. 6  NGUYÊN LÝ THIẾT KẾ HỆ ĐIỀU HÀNH

+ Hệ điều hành cần dễ viết, dễ sửa lỗi, dễ nâng cấp (nên viết hệ điều hành bằng ngôn ngữ cấp cao vì dễ viết và dễ sửa lỗi hơn là viềt bằng ngôn ngữ assembly).

+ Hệ điều hành cần dễ cài đặt, dễ bảo trì, không có lỗi và hiệu qủa.

+ Hệ điều hành cần dễ sử dụng, dễ học, an toàn, có độ tin cậy cao và thực hiện nhanh.

+ Hệ điều hành cần có tính khả chuyển cao (thực hiện được trên một nhóm các phần cứng khác nhau).

+ Hệ điều hành cần có chương trình SYSGEN (System Generation) thu thập thông tin liên quan đến phần cứng để thiết lập cấu hình hệ điều hành cho phù hợp với mỗi máy tính. 

Bạn đang đọc truyện trên: Truyen2U.Pro

#don