Bài project nguyên lý hệ điều hành ct178 ct104 cit bài này khó đó mua đi chứ học giỏi lắm mới làm đc lúc tui làm 1 tuần mới xong á nên bên nên mua đi không mua khó mà làm lắm lằm này nộp mới có hi vọng qua môn chứ đề thi nó chua lè á, bán trên đây đc 100k à chứ định bán 200k á còn mướn tui làm thì 350k nhá tui có để thêm file .rar đủ code tới cách làm lun lúc đc 1010 á chúc các bạn may mắn nhá
TRƯỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG BÁO CÁO PROJECT NGUYÊN LÝ HỆ ĐIỀU HÀNH HỌC KÌ I 2021-2022 Sinh Viên Thực Hiện: Họ & Tên MSSV: Mail aCT178 – Nguyên lý hệ điều hành MỤC LỤC aCT178 – Nguyên lý hệ điều hành aCT178 – Nguyên lý hệ điều hành HỌ VÀ TÊN: MSSV: Tuyên bố: Project tơi, (MSSV: ), tự thực khơng chép Nếu có chép nào, tơi hồn tồn chịu trách nhiệm PHẦN 1: XÂY DỰNG LINUX KERNEL Thực chế độ người dùng root (root user) $su A CHUẨN BỊ LINUX KERNEL CODE Download cài đặt tool cần thiết vào hệ thống #sudo apt-get install -y gcc libncurses5-dev make wget Hình 1: #sudo apt-get install -y gcc libncurses5-dev make wget # sudo apt-get install -y gcc libssl-dev aCT178 – Nguyên lý hệ điều hành Hình 2: # sudo apt-get install -y gcc libssl-dev #sudo apt-get install bison Hình 3: #sudo apt-get install bison #sudo apt-get install flex aCT178 – Nguyên lý hệ điều hành Hình 4: #sudo apt-get install flex Xác định phiên kernel: # uname –r Hình 5: # uname –r Truy cập http://kernel.org https://cdn.kernel.org/pub/linux/kernel/ download source code kerenl Kế tiếp, download kernel 5.9 giải nén source code: # wget http://www.kernel.org/pub/linux/kernel/v5.x/linux-5.9.tar.gz aCT178 – Nguyên lý hệ điều hành Hình 6: # wget http://www.kernel.org/pub/linux/kernel/v5.x/linux-5.9.tar.gz Giải nén Hình 7: # tar xvzf linux-5.9.tar.gz aCT178 – Nguyên lý hệ điều hành B CẤU HÌNH KERNEL MỚI Đảm bảo đường dẫn ~/linux-5.9 “linux-5.9” top directory kernel source #cd linux-5.9 Hình 8: #cd linux-5.9 Tạo file cấu hình (config file) - Để sử dụng lệnh “make” chạy lệnh sudo apt-get install make #sudo apt-get install make Hình 9: #sudo apt-get install make # make menuconfig Hình 10: #make menuconfig aCT178 – Nguyên lý hệ điều hành Chú ý, không thay đổi thơng tin Nhấn ESC để save khỏi menu cấu hình (configuration menu) File cấu hình tạo C BIÊN DỊCH KERNEL Chỉnh sửa dịng CONFIG_SYSTEM_TRUSTED_KEYS=” debian/canonical-certs-pem” thành CONFIG_SYSTEM_TRUSTED_KEYS=”” #nano config Hình 11: #nano config Tại ~/linux-5.9, tạo kernel image nén (compressed kernel image) # make –j4 aCT178 – Nguyên lý hệ điều hành Hình 12: # make –j4 Biên dịch kernel modules: # make modules Hình 13: # make modules 10 aCT178 – Nguyên lý hệ điều hành Hình 21: #tar xvzf linux-4.16.3.tar.gz B TẠO LỜI GỌI HỆ THỐNG Định nghĩa lời gọi hệ thống #cd /root/linux-4.16.3 #mkdir hello - Truy cập vào thư mục vừa tạo Hình 22: #mkdir hello #cd hello Hình 23: #nano hello.c Viết chương trình hello.c #nano hello.c Nội dung 14 aCT178 – Nguyên lý hệ điều hành #inlcude asmlinkage long sys_hello(void){ Printk(“xin chao ……”); Return 0; } Hình 24: hello.c Tạo tập tin Makefile #nano Makefile Hình 25: #nano Makefile Chỉnh sửa tập tin Makefile Truy cập thư mục /root/linux-4.16.3/ sửa đổi tập tin Makefile #cd /root/linux4.16.3/ #nano Makefile Thêm “hello/” vào cuối dòng: core-y += kernel/ mm/ fs/ ipc/ security/ crypto/ block/ hello/ 15 aCT178 – Nguyên lý hệ điều hành Hình 26: #cd /root/linux4.16.3/ #nano Makefile Thêm lời gọi hệ thống vào bảng gọi hệ thống Truy cập vào đường dẫn #cd /root/linux-4.16.3/arch/x86/entry/syscalls/ Hình 27: #cd /root/linux-4.16.3/arch/x86/entry/syscalls/ Sau Chỉnh sửa tập tin syscall_64.tbl #nano syscall_64.tbl Thêm dòng sau 548 64 hello sys_hello 16 aCT178 – Nguyên lý hệ điều hành Hình 28: #nano syscall_64.tbl Thêm lời gọi hệ thống sys_hello() vào system call header file #cd /root/linux-4.16.3/include/linux #nano syscalls.h Thêm dòng “asmlinkage long sys_hello(void);” vào trước dòng #endif cuối Hình 29: #nano syscalls.h C BIÊN DỊCH LẠI KERNEL Biên dịch lại Kernel #cd /root/linux-4.16.3/ #make menuconfig Không thay đổi nội dung, nhấn ESC để lưu 17 aCT178 – Ngun lý hệ điều hành Hình 30: #cd /root/linux-4.16.3/ Hình 31: #make menuconfig 18 aCT178 – Nguyên lý hệ điều hành Hình 32: #make menuconfig THAY ĐỔI CONFIG Chỉnh sửa dòng CONFIG_SYSTEM_TRUSTED_KEYS=”” #nano config 19 aCT178 – Nguyên lý hệ điều hành Hình 33: #nano config #make –j4 Hình 34: #make –j4 20 aCT178 – Nguyên lý hệ điều hành Hình 35: #make –j4 Biên dịch modules #make modules Hình 36: #make modules Cài đặt kernel modules #make modules_install 21 aCT178 – Nguyên lý hệ điều hành Hình 37: #make modules_install #make install 22 aCT178 – Nguyên lý hệ điều hành Hình 38: #make install D CHỈNH SỬA CẤU HÌNH GRUB Cấu hình Grub #nano /etc/default/grub GRUB_DEFAULT=0 GRUB_TIMEOUT=25 23 aCT178 – Nguyên lý hệ điều hành Hình 39: #nano /etc/default/grub E REBOOT VM Reboot #reboot Hình 40: #reboot Kiểm tra phiên Chọn kernel linux-4.16.3 #uname -r Hình 41: #uname -r F TẠO LỜI GỌI HỆ THỐNG Kiểm tra lời gọi hệ thống #nano uesrspace.c Hình 42:#nano uesrspace.c 24 aCT178 – Nguyên lý hệ điều hành Nội dung userspace.c Hình 43: uesrspace.c Biên dịch chạy file vừa tạo $gcc userspace.c $./a.out Hình 44: $gcc userspace.c Xem thơng điệp $dmesg Hình 45: $dmesg 25 aCT178 – Nguyên lý hệ điều hành PHẦN 3: ĐỊNH THỜI CPU A SOURCE CODE Tạo file nano dtcpu.c Hình 46: code dtcpu.c B BIÊN DỊCH VÀ CHẠY CHƯƠNG TRÌNH Gcc dtcpu.c Hình 47: Biên dịch Hình 48: Chạy chương trình 26 aCT178 – Nguyên lý hệ điều hành C KẾT QUẢ Hình 49: Kết PHẦN 4: QUẢN LÝ BỘ NHỚ A CODE 27 aCT178 – Nguyên lý hệ điều hành Hình 50: code qlbn.c B BIÊN DỊCH VÀ CHẠY CHƯƠNG TRÌNH Gcc qlbn.c -lm Hình 51: Biên dịch C KẾT QUẢ Hình 52: kết 28 ...aCT178 – Nguyên lý hệ điều hành MỤC LỤC aCT178 – Nguyên lý hệ điều hành aCT178 – Nguyên lý hệ điều hành HỌ VÀ TÊN: MSSV: Tun bố: Project tơi, (MSSV: ), tự thực... Biên dịch Hình 48: Chạy chương trình 26 aCT178 – Nguyên lý hệ điều hành C KẾT QUẢ Hình 49: Kết PHẦN 4: QUẢN LÝ BỘ NHỚ A CODE 27 aCT178 – Nguyên lý hệ điều hành Hình 50: code qlbn.c B BIÊN DỊCH VÀ... nội dung, nhấn ESC để lưu thoát 17 aCT178 – Nguyên lý hệ điều hành Hình 30: #cd /root/linux-4.16.3/ Hình 31: #make menuconfig 18 aCT178 – Nguyên lý hệ điều hành Hình 32: #make menuconfig THAY