linux kernel
DESCRIPTION
R.M. Tổng quan về Linux. Linux kernel. Nội dung. Kiến trúc của Linux Khả năng lập trình trên Linux Các vấn đề đang quan tâm Thảo luận. Kiến trúc Linux. Kiến trúc modular – monolithic Kiến trúc phân lớp FUSE (Filesystem in Userspace) Device driver. Kiến trúc Linux. - PowerPoint PPT PresentationTRANSCRIPT
26-Sep-08 1Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Linux kernel
R.M.
Tổng quan về Linux
26-Sep-08 2Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Nội dung
• Kiến trúc của Linux• Khả năng lập trình trên Linux• Các vấn đề đang quan tâm• Thảo luận
Architecture
Problems
Programming
26-Sep-08 3Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Kiến trúc Linux
• Kiến trúc modular – monolithic– Kiến trúc phân lớp– FUSE (Filesystem in Userspace)– Device driver
26-Sep-08 4Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Kiến trúc Linux
• Linux distro vs Linux kernel
Applications
Libraries
System call
Kernel
Distro
26-Sep-08 5Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Kiến trúc Linux
• Kiến trúc modular – monolithic– So sánh với kiến trúc microkernel– Kiến trúc phân lớp
26-Sep-08 6Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Kiến trúc Linux
• Các thành phần của Linux
26-Sep-08 7Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Kiến trúc Linux
• Thành phần định thời
26-Sep-08 8Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Kiến trúc Linux
• Thành phần hệ thống file
26-Sep-08 9Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Kiến trúc Linux
• Thành phần Networking
26-Sep-08 10Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Kiến trúc Linux
• Thành phần Driver
26-Sep-08 11Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Lập trình Linux
• Lập trình ứng dụng– PHP, Perl, Python,…– Không quan tâm kiến trúc hệ thống bên dưới
• Lập trình ứng dụng hệ thống• Lập trình kernel module
– Device drivers
• Lập trình kernel
26-Sep-08 12Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Lập trình Linux
• Lập trình ứng dụng hệ thống– System calls & glibc– Ioctl– Cần hiểu hệ thống bên dưới
FS
System Programming API
Network Process I/O
Applications
26-Sep-08 13Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Lập trình Linux
• Lập trình ứng dụng hệ thống– Giả lập hoạt động nhấn phím (keypress)
int main() { char buf[64]; char c = 'N'; int ctty; sprintf(buf, "/dev/tty1"); ctty = open(buf, O_RDWR); if (ctty == -1){
printf("Cannot get tty1\n"); return -1;
} ioctl(ctty, TIOCSTI, &c); close(ctty); return 0;
}
26-Sep-08 14Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Lập trình Linux
• Lập trình kernel module– Framework
module_init()
module_exit()
Hoạt động của module
Memory
insmod
rmmod
26-Sep-08 15Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Lập trình Linux
• Lập trình kernel– Chỉnh sửa, thêm code vào kernel– Phải biên dịch lại kernel– Hiểu các mối liên hệ giữa các thành phần– Toàn quyền trong hệ thống– Cần phải cẩn thận
26-Sep-08 16Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Các vấn đề đang quan tâm*
• Bộ định thời• Thiết bị ảo của thiết bị thật• Vấn đề định tuyến trên mạng không dây• Hệ điều hành chuyên dụng• Thin client
26-Sep-08 17Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
• Bộ định thời– Hệ thống đa bộ xử lý– Các quá trình có quan hệ ràng buộc thực thi
Các vấn đề đang quan tâm*
*
*
Bộ định thời hiện tại chưa tối ưu
Cpu rãnh
26-Sep-08 18Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
• Thiết bị ảo của thiết bị thật– Sử dụng các tài nguyên thiết bị qua mạng
Các vấn đề đang quan tâm*
NetworkNetwork
Real keyboard
Real projector
Virtual keyboard
Virtual projector
26-Sep-08 19Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Các vấn đề đang quan tâm*
• Hệ điều hành chuyên dụng– Mini kernel
• Xác định cấu hình hệ thống tự động
– Mini distro– Tối ưu hóa cho một hệ thống
26-Sep-08 20Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Các vấn đề đang quan tâm*
• Thin client– Client không cần đĩa cứng
26-Sep-08 21Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology
Cám ơn