1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng: Quản lý tiến trình

48 60 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 48
Dung lượng 3,77 MB

Nội dung

Mơn học: Hệ điều hành CuuDuongThanCong.com https://fb.com/tailieudientucntt • Phân biệt tiến trình tiểu trình • So sánh thuật tốn điều phối tiến trình CuuDuongThanCong.com https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt • Tiến trình chương trình thực thi • Một tiến trình cần sử dụng tài nguyên: CPU, nhớ, tập tin, thiết bị nhập xuất để hồn tất cơng việc CuuDuongThanCong.com https://fb.com/tailieudientucntt • Tạo tiến trình – Khởi động hệ thống – Người dùng kích hoạt chương trình – Một tiến trình tạo tiến trình khác • Unix/ Linux: exec(), fork() • Windows: CreateProcess() – Cây tiến trình • Unix/ Linux: tiến trình cha, có mối quan hệ chặt chẽ • Windows: tiến trình cha, độc lập với CuuDuongThanCong.com https://fb.com/tailieudientucntt • Dừng tiến trình – Xử lý xong lệnh cuối hay gọi lệnh kết thúc • Unix/ Linux: exit() • Windows: ExitProcess() – Một tiến trình yêu cầu dừng tiến trình khác • Unix/ Linux: kill() • Windows: TerminateProcess() Điều xảy tiến trình “nạn nhân” chưa muốn “chết”? – Do lỗi chương trình CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhận CPU ready  Rs  CPU Trả CPU Nhận resource blocked running  Rs  CPU Chờ resource  Rs  CPU CPU-bound process CuuDuongThanCong.com https://fb.com/tailieudientucntt IO-bound process Vào ready queue CPU Thoát Disk disk queue Disk Network network queue I/O other I/O queue CuuDuongThanCong.com https://fb.com/tailieudientucntt • Định danh (Process ID) • Trạng thái tiến trình • Ngữ cảnh tiến trình – – – – Trạng thái CPU Bộ xử lý (cho máy nhiều CPU) Bộ nhớ Tài ngun sử dụng /tạo lập • Thơng tin giao tiếp – Tiến trình cha, tiến trình – Độ ưu tiên • Thơng tin thống kê CuuDuongThanCong.com pid State (State, details) Context (IP, Mem, Files…) Relatives ( Dad, children) Scheduling statistic Process control Block – PCB https://fb.com/tailieudientucntt Excel Visual C++ CDplayer Winword CuuDuongThanCong.com https://fb.com/tailieudientucntt 10 Độ ưu tiên CPU … n Kết hợp nhiều chiến lược • Tổ chức n RQ ứng với nhiều mức ưu tiên • Mỗi RQi áp dụng chiến lược điều phối riêng • Điều phối RQ: – Điều phối theo độ ưu tiên RQ  Có thể xảy starvation  Giải pháp Aging : • Chờ lâu : chuyển lên RQ với độ ưu tiên cao • Chiếm CPU lâu : chuyển xuống RQ với độ ưu tiên thấp – Time slice – hàng đợi nhận chiếm CPU khoảng thời gian CuuDuongThanCong.com https://fb.com/tailieudientucntt 34 CuuDuongThanCong.com https://fb.com/tailieudientucntt 35 • Ba hàng đợi: – Q0 – time quantum mili giây – Q1 – time quantum 16 mili giây – Q2 – FCFS • Lập lịch – Một việc vào queue Q0 điều phối theo FCFS Khi nhận CPU, dùng mili giây Nếu chưa hoàn tất mili giây, công việc chuyển sang queue Q1 – Tại Q1 cv điều phối theo FCFS nhận CPU thêm 16 mili giây Nếu chưa hồn tất, bị đẩy qua queue Q2 CuuDuongThanCong.com https://fb.com/tailieudientucntt 36 Vừa tìm hiểu CuuDuongThanCong.com https://fb.com/tailieudientucntt 37 • Đơn giản – Viết chương trình theo kiểu bấm cách lần nhấn phím in số nhịp trơi qua từ chương trình bắt đầu chạy, với nhịp giây, chương trình kết thúc nhấn ESC • Phức tạp – Viết chương trình hiển thị 10 ký tự hình, ký tự di chuyển ngẫu nhiên, liên tục với tốc độ tùy ý Khi di chuyển chạm biên hình ký tự xuất lại hình Chương trình kết thúc người dùng nhấn phím • Bài tốn thực tế: – Ứng dụng web phục vụ lúc nhiều yêu cầu người dùng CuuDuongThanCong.com https://fb.com/tailieudientucntt 38 • Các tiến trình độc lập, khơng có liên lạc với Excel winword Visual C CDplayer OS • Muốn trao đổi thơng tin với nhau, chương trình cần xây dựng theo mơ hình liên lạc đa tiến trình (IPC – Inter-Process Communication)  Phức tạp, chi phí cao CuuDuongThanCong.com https://fb.com/tailieudientucntt 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt 40 • Tiểu trình dịng xử lý tiến trình • Mỗi tiến trình ln có tiểu trình (dịng xử lý cho hàm main()) • Ngồi tiểu trình chính, tiến trình cịn có nhiều tiểu trình khác • Các tiểu trình tiến trình – Chia sẻ khơng gian vùng code data – Có vùng stack riêng CuuDuongThanCong.com https://fb.com/tailieudientucntt 41 • TCB thường chứa thông tin riêng tiểu trình – – – – ID tiểu trình Khơng gian lưu ghi Con trỏ tới vị trí xác định ngăn xếp Trạng thái tiểu trình • Thơng tin chia sẻ tiểu trình tiến trình – – – – – Các biến toàn cục Các tài nguyên sử dụng tập tin,… Các tiến trình Thơng tin thống kê … CuuDuongThanCong.com https://fb.com/tailieudientucntt 42 PC SP Mã hàm thread_create() PCBs TCBs thread_create() new_thread_starts_here stacks CuuDuongThanCong.com https://fb.com/tailieudientucntt 43 • • Quản lý tiểu trình mức người dùng thư viện hỗ trợ: • POSIX Pthreads • Win32 threads • Java threads CuuDuongThanCong.com   Quản lý tiểu trình mức hệ thống Hệ điều hành hỗ trợ:     Windows XP/2000 Solaris Linux https://fb.com/tailieudientucntt Mac OS X 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt 45 • Tại khơng dùng nhiều tiến trình để thay cho việc dùng nhiều tiểu trình ? – Các tác vụ điều hành tiểu trình (tạo, kết thúc, điều phối, chuyển đổi,…) tốn chi phí thực so với tiến trình – Liên lạc tiểu trình thơng qua chia sẻ nhớ, khơng cần can thiệp kernel CuuDuongThanCong.com https://fb.com/tailieudientucntt 46 Quản lý tiểu trình mức người dùng CuuDuongThanCong.com Quản lý tiểu trình mức hệ thống https://fb.com/tailieudientucntt 47 • Tự tìm hiểu (Modern Operating System - Tanenbaum) – Guaranteed Scheduling – Lottery Scheduling – Fair-Share Scheduling • Tham khảo thêm – Tổ chức, quản lý tiến trình hệ điều hành Windows – Tổ chức, quản lý tiến trình hệ điều hành Unix/Linux CuuDuongThanCong.com https://fb.com/tailieudientucntt 48 ... trị thực dùng CPU • Nếu mở rộng cơng thức, ta được: • • • n+1 = tn+(1 - ) tn -1 + … +(1 - ) j tn -1 + … +(1 - ) n=1 tn • Vì (1 - ) nhỏ hay 1,mỗi giá trị nhỏ dần CuuDuongThanCong.com https://fb.com/tailieudientucntt... https://fb.com/tailieudientucntt 21 P TarriveRQ CPU burst P TT WT P1 24 P1 30 0+(1 0-4 ) P2 P2 7-1 4-1 P3 P3 1 0-2 7-2 AvgWT = (6+3+5)/3 = 4.66 P1 P2 P3 P1 10 P1 14 P1 18 P1 22 P1 26 30 0:00 P1 vào,... https://fb.com/tailieudientucntt 25 P TRQ Priority CPU burst P TT WT P1 24 P1 30 0+( 7-1 ) P2 P2 4-1 P3 P3 7-2 4-2 AvgWT = (6+0+2)/3 = 2.66 P1 P2 P2 P3 P1 0:00 P1 vào, P1 dùng CPU 0:01 P2 vào (độ

Ngày đăng: 23/08/2020, 23:57

TỪ KHÓA LIÊN QUAN

w