1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo nhóm bài tập dài môn hệ điều hành đề tài caltrain automation

16 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 16
Dung lượng 211,54 KB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ - VIỄN THƠNG Báo cáo nhóm tập dài mơn Hệ Điều Hành Đề tài: Caltrain Automation Giáo viên hướng dẫn: TS Phạm Văn Tiến Sinh viên thực hiện: Tên MSSV Lớp Phạm Hải Anh 20182358 ĐTVT.02-K63 Hà Nội, 05-2021 MỤC LỤC Lời nói đầu I Mô tả mục tiêu, phương pháp, cách triển khai mã nguồn 1.1 Mục tiêu hướng tới .4 1.2 Phương pháp giải 1.3 Cách triển khai mã nguồn .5 II Công việc thực 2.1 Mô tả mã nguồn cho hàm station_init() 2.2 Mô tả mã nguồn cho hàm station_load_train() III Kết thu .8 IV Tài liệu tham khảo Danh mục hình vẽ Hình 1: Kết hàm station_init Hình 2: Kết hàm station_load_train Lời nói đầu Hệ điều hành (Operating System - OS) phần mềm hệ thống quản lý phần cứng máy tính, tài nguyên phần mềm cung cấp dịch vụ chung cho chương trình máy tính Hệ điều hành đóng vai trò trung gian việc giao tiếp người sử dụng phần cứng máy tính, cung cấp môi trường cho phép người sử dụng phát triển thực ứng dụng họ cách dễ dàng Hệ điều hành chia sẻ thời gian lập lịch cho tác vụ để sử dụng hệ thống cách hiệu bao gồm phần mềm kế tốn để phân bổ chi phí thời gian xử lý, lưu trữ dung lượng lớn, in ấn tài nguyên khác Hệ điều hành trước sau ln ln giữu vai trị qua trọng thời đại công nghệ Được hướng dẫn thầy Phạm Văn Tiến, nhóm em tìm hiểu hệ điều hành pintos chọn đề tài Caltrain Automation để làm đề tài nghiên cứu cho tập lớn Chúng em xin chân thành cảm ơn hướng dẫn, dạy tận tình thầy giúp chúng em hoàn thành tập lớn lần I Mô tả mục tiêu, phương pháp, cách triển khai mã nguồn 1.1 Mục tiêu hướng tới Tự động hóa dần trở thành xu hướng thời đại Ngành công nghiệp đường sắt khơng nằm ngồi xu hướng Việc tự động hóa tàu có nhiều thành tựu với nhiều cấp độ điều khiển khác Ở tập tiến hành tự động hóa qua trình tàu dừng đón hành khách ga tàu Để tối ưu hóa suất thời gian cần phải tự động hóa hành khách lên chuyến tàu Cụ thể, hành khách coi người máy Mỗi chuyến tàu người máy lúc kết nối điều khiển luồng Lúc này, mục đích hướng ta hướng tới phải thiết kế, lập trình cho tiến trình phải đồng hóa với để qua trình tàu đón khách ga đầy đủ tiến trình : tàu dừng cho khách lên, hành khách lên tàu hành khách ngồi vào chỗ trống sau lên tàu Trong trình chạy cần phải thỏa mãn điều kiện để tối ưu 1.2 Phương pháp giải Để có đạt mục tiêu cần phải có chức tối ưu nhất, gần khơng có sai sót đáp ứng yêu cầu đề Chúng ta cần nắm chắc, nghiên cứu rõ giai đoạn chuyến tàu, xác định xác cơng việc giai đoạn Sau thời gian thảo luận, nhóm em định lựa chọn ngơn ngữ lập trình C, biên dịch “a test framework” người đề tài cung cấp chạy thông qua Terminal hệ điều hành Ubuntu 18.04 để thực tốt project “Clatrain Automation” Cấu trúc, hàm chức giai đoạn:  Đoàn tàu đến ga mở cửa: station_load_train (struct station * station, int Count)  Hàm dùng để điều khiển tàu tham chiếu tới struct station gồm giá trị ghế trống, hành khách đợi ga, hành khách lên tàu biến điều kiện khác, tham số count số ghể trống.Khi thỏa mãn điều kiện hành khách đợi ga > ghể trống tàu > Khi tàu dừng thông báo cho tất hành khách đợi ga để lên tàu Hàm chạy tàu ga hồn tất q trình khách lên tàu  Khi hành khách đến ga tàu: station_wait_for_train(struct station *station)  Hàm kiểm soát khách chờ đợi lên tàu, kiểm tra xem tàu có đủ điều kiện đón khách hay khơng Hàm hoạt động có tàu ga có chỗ trơng tàu Nếu hành khách lên đầy tàu tàu hết ghế trống hành khách cịn lại phải dừng việc lên tàu đợi tàu khác đến Trong trình lên tàu cập nhật lại số hành khách đợi ga số hành khách lên tàu  Khi hành khách lên tàu ngồi vào chỗ: station_on_board(struct station *station)  Hàm thực trình thực cho hành khach ngồi vào chỗ cập nhật lại hành khách tàu ghế trống Nếu ghể trống tàu hết hành khách ngồi hết vào chỗ thông báo tất hành khách ngồi vào chỗ thành công để tàu bắt đàu chạy, 1.3 Cách triển khai mã nguồn Sau xác định toàn chức vấn đề đặt ra, nhóm em xếp sử dụng ngơn ngữ lập trình C để tạo thành chương trình hồn chỉnh đưa vào sử dụng Chương trình C hồn chỉnh biên dịch “a test framework” có sẵn người đề tài cung cấp chạy thông qua Termial hệ điều hành Ubuntu 18.04 Kết cuối hiển thị hình giao diện Terminal II Công việc thực Sau trình trao đổi thảo luận, nhóm em thống đưa công việc nhân Bản thân em làm nhiệm vụ viết hàm khởi tạo station_init() station_load_train() Các hàm viết ngơn ngữ C, hồn chỉnh với phần code khác biên dịch “a test framework” có sẵn người đề tài cung cấp, chạy thông qua Termial hệ điều hành Ubuntu 18.04 Kết cuối hiển thị hình giao diện Terminal báo cáo nhóm Sau mô tả mã nguồn cho hàm mà em viết 2.1 Mô tả mã nguồn cho hàm station_init() Hàm station_init() khởi tạo giá trị ban đầu cho cấu trúc station Số lượng ghế trống, hành khách đợi ga, hành khách lên tàu có giá trị ban đầu Các hàm lock_init, cond_init dùng để khởi tạo giá trị ban đầu cho khóa lock biến điều kiên Tau_den , Tat_ca_hk_len_tau Hình 1: Kết hàm station_init 10 2.2 Mơ tả mã nguồn cho hàm station_load_train() Luồng điều khiển hàm station_load_train() thực lấy khóa cách gọi hàm lock_acquire() tiếp tục thực thi hàm, luồng điều khiển hàm khác phải dừng thực thi Count biến số lượng ghế trống tàu có tàu đến ga Khi thỏa mãn điều kiện có hành khách đợi ga ( station -> hk_doi_o_ga > 0) ghế trống tàu ( station -> ghe_trong > ) thực hiên cho tất hành khách bắt đầu lên tàu phải chờ tất hành khách lên tàu ngồi vào chỗ thành công Sau tàu rời đi, ghe_trong trở để bắt đầu trình Luồng điều kiên nhả khóa cách gọi hàm lock_release() đê cho luồng khác thực thi 11 Hình 2: Kết hàm station_load_train III Kết thu Các hàm chạy đưa kết giống mong muốn nhóm Trong trình tìm hiểu thực tập lớn, em tiếp cận với lập trình đa luồng để áp dụng kiến thức học lớp Em hi vọng nhận đóng góp thầy để tối ưu hóa mã nguồn 12 IV Tài liệu tham khảo [1] https://cseweb.ucsd.edu/ [2] https://web.stanford.edu/ Link Github nhóm: https://github.com/nguyentuanhung2557phamhaianh2358/pintosproject? fbclid=IwAR0_zinqT4_VoGZ7dIvjcKVUzXnV4ZMklID0Tz5ucAC62vTIFxQ7GABz4 T0 13 14 15 ... Hệ điều hành trước sau ln ln giữu vai trị qua trọng thời đại công nghệ Được hướng dẫn thầy Phạm Văn Tiến, nhóm em tìm hiểu hệ điều hành pintos chọn đề tài Caltrain Automation để làm đề tài nghiên... dịch “a test framework” có sẵn người đề tài cung cấp, chạy thông qua Termial hệ điều hành Ubuntu 18.04 Kết cuối hiển thị hình giao diện Terminal báo cáo nhóm Sau mô tả mã nguồn cho hàm mà em... Hệ điều hành chia sẻ thời gian lập lịch cho tác vụ để sử dụng hệ thống cách hiệu bao gồm phần mềm kế tốn để phân bổ chi phí thời gian xử lý, lưu trữ dung lượng lớn, in ấn tài nguyên khác Hệ điều

Ngày đăng: 29/12/2021, 10:14

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w