You are on page 1of 21

Linux kernel

R.M.
Tng quan v Linux

26-Sep-08

Ho Chi Minh city University of Technology

Ni dung

Kin trc ca Linux


Kh nng lp trnh trn Linux
Cc vn ang quan tm
Tho lun
Architecture

Programming

Problems

26-Sep-08

Ho Chi Minh city University of Technology

Kin trc Linux

Kin trc modular monolithic


Kin trc phn lp
FUSE (Filesystem in Userspace)
Device driver

26-Sep-08

Ho Chi Minh city University of Technology

Kin trc Linux

Linux distro vs Linux kernel


Kernel
System call
Libraries
Applications

Distro

26-Sep-08

Ho Chi Minh city University of Technology

Kin trc Linux

Kin trc modular monolithic


So snh vi kin trc microkernel
Kin trc phn lp

26-Sep-08

Ho Chi Minh city University of Technology

Kin trc Linux

Cc thnh phn ca Linux

26-Sep-08

Ho Chi Minh city University of Technology

Kin trc Linux

Thnh phn nh thi

26-Sep-08

Ho Chi Minh city University of Technology

Kin trc Linux

Thnh phn h thng file

26-Sep-08

Ho Chi Minh city University of Technology

Kin trc Linux

Thnh phn Networking

26-Sep-08

Ho Chi Minh city University of Technology

Kin trc Linux

Thnh phn Driver

26-Sep-08

Ho Chi Minh city University of Technology

Lp trnh Linux

Lp trnh ng dng
PHP, Perl, Python,
Khng quan tm kin trc h thng bn di

Lp trnh ng dng h thng


Lp trnh kernel module
Device drivers

Lp trnh kernel

26-Sep-08

Ho Chi Minh city University of Technology

Lp trnh Linux

Lp trnh ng dng h thng


System calls & glibc
Ioctl
Cn hiu h thng bn di
Applications

System Programming API

FS

26-Sep-08

Network

Process

I/O

Ho Chi Minh city University of Technology

Lp trnh Linux

Lp trnh ng dng h thng


Gi lp hot ng nhn phm (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

Ho Chi Minh city University of Technology

Lp trnh Linux

Lp trnh kernel module


Framework
Memory
insmod

module_init()

Hot ng
ca module

rmmod

26-Sep-08

module_exit()

Ho Chi Minh city University of Technology

Lp trnh Linux

Lp trnh kernel
Chnh sa, thm code vo kernel
Phi bin dch li kernel
Hiu cc mi lin h gia cc thnh phn
Ton quyn trong h thng
Cn phi cn thn

26-Sep-08

Ho Chi Minh city University of Technology

Cc vn ang quan tm*

B nh thi
Thit b o ca thit b tht
Vn nh tuyn trn mng khng dy
H iu hnh chuyn dng
Thin client

26-Sep-08

Ho Chi Minh city University of Technology

Cc vn ang quan tm*

B nh thi
H thng a b x l
Cc qu trnh c quan h rng buc thc thi
*

B nh thi hin ti cha ti u

*
Cpu rnh

26-Sep-08

Ho Chi Minh city University of Technology

Cc vn ang quan tm*

Thit b o ca thit b tht


S dng cc ti nguyn thit b qua mng
Virtual keyboard

Real keyboard

Network

Virtual projector
26-Sep-08

Real projector
Ho Chi Minh city University of Technology

Cc vn ang quan tm*

H iu hnh chuyn dng


Mini kernel
Xc nh cu hnh h thng t ng

Mini distro
Ti u ha cho mt h thng

26-Sep-08

Ho Chi Minh city University of Technology

Cc vn ang quan tm*

Thin client
Client khng cn a cng

26-Sep-08

Ho Chi Minh city University of Technology

Cm n

26-Sep-08

Ho Chi Minh city University of Technology

You might also like