linux kernel

21
26-Sep-08 1 Ho Chi Minh city University of Technology Ho Chi Minh city University of Technology Linux kernel R.M. Tổng quan về Linux

Upload: kathy

Post on 16-Jan-2016

94 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: Linux kernel

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

Page 2: Linux kernel

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

Page 3: Linux kernel

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

Page 4: Linux kernel

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

Page 5: Linux kernel

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

Page 6: Linux kernel

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

Page 7: Linux kernel

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

Page 8: Linux kernel

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

Page 9: Linux kernel

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

Page 10: Linux kernel

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

Page 11: Linux kernel

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

Page 12: Linux 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

Page 13: Linux kernel

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;

}

Page 14: Linux kernel

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

Page 15: Linux kernel

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

Page 16: Linux kernel

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

Page 17: Linux kernel

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

Page 18: Linux kernel

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

Page 19: Linux kernel

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

Page 20: Linux kernel

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

Page 21: Linux kernel

26-Sep-08 21Ho Chi Minh city University of TechnologyHo Chi Minh city University of Technology

Cám ơn