Thảo luận Bài 4
+111
DangLeHieu(I102C)
NguyenTuanHai_I12A
Đỗ Phan Diễm Hương I12A
TRANTHINHPHAT (I11C)
lengocthuthao89 (i11c)
NguyenthechinhI12A
DaoQuangTri38(I12A)
LyHuynhThanhYen (I11C)
BuiDaiNghia-102C
nguyenhuutho
TrinhThiPhuongThaoI12C
TranVanBao(I12A)
tranthithanhuyen85 (I11C)
KimHue36 (I11C)
phanngocthinh(i12a)
fantomas113
PhamDucPhuong(I12A)
VoTrongQuyet-I12A
vominhhai_09H1012028
nguyenvanhonglac_0066
leminhtam13(I12A)
TruongQuocTrung_I12A
HuaTranTuQuyen(I12A)
NguyenNgocDuy(I12A)
PhamMinhLuan(102C)
sonha89
Nguyen Doan Linh051(I11c)
HuynhMinhChanh(i91C)
ngophicamI12A
HuynhNguyenTrungHau_I12C
LeMinhDuc (I11C)
huynhtamhaoI12A
LuongGiaDuc(I12A)
HUYNHMINHHAI(I12A)
TranHuyCuong17 (I12A)
NguyenThanhCang(I12A)
lymydung_I12A
VuNguyenQuynhLam_I12C
TranHoangNhanI12C
BuiHuongTra(I12A)
NgoXuanQuoc_(102C)
NguyenVinhQuang_I12A
LeMInhTien(I11C)
nguyenthihongtham_I12C
maidangvu_I12A
NguyenVanBenI12C
NguyenVanThang25 (I12A)
phamduyI12A
NguyenHaCamThu(I12A)
TranTrungTinh(I12A)
trantrungnam-HC11TH2A
LacChiHao(I12A)
luthioanh-I12A
nguyen_tuan_phat_I12A
lacongchinh_I12A
lethanhsang_I12A
TranTrungHienI12C
plminhhoangI12A
ngothihanHC11TH2A
TranBinhCongLuanI12A
nguyenthanhphongHC11TH2A
quynhnhi.nguyen_I12A
LeXuanHau (I12C)
DaoThaiHuyI12A
levanhop.it
Nguyen Sy Hung I12A
thailongI12C
nguyenthingocmai_I12A
hoanghaiyen
Đinh Đông Dương
NguyenThiHue48(I12A)
phuongnguyen
nguyenthaihiep (I11C)
nguyenthimao_I12A
TranMinhTuan143(I12A)
NguyenHongHaiI12C
nguyenhuutrang_11h1010135
nguyenthanhnghi_I12C
quicly_I111c
NguyenThiHongYen(I12A)
NgoPhuQuoc_I12C
TranThiNgocQuynh(I12C)
hoxuanvu_I12A
LuongHueChanh_I12A
TranThiMyKhanh(I12A)
DoanNgocDan(I12A)
LeLamThang (113A)
tranvanthien27(I12C)
BuiPhamAnBinh(I12A)
LeThanhTung (I11C)
LeQuocKhanh-11H1010059
trinhvanminh_11h1010077
letanthanh18(I12A)
vothingocthuy87(I11C)
NguyenTriVienI12A
NguyenHoangThangI12A
LeThiMaiPhuongI12A
hoanggiangI12C
TranPhiLong (I11C)
phamphihung55
TranThiAnhDao89I12C
TrinhVinhThanh (I12A)
lequanghanh(102c)
Truc_Phuong(I111C)
LePhucHiep(102C)
NguyenXuanTri28
huynhvanhung(I12A)
VoThiHongNhung(I12A)
PhamQuangHien_I12A
minhtam_I12C
Admin
115 posters
Trang 9 trong tổng số 15 trang
Trang 9 trong tổng số 15 trang • 1 ... 6 ... 8, 9, 10 ... 15
Khái niệm tiến trình
Tiến trình (process) : là chương trình trong thời gian thực hiện(đặt dưới sự quản lý của hệ điều hành) .
So sánh tiến trình với chương trình:
Bản than tiến trình không là chương trình vì là thực thể thụ động , trong khi tiến trình là thực thể hoạt động với nhiều thôn g tin về trạng thái trong đó có bộ đếm chương trình cho biết vị trí lệnh hiện hành .
- Nhiều tiến trình có thể liên quan đến một chương trình và là các thực thể khác nhau khi vận hành .
- Mỗi tiến trình có thể sinh ra nhiều tiến trình con khác khi vận hành.
- Tiến trình cần các tài nguyên ( CPU , Memory,tâp tin, thiết bị I/O) để hoàn thành công việc .
- Tài nguyên cấp cho tiến trinh ngay từ đầu (khi tiến trình được tạo lập) hoặc trong thời gian vận hành và được thu hồi hết khi tiến trình kết thúc .
- Tiến trình là thực thể hoạt động , chương trình là thực thể thụ động , tiến trình có thông – Điểm khác nhau giữa tiến trình và chương trình : tiến trình có thông tin trạng thái để phản ánh tiến trình đang ở trạng thái nào
So sánh tiến trình với chương trình:
Bản than tiến trình không là chương trình vì là thực thể thụ động , trong khi tiến trình là thực thể hoạt động với nhiều thôn g tin về trạng thái trong đó có bộ đếm chương trình cho biết vị trí lệnh hiện hành .
- Nhiều tiến trình có thể liên quan đến một chương trình và là các thực thể khác nhau khi vận hành .
- Mỗi tiến trình có thể sinh ra nhiều tiến trình con khác khi vận hành.
- Tiến trình cần các tài nguyên ( CPU , Memory,tâp tin, thiết bị I/O) để hoàn thành công việc .
- Tài nguyên cấp cho tiến trinh ngay từ đầu (khi tiến trình được tạo lập) hoặc trong thời gian vận hành và được thu hồi hết khi tiến trình kết thúc .
- Tiến trình là thực thể hoạt động , chương trình là thực thể thụ động , tiến trình có thông – Điểm khác nhau giữa tiến trình và chương trình : tiến trình có thông tin trạng thái để phản ánh tiến trình đang ở trạng thái nào
NguyenXuanTri28- Tổng số bài gửi : 39
Join date : 05/09/2011
Các vấn đề nảy sinh trong việc liên lạc giữa các tiến trình
Do mỗi tiến trình sỡ hữu một không gian địa chỉ riêng biệt, nên các tiến trình không thể liên lạc trực tiếp dễ dàng mà phải nhờ vào các cơ chế do hệ điều hành cung cấp. Khi cung cấp cơ chế liên lạc cho các tiến trình, hệ điều hành thường phải tìm giải pháp cho các vấn đề chính yếu sau :
Liên kết tường minh hay tiềm ẩn (explicit naming/implicit naming) : tiến trình có cần phải biết tiến trình nào đang trao đổi hay chia sẻ thông tin với nó ? Mối liên kết được gọi là tường minh khi được thiết lập rõ ràng , trực tiếp giữa các tiến trình, và là tiềm ẩn khi các tiến trình liên lạc với nhau thông qua một qui ước ngầm nào đó.
Liên lạc theo chế độ đồng bộ hay không đồng bộ (blocking / non-blocking): khi một tiến trình trao đổi thông tin với một tiến trình khác, các tiến trình có cần phải đợi cho thao tác liên lạc hoàn tất rồi mới tiếp tục các xử lý khác ? Các tiến trình liên lạc theo cơ chế đồng bộ sẽ chờ nhau hoàn tất việc liên lạc, còn các tiến trình liên lạc theo cơ chế nonblocking thì không.
Liên lạc giữa các tiến trình trong hệ thống tập trung và hệ thống phân tán: cơ chế liên lạc giữa các tiến trình trong cùng một máy tính có sự khác biệt với việc liên lạc giữa các tiến trình giữa những máy tính khác nhau?
Hầu hết các hệ điều hành đưa ra nhiều cơ chế liên lạc khác nhau, mỗi cơ chế có những đặc tính riêng, và thích hợp trong một hoàn cảnh chuyên biệt.
Liên kết tường minh hay tiềm ẩn (explicit naming/implicit naming) : tiến trình có cần phải biết tiến trình nào đang trao đổi hay chia sẻ thông tin với nó ? Mối liên kết được gọi là tường minh khi được thiết lập rõ ràng , trực tiếp giữa các tiến trình, và là tiềm ẩn khi các tiến trình liên lạc với nhau thông qua một qui ước ngầm nào đó.
Liên lạc theo chế độ đồng bộ hay không đồng bộ (blocking / non-blocking): khi một tiến trình trao đổi thông tin với một tiến trình khác, các tiến trình có cần phải đợi cho thao tác liên lạc hoàn tất rồi mới tiếp tục các xử lý khác ? Các tiến trình liên lạc theo cơ chế đồng bộ sẽ chờ nhau hoàn tất việc liên lạc, còn các tiến trình liên lạc theo cơ chế nonblocking thì không.
Liên lạc giữa các tiến trình trong hệ thống tập trung và hệ thống phân tán: cơ chế liên lạc giữa các tiến trình trong cùng một máy tính có sự khác biệt với việc liên lạc giữa các tiến trình giữa những máy tính khác nhau?
Hầu hết các hệ điều hành đưa ra nhiều cơ chế liên lạc khác nhau, mỗi cơ chế có những đặc tính riêng, và thích hợp trong một hoàn cảnh chuyên biệt.
NguyenXuanTri28- Tổng số bài gửi : 39
Join date : 05/09/2011
Trình bày phương thức liên lạc giữa các tiến trình theo nguyên lí khách chủ
Hốc liên lạc(Sockets)
- Hốc là điểu đầu của liên kêt truyền thông,được đặc trưng bởi cặp số(IP address,Port) trong mạng Client-Server.
- Server chờ yêu cầu từ client bằng cách nghe vào cổng(Port) định trước:
+ Telnet Server nghe vào cổng 23
+ FTP server nghe vào cổng 21
+ Web server nghe vào cổng 80
-Thông thường các cổng có số hiệu dưới 1024 là các cổng chuẩn của hệ thống.
- Khi Client phát sinh yêu cầu kết nối,nó được cấp 1 cổng nào đó sau 1024.
- Phân loại hốc liên lạc(Two types of Sockets)
Có kết nối - Connection Oriented(TCP - Transmission Control Protocol):Thiết lập sẵn mối liên kết giữa 2 máy trước khi truyền
Không kết nối Connectionless(UDP - User Datagram Protocol) : Không phải thiết lập sẵn mối liên kết trước khi truyền,do đó dễ dàng liên lạc với nhiều máy một lúc,nhưng không đảm bảo bằng TCP.
- Hốc là điểu đầu của liên kêt truyền thông,được đặc trưng bởi cặp số(IP address,Port) trong mạng Client-Server.
- Server chờ yêu cầu từ client bằng cách nghe vào cổng(Port) định trước:
+ Telnet Server nghe vào cổng 23
+ FTP server nghe vào cổng 21
+ Web server nghe vào cổng 80
-Thông thường các cổng có số hiệu dưới 1024 là các cổng chuẩn của hệ thống.
- Khi Client phát sinh yêu cầu kết nối,nó được cấp 1 cổng nào đó sau 1024.
- Phân loại hốc liên lạc(Two types of Sockets)
Có kết nối - Connection Oriented(TCP - Transmission Control Protocol):Thiết lập sẵn mối liên kết giữa 2 máy trước khi truyền
Không kết nối Connectionless(UDP - User Datagram Protocol) : Không phải thiết lập sẵn mối liên kết trước khi truyền,do đó dễ dàng liên lạc với nhiều máy một lúc,nhưng không đảm bảo bằng TCP.
TrinhVinhThanh (I12A)- Tổng số bài gửi : 10
Join date : 18/02/2012
Re: Thảo luận Bài 4
Localhost là gì ?
Địa chỉ IP của local host : 127.0.0.1
Localhost nghĩa là một dạng thức dùng để lưu trữ dữ liệu và tương tác giữa Server - Client tại chính máy tính của bạn.
Vậy nên mỗi máy PC đều có chứa localhost.
Địa chỉ IP của local host : 127.0.0.1
Localhost nghĩa là một dạng thức dùng để lưu trữ dữ liệu và tương tác giữa Server - Client tại chính máy tính của bạn.
Vậy nên mỗi máy PC đều có chứa localhost.
HuynhMinhChanh(i91C)- Tổng số bài gửi : 47
Join date : 02/03/2012
Một số khái niệm về port và port thông dụng
Những điều cần biết về Port:
- Port không phải là " cổng " để "chạy ra chạy vào" mà là một số hiệu ID cho 1 application nào đó.
- Mỗi Application chỉ có thể chạy trên một/nhiều port và mang tính độc quyền, không có Application khác được " chạy ké ".
- Chính vì tính độc quyền nên các Application có thể modify cho phép chạy một port khác với Port default. Ví dụ IIS/Apache làm web server có thể dùng 80 là default nhưng có thể đổi thành 81 82 83 v.v... tùy ý.
- Port cũng có phân chia làm Internal và External .
- Số hiệu từ 1->65535.
Một số cổng thông dụng trong internet:.
1.Cổng 80: Khi một người sử dụng địa chỉ IP hay HostName của các bạn trong bộ duyệt, bộ duyệt sẽ quan sát địa chỉ IP trên cổng 80 theo mặc định cho những trang Web.
2.Cổng 81: Khi một người sử dụng nhập địa chỉ IP hay HostName của các bạn trong bộ duyệt, bộ duyệt sẽ quan sát địa chỉ IP trên cổng 80. Nếu Cổng thì bị tắc nghẽn, Cổng 81 được sử dụng như một Cổng xen kẽ cho một website hosting nào đó.
3.Cổng 21: Khi người nào đó thử nối tới dịch vụ FTP của các bạn, khách hàng FTP sẽ cố gắng kết nối trên Cổng 21 theo mặc định. Thì cổng 21 mở cho những khách FTP đăng nhập và nối tới server của các bạn
4.Cổng 22: Nếu bạn chạy một SSH Secure Shell, cổng này được yêu cầu cho Khách hàng SSH để nối tới người phục vụ của các bạn.
5.Cổng 23 :Nếu bạn chạy một người phục vụ Telnet, cổng này được yêu cầu cho Khách hàng Telnet để nối tới người phục vụ của các bạn. Telnet có thể được sử dụng cho những cổng khác kiểm tra những công tác dịch vụ, nhưng để sử dụng telnet cho admin và đăng nhập từ xa thì cổng 23 phải mở.
6.Cổng 25: Khi người nào đó gửi một thư từ thông báo tới server SMTP của các bạn, thư từ sẽ cố gắng để đi vào tới server của các bạn trên Cổng 25. Đây là tiêu chuẩn SMTP (thủ tục vận chuyển Thư từ Đơn giản)
7.Cổng 2525: Khi người nào đó gửi một thư từ thông báo tới server SMTP của bạn, thư từ sẽ để đi vào tới server của các bạn trên Cổng 25. Cổng 2525 xen kẽ được dùng bởi TZO cho những công tác lưu trữ và truyền lại. Đây là một cổng không tiêu chuẩn, nhưng sẻ hữu ích nếu SMTP (thủ tục vận chuyển Thư từ Đơn giản) bị tắc nghẽn
8.Cổng 110: Khi bạn chạy một máy tính, những người sử dụng sẽ vào theo đường POP3 (Nghi thức cơ quan bưu điện) hay IMAP4 (giao thức truy nhập Thông báo Internet) khôi phục thư từ của họ. POP3 là nghi thức tốt nhất để truy nhập những hòm thư
9.Cổng 119: Khi bạn chạy một server Tin tức, điển hình những khách hàng Tin tức muốn nối tới người phục vụ Tin tức của các bạn sẽ nối trên cổng 119. Cái này chuyển những nhu cầu để mở để chạy server tin tức của mình.
10.Cổng 3389: Chuyển 3389 Là Máy để bàn Từ xa được sử dụng cho Windows. Nếu bạn muốn từ xa kết nối tới máy tính của các bạn để điều khiển từ xa, việc sử dụng máy để bàn Từ xa freeXP yêu cầu cổng 3389 để mở.
11.Cổng 389 : LDAP hay giao thức truy nhập Thư mục Lightweight đang trở nên phổ biến chúng cho sự Truy nhập Thư mục, hay Tên, điện thoại Gửi những Thư mục. Chẳng hạn
LDAP: // LDAP.Bigfoot. Com là một người phục vụ thư mục LDAP.
12.Cổng 143 : IMAP4 hay giao thức truy nhập Thông báo Internet đang trở nên phổ biến hơn và được sử dụng khôi phục Thư từ Internet từ một server từ xa. từ đó tất cả các thông báo đều được cất giữ trên server, Nó dễ dàng trực tuyến, ngoại tuyến và sự sử dụng offline
13.Cổng 443 : Khi bạn chạy một người phục vụ an toàn, những Clients SSL muốn nối tới những server An toàn ,các bạn nối trên cổng 443. Những cổng này được cần để mở để chạy …..
14.Cổng 1503 & 1720 :MS NetMeeting và VOIP cho phép bạn tới host Internet hay gọi là VideoConference. NetMeeting là một sản phẩm tự do mà có thể là được tìm thấy trên Website Microsoft Tại địa chỉ http: // www.microsoft.com /
15.Cổng 5590: Khi bạn chạy một Server VNC để từ xa kiểm soát PC của các bạn, nó sử dụng cổng 5900. VNC sẻ hữu ích nếu bạn muốn từ xa kiểm soát server của các bạn../
16.Cổng 5631: Khi một người phục vụ PCAnywhere được thiết lập nhận được những yêu cầu từ xa, nó tiếp tục nghe TCP cổng 5631. Hostand được cho phép bạn để chạy một PCAnywhere, PCAnywhere này sử dụng Internet để nối với nhau và từ xa kiểm soát PC của các bạn.
hoanggiangI12C- Tổng số bài gửi : 24
Join date : 15/02/2012
Re: Thảo luận Bài 4
Tổ chức liên lạc trong hệ thống Khách-Chủ qua Sockets. Phân biệt giao thức TCP với UDP.
* tổ chức liên lạc trong hệ thống Khách-Chủ.
- Khái niệm Hốc liên lạc (Socket)
+ Hốc là điểm đầu của liên kết truyền thông, được đặc trưng bởi cặp số (IP Address, Port Number) trong mạng Client/Server.
+ Server chờ yêu cầu từ Client bằng cách nghe vào cổng (Port) định trước:
• Telnet Server nghe vào cổng 23
• FTP Server nghe vào cổng 21
• Web Server nghe vào cổng 80
•Thông thường các cổng với số hiệu dưới 1024 là các cổng chuẩn của hệ thống.
+ Khi Client phát sinh yêu cầu nối, nó được cấp một cổng nào đó sau 1024.
- Phân loại hốc liên lạc
+ Có kết nối - Connection-Oriented (TCP - Transmission Control Protocol): Thiết lập sẵn mối liên kết giữa hai đầu (hai máy) trước khi truyền.
+ Không kết nối - Connectionless (UDP - User Datagram Protocol): Không phải thiết lập mối liên kết sẵn trước khi truyền, do đó dễ dàng liên lạc với nhiều máy cùng một lúc, Nhưng không đảm bảo bằng TCP.
* Phân biệt TCP với UDP
Giống nhau : đều là các giao thức mạng TCP/IP, đều có chức năng kết nối các máy lại với nhau, và có thể gửi dữ liệu cho nhau....
Khác nhau:
các header của TCP và UDP khác nhau ở kích thước (20 và 8 byte) nguyên nhân chủ yếu là do TCP phải hỗ trợ nhiều chức năng hữu ích hơn (như khả năng khôi phục lỗi). UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn.
TCP :
- Dùng cho mạng WAN
- Không cho phép mất gói tin
- Đảm bảo việc truyền dữ liệu
- Tốc độ truyền thấp hơn UDP
UDP:
- Dùng cho mạng LAN
- Cho phép mất dữ liệu
- Không đảm bảo.
- Tốc độ truyền cao, VolP truyền tốt qua UDP
Phát biểu bài toán Sản xuất-Tiêu thụ với thuật giải phù hợp.
* Phát biểu bài toán Sản xuất-Tiêu thụ.
- Giả sử có bộ nhớ đệm (buffer) bao gồm nhiều khoang chứa (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
- Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
- Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi buffer đầy, không được lấy ra khi chưa có sản phẩm.
* Thuật giải chờ bận (Busy-Waiting).
- Tiến trình sản xuất:
CODE:
item nextProduced;
while (1)
{
while (((in + 1) % BUFFER_SIZE) == out);
buffer[in] = nextProduced;
in = (in + 1) % BUFFER_SIZE;
}
- Tiến trình tiêu thụ.
CODE:
item nextConsumed;
while (1)
{
while (in == out);
nextConsumed = buffer[out];
out = (out + 1) % BUFFER_SIZE;
}
* tổ chức liên lạc trong hệ thống Khách-Chủ.
- Khái niệm Hốc liên lạc (Socket)
+ Hốc là điểm đầu của liên kết truyền thông, được đặc trưng bởi cặp số (IP Address, Port Number) trong mạng Client/Server.
+ Server chờ yêu cầu từ Client bằng cách nghe vào cổng (Port) định trước:
• Telnet Server nghe vào cổng 23
• FTP Server nghe vào cổng 21
• Web Server nghe vào cổng 80
•Thông thường các cổng với số hiệu dưới 1024 là các cổng chuẩn của hệ thống.
+ Khi Client phát sinh yêu cầu nối, nó được cấp một cổng nào đó sau 1024.
- Phân loại hốc liên lạc
+ Có kết nối - Connection-Oriented (TCP - Transmission Control Protocol): Thiết lập sẵn mối liên kết giữa hai đầu (hai máy) trước khi truyền.
+ Không kết nối - Connectionless (UDP - User Datagram Protocol): Không phải thiết lập mối liên kết sẵn trước khi truyền, do đó dễ dàng liên lạc với nhiều máy cùng một lúc, Nhưng không đảm bảo bằng TCP.
* Phân biệt TCP với UDP
Giống nhau : đều là các giao thức mạng TCP/IP, đều có chức năng kết nối các máy lại với nhau, và có thể gửi dữ liệu cho nhau....
Khác nhau:
các header của TCP và UDP khác nhau ở kích thước (20 và 8 byte) nguyên nhân chủ yếu là do TCP phải hỗ trợ nhiều chức năng hữu ích hơn (như khả năng khôi phục lỗi). UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn.
TCP :
- Dùng cho mạng WAN
- Không cho phép mất gói tin
- Đảm bảo việc truyền dữ liệu
- Tốc độ truyền thấp hơn UDP
UDP:
- Dùng cho mạng LAN
- Cho phép mất dữ liệu
- Không đảm bảo.
- Tốc độ truyền cao, VolP truyền tốt qua UDP
Phát biểu bài toán Sản xuất-Tiêu thụ với thuật giải phù hợp.
* Phát biểu bài toán Sản xuất-Tiêu thụ.
- Giả sử có bộ nhớ đệm (buffer) bao gồm nhiều khoang chứa (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
- Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
- Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi buffer đầy, không được lấy ra khi chưa có sản phẩm.
* Thuật giải chờ bận (Busy-Waiting).
- Tiến trình sản xuất:
CODE:
item nextProduced;
while (1)
{
while (((in + 1) % BUFFER_SIZE) == out);
buffer[in] = nextProduced;
in = (in + 1) % BUFFER_SIZE;
}
- Tiến trình tiêu thụ.
CODE:
item nextConsumed;
while (1)
{
while (in == out);
nextConsumed = buffer[out];
out = (out + 1) % BUFFER_SIZE;
}
LacChiHao(I12A)- Tổng số bài gửi : 21
Join date : 17/02/2012
ID là gì ? Tại sao phải sử dụng ID ?
ID là gì?
- ID là viết tắt của từ Indentification number, hay còn gọi là mã số định danh.
- Được sử dụng để đặt tên cho 1 đối tượng trong 1 môi trường xác định. Trong 1 môi trường có nhiều ID và mỗi ID là duy nhất.
Ví dụ: Chứng minh nhân dân; Mã số học sinh, sinh viên; Mã số nhân viên....
Tại sao phải sử dụng ID?
- Để phân biệt các đối tượng trong 1 môi trường. Vì trong 1 môi trường có thể có nhiều đối trường giống nhau về: tên, tính chất, vai trò.
- Giúp công việc quản lý các đối tượng một cách dễ dàng và hiệu quả hơn.
Ví dụ 1: Trong một đất nước gần 87 triệu dân như Việt Nam, để quản lý mỗi một con người không thể dùng tên hay 1 tính chất nào đó dể xác định 1 người, vì rất nhiều người có tên, các tính chất giống nhau. Cho nên phải sử dụng Chứng Minh Nhân Dân (đây chính là 1 thể hiện của ID) để quản lý.
Ví dụ 2: Để phân biệt các sinh viên với nhau trong 1 trường. Người ta cấp cho mỗi sinh viên 1 Mã Số Sinh Viên (chính là ID).
- ID là viết tắt của từ Indentification number, hay còn gọi là mã số định danh.
- Được sử dụng để đặt tên cho 1 đối tượng trong 1 môi trường xác định. Trong 1 môi trường có nhiều ID và mỗi ID là duy nhất.
Ví dụ: Chứng minh nhân dân; Mã số học sinh, sinh viên; Mã số nhân viên....
Tại sao phải sử dụng ID?
- Để phân biệt các đối tượng trong 1 môi trường. Vì trong 1 môi trường có thể có nhiều đối trường giống nhau về: tên, tính chất, vai trò.
- Giúp công việc quản lý các đối tượng một cách dễ dàng và hiệu quả hơn.
Ví dụ 1: Trong một đất nước gần 87 triệu dân như Việt Nam, để quản lý mỗi một con người không thể dùng tên hay 1 tính chất nào đó dể xác định 1 người, vì rất nhiều người có tên, các tính chất giống nhau. Cho nên phải sử dụng Chứng Minh Nhân Dân (đây chính là 1 thể hiện của ID) để quản lý.
Ví dụ 2: Để phân biệt các sinh viên với nhau trong 1 trường. Người ta cấp cho mỗi sinh viên 1 Mã Số Sinh Viên (chính là ID).
maidangvu_I12A- Tổng số bài gửi : 28
Join date : 28/02/2012
Re: Thảo luận Bài 4
Vấn đề : có hay không việc phát triển sản phẩm của cá nhân (tổ chức riêng biệt) so với các hãng lớn Microsoft, Google, Yahoo,... . Và khái niệm hãng thứ 3 (3rd).
- Theo ý kiến của bản thân mình, việc phát triển các chương trình độc lộc với Microsoft (không sử dụng phần mềm sẵn có của Microsoft) là việc nên làm, vì :
+ Phát triển sản phẩm chứa chức năng riêng biệt, các chương trình khác xử lý không tốt bằng.
+ Tạo ra một tính năng độc lập và biết đâu các hãng lớn (Microsoft,.. ) phải mua lại.
+ Tạo ra giá cả cạnh tranh, và phát triển sản phẩm phục vụ nhu cầu xã hội nhiều hơn.
Hãng thứ 3 (3rd) , là các hãng sản xuất các phần mềm nhỏ , mỗi hãng chỉ riêng biệt một chương trình và phát triển tính năng thật tốt trên sản phẩm đó (để có thể cạnh tranh với các sản phẩm của hãng lớn).
Các hãng lớn thường mua lại các hãng thứ 3 này, nhằm phát triển mở rộng tính năng trên sản phẩm của mình. (Tích hợp các tính năng của hãng thứ 3 vào để tạo ra một sản phẩm hoàn hảo hơn),.
VD :
- Mail của hãng Zimbra, tích hợp các chức năng email và xây dựng thêm các tính năng zimlets.
Nên Yahoo đã mua lại, để có thể phát triển sản phẩm Webmail Yahoo để cạnh tranh với Exchange của Mic ( xem bài viết "Yahoo mua lại Zimbra với giá 350 triệu USD"(http://www.thongtincongnghe.com/article/1224)
- Và gần đây là trường hợp Microsoft mua lại Skype (giá 8,5 tỉ USD).
- Hoặc Google muốn phát triển mảng di động , nên đã mua lại Motorolla (để tận dụng công nghệ sản xuất phần cứng thiết bị di động).
Điều này cũng lý giải sao việc học môn Hệ Điều Hành là quan trọng, hiểu được cơ chế hoạt động của các ứng dụng, mới có thể phát triển được sản phẩm đem lại giá trị hiệu quả tốt hơn.
- Theo ý kiến của bản thân mình, việc phát triển các chương trình độc lộc với Microsoft (không sử dụng phần mềm sẵn có của Microsoft) là việc nên làm, vì :
+ Phát triển sản phẩm chứa chức năng riêng biệt, các chương trình khác xử lý không tốt bằng.
+ Tạo ra một tính năng độc lập và biết đâu các hãng lớn (Microsoft,.. ) phải mua lại.
+ Tạo ra giá cả cạnh tranh, và phát triển sản phẩm phục vụ nhu cầu xã hội nhiều hơn.
Hãng thứ 3 (3rd) , là các hãng sản xuất các phần mềm nhỏ , mỗi hãng chỉ riêng biệt một chương trình và phát triển tính năng thật tốt trên sản phẩm đó (để có thể cạnh tranh với các sản phẩm của hãng lớn).
Các hãng lớn thường mua lại các hãng thứ 3 này, nhằm phát triển mở rộng tính năng trên sản phẩm của mình. (Tích hợp các tính năng của hãng thứ 3 vào để tạo ra một sản phẩm hoàn hảo hơn),.
VD :
- Mail của hãng Zimbra, tích hợp các chức năng email và xây dựng thêm các tính năng zimlets.
Nên Yahoo đã mua lại, để có thể phát triển sản phẩm Webmail Yahoo để cạnh tranh với Exchange của Mic ( xem bài viết "Yahoo mua lại Zimbra với giá 350 triệu USD"(http://www.thongtincongnghe.com/article/1224)
- Và gần đây là trường hợp Microsoft mua lại Skype (giá 8,5 tỉ USD).
- Hoặc Google muốn phát triển mảng di động , nên đã mua lại Motorolla (để tận dụng công nghệ sản xuất phần cứng thiết bị di động).
Điều này cũng lý giải sao việc học môn Hệ Điều Hành là quan trọng, hiểu được cơ chế hoạt động của các ứng dụng, mới có thể phát triển được sản phẩm đem lại giá trị hiệu quả tốt hơn.
HuynhMinhChanh(i91C)- Tổng số bài gửi : 47
Join date : 02/03/2012
TCP là gì và hoạt động như thế nào?
Giao thức TCP (Transmission Control Protocol - "Giao thức điều khiển truyền vận")Giao thức TCP hoạt động ở tầng thứ 4 (tầng giao vận) trong 7 lớp OSI, là một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự. TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụ thư điện tử) đồng thời chạy trên cùng một máy chủ.
TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứng dụng kết quả, trong đó có WWW, thư điện tử và Secure Shell.
Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa giao thức IP bên dưới và một ứng dụng bên trên. Các ứng dụng thường cần các kết nối đáng tin cậy kiểu đường ống để liên lạc với nhau, trong khi đó, giao thức IP không cung cấp những dòng kiểu đó, mà chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy. TCP làm nhiệm vụ của tầng giao vận trong mô hình OSI đơn giản của các mạng máy tính.
Các ứng dụng gửi các dòng gồm các byte 8-bit tới TCP để chuyển qua mạng. TCP phân chia dòng byte này thành các đoạn (segment) có kích thước thích hợp (thường được quyết định dựa theo kích thước của đơn vị truyền dẫn tối đa (MTU) của tầng liên kết dữ liệu của mạng mà máy tính đang nằm trong đó). Sau đó, TCP chuyển các gói tin thu được tới giao thức IP để gửi nó qua một liên mạng tới mô đun TCP tại máy tính đích. TCP kiểm tra để đảm bảo không có gói tin nào bị thất lạc bằng cách gán cho mỗi gói tin một "số thứ tự" (sequence number). Số thứ tự này còn được sử dụng để đảm bảo dữ liệu được trao cho ứng dụng đích theo đúng thứ tự. Mô đun TCP tại đầu kia gửi lại "tin báo nhận" (acknowledgement) cho các gói tin đã nhận được thành công; một "đồng hồ" (timer) tại nơi gửi sẽ báo time-out nếu không nhận được tin báo nhận trong khoảng thời gian bằng một round-trip time (RTT), và dữ liệu (được coi là bị thất lạc) sẽ được gửi lại. TCP sử dụng checksum (giá trị kiểm tra) để xem có byte nào bị hỏng trong quá trình truyền hay không; giá trị này được tính toán cho mỗi khối dữ liệu tại nơi gửi trước khi nó được gửi, và được kiểm tra tại nơi nhận.
TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứng dụng kết quả, trong đó có WWW, thư điện tử và Secure Shell.
Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa giao thức IP bên dưới và một ứng dụng bên trên. Các ứng dụng thường cần các kết nối đáng tin cậy kiểu đường ống để liên lạc với nhau, trong khi đó, giao thức IP không cung cấp những dòng kiểu đó, mà chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy. TCP làm nhiệm vụ của tầng giao vận trong mô hình OSI đơn giản của các mạng máy tính.
Các ứng dụng gửi các dòng gồm các byte 8-bit tới TCP để chuyển qua mạng. TCP phân chia dòng byte này thành các đoạn (segment) có kích thước thích hợp (thường được quyết định dựa theo kích thước của đơn vị truyền dẫn tối đa (MTU) của tầng liên kết dữ liệu của mạng mà máy tính đang nằm trong đó). Sau đó, TCP chuyển các gói tin thu được tới giao thức IP để gửi nó qua một liên mạng tới mô đun TCP tại máy tính đích. TCP kiểm tra để đảm bảo không có gói tin nào bị thất lạc bằng cách gán cho mỗi gói tin một "số thứ tự" (sequence number). Số thứ tự này còn được sử dụng để đảm bảo dữ liệu được trao cho ứng dụng đích theo đúng thứ tự. Mô đun TCP tại đầu kia gửi lại "tin báo nhận" (acknowledgement) cho các gói tin đã nhận được thành công; một "đồng hồ" (timer) tại nơi gửi sẽ báo time-out nếu không nhận được tin báo nhận trong khoảng thời gian bằng một round-trip time (RTT), và dữ liệu (được coi là bị thất lạc) sẽ được gửi lại. TCP sử dụng checksum (giá trị kiểm tra) để xem có byte nào bị hỏng trong quá trình truyền hay không; giá trị này được tính toán cho mỗi khối dữ liệu tại nơi gửi trước khi nó được gửi, và được kiểm tra tại nơi nhận.
Được sửa bởi trinhvanminh_11h1010077 ngày 14/3/2012, 22:00; sửa lần 1.
trinhvanminh_11h1010077- Tổng số bài gửi : 90
Join date : 15/02/2012
Age : 39
Đến từ : tphcm
Re: Thảo luận Bài 4
bài toán Sản xuất-Tiêu thụ với thuật giải dùng kỹ thuật Busy-Waiting.
- Tiến trình sản xuất (Producer) tạo ra dòng thông tin để tiến trình tiêu thụ (Consumer) sử dụng.
- Ví dụ: Compiler và Assembler vừa là nhà sản xuất vừa là nhà tiêu thụ. Compiler tạo ra mã dùng cho Assembler, tiếp theo Assembler sản sinh mã máy làm đầu vào cho Loader hoặc Linkage Editor.
- Phát biểu bài toán: Bộ nhớ đệm Buffer bao gồm một số hữu hạn các khoang chứa (Items). Producer lần lượt đưa các sản phẩm S1, S2,…vào các khoang của Buffer. Consumer lấy sản phẩm ra theo đúng thứ tự. Công việc của các tiến trình phải đồng bộ với nhau: không đưa ra sản phẩm khi hết chỗ trống, không lấy được sản phẩm khi chưa có.
- Thuật giải dùng kỹ thuật Busy-Waiting (chờ bận) với biến đếm count (chứa số sản phẩm trong Buffer):
+ Producer:
while(1){
while(count == BUFFER_SIZE); // Vòng lặp chờ bận
// Đưa sản phẩm vào Buffer
count++; // Tăng count lên 1
}
+ Consumer:
while(1){
while(count == 0); // Vòng lặp chờ bận
// Lấy sản phẩm từ Buffer
count--; // Giảm count đi 1
}
Ghi chú:
- Vòng lặp chờ bận phải liên tục kiểm tra giá trị biến đếm count, tốn thời gian CPU, dẫn đến giảm hiệu năng hệ thống.
- Có thể không dùng biến đếm count. Khi đó, vòng lặp chờ bận cho Producer được thực thi bằng:
Code:
while(((in+1)%BUFFER_SIZE)==out); // Vòng lặp chờ bận
Còn đối với Consumer thì dùng:
Code:
while(in==out); // Vòng lặp chờ bận
- Tiến trình sản xuất (Producer) tạo ra dòng thông tin để tiến trình tiêu thụ (Consumer) sử dụng.
- Ví dụ: Compiler và Assembler vừa là nhà sản xuất vừa là nhà tiêu thụ. Compiler tạo ra mã dùng cho Assembler, tiếp theo Assembler sản sinh mã máy làm đầu vào cho Loader hoặc Linkage Editor.
- Phát biểu bài toán: Bộ nhớ đệm Buffer bao gồm một số hữu hạn các khoang chứa (Items). Producer lần lượt đưa các sản phẩm S1, S2,…vào các khoang của Buffer. Consumer lấy sản phẩm ra theo đúng thứ tự. Công việc của các tiến trình phải đồng bộ với nhau: không đưa ra sản phẩm khi hết chỗ trống, không lấy được sản phẩm khi chưa có.
- Thuật giải dùng kỹ thuật Busy-Waiting (chờ bận) với biến đếm count (chứa số sản phẩm trong Buffer):
+ Producer:
while(1){
while(count == BUFFER_SIZE); // Vòng lặp chờ bận
// Đưa sản phẩm vào Buffer
count++; // Tăng count lên 1
}
+ Consumer:
while(1){
while(count == 0); // Vòng lặp chờ bận
// Lấy sản phẩm từ Buffer
count--; // Giảm count đi 1
}
Ghi chú:
- Vòng lặp chờ bận phải liên tục kiểm tra giá trị biến đếm count, tốn thời gian CPU, dẫn đến giảm hiệu năng hệ thống.
- Có thể không dùng biến đếm count. Khi đó, vòng lặp chờ bận cho Producer được thực thi bằng:
Code:
while(((in+1)%BUFFER_SIZE)==out); // Vòng lặp chờ bận
Còn đối với Consumer thì dùng:
Code:
while(in==out); // Vòng lặp chờ bận
LacChiHao(I12A)- Tổng số bài gửi : 21
Join date : 17/02/2012
Re: Thảo luận Bài 4
maidangvu_I12A đã viết:ID là gì?
- ID là viết tắt của từ Indentification number, hay còn gọi là mã số định danh.
- Được sử dụng để đặt tên cho 1 đối tượng trong 1 môi trường xác định. Trong 1 môi trường có nhiều ID và mỗi ID là duy nhất.
Ví dụ: Chứng minh nhân dân; Mã số học sinh, sinh viên; Mã số nhân viên....
Tại sao phải sử dụng ID?
- Để phân biệt các đối tượng trong 1 môi trường. Vì trong 1 môi trường có thể có nhiều đối trường giống nhau về: tên, tính chất, vai trò.
- Giúp công việc quản lý các đối tượng một cách dễ dàng và hiệu quả hơn.
Ví dụ 1: Trong một đất nước gần 87 triệu dân như Việt Nam, để quản lý mỗi một con người không thể dùng tên hay 1 tính chất nào đó dể xác định 1 người, vì rất nhiều người có tên, các tính chất giống nhau. Cho nên phải sử dụng Chứng Minh Nhân Dân (đây chính là 1 thể hiện của ID) để quản lý.
Ví dụ 2: Để phân biệt các sinh viên với nhau trong 1 trường. Người ta cấp cho mỗi sinh viên 1 Mã Số Sinh Viên (chính là ID).
Mình có một ví dụ về ID nữa,
Cũng như bạn nói ở trên, mình thấy việc sử dụng ID (định danh) sẽ giúp cho dễ dàng kiểm soát, quản lý.
Thế giới Internet cực rộng lớn, nhưng vẫn có thể truy vết được, phát hiện được các đợt xâm nhập ở đâu, và thời gian nào, điều này cho thấy ID được mở rộng sang việc cấp địa chỉ IP public.
Vì IP public được chia ra để quản lý theo Khu vực, theo quốc gia, theo từng nhà cung cấp. Chính vì điều này, IP public cũng là một ví dụ cho ID.
Thêm một ví dụ nữa đó là chữ ký số. Hiện tại doanh nghiệp nộp khai báo thuế đều phải sử dụng chữ ký số để phân biệt được giữa Công ty này và công ty khác trong nước.
HuynhMinhChanh(i91C)- Tổng số bài gửi : 47
Join date : 02/03/2012
UDP LÀ GÌ VÀ HOẠT ĐỘNG NHƯ THẾ NÀO?
UDP (User Datagram Protocol) là một trong những giao thức cốt lõi của giao thức TCP/IP. Dùng UDP, chương trình trên mạng máy tính có thể gởi những dữ liệu ngắn được gọi là datagram tới máy khác. UDP không cung cấp sự tin cậy và thứ tự truyền nhận mà TCP làm; các gói dữ liệu có thể đến không đúng thứ tự hoặc bị mất mà không có thông báo. Tuy nhiên UDP nhanh và hiệu quả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian. Do bản chất không trạng thái của nó nên nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu.
Những ứng dụng phổ biến sử dụng UDP như DNS (Domain Name System), ứng dụng streaming media, Voice over IP, Trivial File Transfer Protocol (TFTP), và game trực tuyến.
Cổng dùng 16 bit để đánh địa chỉ, vì vậy số của cổng nằm trong khoản 0 đến 65.535. Cổng 0 được để dành và không nên sử dụng.
Cổng từ 1 đến 1023 được gọi là cổng "well-known" và trên các hệ điều hành tựa Unix, việc gắn kết tới một trong những cổng này đòi hỏi quyền root.
Cổng 1024 đến 49.151 là cổng đã đăng ký.
Cổng từ 49.152 đến 65.535 là các cổng tạm, được dùng chủ yếu bởi client khi liên lạc với server.
Những ứng dụng phổ biến sử dụng UDP như DNS (Domain Name System), ứng dụng streaming media, Voice over IP, Trivial File Transfer Protocol (TFTP), và game trực tuyến.
Cổng dùng 16 bit để đánh địa chỉ, vì vậy số của cổng nằm trong khoản 0 đến 65.535. Cổng 0 được để dành và không nên sử dụng.
Cổng từ 1 đến 1023 được gọi là cổng "well-known" và trên các hệ điều hành tựa Unix, việc gắn kết tới một trong những cổng này đòi hỏi quyền root.
Cổng 1024 đến 49.151 là cổng đã đăng ký.
Cổng từ 49.152 đến 65.535 là các cổng tạm, được dùng chủ yếu bởi client khi liên lạc với server.
trinhvanminh_11h1010077- Tổng số bài gửi : 90
Join date : 15/02/2012
Age : 39
Đến từ : tphcm
Re: Thảo luận Bài 4
Một số phần mềm có chức năng lập trình tương tác :
- Task Schedules trong Windows : chức năng lập lịch, thực hiện các chức năng khác theo giờ định trước.
- AutoIt : phần mềm rất phù hợp theo yêu cầu của thầy (thực hiện các công việc lặp đi lặp lại trong khoảng thời gian nhất định). Phần mềm này ghi lại các vị trí, thao tác của người sử dụng, và sẽ thực hiện đúng những thao tác đó.
- Cron deamon (Task ) trong hệ điều hành Linux
- Task Schedules trong Windows : chức năng lập lịch, thực hiện các chức năng khác theo giờ định trước.
- AutoIt : phần mềm rất phù hợp theo yêu cầu của thầy (thực hiện các công việc lặp đi lặp lại trong khoảng thời gian nhất định). Phần mềm này ghi lại các vị trí, thao tác của người sử dụng, và sẽ thực hiện đúng những thao tác đó.
- Cron deamon (Task ) trong hệ điều hành Linux
HuynhMinhChanh(i91C)- Tổng số bài gửi : 47
Join date : 02/03/2012
Phương thức liên lạc giữa các tiến trình theo nguyên lý client/server
Mô hình truyền tin client/server hướng tới việc cung cấp dịch vụ. Quá trình trao đổi dữ liệu bao gồm:
1. Truyền một yêu cầu từ tiến trình client tới tiến trình server
2. Yêu cầu được server xử lý
3. Truyền đáp ứng cho client
Mô hình truyền tin này liên quan đến việc truyền hai thông điệp và một dạng đồng bộ hóa cụ thể giữa client và server. Tiến trình server phải nhận thức được thông điệp được yêu cầu ở bước một ngay khi nó đến và hành động phát ra yêu cầu trong client phải được tạm dừng (bị phong tỏa) và buộc tiến trình client ở trạng thái chờ cho tớ khi nó nhận được đáp ứng do server gửi về ở bước ba.
Mô hình client/server thường được cài đặt dựa trên các thao tác cơ bản là gửi (send) và nhận (receive)
Quá trình giao tiếp client và server có thể diễn ra theo một t rong hai chế độ: bị phong tỏa (blocked) và không bị phong tỏa (non-blocked).
Chế độ bị phong tỏa (blocked):
Trong chế độ bị phong tỏa, khi tiến trình client hoặc server phát ra lệnh gửi dữ liệu (send), việc thực thi của tiến trình sẽ bị tạm ngừng cho tới khi tiến trình nhận phát ra lệnh nhận dữ liệu (receive).
Tương tự đối với tiến trình nhận dữ liệu, nếu tiến trình nào đó (client hoặc server) phát ra lệnh nhận dữ liệu, mà tại thời điểm đó chưa có dữ liệu gửi tới thì việc thực thi của tiến trình cũng sẽ bị tạm ngừng cho tới khi có dữ liệu gửi tới.
Chế độ không bị phong tỏa (non-blocked)
Trong chế độ này, khi tiến trình client hay server phát ra lệnh gửi dữ liệu thực sự, việc thực thi của tiến trình vẫn được tiến hành mà không quan tâm đến việc có tiến trình nào phát ra lệnh nhận dữ liệu đó hay không.
Tương tự cho trường hợp nhận dữ liệu, khi tiến trình phát ra lệnh nhận dữ liệu, nó sẽ nhận dữ liệu hiện có, việc thực thi của tiến trình vẫn được tiến hành mà không quan tâm đến việc có tiến trình nào phát ra lệnh gửi dữ liệu tiếp theo hay không.
Mong thầy và các bạn có thể góp ý thêm để em có thể hiểu sâu hơn.
1. Truyền một yêu cầu từ tiến trình client tới tiến trình server
2. Yêu cầu được server xử lý
3. Truyền đáp ứng cho client
Mô hình truyền tin này liên quan đến việc truyền hai thông điệp và một dạng đồng bộ hóa cụ thể giữa client và server. Tiến trình server phải nhận thức được thông điệp được yêu cầu ở bước một ngay khi nó đến và hành động phát ra yêu cầu trong client phải được tạm dừng (bị phong tỏa) và buộc tiến trình client ở trạng thái chờ cho tớ khi nó nhận được đáp ứng do server gửi về ở bước ba.
Mô hình client/server thường được cài đặt dựa trên các thao tác cơ bản là gửi (send) và nhận (receive)
Quá trình giao tiếp client và server có thể diễn ra theo một t rong hai chế độ: bị phong tỏa (blocked) và không bị phong tỏa (non-blocked).
Chế độ bị phong tỏa (blocked):
Trong chế độ bị phong tỏa, khi tiến trình client hoặc server phát ra lệnh gửi dữ liệu (send), việc thực thi của tiến trình sẽ bị tạm ngừng cho tới khi tiến trình nhận phát ra lệnh nhận dữ liệu (receive).
Tương tự đối với tiến trình nhận dữ liệu, nếu tiến trình nào đó (client hoặc server) phát ra lệnh nhận dữ liệu, mà tại thời điểm đó chưa có dữ liệu gửi tới thì việc thực thi của tiến trình cũng sẽ bị tạm ngừng cho tới khi có dữ liệu gửi tới.
Chế độ không bị phong tỏa (non-blocked)
Trong chế độ này, khi tiến trình client hay server phát ra lệnh gửi dữ liệu thực sự, việc thực thi của tiến trình vẫn được tiến hành mà không quan tâm đến việc có tiến trình nào phát ra lệnh nhận dữ liệu đó hay không.
Tương tự cho trường hợp nhận dữ liệu, khi tiến trình phát ra lệnh nhận dữ liệu, nó sẽ nhận dữ liệu hiện có, việc thực thi của tiến trình vẫn được tiến hành mà không quan tâm đến việc có tiến trình nào phát ra lệnh gửi dữ liệu tiếp theo hay không.
Mong thầy và các bạn có thể góp ý thêm để em có thể hiểu sâu hơn.
luthioanh-I12A- Tổng số bài gửi : 29
Join date : 17/02/2012
Age : 39
TCP
trinhvanminh_11h1010077 đã viết:Giao thức TCP (Transmission Control Protocol - "Giao thức điều khiển truyền vận")Giao thức TCP hoạt động ở tầng thứ 4 (tầng giao vận) trong 7 lớp OSI, là một trong các giao thức cốt lõi của bộ giao thức TCP/IP. Sử dụng TCP, các ứng dụng trên các máy chủ được nối mạng có thể tạo các "kết nối" với nhau, mà qua đó chúng có thể trao đổi dữ liệu hoặc các gói tin. Giao thức này đảm bảo chuyển giao dữ liệu tới nơi nhận một cách đáng tin cậy và đúng thứ tự. TCP còn phân biệt giữa dữ liệu của nhiều ứng dụng (chẳng hạn, dịch vụ Web và dịch vụ thư điện tử) đồng thời chạy trên cùng một máy chủ.
TCP hỗ trợ nhiều giao thức ứng dụng phổ biến nhất trên Internet và các ứng dụng kết quả, trong đó có WWW, thư điện tử và Secure Shell.
Trong bộ giao thức TCP/IP, TCP là tầng trung gian giữa giao thức IP bên dưới và một ứng dụng bên trên. Các ứng dụng thường cần các kết nối đáng tin cậy kiểu đường ống để liên lạc với nhau, trong khi đó, giao thức IP không cung cấp những dòng kiểu đó, mà chỉ cung cấp dịch vụ chuyển gói tin không đáng tin cậy. TCP làm nhiệm vụ của tầng giao vận trong mô hình OSI đơn giản của các mạng máy tính.
Các ứng dụng gửi các dòng gồm các byte 8-bit tới TCP để chuyển qua mạng. TCP phân chia dòng byte này thành các đoạn (segment) có kích thước thích hợp (thường được quyết định dựa theo kích thước của đơn vị truyền dẫn tối đa (MTU) của tầng liên kết dữ liệu của mạng mà máy tính đang nằm trong đó). Sau đó, TCP chuyển các gói tin thu được tới giao thức IP để gửi nó qua một liên mạng tới mô đun TCP tại máy tính đích. TCP kiểm tra để đảm bảo không có gói tin nào bị thất lạc bằng cách gán cho mỗi gói tin một "số thứ tự" (sequence number). Số thứ tự này còn được sử dụng để đảm bảo dữ liệu được trao cho ứng dụng đích theo đúng thứ tự. Mô đun TCP tại đầu kia gửi lại "tin báo nhận" (acknowledgement) cho các gói tin đã nhận được thành công; một "đồng hồ" (timer) tại nơi gửi sẽ báo time-out nếu không nhận được tin báo nhận trong khoảng thời gian bằng một round-trip time (RTT), và dữ liệu (được coi là bị thất lạc) sẽ được gửi lại. TCP sử dụng checksum (giá trị kiểm tra) để xem có byte nào bị hỏng trong quá trình truyền hay không; giá trị này được tính toán cho mỗi khối dữ liệu tại nơi gửi trước khi nó được gửi, và được kiểm tra tại nơi nhận.
Các tính năng chính của TCP :
· Vận chuyển đáng tin cậy.
· Có định hướng nối kết.
· Kiểm soát dòng dữ liệu.
· Windowing (định số gói tin mới có một acknowledgements)
· Thông điệp báo đã nhận được.(acknowledgements)
. Nhiều chi phí hơn (overhead)
LeLamThang (113A)- Tổng số bài gửi : 35
Join date : 15/02/2012
Re: Bài 4
Chức năng TCP và UDP:
Giao thức TCP và UDP là hai giao thức phổ biến nhất ở lớp vận chuyển (transport layer) của chồng giao thức TCP/IP.
UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn.
TCP thì cần nhiều byte hơn trong phần header và phải xử lý nhiều hơn nhưng cung cấp nhiều chức năng hữu ích hơn, như khả năng khôi phục lỗi.
tóm lại là:
TCP : Hy sinh tốc độ để đảm bảo độ tin cậy của gói tin truyền đi.
UDP : Ưu tiên tốc độ không đảm bảo độ tin cậy của gói tin truyền đi
Do đó : ứng dụng của TCP,UDP vào các services có khác nhau,
ví dụ :
+ TCP thường được ứng dụng vào : Email, File Sharing, Downloading ..
+ UDP : Voice streaming, Video streaming.
Một số ứng dụng thông thường của TCP, UDP:
TCP : FTP, Telnet, HTTP ..
UDP : TFTP, SNMP, ...
Ví dụ thực tế ngoài đời thường:
TCP: ta muốn đi qua con suối thì ta bắt một dây cáp từ bên này qua bên kia, men theo dây cáp thì ta sẽ qua được
UDP: nếu không có cáp thì ta vẫn qua được (lội hoặc bơi) nhưng sẽ không đảm bảo bằng khi ta có dây cáp để đi qua.
Giao thức TCP và UDP là hai giao thức phổ biến nhất ở lớp vận chuyển (transport layer) của chồng giao thức TCP/IP.
UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn.
TCP thì cần nhiều byte hơn trong phần header và phải xử lý nhiều hơn nhưng cung cấp nhiều chức năng hữu ích hơn, như khả năng khôi phục lỗi.
tóm lại là:
TCP : Hy sinh tốc độ để đảm bảo độ tin cậy của gói tin truyền đi.
UDP : Ưu tiên tốc độ không đảm bảo độ tin cậy của gói tin truyền đi
Do đó : ứng dụng của TCP,UDP vào các services có khác nhau,
ví dụ :
+ TCP thường được ứng dụng vào : Email, File Sharing, Downloading ..
+ UDP : Voice streaming, Video streaming.
Một số ứng dụng thông thường của TCP, UDP:
TCP : FTP, Telnet, HTTP ..
UDP : TFTP, SNMP, ...
Ví dụ thực tế ngoài đời thường:
TCP: ta muốn đi qua con suối thì ta bắt một dây cáp từ bên này qua bên kia, men theo dây cáp thì ta sẽ qua được
UDP: nếu không có cáp thì ta vẫn qua được (lội hoặc bơi) nhưng sẽ không đảm bảo bằng khi ta có dây cáp để đi qua.
NguyenHoangThangI12A- Tổng số bài gửi : 34
Join date : 15/02/2012
Tổ chức liên lạc các tiến trình theo nguyên lý khách-chủ
* Tổ chức liên lạc trong hệ thống khách chủ:
- Khái niệm Hốc liên lạc (Socket)
+ Hốc liênlạc là điểm đầu của liên kết truyền thông được đặc trưng bổi cặp số (IP Address, Port Number) trong mạng Client/Server.
+ Server chờ yêu cầu từ Client bằng cách nghe vào cổng (Port) định trước.
- Telnet Server lắng nghe thông qua cổng 23
- FTP Server lắng nghe thông qua cổng 21
- Web Server lắng nghe thông qua cổng 80
+ Thông thường các cổng với số hiệu dưới 1024 là cổng chuần của hệ thống.
+ Khi Client phát sinh yêu cầu kết nối, nó được một số ngẫu nhiên nào đó sau 1024
- Phân loại các hốc liên lạc
- Có kết nối - Connection-Oriented(TCP-Transmission Control Protocol): Thiết lập mối liên kết giữa hai đầu (hai máy )trước khi truyền.
+ Không kết nối - Connectionless (UDP - User Datagram Protocol): Không phải thiết lập mối liên kết sẵn trước khi truyền, do đó dễ dàng liên lạc với nhiều máy cùng một lúc, nhưng không đảm bảo bằng TCP.
* Phân biệt TCP và UDP
- Giống nhau : đều là các giao thức mạng TCP/IP, đều có chức năng kết nối máy lại với nhau, và có thể gửi dữ liệu cho nhau.
- Khác nhau : các header của TCP và UDP khác nhau ờ kích thước (20 và 8 byte) nguyên nhân chủ yếu là do TCP phải hổ trợ nhiều chức năng hữa ích hơn (như khả năng khôi phục lỗi). UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn.
TCP :
- Dùng cho WAN
- Không cho phép mất gói tin
- Đảm bảo việc truyền dữ ịiệu
- Tốc độ truyền thấp hơn UDP
UDP :
- Dùng cho LAN
- Cho phép mất dữ liệu
- Không đảm bảo
- Tốc độ truyền cao. VoIP truyền tốt qua UDP
- Khái niệm Hốc liên lạc (Socket)
+ Hốc liênlạc là điểm đầu của liên kết truyền thông được đặc trưng bổi cặp số (IP Address, Port Number) trong mạng Client/Server.
+ Server chờ yêu cầu từ Client bằng cách nghe vào cổng (Port) định trước.
- Telnet Server lắng nghe thông qua cổng 23
- FTP Server lắng nghe thông qua cổng 21
- Web Server lắng nghe thông qua cổng 80
+ Thông thường các cổng với số hiệu dưới 1024 là cổng chuần của hệ thống.
+ Khi Client phát sinh yêu cầu kết nối, nó được một số ngẫu nhiên nào đó sau 1024
- Phân loại các hốc liên lạc
- Có kết nối - Connection-Oriented(TCP-Transmission Control Protocol): Thiết lập mối liên kết giữa hai đầu (hai máy )trước khi truyền.
+ Không kết nối - Connectionless (UDP - User Datagram Protocol): Không phải thiết lập mối liên kết sẵn trước khi truyền, do đó dễ dàng liên lạc với nhiều máy cùng một lúc, nhưng không đảm bảo bằng TCP.
* Phân biệt TCP và UDP
- Giống nhau : đều là các giao thức mạng TCP/IP, đều có chức năng kết nối máy lại với nhau, và có thể gửi dữ liệu cho nhau.
- Khác nhau : các header của TCP và UDP khác nhau ờ kích thước (20 và 8 byte) nguyên nhân chủ yếu là do TCP phải hổ trợ nhiều chức năng hữa ích hơn (như khả năng khôi phục lỗi). UDP dùng ít byte hơn cho phần header và yêu cầu xử lý từ host ít hơn.
TCP :
- Dùng cho WAN
- Không cho phép mất gói tin
- Đảm bảo việc truyền dữ ịiệu
- Tốc độ truyền thấp hơn UDP
UDP :
- Dùng cho LAN
- Cho phép mất dữ liệu
- Không đảm bảo
- Tốc độ truyền cao. VoIP truyền tốt qua UDP
LeQuocKhanh-11H1010059- Tổng số bài gửi : 59
Join date : 16/02/2012
Age : 36
Đến từ : HCM
Peer là gì?
Peer nghĩa là đồng đẳng, ngang hàng
Mạng ngang hàng (peer-to-peer network, viết tắt là P2P), còn gọi là mạng đồng đẳng, là một mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạng thông thường. Mạng đồng đẳng thường được sử dụng để kết nối các máy thông qua một lượng kết nối dạng ad hoc(Mạng ngang hàng không dây-wifi). Mạng đồng đẳng có nhiều ứng dụng. Ứng dụng thường xuyên gặp nhất là chia sẻ tệp tin, tất cả các dạng như âm thanh, hình ảnh, dữ liệu,... hoặc để truyền dữ liệu thời gian thực như điện thoại VoIP.
Một mạng đồng đẳng đúng nghĩa không có khái niệm máy chủ và máy khách, nói cách khác, tất cả các máy tham gia đều bình đẳng và được gọi là peer, là một nút mạng đóng vai trò đồng thời là máy khách và máy chủ đối với các máy khác trong mạng.
Khái niệm đồng đẳng ngày nay được tiến hóa vào nhiều mục đích sử dụng khác nhau, không chỉ để trao đổi tệp mà còn khái quát hóa thành trao đổi thông tin giữa người với người, đặc biệt trong những tình huống hợp tác giữa một nhóm người trong cộng đồng.
*Phân loại mạng đồng đẳng:
Ta có thể phân loại các mạng đồng đẳng hiện nay theo tiêu chí về mức độ tập trung của chúng như sau:
-Mạng đồng đẳng thuần túy:
Các máy trạm có vai trò vừa là máy chủ vừa là máy khách
Không có máy chủ trung tâm quản lý mạng
Không có máy định tuyến (bộ định tuyến) trung tâm, các máy trạm có khả năng tự định tuyến
-Mạng đồng đẳng lai:
Có một máy chủ trung tâm dùng để lưu trữ thông tin của các máy trạm và trả lời các truy vấn thông tin này.
Các máy trạm có vai trò lưu trữ thông tin, tài nguyên được chia sẻ, cung cấp các thông tin về chia sẻ tài nguyên của nó cho máy chủ.
Sử dụng các trạm định tuyến để xác định địa chỉ IP của các máy trạm.
*Ưu thế của mạng đồng đẳng:
Một mục đích quan trọng của mạng đồng đằng là trong mạng tất cả các máy tham gia đều đóng góp tài nguyên, bao gồm băng thông, lưu trữ, và khả năng tính toán. Do đó khi càng có nhiều máy tham gia mạng thì khả năng tổng thể của hệ thống mạng càng lớn. Ngược lại, trong cấu trúc máy chủ-máy khách, nếu số lượng máy chủ là cố định, thì khi số lượng máy khách tăng lên khả năng chuyển dữ liệu cho mỗi máy khách sẽ giảm xuống.
Tính chất phân tán của mạng đồng đẳng cũng giúp cho mạng hoạt động tốt khi một số máy gặp sự cố. Đối với cấu trúc tập trung, chỉ cần máy chủ gặp sự cố thì cả hệ thống sẽ ngưng trệ.
Mạng ngang hàng (peer-to-peer network, viết tắt là P2P), còn gọi là mạng đồng đẳng, là một mạng máy tính trong đó hoạt động của mạng chủ yếu dựa vào khả năng tính toán và băng thông của các máy tham gia chứ không tập trung vào một số nhỏ các máy chủ trung tâm như các mạng thông thường. Mạng đồng đẳng thường được sử dụng để kết nối các máy thông qua một lượng kết nối dạng ad hoc(Mạng ngang hàng không dây-wifi). Mạng đồng đẳng có nhiều ứng dụng. Ứng dụng thường xuyên gặp nhất là chia sẻ tệp tin, tất cả các dạng như âm thanh, hình ảnh, dữ liệu,... hoặc để truyền dữ liệu thời gian thực như điện thoại VoIP.
Một mạng đồng đẳng đúng nghĩa không có khái niệm máy chủ và máy khách, nói cách khác, tất cả các máy tham gia đều bình đẳng và được gọi là peer, là một nút mạng đóng vai trò đồng thời là máy khách và máy chủ đối với các máy khác trong mạng.
Khái niệm đồng đẳng ngày nay được tiến hóa vào nhiều mục đích sử dụng khác nhau, không chỉ để trao đổi tệp mà còn khái quát hóa thành trao đổi thông tin giữa người với người, đặc biệt trong những tình huống hợp tác giữa một nhóm người trong cộng đồng.
*Phân loại mạng đồng đẳng:
Ta có thể phân loại các mạng đồng đẳng hiện nay theo tiêu chí về mức độ tập trung của chúng như sau:
-Mạng đồng đẳng thuần túy:
Các máy trạm có vai trò vừa là máy chủ vừa là máy khách
Không có máy chủ trung tâm quản lý mạng
Không có máy định tuyến (bộ định tuyến) trung tâm, các máy trạm có khả năng tự định tuyến
-Mạng đồng đẳng lai:
Có một máy chủ trung tâm dùng để lưu trữ thông tin của các máy trạm và trả lời các truy vấn thông tin này.
Các máy trạm có vai trò lưu trữ thông tin, tài nguyên được chia sẻ, cung cấp các thông tin về chia sẻ tài nguyên của nó cho máy chủ.
Sử dụng các trạm định tuyến để xác định địa chỉ IP của các máy trạm.
*Ưu thế của mạng đồng đẳng:
Một mục đích quan trọng của mạng đồng đằng là trong mạng tất cả các máy tham gia đều đóng góp tài nguyên, bao gồm băng thông, lưu trữ, và khả năng tính toán. Do đó khi càng có nhiều máy tham gia mạng thì khả năng tổng thể của hệ thống mạng càng lớn. Ngược lại, trong cấu trúc máy chủ-máy khách, nếu số lượng máy chủ là cố định, thì khi số lượng máy khách tăng lên khả năng chuyển dữ liệu cho mỗi máy khách sẽ giảm xuống.
Tính chất phân tán của mạng đồng đẳng cũng giúp cho mạng hoạt động tốt khi một số máy gặp sự cố. Đối với cấu trúc tập trung, chỉ cần máy chủ gặp sự cố thì cả hệ thống sẽ ngưng trệ.
NgoPhuQuoc_I12C- Tổng số bài gửi : 13
Join date : 16/02/2012
Câu 6: Phương thức liên lạc giữa các tiến trình qua IPC.
Trao đổi thông điệp (Message):
Giới thiệu- Hệ điều hành cung cấp một cơ chế liên lạc giữa các tiến trình không thông qua việc chia sẻ một tài nguyên chung , mà thông qua việc gởi thông điệp. Để hỗ trợ cơ chế liên lạc bằng thông điệp, hệ điều hành cung cấp các hàm IPC chuẩn (Interprocess communication), cơ bản là hai hàm:
+ Send(message) : gởi một thông điệp
+ Receive(message) : nhận một thông điệp
-Nếu hai tiến trình P và Q muốn liên lạc với nhau, cần phải thiết lập một mối liên kết giữa hai tiến trình, sau đó P, Q sử dụng các hàm IPC thích hợp để trao đổi thông điệp, cuối cùng khi sự liên lạc chấm dứt mối liên kết giữa hai tiến trình sẽ bị hủy. Có nhiều cách thức để thực hiện sự liên kết giữa hai tiến trình và cài đặt theo send /receive tương ứng : liên lạc trực tiếp hay gián tiếp, liên lạc đồng bộ hoặc không đồng bộ , kích thước thông điệp là cố định hay không ? Nếu các tiến trình liên lạc theo kiểu liên kết tường minh, các hàm Send và Receive sẽ được cài đặt với tham số :
+ Send(destination, message) : gởi một thông điệp đến destination
+ Receive(source,message) : nhận một thông điệp từ source
Các bạn bổ sung thêm nhá...
Giới thiệu- Hệ điều hành cung cấp một cơ chế liên lạc giữa các tiến trình không thông qua việc chia sẻ một tài nguyên chung , mà thông qua việc gởi thông điệp. Để hỗ trợ cơ chế liên lạc bằng thông điệp, hệ điều hành cung cấp các hàm IPC chuẩn (Interprocess communication), cơ bản là hai hàm:
+ Send(message) : gởi một thông điệp
+ Receive(message) : nhận một thông điệp
-Nếu hai tiến trình P và Q muốn liên lạc với nhau, cần phải thiết lập một mối liên kết giữa hai tiến trình, sau đó P, Q sử dụng các hàm IPC thích hợp để trao đổi thông điệp, cuối cùng khi sự liên lạc chấm dứt mối liên kết giữa hai tiến trình sẽ bị hủy. Có nhiều cách thức để thực hiện sự liên kết giữa hai tiến trình và cài đặt theo send /receive tương ứng : liên lạc trực tiếp hay gián tiếp, liên lạc đồng bộ hoặc không đồng bộ , kích thước thông điệp là cố định hay không ? Nếu các tiến trình liên lạc theo kiểu liên kết tường minh, các hàm Send và Receive sẽ được cài đặt với tham số :
+ Send(destination, message) : gởi một thông điệp đến destination
+ Receive(source,message) : nhận một thông điệp từ source
Các bạn bổ sung thêm nhá...
NguyenHoangThangI12A- Tổng số bài gửi : 34
Join date : 15/02/2012
Socket
- Sockets được định nghĩa là một điểm cuối giao tiếp, được xác định bởi địa chỉ IP và số hiệu cổng.
- Là một phương pháp dùng để giao tiếp giữa các tiến trình khác nhau trong mạng máy tính hay là trên một máy đơn.
- Socket là một trong những phương thức giao tiếp giữa các quá trình (inter-process communication) như pipe , message queue .... Giả sử ta muốn thiết kế một hệ thống trao đổi file.
- Hệ thống này hoạt động như sau : Tất cả dữ liệu được lưu trữ trên một máy chủ mạnh để bảo đảm an toàn và dễ quản lý Giao tiếp socket giúp chúng ta hiện thực mô hình client / server dễ dàng hơn.
VD: A muốn đến nhà B thì trước tiên phải mở cửa đi ra ngoài. Sau đó A đi bộ đến nhà B. Bằng cách nào để đến nhà B không quan tâm phải đi như thế nào.Khi đến nhà B thì A phải bấm chuông để B ra mở cửa. Qúa trình kết nối giữa 2 ứng dụng trên mạng cũng giống như vậy.Client mở một Sockets"Cái cửa' sau đó nó nhờ các lớp mạng tạo ra kết nối tới Server(không quan tâm là kết nối thế nào). Tiếp theo Server cũng tạo ra một sockets khác có địa chỉ "cái cửa thứ 2, nhưng có chuông, số nhà hẻn hoi". Khi có kết nối đúng tới Server dựa vào thông tin trên sockets của server(giống như client tìm đúng số nhà, bấm chuông...) Thì server sẽ mở cổng ra và client/server sẽ bắt đầu trao đổi dữ liệu.
Các thuộc tính của socket:
- Domaine: định nghĩa dạng thức địa chỉ và các nghi thức sử dụng. Có nhiều domaines, ví dụ UNIX, INTERNET, XEROX_NS, ...
- Type: định nghĩa các đặc điểm liên lạc:
a) Sự tin cậy
b) Sự bảo toàn thứ tự dữ liệu
c) Lặp lại dữ liệu
d) Chế độ nối kết
e) Bảo toàn giới hạn thông điệp
f) Khả năng gởi thông điệp khẩn
Để thực hiện liên lạc bằng socket, cần tiến hành các thao tác :
- Tạo lập hay mở một socket
- Gắn kết một socket với một địa chỉ
- Liên lạc : có hai kiểu liên lạc tùy thuộc vào chế độ nối kết:
a) Liên lạc trong chế độ không liên kết : liên lạc theo hình thức hộp thư:
- hai tiến trình liên lạc với nhau không kết nối trực tiếp
- mỗi thông điệp phải kèm theo địa chỉ người nhận.
Hình thức liên lạc này có đặc điểm được :
- người gởi không chắc chắn thông điệp của học được gởi đến người nhận,
- một thông điệp có thể được gởi nhiều lần,
- hai thông điệp đượ gởi theo một thứ tự nào đó có thể đến tay người nhận theo một thứ tự khác.
Một tiến trình sau khi đã mở một socket có thể sử dụng nó để liên lạc với nhiều tiến trình khác nhau nhờ sử hai primitive send và receive.
b) Liên lạc trong chế độ nối kết:
Một liên kết được thành lập giữa hai tiến trình. Trước khi mối liên kết này được thiết lập, một trong hai tiến trình phải đợi có một tiến trình khác yêu cầu kết nối.Có thể sử dụng socket để liên lạc theo mô hình client-serveur. Trong mô hình này, server sử dụng lời gọi hệ thống listen và accept để nối kết với client, sau đó , client và server có thể trao đổi thông tin bằng cách sử dụng các primitive send và receive.
- Hủy một socket
- Là một phương pháp dùng để giao tiếp giữa các tiến trình khác nhau trong mạng máy tính hay là trên một máy đơn.
- Socket là một trong những phương thức giao tiếp giữa các quá trình (inter-process communication) như pipe , message queue .... Giả sử ta muốn thiết kế một hệ thống trao đổi file.
- Hệ thống này hoạt động như sau : Tất cả dữ liệu được lưu trữ trên một máy chủ mạnh để bảo đảm an toàn và dễ quản lý Giao tiếp socket giúp chúng ta hiện thực mô hình client / server dễ dàng hơn.
VD: A muốn đến nhà B thì trước tiên phải mở cửa đi ra ngoài. Sau đó A đi bộ đến nhà B. Bằng cách nào để đến nhà B không quan tâm phải đi như thế nào.Khi đến nhà B thì A phải bấm chuông để B ra mở cửa. Qúa trình kết nối giữa 2 ứng dụng trên mạng cũng giống như vậy.Client mở một Sockets"Cái cửa' sau đó nó nhờ các lớp mạng tạo ra kết nối tới Server(không quan tâm là kết nối thế nào). Tiếp theo Server cũng tạo ra một sockets khác có địa chỉ "cái cửa thứ 2, nhưng có chuông, số nhà hẻn hoi". Khi có kết nối đúng tới Server dựa vào thông tin trên sockets của server(giống như client tìm đúng số nhà, bấm chuông...) Thì server sẽ mở cổng ra và client/server sẽ bắt đầu trao đổi dữ liệu.
Các thuộc tính của socket:
- Domaine: định nghĩa dạng thức địa chỉ và các nghi thức sử dụng. Có nhiều domaines, ví dụ UNIX, INTERNET, XEROX_NS, ...
- Type: định nghĩa các đặc điểm liên lạc:
a) Sự tin cậy
b) Sự bảo toàn thứ tự dữ liệu
c) Lặp lại dữ liệu
d) Chế độ nối kết
e) Bảo toàn giới hạn thông điệp
f) Khả năng gởi thông điệp khẩn
Để thực hiện liên lạc bằng socket, cần tiến hành các thao tác :
- Tạo lập hay mở một socket
- Gắn kết một socket với một địa chỉ
- Liên lạc : có hai kiểu liên lạc tùy thuộc vào chế độ nối kết:
a) Liên lạc trong chế độ không liên kết : liên lạc theo hình thức hộp thư:
- hai tiến trình liên lạc với nhau không kết nối trực tiếp
- mỗi thông điệp phải kèm theo địa chỉ người nhận.
Hình thức liên lạc này có đặc điểm được :
- người gởi không chắc chắn thông điệp của học được gởi đến người nhận,
- một thông điệp có thể được gởi nhiều lần,
- hai thông điệp đượ gởi theo một thứ tự nào đó có thể đến tay người nhận theo một thứ tự khác.
Một tiến trình sau khi đã mở một socket có thể sử dụng nó để liên lạc với nhiều tiến trình khác nhau nhờ sử hai primitive send và receive.
b) Liên lạc trong chế độ nối kết:
Một liên kết được thành lập giữa hai tiến trình. Trước khi mối liên kết này được thiết lập, một trong hai tiến trình phải đợi có một tiến trình khác yêu cầu kết nối.Có thể sử dụng socket để liên lạc theo mô hình client-serveur. Trong mô hình này, server sử dụng lời gọi hệ thống listen và accept để nối kết với client, sau đó , client và server có thể trao đổi thông tin bằng cách sử dụng các primitive send và receive.
- Hủy một socket
trinhvanminh_11h1010077- Tổng số bài gửi : 90
Join date : 15/02/2012
Age : 39
Đến từ : tphcm
IPC Liên lạc giữa các tiến trình
HĐH cung cấp cho ta các cơ chế liên lạc giữa các tiến trình sau:
+ Vùng nhớ chia sẻ(share momery): cơ chế này cho phép nhiều tiến trình cùng truy xuất đến một vùng nhớ chung gọi là vùng nhớ chia sẻ, trong cơ chế này dữ liệu được đặt vào 1 vùng nhớ chung mà nhiều tiến trình có thể cùng truy cập được.
VD: Cả lớp học dùng chung một tấm bảng. Mỗi sinh viên trong lớp là một tiến trình có thể ghi chép nội dung trên bảng đó, còn tấm bảng được gọi là vùng nhớ chung
Đây là phương pháp nhanh nhất để trao đổi dữ liệu giữa các tiến trình, nhưng nó không có sự đảm bảo về toàn vẹn dữ liệu. Làm thế nào ngăn cản hai tiến trình cùng đồng thời ghi dữ liệu vào vùng nhớ chung?làm sao biết được dữ liệu mà một tiến trình truy xuất là dữ liệu mới nhất mà tiến trình khác đã ghi ?
VD: Trong trường hơp tấm bảng của lớp học chỉ còn chỗ trống đủ cho 1 sinh viên viết bài. Nhưng cùng lúc 2 bạn sinh viên muốn viết bài thì xảy ra trường hợp không có bảng để cho 2 bạn viết bài.
+ IPC(Interprocess communication): đây là cơ chế mà các tiến trình liên lạc với nhau không thông qua việc chia sẻ một tài nguyên dùng chung nó liên lạc với nhau bằng cách gởi thông điệp cho nhau. Cơ chế này có điểm mạnh là thông qua mạng để trao đổi dữ liệu với nhau.
VD: A muốn hẹn B đi học nhóm thì A sẽ nhắn tin cho B nói thời gian,địa điểm cụ thể để gặp mặt.A là tiến trình gửi thông điệp cho B, còn B nhận thông điệp từ A
+ Vùng nhớ chia sẻ(share momery): cơ chế này cho phép nhiều tiến trình cùng truy xuất đến một vùng nhớ chung gọi là vùng nhớ chia sẻ, trong cơ chế này dữ liệu được đặt vào 1 vùng nhớ chung mà nhiều tiến trình có thể cùng truy cập được.
VD: Cả lớp học dùng chung một tấm bảng. Mỗi sinh viên trong lớp là một tiến trình có thể ghi chép nội dung trên bảng đó, còn tấm bảng được gọi là vùng nhớ chung
Đây là phương pháp nhanh nhất để trao đổi dữ liệu giữa các tiến trình, nhưng nó không có sự đảm bảo về toàn vẹn dữ liệu. Làm thế nào ngăn cản hai tiến trình cùng đồng thời ghi dữ liệu vào vùng nhớ chung?làm sao biết được dữ liệu mà một tiến trình truy xuất là dữ liệu mới nhất mà tiến trình khác đã ghi ?
VD: Trong trường hơp tấm bảng của lớp học chỉ còn chỗ trống đủ cho 1 sinh viên viết bài. Nhưng cùng lúc 2 bạn sinh viên muốn viết bài thì xảy ra trường hợp không có bảng để cho 2 bạn viết bài.
+ IPC(Interprocess communication): đây là cơ chế mà các tiến trình liên lạc với nhau không thông qua việc chia sẻ một tài nguyên dùng chung nó liên lạc với nhau bằng cách gởi thông điệp cho nhau. Cơ chế này có điểm mạnh là thông qua mạng để trao đổi dữ liệu với nhau.
VD: A muốn hẹn B đi học nhóm thì A sẽ nhắn tin cho B nói thời gian,địa điểm cụ thể để gặp mặt.A là tiến trình gửi thông điệp cho B, còn B nhận thông điệp từ A
luthioanh-I12A- Tổng số bài gửi : 29
Join date : 17/02/2012
Age : 39
Gửi/Nhận thông điệp trong Windows
Các hàm API dùng để Gửi/Nhận thông điệp :
SendMessage: Gửi có chờ
PostMessage: Gửi không chờ
SendMessageTimeout: Gửi có chờ nhưng với thời hạn
WaitMessage: Chờ thông điệp đến
GetMessage: Nhận có chờ
PeekMessage: Nhận không chờ
SendMessage: Gửi có chờ
PostMessage: Gửi không chờ
SendMessageTimeout: Gửi có chờ nhưng với thời hạn
WaitMessage: Chờ thông điệp đến
GetMessage: Nhận có chờ
PeekMessage: Nhận không chờ
NgoPhuQuoc_I12C- Tổng số bài gửi : 13
Join date : 16/02/2012
Mình xin bổ sung thêm 1 ví dụ phát biểu bài toán sản xuất tiêu thụ
Giả sử có Bộ nhớ đệm (Buffer) bao gồm nhiều khoang (Items) được tiến trình Producer lần lượt đưa các sản phẩm S1, S2,... vào.
Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi Buffer đầy, Không được lấy ra khi chưa có.
ví dụ:
Trong 1 kho gạo khi đã đầy không còn chỗ chứa (full: (in + 1) % BUFFER_SIZE) == out)) thì nhà sản xuất không được xếp các bao gạo vào kho nữa mà phải chờ nhà tiêu thụ tiêu thụ bớt 1 bao gạo thì mới có chỗ để xếp bao gạo vào. tương tự như vậy khi kho gạo không còn bao gạo nào (empty: con trỏ in= con trỏ out) thì nhà tiêu thụ không được lấy sản phẩm ra nữa mà phải chờ nhà sản xuất xếp bao gạo vào rồi mới được tiêu thụ
Tiến trình Consumer lần lượt lấy sản phẩm ra theo đúng thứ tự.
Công việc của Producer phải đồng bộ với Consumer: Không được đưa sản phẩm vào khi Buffer đầy, Không được lấy ra khi chưa có.
ví dụ:
Trong 1 kho gạo khi đã đầy không còn chỗ chứa (full: (in + 1) % BUFFER_SIZE) == out)) thì nhà sản xuất không được xếp các bao gạo vào kho nữa mà phải chờ nhà tiêu thụ tiêu thụ bớt 1 bao gạo thì mới có chỗ để xếp bao gạo vào. tương tự như vậy khi kho gạo không còn bao gạo nào (empty: con trỏ in= con trỏ out) thì nhà tiêu thụ không được lấy sản phẩm ra nữa mà phải chờ nhà sản xuất xếp bao gạo vào rồi mới được tiêu thụ
Được sửa bởi huynhvanhung(I12A) ngày 14/3/2012, 23:00; sửa lần 1.
huynhvanhung(I12A)- Tổng số bài gửi : 43
Join date : 17/02/2012
Age : 36
Đến từ : TP.HCM
Re: Thảo luận Bài 4
Về việc đăng ký domain free.
Các bạn có thể đăng ký một tên miền miễn phí tại địa chỉ http://freedns.vn/
Sau khi tạo xong domain, bạn login vào và cấu hình DNS, trong DNS cần quan tâm đến các records sau :
- Records A : (Address) : địa chỉ chứa IP public
- Records CName
- Records Email (Nếu có).
Ngoài ra còn có thể tạo free DNS thông qua trang dyndns.org.
Thân,
Admin
Cần cụ thể hơn ! Thậm chí còn chưa nói gì về Dynamic Update Client.
Các bạn có thể đăng ký một tên miền miễn phí tại địa chỉ http://freedns.vn/
Sau khi tạo xong domain, bạn login vào và cấu hình DNS, trong DNS cần quan tâm đến các records sau :
- Records A : (Address) : địa chỉ chứa IP public
- Records CName
- Records Email (Nếu có).
Ngoài ra còn có thể tạo free DNS thông qua trang dyndns.org.
Thân,
Admin
Cần cụ thể hơn ! Thậm chí còn chưa nói gì về Dynamic Update Client.
HuynhMinhChanh(i91C)- Tổng số bài gửi : 47
Join date : 02/03/2012
Sự khác nhau của giao thức TCP và UDP
Sự khác nhau cơ bản nhất đó là: Giao thức UDP cũng như khi bạn gửi thư, bạn chỉ cần đưa địa chỉ bỏ vào thùng thư rồi thư có đến được người nhận không còn tuỳ thuộc vào bưu điện, còn giao thức TCP thì giống như gọi điện thoại, có nghĩa là bạn phải tạo kết nối giữa 2 máy và trong suốt quá trình nói chuyện 2 máy đó vẫn giữ kết nối đó cho đến khi kết thúc còn UDP thì không có sự kết nối này. UDP gọi là "connection-less transmission" còn TCP gọi là "connection-oriented transmission".
***Giao thức TCP: là giao thức hướng kết nối
+Ưu điểm:an toàn dữ liệu trên đường tuyền
+Nhược điểm:chậm
***Giao thức UDP: là giao thức không hướng kết nối (không thiết lập kết nối khi truyền dữ liệu)
+Ưu điểm: nhanh
+Nhược điểm: dữ liệu dễ bị mất khi truyền
***Giao thức TCP: là giao thức hướng kết nối
+Ưu điểm:an toàn dữ liệu trên đường tuyền
+Nhược điểm:chậm
***Giao thức UDP: là giao thức không hướng kết nối (không thiết lập kết nối khi truyền dữ liệu)
+Ưu điểm: nhanh
+Nhược điểm: dữ liệu dễ bị mất khi truyền
letanthanh18(I12A)- Tổng số bài gửi : 14
Join date : 22/02/2012
Trang 9 trong tổng số 15 trang • 1 ... 6 ... 8, 9, 10 ... 15
Similar topics
» THAO LUAN MON HOC
» BAI 6: THAO LUAN BAI 6
» Các bạn tích cực và có đóng góp với lớp
» Thảo luận Đề thi Cuối kỳ
» Thảo luận Bài 4
» BAI 6: THAO LUAN BAI 6
» Các bạn tích cực và có đóng góp với lớp
» Thảo luận Đề thi Cuối kỳ
» Thảo luận Bài 4
Trang 9 trong tổng số 15 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết