1. Trang chủ
  2. » Công Nghệ Thông Tin

hdh08 1

23 244 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 297,16 KB

Nội dung

HỆ ĐIỀU HÀHH Quản lý tiến trình Quản lý trình      Khái niệm Đònh ò thời CPU Các tác vụ bản: tạo/kết thúc trình Sư cộng tac Sự tác giưa cac qua trình Giao tiếp trình -9.2- Khái niệm  Hệ thống máy tính thực thi nhiều chương trình khác – Batch system: jobs – Time-shared systems: user programs, tasks – Job  process  Quá trình (process) – chương trình thực thi Một qua trình bao gồ gom m – Text section (program code), data section (chứa global variables) – Hoạt động thời: program counter (PC), process status word (PSW), stack pointer (SP), memory management registers -9.3- Khái niệm -9.4- Khởi tạo trình  Các bước hệ điều hành khởi tạo trình – Cấp phát đònh danh (process number hay process identifier, identifier pid) cho qua trình – Cấp phát không gian nhớ để nạp trình – Khởi tạo khối liệu process control block (PCB) cho trình  PCB nơi hệ điều hành lưu thông tin trình – Thiết lập mối liên hệ cần thiết (vd: PCB vào hàng đợi đò h thờ đònh h øi,…)) -9.5- Các trạng thái trình  Các trạng thái trình (process states): – – – – – new: trình vừa tạo ready: qua trình đa co có đu đủ tai tài nguyê nguyen, n cò n can cần CPU running: lệnh trình thực thi waiting: blocked, trình đợi I/O hoàn tất, tín hiệu terminated: trình kết thúc -9.6- Các trạng thái trình  Các trạng thái trình (process states): new admit dispatch ready exit terminated running interrupt I/O or event wait I/O or event completion waiting -9.7- Process control block   Mỗi trình hệ thống cấp phát process control block (PCB) PCB cấu trúc liệu quan trọng hệ điều hành q -9.8- Khơng gian địa Văn – Đoạn mã chương trình stack procedure p Dữ liệu – Dữ liệu cấp phát tĩnh Vùng nhớ heap – symbol table Dữ liệu cấp phát động function sqrt main program Ngăn xếp ế – Hỗ trợ lời gọi hàm Logical address space -9.9- Process control block PCB kernel CPU user state memory files text data accounting priority heap SP stack general purpose registers user CPU registers storage PC -9.10- Chuyển ngữ cảnh (context switch)    Ngữ cảnh (context) trình trạng thái trình Ngữ cảnh trình biểu diễn PCB Chuyển ngữ cảnh (context switch) công việc giao CPU cho trình khác Khi cần: – lưu ngữ cảnh trình cũ vào PCB – nạp ngữ cảnh từ PCB trình để trình thực thi -9.11- Chuyển ngữ cảnh (context switch) -9.12- Yêu cầu hệ điều hành  Hỗ trợ thực thi luân phiên nhiều trình – Hiệu suất sử dụng CPU – Thời gian đáp ứng  Phân p phối tài nguyê g y n hệä thống hợïp lý y – tránh deadlock, trì hoãn vô hạn đònh,…   Cung cap cấp chế che giao tiep tiếp va đong đồng hoạ hoatt động cá cac c trình Cung cap cấp chế che ho hỗ trợ trơ user tao/kế tạo/kett thuc thúc qua trình -9.13- Quản lý trình: hàng đợi  Ví dụ PCB running process number ready 11 19 15 17 waiting -9.14- Đònh thời trình  Tại phải đònh thời? – Multiprogramming  Co Có nhieu nhiều qua trình phả phaii thưc thực thi luâ luan n phien phiên  Mục tiêu: cực đại hiệu suất sử dụng CPU – Time-sharing  Cho phép users tương tác trình thực thi  Mục tiêu: tối thiểu thời gian đáp ứng  Một số so khai khái niệm ban – Các đònh thời (scheduler) – Các hàng đợi đònh thời (scheduling queue) -9.15- Đònh thời trình  Tại phải đònh thời? – Multiprogramming  Co Có nhieu nhiều qua trình phả phaii thưc thực thi luâ luan n phien phiên  Mục tiêu: cực đại hiệu suất sử dụng CPU – Time-sharing  Cho phép users tương tác trình thực thi  Mục tiêu: tối thiểu thời gian đáp ứng  Một số so khai khái niệm ban – Các đònh thời (scheduler) – Các hàng đợi đònh thời (scheduling queue) -9.16- Các tác vụ trình  Tạo trình (process creation) – Một trình tạo trình thông qua system call (vd: fork Unix)  Ví dụ: (Unix) Khi user đăng nhập hệ thống, command interpreter (shell) tạo cho user Quá trình đươc Qua tao tạo la qua trình cua qua trình tao tạo, qua trình cha Quan hệ cha-con đònh nghóa trình -9.17- Cây trình Linux/Unix  Ví dụ pagedaemon root swapper bash gcc g ls init bash mkdir bash grep g -9.18- Các tác vụ trình  Tạo trình – Chia sẻ tài nguyên trình cha  Qua Quá trình cha va chia sẻ se mọ moii tai tài nguyê nguyen n  Quá trình chia sẻ phần tài nguyên cha – Trình tự thực thi  Quá trình cha thực thi đồng thời (concurrently)  Quá trình cha đợi đến trình kết thúc -9.19- Các tác vụ trình  Tạo trình   Kết thúc trình – Quá trình tự kết thúc  Quá trình kết thúc thực thi lệnh cuối gọi system routine exit – Quá trình kết thúc trình khác (có đủ quyền, vd: trình cha nó)  Gọi system routine abort với tham số pid (process identifier) trình cần kết thúc – H Hệä điề àu hà h ønh thu th hồ h ài tấ t át cảû cáùc tà t øi nguyêân củûa quáù trình t ì h kế k át thúc (vùng nhớ, I/O buffer,…) -9.20- Cộng tác trình  Trong trình thực thi, trình cộng tác (cooperate) để hoàn thành công việc  Các trình cộng tác để – Chia sẻ liệu (information sharing) – Tă T êng tốác tính í h toáùn ((computational i l speedup) d )  Nếu hệ thống có nhiều CPU, chia công việc tính toán thành nhiều công việc tính toán nhỏ chạy song song – Thự Thưc hi hiệän mộät cong â việ i äc chung h  Xây dựng phần mềm phức tạp cách chia thành module/process hợp tác  Sự cộng tác trình yêu cầu hệ điều hành hỗ trợ chế giao tiếp chế đồng hoạt động củûa cáùc quáù trình tì h -9.21- Interprocess communication (IPC)  IPC chế cung cấp hệ điều hành nhằm giúp trình – giao tiep tiếp vơi với – đồng hoạt động mà không cần chia sẻ không gian đòa  IPC cung cấp message passing system -9.22- Message passing system  Làm để trình giao tiếp nhau? – Naming  Giao tiế tiep p trự trưc c tiep tiếp – send(P, msg): gửi thông điệp đến trình P – receive(Q, msg): nhận thông điệp đến từ trình Q  Giao Gi ti tiếáp giá i ùn ti tiếáp: th thôâng qua mailbox ilb hay h portt – send(A, msg): gửi thông điệp đến mailbox A – receive(Q, msg): nhận thông điệp từ mailbox B – Synchronization: blocking send, nonblocking send, blocking receive, nonblocking receive – Buffering: dùng queue để tạm chứa message  Zero capacity (no buffering)  Bounded capacity: độ dài queue giới hạn dài cua queue la khong không giớ giơii hạ han n  Unbounded capacity: độ dai -9.23- [...]... tiếp va và đong đồng bộ hoạ hoatt động cá cac c quá trình Cung cap cấp cơ chế che ho hỗ trợ trơ user tao/kế tạo/kett thuc thúc quá qua trình -9 .13 - Quản lý các quá trình: các hàng đợi  Ví dụ các PCB running 7 process number ready 11 4 19 15 2 17 waiting -9 .14 - Đònh thời quá trình  Tại sao phải đònh thời? – Multiprogramming  Co Có nhieu nhiều qua quá trình phả phaii thưc thực thi luâ luan n phien... (context switch) là công việc giao CPU cho quá trình khác Khi đó cần: – lưu ngữ cảnh của quá trình cũ vào PCB của nó – nạp ngữ cảnh từ PCB của quá trình mới để quá trình mới thực thi -9 .11 - Chuyển ngữ cảnh (context switch) -9 .12 - Yêu cầu đối với hệ điều hành  Hỗ trợ sự thực thi luân phiên giữa nhiều quá trình – Hiệu suất sử dụng CPU – Thời gian đáp ứng  Phân p phối tài nguyê g y n hệä thống hợïp lý y –... trình đươc Qua được tao tạo là la qua quá trình con cua của qua quá trình tao tạo, quá qua trình cha Quan hệ cha-con đònh nghóa một cây quá trình -9 .17 - Cây quá trình trong Linux/Unix  Ví dụ pagedaemon root swapper bash gcc g ls init bash mkdir bash grep g -9 .18 - Các tác vụ đối với quá trình  Tạo quá trình mới – Chia sẻ tài nguyên của quá trình cha  Qua Quá trình cha và va con chia sẻ se mọ moii tai... users tương tác khi quá trình đang thực thi  Mục tiêu: tối thiểu thời gian đáp ứng  Một số so khai khái niệm cơ ban bản – Các bộ đònh thời (scheduler) – Các hàng đợi đònh thời (scheduling queue) -9 .16 - Các tác vụ đối với quá trình  Tạo quá trình mới (process creation) – Một quá trình có thể tạo quá trình mới thông qua một system call (vd: fork trong Unix)  Ví dụ: (Unix) Khi user đăng nhập hệ thống,... users tương tác khi quá trình đang thực thi  Mục tiêu: tối thiểu thời gian đáp ứng  Một số so khai khái niệm cơ ban bản – Các bộ đònh thời (scheduler) – Các hàng đợi đònh thời (scheduling queue) -9 .15 - Đònh thời quá trình  Tại sao phải đònh thời? – Multiprogramming  Co Có nhieu nhiều qua quá trình phả phaii thưc thực thi luâ luan n phien phiên nhau  Mục tiêu: cực đại hiệu suất sử dụng của CPU... nguyê nguyen n  Quá trình con chia sẻ một phần tài nguyên của cha – Trình tự thực thi  Quá trình cha và con thực thi đồng thời (concurrently)  Quá trình cha đợi đến khi các quá trình con kết thúc -9 .19 - Các tác vụ đối với quá trình  Tạo quá trình mới   Kết thúc quá trình – Quá trình tự kết thúc  Quá trình kết thúc khi thực thi lệnh cuối và gọi system routine exit – Quá trình kết thúc do quá trình... mềm phức tạp bằng cách chia thành các module/process hợp tác nhau  Sự cộng tác giữa các quá trình yêu cầu hệ điều hành hỗ trợ cơ chế giao tiếp và cơ chế đồng bộ hoạt động củûa cáùc quáù trình tì h -9. 21- Interprocess communication (IPC)  IPC là cơ chế cung cấp bởi hệ điều hành nhằm giúp các quá trình – giao tiep tiếp vơi với nhau – và đồng bộ hoạt động mà không cần chia sẻ không gian đòa chỉ  IPC

Ngày đăng: 22/12/2016, 12:50

Xem thêm

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w