Tải bản đầy đủ (.pdf) (98 trang)

Bài giảng Nhập môn tin học: Chương 14 - Trần Thị Kim Chi

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (47.53 MB, 98 trang )

CHƯƠNG 14

HỆ ĐIỀU HÀNH
OPERATING SYSTEM


Nội dung
14.1.
14.2.
14.3.
14.4.
14.5.
14.6.
14.7.
14.8.
14.9.

Khái niệm hệ điều hành
Quản lý tiến trình
Quản lý bộ nhớ
Quản lý tập tin
Quản lý thiết bị
Bảo mật
Sự thông dịch câu lệnh
Cấu trúc hệ điều hành
Một số hệ điều hành phổ biến


Khái niệm hệ điều hành



Hệ điều hành (Operating system-OS) là một phần
mềm hệ thống gồm các chương trình kiểm sốt
các nguồn tài nguyên (CPU, bộ nhớ, thiết bị
vào/ra,…) và điều khiển các hoạt động của một hệ
thống máy tính và cung cấp cho người dùng một
giao diện để tương tác với máy tính.



Hai mục tiêu chính của một hệ điều hành:
◦ Tạo một hệ thống máy tính thuận tiện để sử
dụng
◦ Quản lý tài nguyên của một hệ thống máy tính


Khái niệm hệ điều hành

Mac OS

Windows
Linux


Khái niệm hệ điều hành

Kiến trúc Logical của một hệ thống máy tính


Khái niệm hệ điều hành
Ví dụ


Kiến trúc Logical của một hệ thống máy tính


Các công việc của hệ điều hành


Khái niệm hệ điều hành
Hệ thống đo lường
1. Thông lượng
2. Thời gian hoàn thành
3. Thời gian phản hồi


Chức năng chính của hệ điều hành
1. Quản lý tiến trình
2. Quản lý bộ nhớ
3. Quản lý tập tin
4. Quản lý thiết bị
5. Bảo mật
6. Phiên dịch các lệnh


Quản lý tiến trình (processes)









Phụ thuộc vào khả năng của hệ điều hành và phần
cứng máy tính, tiến trình có thể được quản lý theo
multitasking (đa nhiệm), multithreading (đa luồng),
và multiprocessing (đa xử lý).
Multitasking: thực hiện nhiều chương trình cùng
một lúc trên một hệ máy tính.

Multithreading: cho phép nhiều phần hay nhiều
tuyến đoạn (threads) đồng hành để giải quyết
nhiều việc cùng một lúc.
Multiprocessing: là máy tính có nhiều bộ xử lý có
khả năng hỗ trợ phân chia thực hiện mỗi công trên
mỗi bộ xử lý.


Quản lý tiến trình


Là các tiến trình được gửi đến hệ thống theo một
cơ chế nào đó để giảm thiểu thời gian nhàn rỗi của
các vi xử lí biến đổi (CPU, bộ xử lí I/O…) trong hệ
thống máy tính.


Quản lí tiến trình trong hệ thống sơ
khai
Một tiến trình thực thi theo các bước sau:
1. Lập trình viên viết chương trình lên giấy.

Chương trình được đục lỗ trên những thẻ hay
dải giấy dài.
3. Lớp phủ của thẻ hoặc dải giấy có chứa chương
trình và dữ liệu được gửi tại bộ tiếp nhận của
trung tâm máy tính.
2.


Quản lí tiến trình trong hệ thống sơ khai
4.

Bộ điều khiển sẽ đưa dữ liệu trên các thẻ hay
dải giấy nạp thủ công vào hệ thống từ đầu đọc
thẻ hoặc đầu đọc dải giấy trên.
Bộ điểu khiển cũng phản hồi để nạp bất kì tài
nguyên phần mềm khác hoặc điều chỉnh thiết
bị phần cứng được yêu cầu cho việc thực thi
tiến trình này.
Trước khi nạp tiến trình, bộ điều khiển sử dụng
bảng điều khiển chuyển đổi ở mặt ngoài của hệ
thống máy tính để làm sạch bộ nhớ chính và
xóa những dữ liệu cịn lại của tiến trình trước
đó.


Quản lí tiến trình trong hệ thống sơ
khai
Bộ điều khiển sẽ gán những bộ ngắt mạch
thích hợp vào trong bảng điều khiển để chạy
tiến trình.

6. Kết quả các cơng việc được thực thi.
Khuyết:
5.



Chuyển tiếp giữa các tiến trình là thủ cơng
khơng tự động. Do đó, máy tính lãng phí rất
nhiều thời gian


Quản lí tiến trình trong hệ thống sơ
khai
Phương thức tự động ln chuyển các cơng việc
là nhóm các tiến trình, các tiến trình thường
được thực hiện theo cách sau:
1. Lập trình viên chuẩn bị các chương trình và dữ
liệu trên thẻ hoặc dải giấy và gửi chúng vào bộ
tiếp nhận của trung tâm máy tính.


2.

Bộ xử lí tổng hợp định kì tất cả những chương
trình được gửi đến và sẽ nhóm chúng với nhau,
sau đó nạp tất cả chúng vào thiết bị đầu vào của
hệ thống một lần nữa.


Quản lí tiến trình trong hệ thống sơ

khai
3.

Bộ xử lí ra lệnh tới hệ thống để bắt đầu thực
hiện các công việc.

4.

Các công việc tự động tải dữ liệu từ các thiết bị
đầu vào và thực hiện từng tiến trình một mà
khơng có bất kì sự can thiệp của bộ xử lí nào.

5.

Khi tất cả các tiến trình trong nhóm được gửi
đến đã được xử lí, bộ xử lí sẽ xử lý riêng biệt
và xuất kết quả của mỗi công việc và giữ chúng
lại bộ tiếp nhận để các lập trình viên tổng hợp.


Quản lí tiến trình trong hệ thống sơ khai
$ END
Data for program

$RUN
$LOAD
COBOL program

$COBOL
$JOB, ONGC05839, USER=SINHA


Hình 14.02

Minh họa sử dụng các phát biểu điều khiển công việc và cấu trúc của mẫu cho quá
trình xử lý trong hệ thống .


Các loại tiến trình
Có 2 loại tiến trình:
 Các tiến trình giới hạn CPU: các tiến trình thực
hiện tính tốn số học, với một ít hoạt động I/O.
Chúng sử dụng CPU nhiều trong suốt q trình
xử lí.


Các tiến trình giới hạn I/O: các tiến trình
thường nhập vào số lượng dữ liệu lớn, hoạt
động tính tốn thì rất ít, và số lượng thông tin
đầu ra lớn. Chúng sử dụng CPU rất ít và hầu hết
thời gian dành cho hoạt động I/O (nhập/xuất).


Quản lý tiến trình

Chương trình hệ thống chỉ thực thi một công việc tại một thời điểm và
tất cả tài ngun hệ thống thì độc quyền cho cơng việc này cho đến
khi hoàn tất


Đa chương (đa kênh)







Hệ đa chương là thực thi xen kẽ hai hoặc nhiều
tiến trình khác nhau và độc lập nhau trên máy
tính.
Các tiến trình cùng lúc thường trú ở bộ nhớ
chính, khi một tiến trình thực thi (sử dụng CPU) ,
bắt đầu hoạt động I/O thì CPU được cấp phát
cho một tiến trình khác trong bộ nhớ chính để
giảm việc nhàn rỗi của CPU.
Hệ đa kênh thì khơng được khai báo để thực thi
những chỉ thị từ nhiều chương trình cùng một
lúc. CPU thực thi tối ưu chỉ một chỉ thị tại một
thời điểm.


Đa chương (đa kênh)


Đa chương (đa kênh)


Đa chương (đa kênh)
Yêu cầu của hệ thống đa chương
1. Bộ nhớ lớn
2.


3.
4.
5.

Sự bảo vệ bộ nhớ để ngăn ngừa một tiến trình
thay đổi thơng tin hoặc dữ liệu truyền vào 1
vùng của bộ nhớ khi một tiến trình khác đang
xử lý hay truy xuất dữ liệu tại vùng nhớ này.
Duy trì trạng thái tiến trình
Hịa trộn tiến trình một cách đúng đắn
Lập lịch biểu hoạt động cho CPU


Đa chương (đa kênh)


Xử lý đa luồng (Multithreading)


Một tiến trình gồm có một địa chỉ và một hay
nhiều luồng điều khiển.



Mỗi một luồng của tiến trình có bộ đếm chương
trình riêng, trạng thái đăng ký riêng, ngăn xếp
(stack) riêng của nó.

Tất cả các luồng của tiến trình đều được dùng

chung một địa chỉ.
 Các luồng chia sẻ các biến toàn cục dùng
chung.
 Các luồng của tiến trình chia sẻ bộ tài nguyên
dùng chung của hệ điều hành.



×