Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 41 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
41
Dung lượng
1,13 MB
Nội dung
(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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn Thực chương trình BK TP.HCM SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn Chương trình q 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 program code Process image in main memory program code data data stack BK TP.HCM SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 q 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,…) BK TP.HCM SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn Trạng thái trình (tt.) Chuyển đổi trạng thái trình admit new dispatch ready exit running interrupt I/O or event wait I/O or event completion blocked BK TP.HCM SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn terminated Trạng thái q trình (tt.) Chuyển đổi trạng thái trình admit new dispatch ready suspended terminated exit running Active States interrupt I/O or event completion I/O or event wait Suspended ready blocked Suspended States BK TP.HCM Suspended blocked SinhVienZone.com suspended Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn Ví dụ trạng thái 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ó 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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ừ q 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn Giao tiếp hệ thống client-server Sockets Remote Procedure Calls (RPC) Remote Method Invocation (RMI) BK TP.HCM SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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) SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn Connection-oriented Transport Service Server socket() bind() listen() accept() recv() send() close() communication socket() connect() send() recv() Client send(socket, buffer, buffer_length, flags) recv(socket, buffer, buffer_length, flags) BK TP.HCM SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn Truyền tham số RPC (tt.) BK TP.HCM SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn Q trình thực RPC Dùng dynamic binding để xác định port number RPC X BK TP.HCM SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn 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 SinhVienZone.com Khoa Khoa học & Kỹ thuật Máy tính https://fb.com/sinhvienzonevn ... Khi user đăng nhập hệ thống, command interpreter (shell) tạo cho user Quá trình tạo trình trình tạo (quá trình cha) Quan hệ cha-con định nghĩa trình BK TP.HCM SinhVienZone. com Khoa Khoa học &... thuật Máy tính https://fb .com/ sinhvienzonevn Yêu cầu hệ điều hành Để quản lý trình, OS cần: Hỗ trợ thực thi luân phiên nhiều trình Phân phối tài nguyên hệ thống hợp lý Hiệu suất sử... (concurrently) Hệ điều hành cho trình cha chạy trình kết thúc TP.HCM SinhVienZone. com Khoa Khoa học & Kỹ thuật Máy tính https://fb .com/ sinhvienzonevn Các tác vụ trình (tt.) Tạo trình (tt) Không