iko31204 pemrograman sistem jilid 4: pengenalan device driver filecara yg sama (melalui xwindows)...
TRANSCRIPT
![Page 1: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/1.jpg)
IKO31204 Pemrograman Sistem
Jilid 4: Pengenalan Device Driver
Fakultas Ilmu Komputer Universitas IndonesiaSep 2012
![Page 2: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/2.jpg)
topikPeran module / driverStruktur pembagian tugas KernelKategori Device dan Moduleload & unload moduleinteraksi user & kernel level
![Page 3: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/3.jpg)
referensiLinux Device Driver, 2nd edition, Alessandro Rubini, Jonathan Corbet, O'Reilly, Chapter 1 & 2
![Page 4: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/4.jpg)
module ?pieces of code that can be loaded and unloaded into the kernel on demand. They extend the functionality of the kernel without the need to reboot the system.
![Page 5: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/5.jpg)
pendahuluan=> Popularitas suatu OS => Setiap Vendor menginginkan
Hardwarenya dapat berfungsi Di atas suatu Sistem Operasi
=> Programmer Driver semakin banyak
=> Tanpa Device Driver, keseluruhan fungsi Sistem tidak akan optimal
![Page 6: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/6.jpg)
Peran Driver=> Menyembunyikan kerumitan /
detail, bagaimana hardwaretsb berinteraksi dengan sistem
=> Memetakan antara fungsi spesifik Hardware dengan fungsi standard
=> Aplikasi User Level cukup memanggil fungsi standard tsb
![Page 7: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/7.jpg)
Motivasi membuat Driver
=> Meningkatnya jumlah pengguna (potensial market)
=> Permintaan agar Hardware dapat digunakan
=> Source code terbuka luas,memungkinkan seseorang untuk mencoba “membunuh” rasa curiousity
=> dll
![Page 8: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/8.jpg)
Ide Dasar Desain Unix (I)Ide Desain Pemrograman OS Unix dapat dibagi menjadi 2 bagian:=> Apa fungsi yang harus
disediakan (mekanisme)
=> Bagaimana fungsi tsb boleh / dapat digunakan (kebijakan).
Apabila konsep kedua bagian tersebut dipisahkan, implementasi dan adaptasi perubahan pada sistem relatif lebih mudah untuk dicapai
![Page 9: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/9.jpg)
Ide Dasar Desain Unix (II)Contoh :: XWindows + Desktop Env.
=> XWindows mengenali dan mengelola hardware Grafik (cth: VGA Card) dan menyediakan fungsi generik bagi Desktop Env.
=> Desktop Env. memberikan “look and feel” bagi user. Cth: GNOME dan KDE, keduanya mengakses Hardware dgn cara yg sama (melalui XWindows)
![Page 10: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/10.jpg)
Prinsip Driver Devel.write kernel code to access the hardware, but don’t force particularpolicies on the user, since different users have different needs.
The driver should deal with making the hardware available, leaving all the issues about how to use the hardware to the applications
![Page 11: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/11.jpg)
Pembagian Peran Kernel=> Process management
Create/Destroy process, Schedule resource, dll
=> Memory managementVirtual Adressing, handle malloc
=> FilesystemsHampir semua hal di UNIX dianggap sebagai file. Kernel menciptakan filesystem terstruktur di atas hardware yang tidak terstruktur
![Page 12: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/12.jpg)
Pembagian Peran Kernel (II)=> Device Control
Mengendalikan hardware (kecuali prosesor & memori)
=> NetworkingPerlu ditangani terpisah karena aktifitas networking berkaitan dengan banyak proses & driver (tidak spesifik ditangani oleh sebuah proses saja)NB: Coba ingatingat 4 Layer TCP/IP
![Page 13: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/13.jpg)
![Page 14: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/14.jpg)
Security=> Process management
Create/Destroy process, Schedule resource, dll
=> Memory managementVirtual Adressing, handle malloc
=> FilesystemsHampir semua hal di UNIX dianggap sebagai file. Kernel menciptakan filesystem terstruktur di atas hardware yang tidak terstruktur
![Page 15: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/15.jpg)
lokasi moduleBASE PATH:/lib/modules/[kernel version]/kernel
KHUSUS HARDWARE DRIVER:[BASE PATH]/drivers/*
![Page 16: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/16.jpg)
perkakas module
# man insmod# man lsmod# man rmmod# man modinfodll
![Page 17: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/17.jpg)
load/unload module
Load:# insmod [abs path] [params]
atau
# modprobe [alias path] [params]
![Page 18: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/18.jpg)
load/unload module
# insmod /lib/modules/2.4.27-2-386/kernel/drivers/block/loop.o max_loop=32
atau
# modprobe loop max_loop=32
![Page 19: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/19.jpg)
load/unload module
cth:# lsmodModule Size Used by Not taintedide-cd 27072 0 cdrom 26212 0 [ide-cd]rtc 5768 0 (autoclean)af_packet 11048 1 (autoclean).....
# rmmod ide-cd# rmmod cdrom
![Page 20: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/20.jpg)
interaksi user & kernel layer
System Callcth: open, read, write, close, wait, fork,
dll
PROC filesystemcth:
/proc/cpuinfo/proc/uptimedll
![Page 21: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/21.jpg)
latihan perkakas module & proc fs(20 menit)
![Page 22: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/22.jpg)
1. Cari & coba modul yang berkaitan dengan salah satu PROC FS (/proc). Temukan lokasi profile modul tersebut pada /proc/??
cth: bonding, usbserial,
2. Coba ganti parameter modul e1000 dengan debug=16
![Page 23: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/23.jpg)
latihan script programming dengan kernel message(20 menit)
![Page 24: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/24.jpg)
buat script untuk mendeteksi kabel jaringan tersambung / terputus. Apabila tersambung menampilkan “TERSAMBUNG”, apabila jaringan putus menampilkan “PUTUS”. Interval pemeriksaan 1 detik sekali. Tulisan “TERSAMBUNG” dan “PUTUS” hanya tampil kalau ada perubahan saja
HINT: 1. gunakan while true BASH, ifelsefi2. dmesg, cut, sleep3. cari katakata “link up”/“linkdown”
![Page 25: IKO31204 Pemrograman Sistem Jilid 4: Pengenalan Device Driver filecara yg sama (melalui XWindows) Prinsip Driver Devel. write kernel code to access the hardware ... => Memory management](https://reader036.vdocuments.site/reader036/viewer/2022062601/5d195cb188c993495f8c9636/html5/thumbnails/25.jpg)
tanya jawab