Chapter03 processes

51 439 0
Chapter03 processes

Đ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

Chương 3: Tiến Trình PROCESS Th.s: Hà Lê Hồi Trung Ơn tập chương      Hệ Điều hành có thành phần Phân biệt sytem call & library Cấu trúc hệ thống Máy ảo – nhiệm vụ máy ảo Tiến trình gì? Nhiệm vụ thành phần quản lý tiến trình? Các Tiến trình chạy chương trình? Khoa KTMT Mục tiêu       Hiểu q trình gì? Các trạng thái q trình Cấu trúc liệu Q trình Cách tạo q trình Mối quan hệ cha q trình Cách giao tiếp tiến trình Tiểu trình (Thread) Khoa KTMT Nội Dung        Khái niệm Trạng thái trình Khối điều khiển trình (Process control block) Đònh thời trình (Process Scheduling) Các tác vụ trình Sự cộng tác trình Giao tiếp trình Khoa KTMT 3.1 Khái niệm m  Hoạt động CPU gọi gì? – Hệ thống bó (Batch system): jobs – Time-shared systems: user programs, tasks – Các hoạt động tương tự => gọi process  Quá trình (process) – chương trình thực thi  Một trình bao gồm – Text section (program code), data section (chứa global variables) – program counter (PC), process status word (PSW), stack pointer (SP), memory management registers,… Khoa KTMT 3.1 Khái niệm Các bước nạp chương trình vào nhớ Khoa KTMT 3.1 Khái niệm chương trình => trình   Dùng load module để biểu diễn chương trình thực thi Layout luận lý process image Executable binary file (load module) Process image in main memory program code program code data data start address stack Khoa KTMT 3.1 Khái niệm 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, pid) cho 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 đònh thời,…) Khoa KTMT 3.2.Trạng thái trình  Các trạng thái trình (process states): – – – – – new: trình vừa tạo ready: trình có đủ tài nguyên, 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 Khoa KTMT 3.2.Trạng thái trình  Chuyển đổi trạng thái trình new new admit dispatch ready ready exit terminated terminated running running interrupt I/O or event wait I/O or event completion waiting waiting Khoa KTMT 10 Hiện thực while (true) { while (in == out) ; // nothing nothing to consume // remove an item from the buffer item = buffer[out]; out = (out + 1) % BUFFER SIZE; return item; } Khoa KTMT 37 3.8.Giao tiếp liên trình (Interprocess communication-IPC)  IPC chế cung cấp hệ điều hành nhằm giúp trình – giao tiếp với – đồng hoạt động mà không cần chia sẻ không gian đòa  IPC cung cấp message passing system Khoa KTMT 38 Hệ thống truyền thông điệp Message passing system  Làm để trình giao tiếp nhau? Các vấn đề: – Đặt tên (Naming)  Giao tiếp trực 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 tiếp gián tiếp: thông qua mailbox hay port – send(A, msg): gửi thông điệp đến mailbox A – receive(B, msg): nhận thông điệp từ mailbox B – Đồng hóa (Synchronization): blocking send, nonblocking send, blocking receive, nonblocking receive – Tạo vùng đệm (Buffering): dùng queue để tạm chứa message  Khả chứa 0(Zero capacity hay no buffering)  Bounded capacity: độ dài queue giới hạn  Unbounded capacity: độ dài queue không giới hạn Khoa KTMT 39 Comunication Client – server  Socket  Remote procedure calls  Pipes Khoa KTMT 40 Tiểu trình (luồng) - Thread  Tiểu trình(tiến trình nhẹ-lightweight process): đơn vò sử dụng CPU, gồm: – Thread ID, PC, Registers, stack chia sẻ chung code, data, resources (files) Khoa KTMT 41 Ứng dụng Khoa KTMT 42 PCB vàTCB mô hình multithreads PCB pid Threads list Thread Control Block TCB Context tid (Mem, global ressources…) State (State, details) Relatives Context ( Dad, children) (IP, local stack…) Scheduling statistic Khoa KTMT 43 Lợi ích tiến trình đa luồng  Đáp ứng nhanh: Cho phép chương trình tiếp tục thực thi phận bò khóa hoạt động dài  Chia sẻ tài nguyên: tiết kiệm không gian nhớ  Kinh tế: tạo chuyển ngữ cảnh nhanh tiến trình VD: Solaris 2, tạo process chậm 30 lần, chuyển chậm lần  Trong multiprocessor: thực song song Khoa KTMT 44 Tiểu trình người dùng (User thread) T1 T2 LWP2 LWP1 P1 T3 P2 Kernel User mode Kernel mode Khái niệm tiểu trình hỗ trợ thư viện hoạt động user mode Khoa KTMT 45 Tiểu trình hạt nhân(Kernel thread) T1 T2 User mode System call HDH Kernel mode Khái niệm tiểu trình xây dựng bên hạt nhân Khoa KTMT 46 Bài tập  Khi thực chương trình sau, process vào trạng thái running lần: printf (hello); Khoa KTMT 47 Bài tập  Có process tạo đoạn chương trình sau: Khoa KTMT 48 Bài tập   Xác định giá trị pid dòng A, B, C, D Biết pid process cha 2600, 2603 Vẽ process tree Khoa KTMT 49 Bài tập   Xác định giá trị X&Y Vẽ process tree Khoa KTMT 50 Bài tập thực hành Khoa KTMT 51

Ngày đăng: 10/07/2016, 09:51

Tài liệu cùng người dùng

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

Tài liệu liên quan