Thông tin tài liệu
DANH SÁCH CHUYÊN ĐỀ MÔN NGUYÊN LÝ HỆ ĐIỀU HÀNH Ghi chú: Các chuyên đề tập sử dụng để đánh giá điểm kỳ M i sinh viên ch n th c hi n chuyên đề cá v u i cu i n h c Nên sử dụng c i đ t áy V dụ VMWare, Virtual x…) D STT Đ C i đ t, sử dụng h điều h nh CentOS - C i đ t h điều h nh CentOS áy - C i đ t d ch vụ c nc ah điều h nh ng - C i đ t ph n ề the cách gia di n đ h a, câu l nh Shell, iên d ch ) a e, - C i đ t h điều h nh Ubuntu dụng h điều h nh Desktop áy ) - C i đ t d ch vụ c nc ah điều h nh es t p Open Office, g ti ng Vi t, f nt…) - C i đ t ph n ề the cách gia di n đ h a, câu l nh Shell, iên d ch a e, a e install) C i đ t, sử - C i đ t h điều h nh Ubuntu Server dụng h điều h nh áy ) - C i đ t d ch vụ c Ubuntu Server điều h nh ng - C i đ t ph n ề nc ah the cách gia điều h nh c i đ t th c t a e install) C i đ t, sử Ubuntu Desktop - h c - áy file age) file c i đ t h điều h nh SO…) ph n ề liên quan - ile w rd cá t ng hợp di n đ h a, câu l nh Shell, iên d ch C i đ t, sử dụng h điều h nh Fedora a e, a e install) - C i đ t h điều h nh Fedora áy ) - C i đ t d ch vụ c nc ah điều h nh ng - C i đ t ph n ề the cách gia di n đ h a, câu l nh Shell, iên d ch a e, a e install) C i đ t, sử - C i đ t h điều h nh Hacao dụng h điều h nh Hacao áy ) - C i đ t d ch vụ c nc ah điều h nh es t p Open Office, g ti ng Vi t, f nt…) - C i đ t ph n ề the cách gia di n đ h a, câu l nh Shell, iên d ch a e, a e install) C i đ t, sử dụng h điều h nh Super Ubuntu - C i đ t h điều h nh Super Ubuntu áy ) - C i đ t d ch vụ c nc ah điều h nh - C i đ t ph n ề the cách gia di n đ h a, câu l nh Shell, iên d ch a e, a e install) C i đ t, sử dụng h - C i đ t h điều h nh CentOS áy ) điều h nh - C i đ t d ch vụ c nc ah Back Track điều h nh ng - C i đ t ph n ề the cách gia di n đ h a, câu l nh Shell, iên d ch C i đ t, sử dụng h a e, a e install) - C i đ t h điều h nh Debian áy ) điều h nh - C i đ t d ch vụ c điều h nh Debian nc ah ng - C i đ t ph n ề the cách gia di n đ h a, câu l nh Shell, iên d ch a e, a e install) 10 C i đ t, sử - C i đ t h điều h nh Android dụng h điều h nh áy ) - C i đ t d ch vụ c Android điều h nh Android - C i đ t ph n ề Android C i đ t, sử dụng h điều h nh Puppy - C i đ t h điều h nh Puppy áy ) - C i đ t d ch vụ c nc ah điều h nh Puppy - C i đ t ph n ề nc ah the cách gia di n đ h a, câu l nh Shell, iên d ch a e, a e install) CÁC CHUYÊN ĐỀ IÊN (Ph n n y để tha Phần Hệ UAN h ) u hành họ Linux Yêu cầu: Phân t ch phư ng pháp, ỹ thuật mơ t thuật tốn sử dụng Các chuyên đề cụ thể c n ph i phân t ch mã ngu n (trừ chuyên đề 1) C T ng quan sử dụng - T ng quan h điều hành Linux - T ng quan - Tập l nh Shell i trường lập trình linux kernel Ki n thức t ng quan linux kernel - Các thành ph n c a kernel - Kernel modules - Build debug linux kernel Qu n lý memory - Address architect, address space - Virtual memory, memory mapping - Paging, switching, caching Qu n lý process - Process, kernel thread - Context switch scheduling - Interrupts, signals exceptions Kernel services, timer, Synchronization - System calls - Signals and interrupts - /proc file system - /sysfs file system - Kernel timmer, hardware clocks - IPC (inter-process communication) Linux Filesystems Networking - Virtual filesystem (VFS) - LVM RAID - Journaling file system (JFS) - Linux TCP/IP stack - Netfilter Linux Security - User Authentication - Data encryption: Disk encrytion filesystem-lever encryption dmcrypt + LUKS Truecrypt - Network security - Packet filtering Packet filtering Packet filtering Linux Filter table NAT table Iptables Snort - NSA security-enhanced linux (SE linux) Lập trình an toàn - T ng quan l h ng an ninh lập trình - Các l h ng xử lý s nguyên: Value truncation, Signed unsigned mixing Interger overflow underflow - L h ng buffer overflow: Qu n lý b nhớ c a ti n trình - Stack overflow: ví dụ, kỹ thuật khai thác Heap overflow: ví dụ, kỹ thuật khai thác L h ng sử dụng FormatString Ho t đ ng c a hàm format string L h ng Khai thác - Các l h ng memory corruption (ngoài l h ng buffer overflow) - Cách phòng tránh l h ng Kiểm thử l h ng kernel - L h ng kernel linux Fuzzing Các công cụ kiểm thử Patch - Lab 10 Nguyên lý th c nghi m Vi t hóa Ubuntu - Tìm hiểu kỹ thuật vi t hóa Ubuntu - Th c nghi m Phần Hệ u hành Android 11 Cấu trúc, c i đ t, sử dụng H điều hành Android - Phân tích cấu trúc Android C i đ t Android mobile ho c thi t b mô Các mô-đun v sử dụng qu n lý ti n trình, qu n lý b nhớ, qu n lý chư ng trình… 12 Biên d ch nhân Android - Tìm hiểu cấu trúc, phân tích mã ngu n nhân Android (chính nhân Linux) - Biên d ch l i nhân Android cho thi t b di đ ng - Vấn đề n p nhân mới… 13 Lập trình Android - Lập trình C/C++ Android Lập trình Java Android Phát triển ứng dụng thử nghi … Phần Hệ u hành iOS 14 Cấu trúc, c i đ t, sử dụng H điều hành iOS - Phân tích cấu trúc iOS C i đ t iOS mobile ho c thi t b mô Các mô-đun v sử dụng qu n lý ti n trình, qu n lý b nhớ, qu n lý chư ng trình… 15 Lập trình Objective-C iOS - Cơng cụ v i trường lập trình Objective-C iOS Phát triển ứng dụng thử nghi … Phần Hệ u hành họ Windows 16 Cấu trúc, c i đ t, sử dụng H điều hành Windows XP - - Phân tích cấu trúc Windows XP Các mơ-đun v sử dụng qu n lý ti n trình, qu n lý b nhớ, qu n lý chư ng trình… - Vấn đề backup, restore - Firewall c a Windows XP 17 Cấu trúc, c i đ t, sử dụng H điều hành Windows - Phân tích cấu trúc Windows - Các mô-đun v sử dụng qu n lý ti n trình, qu n lý b nhớ, qu n lý chư ng trình… - Vấn đề backup, restore - Firewall c a Windows 18 Cấu trúc, c i đ t, sử dụng H điều hành Windows - Phân tích cấu trúc Windows - Các mô-đun v sử dụng qu n lý ti n trình, qu n lý b nhớ, qu n lý chư ng trình… - Vấn đề backup, restore - Firewall c a Windows 19 Cấu trúc, c i đ t, sử dụng H điều hành WindowsPhone - Phân tích cấu trúc WindowsPhone - C i đ t WindowsPhone mobile ho c thi t b mô - Các mô-đun v sử dụng qu n lý ti n trình, qu n lý b nhớ, qu n lý chư ng trình… - Backup, restore WindowsPhone 20 Lập trình Registry windows XP - Cấu trúc Registry WindowsXP Vấn đề sửa đ i Registry - Lập trình can thi p Registry 21 Lập trình Registry windows - Cấu trúc Registry Windows - Vấn đề sửa đ i Registry - Lập trình can thi p Registry 22 Lập trình Registry windows - Cấu trúc Registry Windows - Vấn đề sửa đ i Registry - Lập trình can thi p Registry 23 Thư vi n liên k t đ ng (dll) lập trình API Windows XP - Phân tích cấu trúc dll Lập trình sử dụng dll thơng qua API - Phát triển ứng dụng thử nghi m 24 Thư vi n liên k t đ ng (dll) lập trình API Windows - - Phân tích cấu trúc dll Lập trình sử dụng dll thơng qua API Phát triển ứng dụng thử nghi m 25 Thư vi n liên k t đ ng (dll) lập trình API Windows - Phân tích cấu trúc dll - Lập trình sử dụng dll thơng qua API - Phát triển ứng dụng thử nghi m 26 Lập trình WindowsPhone - - Công cụ v i trường lập trình Ngơn ngữ lập trình Phát triển ứng dụng thử nghi m Phần Các hệ 27 u hành khác điều h nh thời gian th c COs Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an toàn - Phát triển tích hợp ph n mềm 28 điều h nh thời gian th c eCOS - Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an tồn - Phát triển tích hợp ph n mềm 29 điều h nh thi t di đ ng Sy ian - Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an tồn - Phát triển tích hợp ph n mềm 30 điều h nh thi t di đ ng P M OS - Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an toàn - Phát triển tích hợp ph n mềm 31 Damn Small Linux - Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an toàn - Phát triển tích hợp ph n mềm 32 Puppy Linux - Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an tồn - Phát triển tích hợp ph n mềm 33 CentOS - - - Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an toàn Phát triển tích hợp ph n mềm 34 H điều h nh Đ Meeg US Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an toàn - Phát triển tích hợp ph n mềm 35 Windows ch y USB - - Cấu trúc, c i đ t sử dụng - Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an toàn - Phát triển tích hợp ph n mềm 36 Prayaya - h điều hành o USB - Cấu trúc, c i đ t sử dụng Các vấn đề: qu n lý ti n trình, qu n lý b nhớ, qu n lý vào ra, vấn đề an toàn Phát triển tích hợp ph n mềm Phần Bài tập lập trình (Các tập lập trình khơng làm theo nhóm) Đ u phối ti n trình: Bài VCT xác đ nh k t qu điều ph i ti n trình & thời gian chờ trung bình theo thuật tốn FCFS, với tập ti n trình c n xử lý mô t tr ng file văn n INPUT.TXT theo d ng: ti n trình thứ K có thời điểm vào thời gian xử lý s ngun dòng K Ví dụ, nội dung file văn là: 24 13 23 có tiến trình cần xử lý, tiến trình P1 có thời điểm vào & thời gian xử lý 24, tương tự tiến trình P2 có thời điểm vào P3 – hai có thời gian xử lý Bài VCT xác đ nh k t qu điều ph i ti n trình & thời gian chờ trung bình theo thuật tốn Round Robin, Tập ti n trình c n xử lý mô t tr ng file văn n INPUT.TXT theo d ng – riêng dòng cu i c a file lưu giá tr quantum Bài VCT xác đ nh k t qu điều ph i ti n trình & thời gian chờ trung bình theo thuật t án điều ph i SJ đ c quyền v h ng đ c quyền Tập ti n trình c n xử lý mơ t tr ng file văn n INPUT.TXT theo d ng câu Bài VCT xác đ nh k t qu điều ph i ti n trình & thời gian chờ trung bình theo thuật t án điều ph i với đ ưu tiên đ c quyền với tập ti n trình c n xử lý mô t file văn n INPUT.TXT theo d ng tư ng t câu – i dòng có s s thứ a l đ ưu tiên c a ti n trình tư ng ứng Bài Xét ti n trình A, B, C liên tục xuất ký t „ ‟, „ ‟, ‟C‟ t i dòng 1, 2, (khi xuất tới cu i dòng xóa c dòng xuất l i đ u dòng) Hãy xây d ng h th ng gi lập điều ph i ti n trình theo thuật tốn RR, bi t thời điể v tư ng ứng c a ti n trình 0, 10, 20 kho ng thời gian quantum s ký t xuất c a ti n trình tư ng ứng 1, 2, Liên lạc ti n trình: Bài T ti n trình Ti n trình thứ đ c từ file nhiều chu i liên ti p, i chu i g phép t án +, -, *, / v hai t án h ng V dụ tr ng file lưu chu i d ng sau 2+3 -2 *6 15 / Sau ti n trình thứ truyền chu i li u n y ch ti n trình thứ hai Ti n trình thứ hai th c hi n t nh t án v tr chu i t qu l i ch ti n trình đ u tiên để ghi l i v file sau: 2+3 =5 - = -1 * = 24 15 / =5 Th c hi n i t án dùng essage queue để giao ti p giứa trình Qu n lý b nhớ: Bài Xây d ng chư ng trình tr c quan vi c cấp phát liên ti p với phân vùng c đ nh sử dụng nhiều h ng đợi S phân vùng, ch thước phân vùng t thi t k cho phù hợp; ti n trình v ch thước tư ng ứng phát sinh ngẫu nhiên (và thời điểm gi i phóng random cho hợp lý) Bài Tư ng t với phân vùng c đ nh sử dụng m t h ng đợi Bài Tư ng t với phân vùng đ ng & thuật toán First – fit Bài 10 Tư ng t với phân vùng đ ng & thuật toán Best – fit Đồng b : (Semaphore) Bài 11 Vi t chư ng trình gi i quy t tốn tri t gia ăn t i Chư ng trình ph i t o q trình mơ ho t đ ng c a tri t gia ùng se aph re để đ ng b ho t đ ng c a tri t gia Bài 12 Bài toán T o phân tử H2O Đ ng h t đ ng c a t phòng th nghi sử dụng nhiều ti n trình đ ng h nh sau để t phân tử 2O: MakeH() // M i ti n trình Ma e t nguyên tử { Make-Hydro(); } MakeO() // M i ti n trình Ma eO t nguyên tử O { Make-Oxy(); } MakeWater() /* Ti n trình Ma eWater h t đ ng đ ng h nh với ti n trình Ma e , Ma eO, chờ có đ v O để t 2O */ { while (T) Make-Water ) //T phân tử 2O } Bài 13 Bài toán Cây c u cũ Để tránh sụp đ , người ta có ch phép t i đa xe lưu th ng đ ng thời qua t c u cũ ãy xây d ng th tục ArriveBridge(int direction) ExitBridge() iể s át gia th ng c u sa ch T i i thời điể , ch phép t i đa xe lưu th ng c u T i i thời điể , ch phép t i đa xe lưuth ng hướng c u M i chi c xe hi đ n đ u c u g i ArriveBridge(direction) để iể tra điều i n lên c u, v hi qua c u g i ExitBridge() để hi u t thúc Gi sử h t đ ng c a i chi c xe t ằng t ti n trình Car() sau Car(int direction) /* direction xác đ nh hướng di chuyển c a i chi c xe.*/ { RuntoBridge ) // Đi ph a c u ArriveBridge(direction); Pass ridge ) // Qua c u Exit Bridge(); Runfr ridge ) // Đã qua c u } Bài 14 Bài tốn Qua sơng Để vượt qua s ng, nhân viên Micr s f v Linux hac er sử dụng t n s ng v ph i chia sẻ t s thuyền đ c i t M i chi c thuyền n y ch phép chở l n người, v ph i có đ người ới hởi h nh Để đ an t n ch c ph a, c n tuân th luật sau a Kh ng chấp nhận nhân viên Micr s ft v Linux hac er t chi c thuyền Ngược l i, h ng chấp nhận Linux hac er v nhân viên Micr s ft t chi c thuyền c Tất c trường hợp t hợp hác hợp pháp d Thuyền hởih nh hi có đ h nh hách C n xây d ng th tục HackerArrives() EmployeeArrives() g i tư ng ứng ởi hac er h c nhân viên hi h đ n s ng để iể tra điều i n có ch phép h xu ng thuyền h ng ? Các th tục n y x p người th ch hợp lên thuyền Những người lên thuyền hi thuyền chưa đ y ph i chờ đ n hi người thứ xu ng thuyền ới hởi h nh qua s ng Kh ng quan tâ đ n s lư ng thuyền hay vi c thuyền qua s ng r i trở l i…Xe lu n có thuyền để x p the yêu c u hợp l ) Gi sử h t đ ng c a i hac er t ằng t ti n trình Hacker() sau Hacker() { Runt River ) // Đi đ n s ng HackerArrives (); // Kiể tra điều i n xu ng thuyền Cr ssRiver ) // Khởi h nh qua s ng } v h t đ ng c a i nhân viên t ằng t ti n trình Employee() sau Employee() { Runt River ) // Đi đ n s ng EmployeeArrives (); // Kiể tra điều i n xu ng thuyền Cr ssRiver ) // Khởi h nh qua s ng } Bài 15 i t án Điều ph i hành khách xe bus ãy tưởng tượng n ch u trách nhi iể s át h nh hách lên xe us t i t tr dừng M i xe us có đ ch ch 10 h nh hách Tr ng ch d nh ch hách ng i xe lăn, ch l i d nh ch hách ình thường C ng vi c c a n l ch hách lên xe the qui đ nh ch , hi xe đ y hách hởi h nh Có thể có nhiều xe v nhiều h nh hách v n lúc, nguyên tắc điều ph i x p hách v đ y t xe, ch xe n y hởi h nh r i ới điều ph i ch xe hác Gi sử h t đ ng điều ph i hách c a n ch chi c xe us t qua ti n trình GetPassengers() h t đ ng c a i h nh hách tùy l i t l n lượt ằng ti n trình WheelPassenger() NonWheelPassenger() sau , sửa chữa đ n c de, sử dụng c ch se aph re để th c hi n nguyên tắc đ ng h c n thi t GetPassenger() { ArriveTerminal() // ti p nhận t xe v n Open r ) // cửa xe, th tục n y xe có f r int i=0 i
Ngày đăng: 20/11/2019, 18:53
Xem thêm: DANH SÁCH CHUYÊN ĐỀ MÔN NGUYÊN LÝ HỆ ĐIỀU HÀNH