Mục đích:
Hiểu được sự hình thành nên quá trình trong hệ thống như thế nào.
Hiều được qui luật chuyển đổi các trạng thái của quá trình
Yêu cầu:
Viết ra được các sơ đồ trạng thái của quá trình
49 trang |
Chia sẻ: Mr Hưng | Lượt xem: 954 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Hệ điều hành - Chương 2: Khái niệm quá trình, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhChương 2KHÁI NiỆM QUÁ TRÌNHKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhMục đích và yêu cầuMục đích:Hiểu được sự hình thành nên quá trình trong hệ thống như thế nào.Hiều được qui luật chuyển đổi các trạng thái của quá trìnhYêu cầu:Viết ra được các sơ đồ trạng thái của quá trình.Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhNội dungQuá trình (Process)Định thời process(CPU scheduling)Các tác vụ trên process(tạo và kết thúc process)Process hợp tác (Cooperating Process)Giao tiếp liên processInterprocess Communication (IPC)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhI. Khái niệm quá trình(process)Os thực thi nhiều loại chương trinh khác nhauBatch system : thực hiện các jobTime-sharing systems :thực hiện user programs or tasksCác thuật ngữ Job và process là tương tự hauProcessmột chương trình đang thực thi(executing proram), sự phát triền của process phải theo kiểu tuần tự.Một process bao gồm các phầnProgram counter (PC):– bộ đếm chương trìnhStack : -ngăn xếpData section:- đọan dữ liệuSo sánh process và programProcess ≈ active Passive ≈ ProgramKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhYêu cầu đối với OsKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhI.2 Process Control Block (PCB)Mỗi process trong hệ thống được diễn tả bởi một PCB:Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhPCBMỗi PCB Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCÁC BƯỚC NẠP PROCESS VÀO BỘ NHỚKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhLoaderKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhI.3 Các trạng thái của processMô hình hai trạng tháirunningnot running, có thể được giữ trong hàngKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhMô hình 5 trạng thái (t.t)Khi process thực thi nó có thể thay đổi trạng thái (state)New: process được khởi tạoRunning: process ở trong CPU các lệnh đang được thực hiệnReady: process đang chờ đến lượt để được thực thi.Blocked: process đang chờ một sự khiện nào đó xuất hiện Exit: completed/error exitChỉ có 1 process ở running trên mỗi procesor tại một thời điểmCó nhiều process ờ ready và blocked tại một thời điểmKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhVí dụ về trạng thái của processKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác trạng thái của process(t.t)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác trạng thái của process(t.t)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác trạng thái của process(t.t)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhLưu đồ 7-trạng thái của processKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhII. Định thời Process(process scheduling)Là cơ sở cho các hệ thống multiprogramming và Time SharingMultiprogramming: Có nhiều process phải thực thi luân phiên nhauCưc đại hiệu suất của CPUTime Sharing :Cho phép users tương tác khi program đang chạyTối thiểu thời gian đáp ứngKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác hàng đợi định thờiKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhHàng đợi Ready & I/O DeviceKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhĐịnh thời ProcessKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác bộ định thời(schedulers)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác bộ định thời(t.t)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhChuyển ngữ cảnh (context switch)(CPU chuyển giữa các process)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhChuyển ngữ cảnh (t.t)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác bước chuyển ngữ cảnhKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhChuyển ngữ cảnh xẩy ra khi nàoKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác ví dụ về InterruptKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhMedium Term SchedulingKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhIII. Các tác vụ lên processCác process trong hệ thống có thể được thực thi đồng thời và chúng phải được tạo và xóa một cách năng động. vì vậy Os phải cung cấp cơ cấu để tạo (process creation) và kết thúc (process Termination)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhIII.1 Tạo process (process creation)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhMối quan hệ cha/conKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCây process trong UNIXKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhMối quan hệ cha/con(t.t)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhIII.2 Kết thúc thực thi process (process Termination)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhKết thúc thực thi process(t.t)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhIV. Các Process hợp tác Process độc lập (Independent process): không thể tác động hay chịu tác động bởi sự thực hiện của process khác.Process hợp tác (cooperating process):Có thể tác động hoặc chịu sự tác động bởi sự thực hiện của process khác.Vd: process này chia sẻ data với process kia Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCác process hợp tác (tiếp)Ưu điểm:Chia sẻ thông tin -information sharingTăng tốc độ tính toán - computation speed-upMô-dun hóa -ModularitySự tiện lợi – converience (vd user cùng thực hiệ soạn thảo, in ấn, biên dịch song song).Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhBài tóan Producer-ConsumerMô hình cho các process hợp tác, quá trình sản xuất (producer process) tạo ra các thông tin để các quá trình tiêu thụ (consumer producer) sử dụng. Sự trao đổi thông tin thực hiện qua bufferUnbounded-buffer: giả thiết kích thước buffer vô hạnBounded-buffer: thừa nhận có một kích thước buferr cố địnhProducer và consumer phải được đồng bộ họat độngConsumer không thể sử dụng một data mà producer chưa kịp tạo raProducer không được tạo thêm sản phẩm khi buffer đã đầy (bounded buffer)Hiện thực bufferShared memoryInterprocess communcation facility(IPC)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhVí dụ Shared Bounded-BufferKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhShared Bounded-Buffer(t.t)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhV.Giao tiếp liên quá trình Interprocess Communication (IPC)Lả cơ chế để các process giao tiếp và đồng bộ các hành động của chúng mà không phải dùng chung resourceseKhả năng IPC cung cấp 2 họat động:send(message):- kích thước của message cố định hoặc biến đổireceive(massage)Nếu các quá trình P và Q muốn giao tiếp chúng cần phải:thiết lập một liên kết giao tiếp (communication link) giữa chúngtrao đổi các message qua các họat động send/receiveSự thực hiện của communication linkphysical (vd shared memory, hardware bus)logical (vd : logical properties)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhHiện thực IPC?Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhDirect CommunicationCác quá trình phải xác định rõ tên của nhau:Send(P,message):- gửi 1 message tới quá trình P.Receiver(Q,message):- nhận 1 message từ quá trình QCác đặc tính của communication link:Các liên kết được thiết lập tự độngMối liên kết được gắn với duy nhất một cặp process giao tiếp với nhau.Giữa mỗi cặp process tồn tại duy nhất 1 liên kếtLiên kết thường là 2 chiều (bi-directional) hoặc có thể có 2 liên kết một chiều (undirectional) P to Q, Q to P.Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhIndirect CommunicationCác message được gửi và nhận từ các mailbox (còn được gọi là port)Mỗi mailbox có duy nhất một idCác process chỉ có thể giao tiếp nếu chúng chia sẻ một mailboxCác đặc tính của communication link:Các liên kết được thiết lập chỉ khi nào process chia sẻ một mailbox chung.Một liên kết có thể được gắn với nhiều processMỗi cặp process có thể chia sẻ một số communication link.Liên kết có thể là 2 chiều hoặc 1 chiều.Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhIndirect Communication (tiếp)Các họat độngTạo/xóa một mailboxSend(A,message)- gửi 1 message tới mailbox AReceiver(A,message)- nhận 1 message từ mailbox AVấn đề Mailbox sharing:P1,P2 và P3 chia sẻ mailbox A.P1 gửi P2 và P3 nhậnProcess nào nhận đượ message?Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhIndirect Communication (tiếp)Giải pháp:1 liên kết được gắn tối đa 2 processCho phép tại 1 thời điểm chỉ 1 process thực hiện nhận message.Cho phép hệ thống tùy chọn process nhận. Process gửi được thông báo process nào nhận message.Các process khác nhận được 1 bản copyKhoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhSự đồng bộ hóa(Synchronization)Message passing có thể là khóa (blocking) hoặc không khóa (non-blocking).Blocking được coi là đồng bộ (synchronous)Blocking send: process gởi bị khóa đến khi message được nhận bởi process nhận hoặc bởi mailboxBlocking receive: process nhận/mailbox khóa đến khi nhận xong messageNon-blocking: được coi là không đồng bộ (asynchronous)Non-blocking send: process-gửi gửi message rồi lại tiếp tục không quan tâm tới message có được nhận hay khôngNon-blocking receive: process-nhận /mailbox nhận message đúng hoặc vô dụng.Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi Minh Bộ đệm(buffering)Khoa Công Nghệ Thông Tin – Đại Học Công Nghiệp TP Hồ Chi MinhCâu hỏi và bài tậpMiêu tả sư khác nhau giữa các bộ định thời ngắn, trung gian và dài.Miêu tả các hành động diễn ra chuyển ngữ cảnh giữa các quá trình bởi “Kernel”
Các file đính kèm theo tài liệu này:
- chuong_23_1436.ppt