1 / 21

Linux kernel

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.

kathy
Download Presentation

Linux kernel

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. R.M. Tổng quan về Linux Linux kernel

  2. 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

  3. 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

  4. Kiến trúc Linux • Linux distro vs Linux kernel

  5. 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

  6. Kiến trúc Linux • Các thành phần của Linux

  7. Kiến trúc Linux • Thành phần định thời

  8. Kiến trúc Linux • Thành phần hệ thống file

  9. Kiến trúc Linux • Thành phần Networking

  10. Kiến trúc Linux • Thành phần Driver

  11. 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

  12. Lập trình Linux Applications System Programming API FS Network Process I/O • 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

  13. 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; }

  14. Lập trình Linux Memory module_init() insmod Hoạt động của module module_exit() rmmod • Lập trình kernel module • Framework

  15. 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

  16. 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

  17. Các vấn đề đang quan tâm* • 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 * Bộ định thời hiện tại chưa tối ưu * Cpu rãnh

  18. Các vấn đề đang quan tâm* • 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 Virtual keyboard Real keyboard Network Virtual projector Real projector

  19. 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

  20. Các vấn đề đang quan tâm* • Thin client • Client không cần đĩa cứng

  21. Cám ơn

More Related