Professional Documents
Culture Documents
Chapter03 Newok
Chapter03 Newok
Chương 3
Mô tả quá trình và kiểm soát
Nhấn vào đây để chỉnh sửa kiểu phụ đề Thạc sĩ
-
Làm thế nào là quá trình đại diện và điều khiển bởi
hệ điều hành.
-
bang quá trình đặc trưng cho các hành vi của
quy trình.
-
Cấu trúc dữ liệu sử dụng để quản lý các quy trình.
-
Cách thức mà hệ điều hành sử dụng các cấu trúc dữ liệu
để kiểm soát quá trình thực hiện.
-
Thảo luận về quản lý quá trình trong UNIX SVR4.
Yêu cầu của một hệ điều
hành
•
Nhiệm vụ cơ bản: Quy trình quản lý
•
Hệ điều hành phải
-
Interleave thực hiện nhiều quy trình
-
Phân bổ nguồn lực để quy trình, và bảo vệ các nguồn
lực của mỗi quá trình từ các quá trình khác,
-
Kích hoạt các quy trình để chia sẻ và trao đổi thông
tin,
-
Kích hoạt tính năng đồng bộ hóa giữa các quá trình.
Các khái niệm
•
Từ các chương trước chúng ta đã thấy:
-
các nền tảng máy tính bao gồm một bộ sưu tập các tài nguyên
phần cứng
-
ứng dụng máy tính được phát triển để thực hiện một số
nhiệm vụ
-
Đó là không hiệu quả cho các ứng dụng được viết trực tiếp cho
một nền tảng phần cứng được
Các khái niệm cont ...
-
OS cung cấp một giao diện cho các ứng dụng sử dụng
-
OS cung cấp một đại diện của tài nguyên có thể được
yêu cầu và truy cập bằng ứng dụng
Hệ điều hành Quản lý Thực
hiện các ứng dụng
•
Tài nguyên được tạo sẵn cho nhiều ứng dụng
•
Bộ xử lý được bật giữa nhiều ứng dụng
•
Bộ xử lý và I / O thiết bị có thể được sử dụng một cách
hiệu quả
là gì "quá trình"?
•
Một chương trình trong thực hiện
•
Một thể hiện của một chương trình đang chạy trên một máy tính
•
Các đơn vị có thể được giao cho và thực hiện
trên một bộ xử lý
•
Một đơn vị hoạt động đặc trưng bởi việc thực hiện một
chuỗi các hướng dẫn, tình trạng hiện tại, và một bộ liên
quan đến các hướng dẫn hệ thống
Các yếu tố quá trình
•
Một quá trình bao gồm:
-
mã chương trình (có thể chia sẻ)
-
Một tập hợp các dữ liệu
-
Một số thuộc tính mô tả trạng thái của quá trình
Các yếu tố quá trình
•
Trong khi quá trình này đang chạy nó có một
số yếu tố bao gồm
-
định danh
-
Tiểu bang
-
Sự ưu tiên
-
truy cập chương trình
-
con trỏ bộ nhớ
-
dữ liệu bối cảnh
-
I / O thông tin trạng thái
-
thông tin kế toán
Xử lý Control Block
•
Chứa các yếu tố quá trình
•
Tạo ra và quản lý bởi hệ điều
hành
•
Cho phép hỗ trợ cho
nhiều quy trình
Dấu vết của quá trình
•
Hành vi của một quá trình cá nhân được hiển thị
bằng cách liệt kê chuỗi các lệnh được thực thi
•
Danh sách này được gọi là một dấu vết
•
Điều phối là một chương trình nhỏ mà chuyển sang
bộ xử lý từ một quá trình khác
Quy trình thi công
•
Hãy xem xét ba quá
trình được thực thi
•
Tất cả đều trong bộ nhớ
(cộng dispatcher)
•
Cho phép bỏ qua bộ nhớ ảo
cho việc này.
Theo dõi từ
quá trình quan điểm:
•
Mỗi quá trình chạy đến khi kết thúc
Dấu vết từ bộ xử lý
quan điểm
Hết giờ
Timeout
Timeout
I/O
lộ trình
-
Làm thế nào là quá trình đại diện và điều khiển bởi
hệ điều hành.
-
bang quá trình đặc trưng cho các hành vi của
quy trình.
-
Cấu trúc dữ liệu sử dụng để quản lý các quy trình.
-
Cách thức mà hệ điều hành sử dụng các cấu trúc dữ liệu
để kiểm soát quá trình thực hiện.
-
Thảo luận về quản lý quá trình trong UNIX SVR4.
Process Model hai Nhà nước
•
Quá trình có thể theo một trong hai tiểu bang
-
Đang chạy
-
Không chạy
Queuing Diagram
Vv ... các quá trình di chuyển của các điều phối của hệ điều hành để CPU sau đó trở lại hàng đợi cho đến khi
công việc được thi đấu
Quá trình sinh và cái chết
-
Quy trình con là quá trình mới
Quy trình chấm dứt
•
Phải có một số cách mà một quá trình có thể chỉ
hoàn thành.
•
Chỉ định này có thể là:
-
Một hướng dẫn HALT tạo ra một cảnh báo ngắt cho hệ điều
hành.
-
Một hành động sử dụng (ví dụ như log off, bỏ một ứng
dụng)
-
Một lỗi hoặc sai sót
-
quá trình chấm dứt mẹ
Process Model
Năm-Nhà nước
Sử dụng hai Queues
Nhiều Queues bị chặn
Processes lơ lửng
•
Bộ xử lý nhanh hơn so với I / O vì vậy tất cả các quá trình có thể được
chờ đợi cho I / O
-
Trao đổi các quá trình này vào đĩa để giải phóng nhiều bộ xử lý
bộ nhớ và sử dụng trên quá trình hơn
•
tình trạng bị chặn trở thành đình chỉ nhà nước khi
hoán đổi vào đĩa
•
Hai trạng thái mới
-
Bị chặn / Suspend
- Ready / Suspend
Một Đình Nhà nước
Hai Đình Hoa
Lý do quá trình
Huyền phù
lý do Bình luận
trao đổi Các hệ điều hành cần phải phát hành đủ bộ nhớ chính để mang lại một
quá trình đã sẵn sàng để thực thi.
Lý do hệ điều hành khác OS nghi ngờ quá trình gây ra một vấn đề.
Yêu cầu tài ví dụ như gỡ lỗi hoặc liên quan đến việc sử dụng các tài nguyên.
Interactive
thời gian Một quá trình có thể được thực hiện theo định kỳ (ví dụ, một quá trình
kế toán hoặc giám sát hệ thống) và có thể bị đình chỉ trong khi chờ
đợi cho thời gian tới.
Cha mẹ xử lý yêu Một quá trình cha mẹ có thể muốn đình chỉ thực hiện một hậu duệ
cầu để kiểm tra hoặc sửa đổi các quy trình đình chỉ, hoặc phối hợp các
hoạt động của con cháu khác nhau.
-
Làm thế nào là quá trình đại diện và điều khiển bởi
hệ điều hành.
-
bang quá trình đặc trưng cho các hành vi của
quy trình.
-
Cấu trúc dữ liệu sử dụng để quản lý các quy trình.
-
Cách thức mà hệ điều hành sử dụng các cấu trúc dữ liệu
để kiểm soát quá trình thực hiện.
-
Thảo luận về quản lý quá trình trong UNIX SVR4.
Quy trình và Tài
nguyên
Hoạt động cấu trúc điều
khiển hệ thống
•
Đối với hệ điều hành là để quản lý các quy trình và
nguồn lực, nó phải có thông tin về tình trạng hiện tại
của mỗi quá trình và nguồn lực.
•
Bàn được xây dựng cho từng đối tượng hệ điều hành
quản lý
Bàn OS kiểm soát
Bàn Memory
•
bảng bộ nhớ được sử dụng để theo dõi cả hai bộ
nhớ chính và thứ yếu.
•
Phải bao gồm những thông tin này:
-
Phân bổ bộ nhớ chính vào các quá trình
-
Phân bổ bộ nhớ thứ cấp đến các quá trình
-
thuộc tính bảo vệ cho quyền truy cập vào vùng bộ nhớ
chia sẻ
-
Thông tin cần thiết để quản lý bộ nhớ ảo
I / O Bàn
•
Được sử dụng bởi hệ điều hành để quản lý các thiết bị I / O và
các kênh truyền hình của máy tính.
•
Các hệ điều hành cần biết
-
Cho dù các I / O thiết bị có sẵn hoặc giao
-
Tình trạng của I / O hoạt động
-
Các vị trí trong bộ nhớ chính được sử dụng như nguồn
hoặc đích của I / O chuyển
tập tin bảng
•
Các bảng này cung cấp thông tin về:
-
Sự tồn tại của file
-
Vị trí trên bộ nhớ thứ cấp
-
Tình trạng hiện tại
-
các thuộc tính khác.
•
Đôi khi thông tin này được duy trì bởi một hệ thống
quản lý tập tin
Bàn Process
•
Để quản lý các quy trình hệ điều hành cần phải biết
chi tiết về các quá trình
-
Tình trạng hiện tại
-
Xử lý ID
-
Vị trí trong bộ nhớ
-
Vân vân
•
khối điều khiển tiến trình
-
hình ảnh quá trình là tập hợp các chương trình. Dữ liệu, ngăn xếp,
và các thuộc tính
Thuộc tính trình
•
Chúng tôi có thể nhóm các xử lý thông tin khối điều
khiển thành ba loại chính:
-
xác định quá trình
-
thông tin trạng thái xử lý
-
thông tin điều khiển quá trình
Quy trình nhận dạng
•
Mỗi quá trình được gán một định danh số
độc đáo.
•
Nhiều người trong số các bảng khác được kiểm soát bởi hệ điều hành
có thể sử dụng quá trình định danh để chéo- bảng quá trình tham
khảo
Nhà nước xử lý
Thông tin
•
Này bao gồm các nội dung của thanh ghi bộ xử lý.
-
đăng ký sử dụng có thể nhìn thấy
-
thanh ghi điều khiển và trạng
-
con trỏ ngăn xếp
•
từ trạng thái chương trình (PSW)
-
chứa thông tin trạng thái
-
Ví dụ: EFLAGS đăng ký trên bộ vi xử lý Pentium
Pentium II
EFLAGS Đăng ký
-
Nó định nghĩa trạng thái của hệ điều hành
•
Process Control Block yêu cầu bảo vệ
-
Một thói quen bị lỗi có thể gây ra thiệt hại cho khối phá hủy
khả năng của hệ điều hành để quản lý quá trình
-
Bất kỳ thay đổi thiết kế để khối có thể ảnh hưởng nhiều mô-đun
của hệ điều hành
lộ trình
-
Làm thế nào là quá trình đại diện và điều khiển bởi
hệ điều hành.
-
bang quá trình đặc trưng cho các hành vi của
quy trình.
-
Cấu trúc dữ liệu sử dụng để quản lý các quy trình.
-
Cách thức mà hệ điều hành sử dụng các cấu trúc dữ liệu
để kiểm soát quá trình thực hiện.
-
Thảo luận về quản lý quá trình trong UNIX SVR4.
Phương thức Thực hiện
•
Hầu hết các bộ vi xử lý hỗ trợ ít nhất hai phương
thức thực hiện
•
Chế độ người dùng
-
chế độ ít đặc quyền
-
chương trình sử dụng thường thực hiện trong chế độ này
•
chế độ hệ thống
-
Chế độ nhiều đặc quyền
-
Kernel của hệ điều hành
Process Creation
•
Khi hệ điều hành quyết định để tạo ra một quy trình mới
nó:
-
Gán một định danh quá trình độc đáo
-
Phân bổ không gian cho quá trình này
-
Khởi khối điều khiển tiến trình
-
Thiết lập mối liên kết thích hợp
-
Tạo hoặc mở rộng cấu trúc dữ liệu khác
Switching Processes
•
Một số vấn đề thiết kế được nâng lên về
quá trình chuyển đổi
-
Những sự kiện kích hoạt một chuyển đổi quá trình?
-
Chúng ta phải phân biệt giữa chuyển mạch chế độ và quá trình
chuyển đổi.
-
hệ điều hành phải làm gì để các cấu trúc dữ liệu khác nhau dưới sự
kiểm soát của mình để đạt được một chuyển đổi quá trình?
Khi chuyển đổi các quá trình
Một chuyển đổi quá trình có thể xảy ra bất cứ lúc nào mà hệ điều hành đã giành quyền kiểm soát từ quá trình đang
chạy. sự kiện có thể cho kiểm soát hệ điều hành bao gồm:
Làm gián đoạn Bên ngoài để thực hiện các hướng Phản ứng đối với một sự kiện bên ngoài không
dẫn hiện hành đồng bộ
Bẩy Liên quan đến việc thực hiện các Xử lý một lỗi hoặc một điều kiện
hướng dẫn hiện hành ngoại lệ
gọi Supervisor yêu cầu rõ ràng Gọi đến một chức năng hệ điều
hành
Bảng 3.8 Các cơ chế cho gián đoạn Thi hành một Process
Thay đổi quá trình
Nhà nước ...
•
Các bước trong một switch quá trình bao gồm:
1. Lưu bối cảnh của bộ xử lý bao gồm cả chương trình
truy cập và đăng ký khác
2. Cập nhật các khối điều khiển quá trình
•
Nếu hệ điều hành chỉ là một tập hợp các chương trình và nếu nó
được thực hiện bởi bộ vi xử lý giống như bất kỳ chương trình nào
khác, là hệ điều hành một quá trình?
•
Nếu vậy, làm thế nào là nó được kiểm soát?
-
Ai (cái gì) điều khiển nó?
Thi hành hệ điều
hành
Non-quá trình hạt nhân
•
Execute hạt nhân bên ngoài của quá trình bất kỳ
•
Khái niệm về quá trình được coi là chỉ áp dụng cho các
chương trình sử dụng
-
mã hệ điều hành được thực hiện như một thực thể riêng biệt mà
hoạt động trong chế độ đặc quyền
Chấp hành ở trong
Processes người dùng
•
Thực hiện Trong quá trình tài
khoản
-
phần mềm hệ điều hành trong bối cảnh của một
quá trình sử dụng
-
Không cần cho quá trình chuyển đổi để chạy thường xuyên
OS
Hệ điều hành dựa
trên quá trình
•
hệ điều hành dựa trên quá trình
-
Thực hiện các hệ điều hành như một tập hợp các quy trình hệ thống
Vân đê bảo mật
• Một hệ điều hành liên kết một tập hợp các đặc quyền với mỗi quá trình.
- mức cao nhất là quản trị viên, người giám sát, hoặc gốc, truy cập.
• Một vấn đề an ninh quan trọng trong việc thiết kế của bất kỳ hệ điều hành
là để ngăn chặn bất cứ điều gì (dùng hoặc quá trình) từ đạt được đặc
quyền trái phép trên hệ thống
- Đặc biệt - từ đạt được quyền truy cập root.
mối đe dọa truy cập hệ thống
•
những kẻ xâm nhập
-
Masquerader (người ngoài)
-
Misfeasor (người trong cuộc)
-
sử dụng bí mật (bên ngoài hay người trong cuộc)
•
Phần mềm độc hại (malware)
Biện pháp đối phó:
Intrusion Detection
•
hệ thống phát hiện xâm nhập thường được thiết kế để
phát hiện kẻ xâm nhập của con người và hành vi phần
mềm độc hại.
•
Có thể là máy chủ hoặc mạng dựa
•
hệ thống phát hiện xâm nhập (IDS) thường bao gồm
-
Cảm biến
-
Máy phân tích
-
Giao diện người dùng
biện pháp đối phó:
Xác thực
•
Hai giai đoạn:
-
Nhận biết
-
xác minh
•
Bốn yếu tố:
-
Một cái gì đó cá nhân biết
-
Một cái gì đó cá nhân sở hữu
-
Một cái gì đó cá nhân Là ( sinh trắc học tĩnh)
-
Một cái gì đó cá nhân làm ( sinh trắc học động)
Biện pháp đối phó:
Access Control
•
Một chính sách quản lý quyền truy cập vào các nguồn tài nguyên
•
Một quản trị viên an ninh duy trì một cơ sở dữ
liệu cho phép
-
Chức năng kiểm soát truy cập tư vấn này để xác định xem
có nên cấp quyền truy cập.
•
Một màn hình chức năng kiểm toán và giữ một kỷ lục của
người dùng truy cập đến tài nguyên hệ thống.
biện pháp đối phó:
Tường lửa
•
Theo truyền thống, một tường lửa là một máy tính chuyên
dụng:
-
giao diện với các máy tính bên ngoài một mạng
-
có biện pháp phòng ngừa an ninh đặc biệt được xây dựng vào nó để
bảo vệ tập tin nhạy cảm trên máy tính trong mạng.
lộ trình
-
Làm thế nào là quá trình đại diện và điều khiển bởi
hệ điều hành.
-
bang quá trình đặc trưng cho các hành vi của
quy trình.
-
Cấu trúc dữ liệu sử dụng để quản lý các quy trình.
-
Cách thức mà hệ điều hành sử dụng các cấu trúc dữ liệu
để kiểm soát quá trình thực hiện.
-
Thảo luận về quản lý quá trình trong UNIX SVR4.
Unix SVR4
System V Release 4
•
Sử dụng mô hình của fig3.15b nơi hầu hết các hệ điều hành thực
hiện trong quá trình sử dụng
•
Processes hệ thống - chế độ Kernel chỉ
•
Processes người dùng
-
chế độ người dùng để thực hiện các chương trình sử dụng và tiện ích
-
chế độ Kernel thực thi câu lệnh thuộc về hạt nhân.
UNIX Process Diagram
Chuyển Nhà nước
UNIX Hoa Process
Một quá trình Unix
•
Một quá trình trong UNIX là một tập hợp các cấu trúc dữ
liệu cung cấp hệ điều hành với tất cả các thông tin cần
thiết để quản lý và quy trình công văn.
•
Xem Bảng 3.10 đơn vị tổ chức các yếu tố
thành ba phần:
-
bối cảnh người dùng cấp,
-
đăng ký bối cảnh, và
-
hệ thống cấp ngữ cảnh.
Process Creation
•
tạo quá trình là bằng phương tiện của cuộc gọi hệ thống hạt
nhân, fork ().
•
Điều này làm cho hệ điều hành, trong Kernel Mode, để:
1. Phân bổ một khe trong bảng quá trình cho
quy trình mới.
2. Gán một quá trình ID duy nhất cho đứa trẻ
quá trình.
3. Bản sao của hình ảnh quá trình của cha mẹ, với
ngoại trừ bất kỳ bộ nhớ chia sẻ.
Process Creation
cont ...
4. Tăng các quầy cho bất kỳ tập tin thuộc sở hữu của cha mẹ,
để phản ánh rằng một quá trình bổ sung hiện cũng sở hữu
những tập tin.
5. Gán quá trình con để Ready to
Chạy nhà nước.
•
Sau khi tạo quá trình các hạt nhân có thể làm một trong
những điều sau đây, như một phần của thói quen phối:
-
Ở trong quá trình cha mẹ.
-
Chuyển điều khiển đến quá trình con
-
Chuyển điều khiển quá trình khác.