1. Trang chủ
  2. » Công Nghệ Thông Tin

chương8 :Liên lạc giữa các tiến trình ppsx

29 404 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 622,28 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

IPC theo nguyên tắc chia sẻ tài nguyên chungOS - Kernel shared resources „Các tiến trình chia sẻ „Memory „File System Space... Name Value FunctionSIGHUP 1 Terminal hangup SIGINT 2 Interr

Trang 2

Nhu Cầu Liên Lạc

Q

Trang 3

12/16/2007 Trần Hạnh Nhi 3

Các cơ chế liên lạc

„ Chia sẻ tài nguyên chung

Trang 4

IPC theo nguyên tắc chia sẻ tài nguyên chung

OS - Kernel

shared resources

„Các tiến trình chia sẻ

„Memory

„File System Space

Trang 5

„ Hỗ trợ liên lạc

„ Kernel với User Process

„ Process Error

„ Timer

„ Child Process kết thúc…

„ User process vơí nhau

Trang 6

Name Value Function

SIGHUP 1 Terminal hangup

SIGINT 2 Interrupt by user: generated by < CTRL C > SIGQUIT 3 Quit by user: generated by < CTRL \ >

SIGFPE 8 Floating point error such as divide by zero SIGKILL 9 Kill the process

SIGUSR1 10 User defined signal 1

SIGSEGV 11 Segment violation: process has tried to access

memory not assigned to it SIGUSR2 12 User defined signal 2

SIGALRM 14 Timer set with alarm() function has timed out SIGTERM 15 Termination request

SIGCHLD 17 Child process termination signal

SIGCONT 18 Continue after a SIGSTOP or SIGSTP signal SIGSTOP 19 Stop the process

SIGTSTP 20 Terminal stop: generated by < CTRL Z >

Trang 7

12/16/2007 Trần Hạnh Nhi 7

Nhận xét Signals

„ Liên lạc không đồng bộ

„ Không biết trước thời điểm

„ Thiếu tin cậy

ƒ Không cho phép trao đổi dữ liệu

Trang 8

ƒ Pipe

ƒ Kernel buffer (File) có kích thước giới hạn (4K, 8K…)

ƒ HĐH cung cấp hàm WritePipe & ReadPipe

ƒ WritePipe khi Pipe đầy ?

ƒ ReadPipe khi Pipe rỗng ?

ƒ Phảiù xét đến các khả năng đồng bộ

ƒ Hỗ trợ liên lạc (UNIX original )

ƒ Giữa 2 tiến trình Cha - Con

ƒ Một chiều

L

Q AB B……….A AB

Trang 9

„ Chi phí thực hiện cao (system call)

„ Liên lạc giữa 2 tiến trình

„ Liên lạc một chiều

„ Pipe trong các HĐH hiện đại :

„ Anomynous Pipe : This…

„ Named Pipe : Unix , Windows NT…

„ Truyền dữ liệu có cấu trúc

„ Liên lạc 2 chiều

Trang 10

ƒ Các tiến trình có thể ánh xạ địa chỉ vào không gian chia sẻ này

để truy xuất dữ liệu (như đối với không gian nội bộ)

ƒ Không giới hạn số lượng tiến trình, chiều trao đổi, và thứ tự truy cập

ƒ Mâu thuẫn truy xuất - > nhu cầu đồng bộ

Trang 11

12/16/2007 Trần Hạnh Nhi 11

IPC theo nguyên tắc trao đổi thông điệp

User Process OS-Kernel

User Process OS-Kernel

Network

„ Không có bộ nhớ chung

„ Cần có đường kết nối giữa các máy tính

Trang 12

„ Message

„ Dữ liệu có cấu trúùc

„ Cấu trúc và thông dịch msg được thỏa thuận giữa 2 tiến trình liênlạc

„ HĐH cung cấp 2 primitive chính

„ send(destination, message)

„ receive(source, message)

„ Các vấn đề quan tâm :

„ Direct or indirect addressing

„ Blocking or non-blocking communication

„ Reliable or unreliable communication

Buffered or un-buffered communication

Trang 13

12/16/2007 Trần Hạnh Nhi 13

Định dạng Message

Trang 14

Nhận xét message

„ Là cơ chế IPC tổng quát

„ Hỗ trợ liên lạc giữa các tiến trính trên cùng máy

„ Hỗ trợ liện lạc giữa các tiến trính trong hệ thống phân tán

„ Liên lạc giữa các hệ thống không đồng nhất ?

Trang 15

Receive( ) //WIN

Trang 16

„ Endpoint của một kết nối 2 chiều

„ Tương đương với một network interface (hardware)

„ Cho phép các ứng dụng “plug in” vào mạng một cách ẩn dụ

„ Là một giao diện lập trình mạng

„ Cho phép các tiến trình liên lạc 2 chiều với nhau

„ Thiết lập liên lạc : tạo 2 socket, kết nối chúng với nhau

„ Socket description

„ Sử dụng một transport protocol

„ Cần đặc tả IPaddress và port kết nối

„ Được hỗ trợ đầu tiên trong Berkeley socket

„ Là sự mở rộng của nhập xuất file trừu tượng

„ Hiện nay được hỗ trợ trong hầu hết HĐH hiện đại

Trang 17

12/16/2007 Trần Hạnh Nhi 17

Trang 18

Socket Communication

Trang 20

Liên lạc thông qua Socket

„ Hỗ trợ 2 phương thức liên lạc

Trang 21

12/16/2007 Trần Hạnh Nhi 21

Phương thức Connection-Oriented

„ Thực hiện trên TCP (Transmission Control Protocol.)

„ Phải thực hiện kết nối giữa 2 tiến trình trước khi trao đổi dữ liệu

„ Tương tự hệ thống điện thoại

„ Dữ liệu được phân phối

Trang 22

Phương thức Connectionless

„ Thực hiện trên UDP (User Datagram Protocol)

„ Không yêu cầu kết nối tồn tại trước khi truyền dữ liệu

„ Tương tự hệ thống thư tín

„ Dữ liệu truyền có thể bị mất mát hay không đúng trật tự

„ 2 modes:

„ Iterative (synchronous)

„ Concurrent (asynchronous)

Trang 23

12/16/2007 Trần Hạnh Nhi 23

Caáu truùc ñòa chæ Socket

„ Generic socket address structure:

};

„ A popular BSD-derived implementation:

sa_family_ t sin_family ; /* address family */

order */

};

Trang 24

Port Numbers

„ Port là 1 khái niệm trừu tượng được TCP/UDP sử dụng

để phân biệt các ứng dụng trên một máy chủ

„ Một port được xác định bằng 1 số nguyên 16 bit là port

Trang 25

12/16/2007 Trần Hạnh Nhi 25

Some Well-Known Ports

Trang 28

TCP System Calls

bind() listen()

Trang 29

12/16/2007 Trần Hạnh Nhi 29

UDP System Calls

socket() bind() recvfrom()

Ngày đăng: 08/08/2014, 08:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w