Bài giảng Nguyên lý hệ điều hành: Chương 3 - Phạm Quang Dũng
Số trang: 8
Loại file: pdf
Dung lượng: 620.48 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài 3 của bài giảng Nguyên lý hệ điều hành trang bị cho người học những hiểu biết về tiến trình (Processes). Các nội dung chính trong chương này gồm có: Khái niệm tiến trình, cập lịch tiến trình, các hoạt động trên tiến trình, các tiến trình hợp tác (Cooperating Processes), giao tiếp liên tiến trình (Interprocess Communication).
Nội dung trích xuất từ tài liệu:
Bài giảng Nguyên lý hệ điều hành: Chương 3 - Phạm Quang DũngNội dung chương 3BÀI GIẢNGNGUYÊN LÝ HỆ ĐIỀU HÀNHKhái niệm tiến trìnhLập lịch tiến trìnhChương 3: Tiến trình (Processes)Phạm Quang DũngBộ môn Khoa học máy tínhKhoa Công nghệ thông tinTrường Đại học Nông nghiệp HNWebsite: fita.hua.edu.vn/pqdungCác hoạt động trên tiến trìnhCác tiến trình hợp tác(Cooperating Processes)Giao tiếp liên tiến trình(Interprocess Communication)Bài giảng Nguyên lý Hệ điều hành3.1. Khái niệm tiến trình (process)3.2Phạm Quang Dũng ©2008Tiến trình trong bộ nhớMột HĐH thực hiện nhiều loại chương trình khác nhau:Batch system: thực hiện các jobTime-shared system: thực hiện user programs hoặc tasksCác thuật ngữ job và process là tương tự nhau.Process – một chương trình đang được thực hiện;sự thực hiện tiến trình phải tiến triển theo kiểu tuần tự.Một tiến trình (process) bao gồm:program counter - bộ đếm chương trìnhstack - ngăn xếpdata section - đoạn dữ liệuBài giảng Nguyên lý Hệ điều hành3.3Phạm Quang Dũng ©2008Bài giảng Nguyên lý Hệ điều hành3.4Phạm Quang Dũng ©20081Khối điều khiển tiến trìnhKhố điề khiể tiế trìProcess Control Block (PCB)Các trạng thái tiến trìnhMỗi tiến trình được biểu diễn trong HĐH bởi một PCB.Mỗi PCB chứa các thông tin được gắn với mỗi tiến trình:Trạng thái tiến trìnhBộ đếm chương trìnhKhi một tiến trình thực hiện, nó có thể thay đổi trạng thái (state)Các thanh ghi của CPUnew:Tiến trình đang được khởi tạo.Thông tin lịch trình CPUrunning:Tiến trình ở trong CPU. Các lệnh đang được thực hiện.Thông tin quản lý bộ nhớwaiting:Tiến trình đang chờ sự kiện nào đó xuất hiện.ready:Tiến trình đang chờ đến lượt được thực hiện bởi CPU.Thông tin sử dụng CPU, thời gian, các số hiệu tiến trình…terminated: Tiến trình kết thúc. Nó không biến mất cho đến khi một tiếntrình khác đọc được trạng thái thoát của nó.Bài giảng Nguyên lý Hệ điều hành3.5Phạm Quang Dũng ©2008Process Control Block (PCB)Bài giảng Nguyên lý Hệ điều hành3.7Phạm Quang Dũng ©2008Thông tin trạng thái vào/raBài giảng Nguyên lý Hệ điều hành3.6Phạm Quang Dũng ©2008CPU chuyển giữa các tiến trìnhBài giảng Nguyên lý Hệ điều hành3.8Phạm Quang Dũng ©200823.2. Lập lịch tiến trình (process scheduling)Lậ lị tiế trìCác queue lập lịch tiến trìnhMục tiêu của multiprogramming là có nhiều tiến trìnhJob queue – tập hợp tất cả các tiến trình trong hệ thống.cùng chạy tại mọi thời điểm để tối đa hóa sử dụng CPU.Ready queue – tập hợp tất cả các tiến trình cư trú trongbộ nhớ chính, đã sẵn sàng và chờ được thực hiện.Mục tiêu của time-sharing là chuyển CPU giữa các tiếntrình càng thường xuyên càng tốt để người sử dụng cóthể tương tác với mỗi chương trình khi nó đang chạy.Một HĐH đơn processor chỉ có thể chạy 1 tiến trình.Nếu có nhiều tiến trình tồn tại, chúng phải đợi đến khiCPU rỗi và được lập lịch lại.FIFO queuePriority queueTreeDanh sách liên kếtDevice queues – tập hợp các tiến trình đang chờ mộtthiết bị vào/ra.Tiến trình có thể di trú giữa các queue khác nhau.Bài giảng Nguyên lý Hệ điều hành3.9Phạm Quang Dũng ©2008Sơ đồ lập lịch tiến trìnhBài giảng Nguyên lý Hệ điều hành3.10Phạm Quang Dũng ©2008Các trình lập lịch - SchedulersLong-term scheduler (trình lập lịch dài kỳ)còn được gọi là job scheduler.lựa chọn những tiến trình nào nên được đưa từ đĩa vào trong readyqueue.được sử dụng đến rất không thường xuyên (seconds, minutes)⇒ may be slow.kiểm soát mức đa chương trình (degree of multiprogramming),vd: số tiến trình.Short-term scheduler (trình lập lịch ngắn kỳ)còn được gọi là CPU scheduler.lựa chọn tiến trình nào nên được thực hiện kế tiếp và phân phốiCPU cho nó.được sử dụng đến rất thường xuyên (milliseconds) ⇒ must be fast.Bài giảng Nguyên lý Hệ điều hành3.11Phạm Quang Dũng ©2008Bài giảng Nguyên lý Hệ điều hành3.12Phạm Quang Dũng ©20083Các trình lập lịch (tiếp)Chuyển ngữ cảnh - Context SwitchMột số HĐH, như HĐH chia sẻ thời gian, có thể có thêm trình lậplịch trung kỳ (medium-term scheduler).Tư tưởng là thực hiện swapping (kỹ thuật hoán chuyển):Đưa tiến trình ra khỏi bộ nhớ khi cần thiếtKhi cân đối giữa các tiến trình tính toán nhiều và tiến trình vào/ranhiềuKhi cần giải phóng bộ nhớ cho việc khácCác tiến trình có thể được mô tả là:I/O-bound process – sử dụng nhiều thời gian thực hiện vào/ra hơn việctính toán, nhiều lần chiếm dụng CPU ngắn. Cần chuyển ngữ cảnhthường xuyên tại thời điểm bắt đầu và kết thúc I/O.CPU-bound process – sử dụng nhiều thời gian cho việc tính toán hơn;ít lần chiếm dụng CPU dài. Cũng cần chuyển ngữ cảnh thường xuyên đểSau đó đưa tiến trình trở lại bộ nhớ để thực hiện tiếptránh tr.hợp một tiến trình ngăn chặn các tiến trình khác sử dụng CPU.Khi CPU chuyển tới một tiến trình khác, hệ thống phải lưu trạng tháicủa tiến trình trước và nạp trạng thái đã lưu cho tiến trình mới.Thời gian chuyển ngữ cảnh phụ th ...
Nội dung trích xuất từ tài liệu:
Bài giảng Nguyên lý hệ điều hành: Chương 3 - Phạm Quang DũngNội dung chương 3BÀI GIẢNGNGUYÊN LÝ HỆ ĐIỀU HÀNHKhái niệm tiến trìnhLập lịch tiến trìnhChương 3: Tiến trình (Processes)Phạm Quang DũngBộ môn Khoa học máy tínhKhoa Công nghệ thông tinTrường Đại học Nông nghiệp HNWebsite: fita.hua.edu.vn/pqdungCác hoạt động trên tiến trìnhCác tiến trình hợp tác(Cooperating Processes)Giao tiếp liên tiến trình(Interprocess Communication)Bài giảng Nguyên lý Hệ điều hành3.1. Khái niệm tiến trình (process)3.2Phạm Quang Dũng ©2008Tiến trình trong bộ nhớMột HĐH thực hiện nhiều loại chương trình khác nhau:Batch system: thực hiện các jobTime-shared system: thực hiện user programs hoặc tasksCác thuật ngữ job và process là tương tự nhau.Process – một chương trình đang được thực hiện;sự thực hiện tiến trình phải tiến triển theo kiểu tuần tự.Một tiến trình (process) bao gồm:program counter - bộ đếm chương trìnhstack - ngăn xếpdata section - đoạn dữ liệuBài giảng Nguyên lý Hệ điều hành3.3Phạm Quang Dũng ©2008Bài giảng Nguyên lý Hệ điều hành3.4Phạm Quang Dũng ©20081Khối điều khiển tiến trìnhKhố điề khiể tiế trìProcess Control Block (PCB)Các trạng thái tiến trìnhMỗi tiến trình được biểu diễn trong HĐH bởi một PCB.Mỗi PCB chứa các thông tin được gắn với mỗi tiến trình:Trạng thái tiến trìnhBộ đếm chương trìnhKhi một tiến trình thực hiện, nó có thể thay đổi trạng thái (state)Các thanh ghi của CPUnew:Tiến trình đang được khởi tạo.Thông tin lịch trình CPUrunning:Tiến trình ở trong CPU. Các lệnh đang được thực hiện.Thông tin quản lý bộ nhớwaiting:Tiến trình đang chờ sự kiện nào đó xuất hiện.ready:Tiến trình đang chờ đến lượt được thực hiện bởi CPU.Thông tin sử dụng CPU, thời gian, các số hiệu tiến trình…terminated: Tiến trình kết thúc. Nó không biến mất cho đến khi một tiếntrình khác đọc được trạng thái thoát của nó.Bài giảng Nguyên lý Hệ điều hành3.5Phạm Quang Dũng ©2008Process Control Block (PCB)Bài giảng Nguyên lý Hệ điều hành3.7Phạm Quang Dũng ©2008Thông tin trạng thái vào/raBài giảng Nguyên lý Hệ điều hành3.6Phạm Quang Dũng ©2008CPU chuyển giữa các tiến trìnhBài giảng Nguyên lý Hệ điều hành3.8Phạm Quang Dũng ©200823.2. Lập lịch tiến trình (process scheduling)Lậ lị tiế trìCác queue lập lịch tiến trìnhMục tiêu của multiprogramming là có nhiều tiến trìnhJob queue – tập hợp tất cả các tiến trình trong hệ thống.cùng chạy tại mọi thời điểm để tối đa hóa sử dụng CPU.Ready queue – tập hợp tất cả các tiến trình cư trú trongbộ nhớ chính, đã sẵn sàng và chờ được thực hiện.Mục tiêu của time-sharing là chuyển CPU giữa các tiếntrình càng thường xuyên càng tốt để người sử dụng cóthể tương tác với mỗi chương trình khi nó đang chạy.Một HĐH đơn processor chỉ có thể chạy 1 tiến trình.Nếu có nhiều tiến trình tồn tại, chúng phải đợi đến khiCPU rỗi và được lập lịch lại.FIFO queuePriority queueTreeDanh sách liên kếtDevice queues – tập hợp các tiến trình đang chờ mộtthiết bị vào/ra.Tiến trình có thể di trú giữa các queue khác nhau.Bài giảng Nguyên lý Hệ điều hành3.9Phạm Quang Dũng ©2008Sơ đồ lập lịch tiến trìnhBài giảng Nguyên lý Hệ điều hành3.10Phạm Quang Dũng ©2008Các trình lập lịch - SchedulersLong-term scheduler (trình lập lịch dài kỳ)còn được gọi là job scheduler.lựa chọn những tiến trình nào nên được đưa từ đĩa vào trong readyqueue.được sử dụng đến rất không thường xuyên (seconds, minutes)⇒ may be slow.kiểm soát mức đa chương trình (degree of multiprogramming),vd: số tiến trình.Short-term scheduler (trình lập lịch ngắn kỳ)còn được gọi là CPU scheduler.lựa chọn tiến trình nào nên được thực hiện kế tiếp và phân phốiCPU cho nó.được sử dụng đến rất thường xuyên (milliseconds) ⇒ must be fast.Bài giảng Nguyên lý Hệ điều hành3.11Phạm Quang Dũng ©2008Bài giảng Nguyên lý Hệ điều hành3.12Phạm Quang Dũng ©20083Các trình lập lịch (tiếp)Chuyển ngữ cảnh - Context SwitchMột số HĐH, như HĐH chia sẻ thời gian, có thể có thêm trình lậplịch trung kỳ (medium-term scheduler).Tư tưởng là thực hiện swapping (kỹ thuật hoán chuyển):Đưa tiến trình ra khỏi bộ nhớ khi cần thiếtKhi cân đối giữa các tiến trình tính toán nhiều và tiến trình vào/ranhiềuKhi cần giải phóng bộ nhớ cho việc khácCác tiến trình có thể được mô tả là:I/O-bound process – sử dụng nhiều thời gian thực hiện vào/ra hơn việctính toán, nhiều lần chiếm dụng CPU ngắn. Cần chuyển ngữ cảnhthường xuyên tại thời điểm bắt đầu và kết thúc I/O.CPU-bound process – sử dụng nhiều thời gian cho việc tính toán hơn;ít lần chiếm dụng CPU dài. Cũng cần chuyển ngữ cảnh thường xuyên đểSau đó đưa tiến trình trở lại bộ nhớ để thực hiện tiếptránh tr.hợp một tiến trình ngăn chặn các tiến trình khác sử dụng CPU.Khi CPU chuyển tới một tiến trình khác, hệ thống phải lưu trạng tháicủa tiến trình trước và nạp trạng thái đã lưu cho tiến trình mới.Thời gian chuyển ngữ cảnh phụ th ...
Tìm kiếm theo từ khóa liên quan:
Hệ điều hành Nguyên lý hệ điều hành Bài giảng Nguyên lý hệ điều hành Lập lịch tiến trình Tiến trình hợp tác Giao tiếp liên tiến trìnhGợi ý tài liệu liên quan:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 453 0 0 -
173 trang 275 2 0
-
175 trang 272 0 0
-
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 272 0 0 -
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 248 0 0 -
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 245 0 0 -
Bài thảo luận nhóm: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android
39 trang 229 0 0 -
Giáo trình Hệ điều hành: Phần 2
53 trang 219 0 0 -
Phần III: Xử lý sự cố Màn hình xanh
3 trang 201 0 0 -
Bài giảng Nguyên lý hệ điều hành (Bài giảng tuần 3) - Nguyễn Hải Châu
8 trang 198 0 0