1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án môn học lập trình hệ thống Đề tài implement and demo for sockets in ipc

46 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Implement And Demo For Sockets In IPC
Tác giả Vũ Thái An, Lê Thị Kim Ánh, Lê Văn Bảo, Phạm Như Quốc Bảo
Người hướng dẫn TS. Hoàng Hữu Đức
Trường học Trường Đại Học Công Nghệ Thông Tin & Truyền Thông Việt - Hàn
Chuyên ngành Lập Trình Hệ Thống
Thể loại Đồ Án Môn Học
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 46
Dung lượng 3,23 MB

Nội dung

Topic: Implement and Demo for Sockets in IPC vill MO DAU Giao tiếp giữa các quy trình là một yếu tố quan trọng trong việc xây dựng các ứng dụng phân tán và mạng hiệu quả.. Chúng cho p

Trang 1

TRUONG DAI HOC CONG NGHE THONG TIN &

TRUYEN THONG VIET HAN

Khoa Khoa Hec May Tinh

Lê Văn Bảo

Phạm Như Quốc Bảo

Giảng viên hướng dẫn : TS.Hoàng Hữu Đức

Trang 2

Da Nang, thang 10 nam 2023

Trang 3

TRUONG DAI HOC CONG NGHE THONG TIN &

TRUYEN THONG VIET HAN

Khoa Khoa Hec May Tinh

VI

=a wee L] ia

DO AN MON HOC LAP TRINH HE THONG

IMPLEMENT AND DEMO FOR SOCKETS IN IPC

Sinh viên thực hiện : Vũ Thái An

Lê Thị Kim Ánh

Lê Văn Bảo

Phạm Như Quốc Bảo

Giảng viên hướng dẫn : TS.Hoàng Hữu Đức

Trang 4

Da Nang, thang 10 nam 2023

Trang 5

Topic: Implement and Demo for Sockets in IPC

1

LOI CAM ON

Đề hoàn thành báo cáo đồ án học phần “Lập trình hệ thống” nảy trước tiên chúng

em xin gửi đến các thầy cô giáo TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

VA TRUYEN THONG VIET - HÀN lời cảm ơn chân thành và sâu sắc nhất

Đặc biệt cảm ơn thầy TS.Hoàng Hữu Đức đã tận tỉnh hướng dẫn và giúp đỡ trong

suốt quá trình hoàn thành báo cáo để nhóm em hoàn thành bài báo cáo một cách hoàn

thiện nhất

Với việc tìm hiểu về bài báo cáo học phần này cùng với trình độ kiến thức và kinh

nghiệm còn hạn chế nên chúng em không thê tránh khỏi những sai sót Nhóm em rất

mong nhận được những nhận xét, đánh giá, đóng góp ý kiến từ thầy cô đề bài báo cáo

học phần này của chúng em hoàn thiện một cách tốt nhất

Chung em xin chan thành cảm ơn!

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 6

Topic: Implement and Demo for Sockets in IPC H

Trang 7

Topic: Implement and Demo for Sockets in IPC 1

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 8

Topic: Implement and Demo for Sockets in IPC 1H

DANH MỤC TỪ VIẾT TẮTT 22222222 222212222111222111222111217111227111 22211 21.1 tre vii

MG DAU ooo eccccccccccecsesssecseessesssessssisseressserstearetererssetitsasessietissesessessaseaesssesieseseeseeseess vil

1 Ly dochon AG tain cc cccccccccccccccecscscsesessvevevscecsesesessvevevecssscsssevevevevevisstisssvevsvesevsees Vill

2 Mục tiêu của đ tài 20 2222 2221112221112 1211.211.2111 12g viii

3 Phuong hướng của đề tài - s5 St 1211212112111 2121222112121 221 ca Ix

4 Đối tượng nghiên cỨu 5s 1 2E 11121E71112111111121112 1 111110212111 gu Ix

CHUONG 1 GIỚI THIỆU CHUNG -5222222222211022211 22111211 re l

11 Tìm hiểu chung về IPC - 2s 2 151 82111121111111211 11111 12112120111 rryg 1

1.1.1 Khải nệm TPC ieee cee ceecceneeneeeceseneesceeceecaeesesesseeeteeseeeeeseeeeaeeas 1

1.1.2 Cac phuong phap chinh cta IPC ccc G22 12221221121 1121 1151111581111 121xe2 1

1.2.1 Khai niém Socket ccccccccccccscesseesetesetttettttetttssccesecssecesausaaeeess 5

1.2.3 Cách hoạt động của Socket .- L1 0122112111211 1111211181 111k 6

1.2.4 _ Lợi ích của việc sử dụng Socket trong IPC., 2 c v22 21 222 6

1.3 Tổng quan về công nghệ chính 2-2 2 2 SE92E8 15214 1127111121211 112112 te 7

1.3.1 Oracle VM VirtualBOx 2 2 211121122212 11181111111111111111 11111811181 x xe 7

1.3.2 Ngôn ngữ lập trình C, - 1 221121 1211111111112 1118111111 011111 18111 re 11

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 9

Topic: Implement and Demo for Sockets in IPC 1H

CHƯƠNG2 _ THIẾT KẾ VÀ TRIÊN KHAI -2-22222++2222xs22zxxzrrrcre 13

22 Thiết kế kiến trúc hệ thống IPC sử dụng Sockets - cay 13

2.2.1 Mô tả kiến trúc tông quan của hệ thống IPC 2-52 S222 ze2 13

2.2.2 Các thành phần chính của hệ thống 5221 E2 1215215212211 75 6 14

2.3 Triển khai Sockets trong hệ thống IPC 2 S1 2221 115E521212127121E1 xe 16

2.3.1 Tạo và quản lý Sockets - ác n1 1 n1 n1 1221111111112 11kg 16

2.3.2 _ Thiết lập kết nối Sockets - S12 1E 211211211211221121220 ng 16

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 10

Topic: Implement and Demo for Sockets in IPC IV

2.3.3 Gửi và nhận dữ liệu qua Socket - - c1 121212222 211221212 rea 16

CHƯƠNG3_ CHƯƠNG TRÌNH DEMO -22 22 2122212711211 122 1e 13

3.1 Mã ngun 52-5 S1 1 E1151121121111111211 112221111121 211 121121111 ng 13

P.9 äẽẼẽẼẼ 13

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN s 52 5s 1E 2212111121121 xe 15

TAI LIEU THAM KHAO -‹4‹44 16

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 11

Topic: Implement and Demo for Sockets in IPC V

DANH MỤC HÌNH ANH

Hình 1.1 Inter-Process Communication (IPC) - 2c 1 2212122113 1111 211111151115 +2 1

Hinh 1.2 Socket in TPC 5

Hinh 1.3 Cách hoạt động của Socket 1200121122112 119111211111 11111221 111gr nay 6

Hinh 1.4 Oracle VM VirtualBox 7

Hình 1.5 Giao diện Oracle VMI VirtualBox ieeccccecccececececececeeeeeeeceseseseeenes 9

Hinh 1.6 Ng6n nett lap trinh Coe 11

Trang 12

Topic: Implement and Demo for Sockets in IPC Vi

DANH MUC BANG BIEU

No table of figures entries found

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 13

Topic: Implement and Demo for Sockets in IPC vn

Trang 14

Topic: Implement and Demo for Sockets in IPC vill

MO DAU

Giao tiếp giữa các quy trình là một yếu tố quan trọng trong việc xây dựng các

ứng dụng phân tán và mạng hiệu quả IPC là một khái niệm quan trọng đê thiết lập kết

nối và truyền tải đữ liệu giữa các quy trình khác nhau trên cùng một hệ thống Trong

dé tài này, chúng em tập trung vào triển khai và thực hiện giao tiếp IPC bằng cách sử

dụng Sockets

Sockets là một công nghệ mạnh mẽ và phố biến trong việc xây dựng ứng dụng

mạng Chúng cho phép thiết lập kết nối giữa các quy trình thông qua mạng hoặc cùng

một máy tính, và truyền tải dữ liệu qua các kênh kết nỗi Sử dung Sockets trong IPC

mang lại sự linh hoạt và khả năng mở rộng cho việc truyền thông giữa các quy trình

Trong báo cáo này, chúng em trình bày quá trình triển khai và demo một ứng

dụng thực tế sử dung Sockets để thực hiện IPC Chúng em đã tiến hành nghiên cứu

các khái niệm cơ bản về IPC và Sockets, và áp dụng chúng vào việc xây dựng một

ứng dụng mẫu Chúng em cung cấp mô tả chỉ tiết về kiến trúc của ứng dụng, cách

thiết lập và quản lý Sockets, cũng như giao thức truyền tải đữ liệu và xử lý lỗi

1 Lý do chọn đề tài

Với đề tài này, chúng em muốn tìm hiểu sâu hơn về khái niệm IPC và cách triển

khai Sockets trong giao tiếp giữa các quy trình

Bên cạnh đó, chúng em cũng nhận thấy việc sử dụng Sockets trong IPC đem lại

nhiều lợi ích Sockets cung cấp sự linh hoạt và khả năng mở rộng cho việc truyền

thông p1ữa các quy trình, cho phép xây dựng ứng dụng phân tán và mạng đáng tin cậy

và hiệu quả Đồng thời, triển khai và sử dụng Sockets trong IPC cũng đòi hỏi kiến

thức và kỹ năng kỹ thuật, và chúng em muốn nắm bắt và áp dụng những kiến thức này

trong đề tài của mình

Vì vậy, nhóm em đã quyết định chọn dé tai "Implement and Demo for Sockets

in IPC" để tìm hiểu, triển khai và thực hiện một ứng dụng IPC sử dụng Sockets

Chúng em hy vọng răng việc nghiên cứu và triển khai đề tài này sẽ giúp chúng em

hiểu rõ hơn về IPC và Sockets, và cung cấp một nền tang để xây dựng và phát triển

các ứng dụng IPC trong tương lai

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 15

Topic: Implement and Demo for Sockets in IPC vill

2 Mục tiêu của đề tài

e Nghiên cứu và hiểu rõ về khái niệm IPC (Inter-Process Communication) va vai trò của nó trong giao tiếp giữa các quy trình trên cùng một hệ thống

e - Nắm vững kiến thức về Sockets và cách chúng được sử dụng trong IPC

e_ Triển khai một ứng dụng mau str dung Sockets trong IPC

e© Thực hiện demo để minh họa quá trình truyền tải dữ liệu giữa các quy trình thông qua Sockets

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 16

Topic: Implement and Demo for Sockets in IPC Ix

© Tìm hiểu vả áp dụng các phương pháp và công cụ phân tích, kiếm thử và gỡ lỗi trong qua trình triển khai và đemo ứng dụng

e - Đánh giá hiệu năng va tinh 6n dinh cua tng dung IPC sir dung Sockets

e Trinh bay két quả và kinh nghiệm từ quá trình trién khai va demo trong bao cao

đỗ án, bao gồm các phân tích, kết quả thực nghiệm và nhận xét

3 Phương hướng của đề tài

Phương hướng của đề tài "Implement and Demo for Sockets in IPC" trong dé

án báo cáo có thề được thực hiện theo các chương sau:

s* Chương 1: Giới thiệu chung

* Chương 2: Thiết kế và triển khai

s% Chương 3: Chương trình Demo

4 Đối tượng nghiên cứu

Dé tai "Implement and Demo for Sockets in IPC" có thê phù hợp cho sinh viên đại học, nhà phát triển phần mềm, nghiên cứu viên và những ai quan tâm đến việc truyền tải đữ liệu qua mạng

5 Pham vi nghiên cứu

Nghiên cứu về Sockets: Tìm hiểu về cơ bản của Sockets và các giao thức liên quan như TCP/IP và UDP Khám phá các tính năng, khả năng và hạn chế của Sockets trong việc thiết lập kết nối và truyền tải dữ liệu giữa các quy trình

IPC sử dụng Sockets: Nghiên cứu các phương pháp và kỹ thuật triển khai IPC sử dụng Sockets Xem xét cách tạo và quản lý kết nối Sockets giữa các quy trình trên củng một hệ thống Tìm hiểu về các thủ tục gui va nhận đữ liệu thông qua Sockets Xây dựng ứng dụng IPC sử dụng Sockets: Triển khai mã nguồn để xây dựng ứng dụng IPC sử dụng Sockets Đảm bảo sự đồng bộ hóa, xử lý lỗi và quản lý tài nguyên đúng đắn trong quá trình truyền tải đữ liệu

Demo và đánh giá: Thực hiện demo dé minh hoa qua trình truyền tải dữ liệu giữa các quy trình thông qua Sockets Đánh giá tính ổn định, đáng tin cậy và hiệu suất của

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 17

Topic: Implement and Demo for Sockets in IPC Ix

Trang 18

Topic: Implement and Demo for Sockets in IPC 2

1.I Tìm hiểu chung về IPC

1.1.1 Khái niệm IPC

IPC là viết tắt của "Giao tiếp giữa các quá trình" trong lĩnh vực công nghệ thông tin và lập trình máy tính IPC là cách mà các quy trình khác nhau trên hệ thống máy tính hoặc trong mạng có thê giao tiếp, trao đôi thông tin và tương tác với nhau Điều này cho phép các quy trình khác nhau thực hiện các nhiệm vụ riêng biệt và hợp tác dé hoan thành nhiệm vụ lớn hơn hoặc chia sẻ dữ liệu và tài nguyên với nhau

Inter-Process

Communication

(IPC)

Hinh 1.1 Inter-Process Communication (IPC)

1.1.2 Cúc phương pháp chính của IPC

® Ô cắm: Sử dung TCP/IP hoac UDP dé lién lac qua mạng hoặc trên củng một máy tính

O cắm TCP/IP sử dụng giao thức TCP (Transmission Control Protocol) đề thiết lập kêt nôi đáng tin cậy giữa hai điểm cuối Điềm cuối có thê là hai tiên trình trên cùng

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 19

Topic: Implement and Demo for Sockets in IPC 2

một máy tính hoặc hai máy tính khác nhau trong mang TCP dam bao tinh toàn vẹn

và đúng thứ tự của đữ liệu, và cung cấp các cơ chế như kiểm soát lỗi, đồng bộ hóa

và xác thực

O cam UDP sir dung giao thtre UDP (User Datagram Protocol), mét giao thirc không đáng tin cậy hơn so với TCP UDP không đảm bảo tính toàn vẹn và thứ tự của dữ liệu gửi đi Điều này có thế phù hợp cho các ứng dụng cần truyền dữ liệu nhanh chóng và có thể chấp nhận mắt mát dữ liệu, như truyền phát trực tiếp hoặc trò chơi trực tuyến

Sử dụng ổ cắm, các ứng dụng có thể thiết lập kết nỗi mạng và gửi/nhận đữ liệu qua mạng thông qua các giao thức TCP/IP hoặc UDP Một ứng dụng có thê chạy dưới vai trò máy chủ (server), lắng nghe các yêu cầu kết nối từ các ứng dụng khác và xử

lý chúng Hoặc nó có thê chạy dưới vai trò máy khách (client), tạo ra kết nỗi đến một máy chủ đã tổn tại và truyền dữ liệu qua mạng

Sử dụng 6 cam TCP/IP hoặc UDP, các tiến trình hoặc máy tính khác nhau có thé truyền thông và chia sé dit liệu qua mạng hoặc trên cùng một máy tính

Hàng đợi tin nhắn: Sử dụng hàng đợi để các tiến trình có thê gửi và nhận tin nhắn văn bản hoặc đữ liệu có cấu trúc Hàng đợi tin nhắn có thể được sử dụng dé gui va nhận tin nhắn văn bản đơn giản hoặc dữ liệu có câu trúc Văn bản đơn giản thường được sử dụng để truyền thông điều khiên hoặc thông báo giữa các tiến trình, trong khi dữ liệu có cấu trúc có thê là các bản ghi, cầu trúc dữ liệu phức tạp hoặc các đối tượng đã được tuần tự hóa Các tiến trình có thể gửi tin nhắn vào hàng đợi bất ky lúc nào và tiến trình nhận có thể lấy tin nhắn ra theo thứ tự đã đặt vào hàng đợi Điều nảy tạo ra một giao tiếp không đồng bộ giữa các tiến trình, cho phép chúng hoạt động độc lập và không phụ thuộc vào nhau Hàng đợi tin nhắn là một cơ chế phổ biến đề truyền thông IPC trong các hệ thống đa tiến trình hoặc phân tán Nó cho phép các tiến trình giao tiếp an toàn và hiệu quả, đồng thời đảm bảo tính toàn vẹn của dữ liệu trong quá trình truyền thông

Bộ nhớ dùng chung (shared memory) là một cơ chế trong hệ điều hành cho phép các tiễn trình chia sẻ một phần của bộ nhớ chung Thay vi sao chép dữ liệu qua lại

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 20

Topic: Implement and Demo for Sockets in IPC 2

giữa các tiến trình, chúng có thể truy cập trực tiếp vào cùng một vùng bộ nhớ Điều này giúp tăng tốc độ truy cập đữ liệu và giảm overhead do sao chép đữ liệu

Quá trình sứ dụng bộ nhớ dùng chung bao gôm các bước sau:

Tạo và gắn kết vùng bộ nhớ dùng chung: Một tiến trình tạo ra một vùng bộ nhớ dùng chung và gắn nó vào không gian địa chỉ của nó Các tiến trình khác cũng có thể pắn kết vào cùng một vùng bộ nhớ này

Truy cập đữ liệu trong bộ nhớ dùng chung: Các tiến trình có thể truy cập và thao tác trên dữ liệu trong vùng bộ nhớ dùng chung giống như trên bất kỳ vùng bộ nhớ nào khác Chúng có thê đọc, ghi và sửa đôi đữ liệu trong vùng bộ nhớ dùng chung Đồng bộ hóa truy cập: Do nhiều tiến trình có thể truy cập cùng một lúc vào bộ nhớ dùng chung, việc đồng bộ hóa truy cập là cần thiết đề tránh xung đột dữ liệu Điều nay co thé được thực hiện bằng cách sử dụng các cơ chế đồng bộ hóa như semaphores, locks hoac mutex dé dam bao rang chỉ một tiến trình có thể truy cập vào vùng bộ nhớ dùng chung trong cùng một thời điểm

Giải phóng bộ nhớ dùng chung: Khi không còn cần thiết sử dụng bộ nhớ dùng chung, các tiến trình có thê giải phóng vùng bộ nhớ này Việc giải phóng bộ nhớ dùng chung đảm bảo rằng tài nguyên được giải phóng và trả về cho hệ thống

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 21

Topic: Implement and Demo for Sockets in IPC 3

¢ Ong (pipe) la mét cơ chế trong hệ điều hành được sử dụng đề truyền đữ liệu giữa các tiến trình cha và con trong mô hình quy trình Ông được tạo ra bằng cách kết nỗi đầu ra của một tiến trình với đầu vào của một tiến trình khác, tạo thành một kênh truyền thông một chiều

Quá trình sử dụng ống bao gồm các bước sau:

Tao ống: Một tiến trình cha tạo ra một ống bằng cách sử dụng hàm hệ thống như pipe() trong các ngôn ngữ lập trình nhự C hoặc sử dụng các API tương ứng trong các ngôn ngữ khác Quá trình tạo ống sẽ tạo ra hai đầu của ống: một đầu đọc (đầu

vào) và một đầu ghi (đầu ra)

Kết nỗi ống với tiến trình con: Sau khi tạo ống, tiến trình cha sẽ tạo một tiến trình con Tiến trình con sẽ kế thừa ống từ tiền trình cha và có thê truy cập vào đầu ghi (đầu ra) của ống

Truyền dữ liệu qua ống: Tiến trình cha có thể ghi đữ liệu vào đầu ghi của ống và tiến trình con có thê đọc dữ liệu từ đầu đọc của ống Việc truyền đữ liệu được thực hiện theo cơ chế FIFO (Frrst-In-First-Out), tức là dữ liệu được ghi vào ống theo thứ

tự và tiễn trình con sẽ đọc đữ liệu theo thứ tự đó

Đóng ống: Sau khi hoàn thành việc truyền dữ liệu, tiến trình cha và tiến trình con

có thể đóng đầu đọc và đầu ghi của ông bằng cách sử dụng các hàm như close() trong C hoặc các API tương ứng trong các ngôn noữ khác Điều này giải phóng tài nguyên và thông báo cho hệ điều hành về việc kết thúc sử dụng ống

Lợi ích của việc sử dụng Ống trong truyền thông giữa các tiễn trình cha và con bao gom:

Đơn giản và tiện lợi: Ống cung cấp một cơ chế đơn giản để truyền đữ liệu giữa các tiễn trình cha và con Chúng đễ dùng vả có sẵn trong hầu hết các hệ điều hành Hiệu suất cao: Ong thường được triển khai bên dưới bằng các cơ chế như bộ đệm, giúp tăng hiệu suất truyền dữ liệu giữa các tiến trình

Hỗ trợ truyền thông một chiều: Ông chỉ cho phép truyền dữ liệu theo một chiều, từ tiến trình cha đến tiến trình con Điều này hữu ích trong các tình huống mà chỉ cần truyền dữ liệu một chiều duy nhất

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 22

Topic: Implement and Demo for Sockets in IPC 3

¢ RPC (Remote Procedure Call) la một p1ao thức và mô hình lập trình cho phép gọi các hàm hoặc phương thức từ một quy trình từ xa theo cách tương tự như øọI các hàm trong cùng một quy trình RPC cho phép các ứng dụng chạy trên các máy tính khác nhau trong mạng có thê tương tác và giao tiếp với nhau thông qua việc gọi hàm từ xa

Quá trình sử dụng PC bao gồm các bước sau:

Xác định giao diện: Đầu tiên, phải xác định giao dién (interface) cua các hàm hoặc phương thức mà các quy trinh từ xa có thé sọI Giao diện này xác định các hàm có sẵn đề gọi từ xa và các tham số đầu vào và đầu ra của chúng

Đăng ký quy trình từ xa: Mỗi quy trình từ xa cần đăng ký với một trình quản lý RPC (RPC manager) dé thông báo về sự hiện diện và giao diện của nó Quá trình đăng ký

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Trang 23

Topic: Implement and Demo for Sockets in IPC 4

Thực thị hàm từ xa: Máy tính chứa quy trình từ xa nhận thông điệp RPC và trích xuất thông tin về tên hàm và các tham số Nó sau đó gọi hàm hoặc phương thức tương ứng trong quy trình từ xa và thực thí nó như bình thường Kết quả của hàm được trả về bằng cách gửi lại một thông điệp RPC

Nhận kết quả: Quy trình gọi nhận được thông điệp RPC chứa kết quả trả về từ quy trình từ xa Nó trích xuất kết quả và tiếp tục thực thi các lệnh tiếp theo trong quá

trinh gọi

Cơ chế đồng bộ hóa được sử dụng để đảm bảo tính nhất quán và an toàn trong qua trình thực thi của các quy trình đồng thời Các cơ chế như semaphores, mutexes va điều kiện (condition) là những công cụ quan trọng trone việc xây dựng các giải pháp đồng bộ hóa

Semaphore: Semaphore là một biến đồng bộ được sử dụng đề kiếm soát quyền truy cập vào tài nguyên chia sẻ Nó giữ một giá trị nguyên không âm và hỗ trợ hai phép toán chính là "wait" và "signal" Khi một quy trình muốn truy cập vào tài nguyên,

nó phải gọi phép toán "wait" trén semaphore Néu gia tri cua semaphore la dương, quy trình sẽ giảm giá trị semaphore và tiếp tục thực thi Nếu giá trị là không âm, quy trình sẽ bị chặn và đợi cho đến khi semaphore được tăng lên bởi một quy trình khác thông qua phép toán "sienal" Semaphore cho phép kiểm soát truy cập đồng thời vào tải nguyên và giúp tránh các vẫn đề như xung đột và đối tượng bỏ qua (starvation)

Mutex (Mutual Exclusion): Mutex là một cơ chế đồng bộ hóa được sử dụng đê đảm bảo rằng chỉ có một quy trình duy nhất có thể truy cập vào tài nguyên chia sẻ tại một thời điểm Mutex thường được sử dụng đề bảo vệ các phần của mã được gọi là

"vung nhay cam" (critical section), noi cac dtr ligu chia sé c6 thé bi xung đột Một quy trình muốn truy cập vào vùng nhạy cảm phải gọi phép toán "lock" trên mutex

Vit Thai An-Lé Thi Kim Anh-Lé Van Bảo-Phạm Như Quốc Bảo

Ngày đăng: 20/12/2024, 16:26

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN