TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN CƠ SỞ NGÀNH MẠNG
Đề tài
Đề tài 1: Tìm hiểu các lời gọi hệ thống (System calls)
Đề tài 2: Sử dụng Socket trong Java xây dựng chương
trình chat qua mạng LAN
Sinh viên : Lê Hoàng Trung
Lớp
: 14T1
GVHD
: Trần Hồ Thủy Tiên
Đà Nẵng, 05/2018
www.themegallery.com
Tên
đề tài …………………
1/40
NỘI DUNG CHÍNH
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
CHƯƠNG 3. TRIỂN KHAI VÀ ĐÁNH GIÁ
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
www.themegallery.com
Tên
đề tài …………………
2/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
1. System calls là gì?
System call (lời gọi hệ thống) cung cấp một giao diện giữa
chương trình người dùng (User program) và hệ điều hành
(Operating system). Thông thường là các chỉ thị bằng ngôn ngữ
assembler. Chương trình người dùng sử dụng các lời gọi hệ thống
để liên lạc với hệ điều hành và yêu cầu các dịch vụ từ hệ điều
hành.
www.themegallery.com
Tên
đề tài …………………
3/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
Các loại lời gọi hệ thống: có thể nhóm thành các loại như
sau
• Quản lý tiến trình (Process management)
• Quản lý file (File management)
• Quản lý thiết bị (Device management)
• Truyền thông (Communications)
www.themegallery.com
Tên
đề tài …………………
4/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
2. Các lời gọi hệ thống trong quản lý file, thư mục
www.themegallery.com
Tên
đề tài …………………
5/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
2. Các lời gọi hệ thống trong Win32 API
www.themegallery.com
Tên
đề tài …………………
6/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 1. CƠ SỞ LÝ THUYẾT
2. Các lời gọi hệ thống trong Win32 API
www.themegallery.com
Tên
đề tài …………………
7/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Xây dựng với các chức năng: Tạo File, Xoá File,
Copy; Tạo thư mục, xoá thư mục, đổi tên.
• Ứng dụng các hàm đã được tích hợp sẵn trong API về
quản lý file, thư mục để xây dựng các chức năng của
chương trình.
• Tổng hợp các chức năng lại với nhau để xây dựng một
chương trình quản lý file, thư mục hoàn chỉnh.
www.themegallery.com
Tên
đề tài …………………
8/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 3:TRIỂN KHAI VÀ ĐÁNH GIÁ
Xây dựng chương trình mô phỏng Explorer của
Windows.
Môi trường triển khai
• Hệ điều hành window
• Công cụ lập trình Dev C++
• Ngôn ngữ lập trình C++
www.themegallery.com
Tên
đề tài …………………
9/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 3:TRIỂN KHAI VÀ ĐÁNH GIÁ
Chạy chương trình
www.themegallery.com
Tên
đề tài …………………
10/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 3:TRIỂN KHAI VÀ ĐÁNH GIÁ
Kết quả
www.themegallery.com
Tên
đề tài …………………
11/40
PHẦN HDH: Tìm hiểu các lời gọi hệ thống (System Calls)
CHƯƠNG 3:TRIỂN KHAI VÀ ĐÁNH GIÁ
Đánh giá và nhận xét
• Chương trình đảm bảo các yêu cầu về chức năng mà đề
bài đặt ra.
• Hạn chế: chỉ thực hiện trên console, không có giao
diện.
www.themegallery.com
Tên
đề tài …………………
12/40
PHẦN HDH: Tìm hiểu hệ thống File trong Hệ điều hành
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Kết luận:
• Đã hiểu rõ được định nghĩa về System Calls (lời gọi hệ
thống) và áp dụng thư viện Win32 API vào xây dựng
chương trình.
• Tìm hiểu được cơ chế của các lời gọi hệ thống System
Calls.
• Hiểu rõ bản chất của các lời gọi hàm quản lý file, thư
mục.
www.themegallery.com
Tên
đề tài …………………
13/40
PHẦN HDH: Tìm hiểu hệ thống File trong Hệ điều hành
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Hướng phát triển
• Xây dựng thêm nhiều chức năng khác về quản lý file, thư mục.
Cải thiện giao diện thân thiện hơn với người dùng.
• Xây dựng nên một phần mềm tương tự Windows Explorer.
www.themegallery.com
Tên
đề tài …………………
14/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1. Giao thức TCP/IP
www.themegallery.com
Tên
đề tài …………………
15/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Mô hình Client-Server
.
www.themegallery.com
Tên
đề tài …………………
16/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Socket là một đầu cuối của một sự truyền thông hai chiều, liên kết
giữa hai chương trình chạy trên mạng.
Nó được gắn với một số hiệu cổng (port), vì thế tầng giao vận có
thể nhận biết ứng dụng mà dữ liệu được chuyển đến.
Socket cho phép thực hiện các hoạt động sau:
•
•
•
•
•
•
•
Kết nối đến máy ở xa
Gửi dữ liệu
Nhận dữ liệu
Đóng kết nối
Gắn với một cổng
Lắng nghe dữ liệu đến
Chấp nhận kết nối từ máy ở xa trên cổng đã được gắn.
.
www.themegallery.com
Tên
đề tài …………………
17/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
.
Sử dụng Socket trong mô hình Client-Server:
Client gửi yêu cầu đến Server
Server đồng ý kết nối và lắng nghe
www.themegallery.com
Tên
đề tài …………………
18/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
Mô hình truyền tin Socket
www.themegallery.com
Tên
đề tài …………………
19/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Phân tích yêu cầu: Sử dụng Socket trong Java xây dựng chương trình chat qua
mạng LAN
Xây dựng chương trình Server
Tạo một TCP Socket và gắn vào một cổng
Xây dựng một chương trình Server đa tuyến để cho phép nhiều Client kết nối tới
Server. Mỗi tuyến đảm bảo liên lạc với Client.
Chờ lắng nghe yêu cầu kết nối từ Client.
Chấp nhận kết nối và nhận Socket tương ứng.
Truyền nhận thông tin qua các luồng nhận, gửi dữ liệu của socket.
Khi một user login vào Server thì server sẽ cập nhật user đó và gửi tới Client
đang kết nối.
Khi một user logout ra khỏi Server thì Server hiện thông báo user đó đã logout và
gửi tới Client.
Đóng kết nối.
www.themegallery.com
Tên
đề tài …………………
20/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Xây dựng chương trình Client
Tạo một TCP Socket với địa chỉ IP và số cổng mà chương trình Server đang chạy
Thiết lập kết nối tới Server
Trao đổi dữ liệu với Server
Cập nhật các user khác vào login/logout
Gửi/ nhận thông điệp tới tất cả mọi người có trong phòng chat
Đóng kết nối
www.themegallery.com
Tên
đề tài …………………
21/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Sử dụng thread trong mô hình Client-Server
Để cho phép nhiều Client có thể kết nối đến server thì server phải là chương trình đa
tuyến.
Mỗi tuyến (thread) đảm nhận việc liên lạc với client. Nghĩa là khi có một client kết
nối đến, chương trình server sinh ra một tuyến (thread) để điều khiển việc truyền
thông với client.
www.themegallery.com
Tên
đề tài …………………
22/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Sử dụng thread trong mô hình Client-Server
www.themegallery.com
Tên
đề tài …………………
23/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
Môi trường triển khai:
Ứng dụng được viết bằng ngôn ngữ lập trình Java sử dụng Socket TCP, công cụ hỗ
trợ lập trình là Eclipse, Netbean tương thích các phiên bản HĐH Windows.
www.themegallery.com
Tên
đề tài …………………
24/40
PHẦN LẬP TRÌNH MẠNG
CHƯƠNG 3: TRIỂN KHAI VÀ ĐÁNH GIÁ KẾT QUẢ
Chương trình demo
Khởi động Server
www.themegallery.com
Tên
đề tài …………………
25/40