Khái niệm cơ bản về máy tính - Chức năng của hệ điều hành
Như bạn đã biết, hệ điều hành chịu trách nhiệm về hoạt động của hệ thống máy tính. Để làm được điều đó, nó thực hiện ba loại hoạt động chính sau:
Essential functions - Đảm bảo sử dụng tối ưu và hiệu quả các nguồn lực
Monitoring functions - Theo dõi và thu thập thông tin liên quan đến hoạt động của hệ thống
Service functions - Cung cấp dịch vụ cho người dùng
Hãy để chúng tôi xem xét một số chức năng quan trọng nhất liên quan đến các hoạt động này.
Quản lý bộ xử lý
Quản lý CPU của máy tính để đảm bảo nó được sử dụng tối ưu được gọi là processor management. Quản lý bộ xử lý về cơ bản liên quan đến việc phân bổ thời gian của bộ xử lý cho các tác vụ cần được hoàn thành. Đây được gọi làjob scheduling. Công việc phải được lên lịch sao cho -
- Sử dụng CPU tối đa
- Thời gian quay vòng, tức là thời gian cần thiết để hoàn thành mỗi công việc, là tối thiểu
- Thời gian chờ đợi là tối thiểu
- Mỗi công việc có thời gian phản hồi nhanh nhất có thể
- Thông lượng tối đa đạt được, trong đó thông lượng là thời gian trung bình cần để hoàn thành mỗi tác vụ
Có hai phương pháp lập lịch công việc được thực hiện bởi hệ điều hành -
- Lên lịch trước
- Lập lịch không dự phòng trước
Lập lịch trước
Trong kiểu lập lịch này, công việc tiếp theo sẽ được thực hiện bởi bộ xử lý có thể được lên lịch trước khi công việc hiện tại hoàn thành. Nếu xuất hiện công việc có mức độ ưu tiên cao hơn, bộ xử lý có thể buộc phải giải phóng công việc hiện tại và thực hiện công việc tiếp theo. Có hai kỹ thuật lập lịch sử dụng lập lịch trước -
Round robin scheduling - Một đơn vị thời gian nhỏ được gọi là time sliceđược định nghĩa và mỗi chương trình chỉ nhận được một lát thời gian tại một thời điểm. Nếu nó không được hoàn thành trong thời gian đó, nó phải tham gia hàng đợi công việc ở cuối và đợi cho đến khi tất cả các chương trình có một phần thời gian. Ưu điểm ở đây là tất cả các chương trình đều có được cơ hội như nhau. Nhược điểm là nếu một chương trình hoàn thành việc thực thi trước khi hết thời gian, CPU sẽ không hoạt động trong suốt thời gian còn lại.
Response ratio scheduling - Tỷ lệ phản hồi được định nghĩa là
$$ \ frac {Đã qua \: Thời gian} {Thực hiện \: thời gian \: đã nhận} $$
Công việc có thời gian phản hồi ngắn hơn sẽ được ưu tiên cao hơn. Vì vậy, một chương trình lớn hơn có thể phải đợi ngay cả khi nó được yêu cầu sớm hơn chương trình ngắn hơn. Điều này cải thiện thông lượng của CPU.
Lập lịch không ưu tiên
Trong kiểu lập lịch này, các quyết định lập lịch công việc chỉ được thực hiện sau khi công việc hiện tại hoàn thành. Một công việc không bao giờ bị gián đoạn để ưu tiên cho những công việc có mức độ ưu tiên cao hơn. Các kỹ thuật lập lịch sử dụng lập lịch không ưu tiên là:
First come first serve scheduling - Đây là kỹ thuật đơn giản nhất mà chương trình đầu tiên đưa ra một yêu cầu được hoàn thành trước.
Shortest job next scheduling - Đây là công việc cần ít thời gian nhất để thực hiện được lên lịch tiếp theo.
Deadline scheduling - Công việc có thời hạn sớm nhất được lên lịch thực hiện tiếp theo.
Quản lý bộ nhớ
Quá trình điều chỉnh bộ nhớ máy tính và sử dụng các kỹ thuật tối ưu hóa để nâng cao hiệu suất hệ thống tổng thể được gọi là memory management. Không gian bộ nhớ là rất quan trọng trong môi trường máy tính hiện đại, vì vậy quản lý bộ nhớ là một vai trò quan trọng của hệ điều hành.
Như bạn đã biết, máy tính có hai loại bộ nhớ - primary và secondary. Bộ nhớ chính làfast but expensive và bộ nhớ phụ là cheap but slower. Hệ điều hành phải cân bằng giữa hai yếu tố này để đảm bảo rằng hiệu suất hệ thống không bị ảnh hưởng do bộ nhớ chính ít hơn hoặc chi phí hệ thống không tăng do quá nhiều bộ nhớ chính.
Dữ liệu đầu vào và đầu ra, hướng dẫn người dùng và dữ liệu tạm thời để thực hiện chương trình cần được lưu trữ, truy cập và truy xuất một cách hiệu quả để có hiệu suất hệ thống cao. Khi một yêu cầu chương trình được chấp nhận, OS sẽ phân bổ nó các khu vực lưu trữ chính và phụ theo yêu cầu. Sau khi thực hiện xong, không gian bộ nhớ được cấp cho nó sẽ được giải phóng. Hệ điều hành sử dụng nhiều kỹ thuật quản lý lưu trữ để theo dõi tất cả các không gian lưu trữ được cấp phát hoặc miễn phí.
Phân bổ bộ nhớ liền kề
Đây là kỹ thuật phân bổ không gian lưu trữ đơn giản nhất mà các vị trí bộ nhớ liền kề được gán cho mỗi chương trình. Hệ điều hành phải ước tính dung lượng bộ nhớ cần thiết cho quá trình hoàn chỉnh trước khi cấp phát.
Phân bổ bộ nhớ không liền kề
Như tên cho thấy, chương trình và dữ liệu liên quan không cần phải được lưu trữ ở các vị trí liền kề. Chương trình được chia thành các thành phần nhỏ hơn và mỗi thành phần được lưu trữ ở một vị trí riêng biệt. Một bảng lưu giữ bản ghi về nơi lưu trữ từng thành phần của chương trình. Khi bộ xử lý cần truy cập bất kỳ thành phần nào, OS cung cấp quyền truy cập bằng cách sử dụng bảng phân bổ này.
Trong tình huống thực tế, không gian bộ nhớ chính có thể không đủ để lưu toàn bộ chương trình. Trong trường hợp đó, OS sẽ trợ giúpVirtual Storagekỹ thuật, trong đó chương trình được lưu trữ vật lý trong bộ nhớ thứ cấp nhưng dường như được lưu trữ trong bộ nhớ chính. Điều này dẫn đến độ trễ thời gian rất nhỏ trong việc truy cập các thành phần chương trình. Có hai cách tiếp cận kho lưu trữ ảo -
Program paging - Một chương trình được chia nhỏ thành kích thước cố định pagevà được lưu trữ trong bộ nhớ phụ. Các trang được đưa ralogical address or virtual addresstừ 0 đến n. Apage table ánh xạ các địa chỉ logic tới các địa chỉ vật lý, được sử dụng để truy xuất các trang khi được yêu cầu.
Program segmentation - Một chương trình được chia thành các đơn vị logic được gọi là segments, được gán địa chỉ logic từ 0 đến n và được lưu trong bộ nhớ phụ. Asegment table được sử dụng để tải các phân đoạn từ bộ nhớ phụ đến bộ nhớ chính.
Hệ điều hành thường sử dụng kết hợp phân đoạn trang và chương trình để tối ưu hóa việc sử dụng bộ nhớ. Một phân đoạn chương trình lớn có thể được chia thành các trang hoặc nhiều phân đoạn nhỏ có thể được lưu trữ dưới dạng một trang.
Quản lý tệp
Dữ liệu và thông tin được lưu trữ trên máy tính dưới dạng tệp. Quản lý hệ thống tệp để cho phép người dùng giữ dữ liệu của họ một cách an toàn và chính xác là một chức năng quan trọng của hệ điều hành. Quản lý hệ thống tệp bằng hệ điều hành được gọi làfile management. Quản lý tệp là bắt buộc để cung cấp các công cụ cho các hoạt động liên quan đến tệp này -
- Tạo tệp mới để lưu trữ dữ liệu
- Updating
- Sharing
- Bảo mật dữ liệu thông qua mật khẩu và mã hóa
- Phục hồi trong trường hợp hệ thống bị lỗi
Quản lý thiết bị
Quá trình thực hiện, vận hành và bảo trì một thiết bị bằng hệ điều hành được gọi là device management. Hệ điều hành sử dụng một phần mềm tiện ích có têndevice driver làm giao diện cho thiết bị.
Khi nhiều quy trình truy cập thiết bị hoặc yêu cầu quyền truy cập vào thiết bị, HĐH sẽ quản lý thiết bị theo cách chia sẻ thiết bị hiệu quả giữa tất cả các quy trình. Xử lý truy cập thiết bị thông quasystem call interface, một giao diện lập trình do HĐH cung cấp.