Bài giảng Hệ điều hành máy tính: Lecture 4 - Nguyễn Thanh Sơn

41 51 0
Bài giảng Hệ điều hành máy tính: Lecture 4 - Nguyễn Thanh Sơn

Đ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

Bài giảng Hệ điều hành Máy tính: Lecture 4 trình bày về Quản lý quá trình. Nội dung cụ thể của chương này gồm có: Khái niệm cơ bản, định thời CPU, các tác vụ cơ bản, sự cộng tác giữa các quá trình, giao tiếp giữa các quá trình,...

(A) Quản lý trình      Khái niệm Định thời CPU Các tác vụ Sự cộng tác trình Giao tiếp trình BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Khái niệm  Hệ thống máy tính thực thi nhiều chương trình khác     Quá trình (process)  BK Batch system: jobs Time-shared systems: user programs, tasks Job  process chương trình thực thi, bao gồ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 TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Thực chương trình BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Chương trình  trình   Chương trình thực thi có định dạng load module mà trình nạp (loader) “hiễu” ● Ví dụ: định dạng elf Linux Layout luận lý process image Executable binary file (load module) start address Process image in main memory program code program code data data stack BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Khởi tạo q 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 q 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,…) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Trạng thái trình  Các trạng thái trình (process state):     BK  new: trình vừa tạo ready: trình có đủ tài ngun, cần CPU running: lệnh trình thực thi waiting: blocked, q trình đợi I/O hồn tất, hay đợi tín hiệu terminated: q trình kết thúc TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Trạng thái trình (tt.)  Chuyển đổi trạng thái trình new admit dispatch ready exit running interrupt I/O or event wait I/O or event completion blocked BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính terminated Trạng thái trình (tt.)  Chuyển đổi trạng thái trình new admit dispatch ready suspended exit terminated running Active States interrupt I/O or event completion I/O or event wait Suspended ready blocked Suspended States BK TP.HCM Suspended blocked suspended Khoa Khoa học & Kỹ thuật Máy tính Ví dụ trạng thái q trình /* test.c */ int main(int argc, char** argv) { printf(“Hello world\n"); exit(0); } Biên dịch chương trình Linux gcc test.c –o test Thực thi chương trình test /test  Chuỗi trạng thái trình test sau (trường hợp tốt nhất):       Trong hệ thống có q trình test tạo ra, thực thi kết thúc  new ready running waiting (do chờ I/O gọi printf) ready running terminated BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Process Control Block (PCB)   Đã thấy 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 Ví dụ layout PCB: (trường pointer dùng để liên kết PCBs thành linked list) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tí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 Hai mơ hình cho IPC   Truyền thơng điệp (Message passing) Dùng nhớ chung (shared memory) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Message passing system  Làm để trình giao tiếp nhau? Các vấn đề:  Naming Giao tiếp trực tiếp  send(P, msg): gửi thơng điệp đến q 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 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  Unbounded capacity: độ dài queue không giới hạn    BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Giao tiếp hệ thống client-server    Sockets Remote Procedure Calls (RPC) Remote Method Invocation (RMI) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Socket  Socket     Đầu cuối (endpoint) kênh giao tiếp Cơ chế giao tiếp mức thấp (lowlevel), gửi nhận chuỗi byte liệu không cấu trúc (unstructured stream of bytes) Giao tiếp qua socket: connectionless connectionoriented Lập trình socket  Berkeley socket (BSD socket), WinSock BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Cơ chế gửi/nhận qua socket Hàm thư viện Diễn giải socket() Tạo socket bind() Gắn địa cục vào socket listen() Thiết lập độ dài queue accept() (server) Chờ kết nối đến từ client connect() (client) kết nối đến server send() sendto() Gửi liệu qua kênh giao tiếp thiết lập Gửi liệu đến địa recv() recvfrom() Nhận liệu qua kênh giao tiếp thiết lập Nhận liệu đến từ địa close() Đóng kết nối BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Connectionless Transport Service   BK TP.HCM Process A Process B socket() socket() bind() bind() sendto()/ sendto()/ recvfrom() recvfrom() close() close() sendto(socket, buffer, buffer_length, flags, destination_address, addr_len) recvfrom(socket, buffer, buffer_length, flags, from_address, addr_len) Khoa Khoa học & Kỹ thuật Máy tính Connection-oriented Transport Service Server socket() bind() listen() accept() recv() send() close() communication socket() connect() send() Client  send(socket, buffer, buffer_length, flags)  recv(socket, buffer, buffer_length, flags) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính recv() close() Remote procedure call  Remote procedure call (RPC)   Cho phép chương trình gọi thủ tục nằm máy tính xa qua mạng Các vấn đề thực RPC       Truyền tham số kết trả lời gọi thủ tục Chuyển đổi liệu truyền mạng (data conversion) Kết nối client đến server Bin dịch chương trình Kiểm sóat lỗi Security BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Sơ đồ hoạt động RPC chờ kết trả (suspended) Client Gọi remote procedure Kết trả Request Reply Server (blocked) Gọi thủ tục cục trả kết (blocked) t BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Lưu đồ thực RPC Server Client return reply call request Client Stub message to parameter call request return reply Server Stub parameter to message message to parameter parameter to message TRANSPORT TRANSPORT (OS 1) (OS 2) receive send receive BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính send Truyền tham số RPC  Marshalling   qui tắc truyền tham số chuyển đổi liệu RPC bao gồm đóng gói liệu thành dạng thức truyền qua mạng máy tính Biểu diễn liệu kiểm tra kiểu liệu  Dữ liệu biểu diễn khác hệ thống khác   ASCII, EBCDIC Ví dụ biểu diễn 32-bit integer máy:  big-endian  most significant byte high memory address (Motorola)  little-endian  least significant byte high memory address (Intel x86)  BK Dạng biểu diễn XDR (External Data Representation): biểu diễn liệu machine-independent TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Truyền tham số RPC (tt.) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Q trình thực RPC Dùng dynamic binding để xác định port number RPC X BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Remote method invocation  Remote Method Invocation (RMI)  Cho phép chương trình Java gọi phương thức (method) đối tượng xa, nghĩa đối tượng máy ảo Java khác BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Marshalling tham số RMI marshalling unmarshalling Phương thức triệu gọi có dạng sau: boolean someMethod(Object x, Object y) BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính ... thuật Máy tính Medium-term scheduling   Đôi hệ điều hành (như time-sharing system) có thêm medium-term scheduling để điều chỉnh mức độ multiprogramming hệ thống Medium-term scheduler   chuyển... tiếp cho trình BK TP.HCM Khoa Khoa học & Kỹ thuật Máy tính Bài toán producer-consumer  Bài toán tiêu biểu cộng tác q trình: tốn producer-consumer   BK Producer tạo liệu consumer tiêu thụ, sử... máy tính thực thi nhiều chương trình khác     Quá trình (process)  BK Batch system: jobs Time-shared systems: user programs, tasks Job  process chương trình thực thi, bao gồm:  Text section

Ngày đăng: 30/01/2020, 04:38

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

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

Tài liệu liên quan