Tải bản đầy đủ (.pptx) (27 trang)

Xây dựng chương trình mô phỏng các giải thuật lập lịch CPU ; Sử dụng Socket trong Java, xây dựng chương trình chat clientserver

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (241.57 KB, 27 trang )

Trường ĐHBK
Khoa Công Nghệ Thông Tin

Báo cáo đồ án cơ sở ngành mạng
Tên đề tài
Đề tài 1: Xây dựng chương trình mô phỏng các giải thuật
lập lịch CPU
Đề tài 2: Sử dụng Socket trong Java, xây dựng chương
trình chat client-server
Sinh viên : Lê Quang Thái
Lớp : 14T2
Mã SV: 102140096
GVHD: Trần Hồ Thủy Tiên


Phần 1: Hệ điều hành
1. Cơ sở lí thuyết

2. Phân tích thiết kế hệ thống
2. Triển khai và đánh giá kết quả

4. Kết luận và hướng phát triển


CƠ SỞ LÍ THUYẾT
1. First come first service
Trong thuật toán này, độ ưu tiên lựa chọn tiến trình dựa vào
thời gian tiến trình đến. Hàng đợi được tổ chức theo kiểu FIFO.
Mọi tiến trình đều được phục vụ theo thứ tự xuất hiện đến khi
kết thúc hoặc bị ngắt



CƠ SỞ LÍ THUYẾT
2. SJF (Shortest job first)
Trong thuật toán này, độ ưu tiên lựa chọn tiến trình dựa vào
thời gian thực hiện các tiến trình.Nếu các tiến trình có thời gian
thực hiên bằng nhau thì căn cứ vào tiến trình nào đến sớm hơn


CƠ SỞ LÍ THUYẾT
3. Độ ưu tiên(Prioriy)
Giải thuật SJF là trường hợp đặc biệt của giải thuật định
thời theo độ ưu tiên (priority-scheduling algorithm). Độ ưu tiên
được gán với mỗi quá trình và CPU được cấp phát tới quá trình
với độ ưu tiên cao nhất. Các quá trình có độ ưu tiên bằng nhau
thì dựa vào tiến trình nào đến sớm hơn.Nếu đến cùng nhau nữa
thì dựa vào tiến trình nào có thời gian thực hiện ngắn nhất


CƠ SỞ LÍ THUYẾT
4. Round robin (RR)
Danh sách sẵn sàng được xử lý như một danh sách vòng,
bộ điều phối lần lượt cấp phát cho từng tiến trình trong danh
sách một khoảng thời gian tối đa sử dụng CPU cho trước gọi là
quantum


THIẾT KẾ HỆ THỐNG
Để lưu trữ thông tin các tiến trình, ta dùng struct data
để lưu trữ thông tin gồm các trường như sau:
struct data

{
int at,st,ct,tat,wt;
char pname[20];
float ntat;
int pr; //priority
}
Trong đó:
at: thời gian đến của tiến trình, st: thời gian thực hiện
ct: thời gian hoàn thành, tat: thời gian tồn tại ,
wt: thời gian chờ đơi, ntat = tat/st
pr: độ ưu tiên, chỉ dùng cho tiến trình có thuôc tính độ ưu
tiên


THIẾT KẾ HỆ THỐNG
Đầu vào: Thông tin về các tiến trình: Bao gồm tên
tiến trình,thời gian đến, thời gian thực hiện, độ ưu tiên(cho
thuật toán Priority).

Đầu ra: Thông tin được lập lịch của các tiến trình, bao
gồm thông tin ban đầu, thời gian hoàn thành ,thời gian tồn
tại trong hệ thống, thời gian chờ đợi, thời gian đợi trung
bình của tất cả các tiến trình


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
1. Thuật toán FCFS


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

2. Thuật toán SJF


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
3. Thuật toán độ ưu tiên


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
4. Thuật toán Round robin(RR)


KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Kết quả đạt được:
-Nắm rõ được các cơ chế cấp phát CPU.
-Mô tả được các giải thuật định thời CPU.
Hạn chế :
-Giao diện chưa bắt mắt, chưa đẹp , chương trình chưa tối ưu bộ nhớ
Hướng phát triển:
-Xây dựng chương trình với đồ họa đẹp mắt hơn, minh họa rõ ràng các giải
thuật lập lịch thông qua đồ họa


Phần 2: LẬP TRÌNH MẠNG
1. Cơ sở lí thuyết

2. Phân tích thiết kế hệ thống
2. Triển khai và đánh giá kết quả

4. Kết luận và hướng phát triển



CƠ SỞ LÍ THUYẾT

1. Giao thức TCP/IP:
TCP/IP là tên chung cho một tập hợp hơn 100 giao thức được sử
dụng để kết nối các máy tính vào mạng, trong đó hai giao thức
chính là TCP (Transmission Control Protocol) và IP (Internet
Protocol).


CƠ SỞ LÍ THUYẾT

2. Mô hình Client-Server
Mô hình được phổ biến nhất và được chấp nhận rộng rãi trong
các hệ thống phân tán là mô hình client/server. Trong mô hình
này sẽ có một tập các tiến trình mà mỗi tiến trình đóng vai trò
như là một trình quản lý tài nguyên cho một tập hợp các tài
nguyên cho trước và một  tập hợp các tiến trình client trong đó
mỗi tiến trình thực hiện một tác vụ nào đó cần truy xuất tới tài
nguyên phần cứng hoặc phần mềm dùng chung.


CƠ SỞ LÍ THUYẾT

3. Socket trong Java
Một socket là một điểm cuối của thông tin hai chiều liên kết giữa
hai chương trình đang chạy trên mạng. Những lớp socket được
dùng để đại diện cho kết nối giữa một chương trình client và một
chương trình server. Trong Java gói Java.net cung cấp hai lớp

Socket và ServerSocket để thực hiện kết nối giữa client và server.


CƠ SỞ LÍ THUYẾT
4. Mô hình truyền tin Socket
.


THIẾT KẾ HỆ THỐNG

Đầu vào:
Phía Client:
-Địa chỉ IP,
-Số hiệu cổng-port,
-Tên đăng nhập
Kết quả:
Các client có thể giao tiếp với nhau tại một phòng chat, client
có thể thoát ra nếu muốn rời khỏi phòng chat


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

Chương trình Server


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

Màn hình kết nối tới Server



TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

Thông báo lỗi kết nối


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

Màn hình đăng nhập ở
client


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

Thông báo client đăng nhập, đăng xuất ở Server


TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ

Các client cùng phòng chat với nhau


×