Nama :
I Made Ari Sulistya
NIM :
1504505028
Jurusan : Teknologi Informasi
Universitas : Udayana
Matkul :
Network Operating System
Dosen :
I Putu Agus Eka Pratama, ST., MT
RANGKUMAN MATERI PERTEMUAN KEDELAPAN
Kernel adalah sebuah perangkat lunak yang
membuat komunikasi / mediator antara aplikasi komputer dan perangkat keras,
yang menyediakan pelayanan sistem seperti pengaturan memori untuk proses-proses
yang sedang berjalan, pengaturan file-file, input-output terhadap dan dari
suatu device dan masih banyak lagi fungsi tambahan yang lainnya. Intinya adalah
kernel merupakan suatu penghubung (antara software dan hardware).
Fungsi kernel :
- Melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.
- Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing.
- Membantu eksekusi aplikasi dan mendukungnya dengan fitur abstraksi hardware.
Kategori Kernel
Di bawah ini penjelasan mengenai 4 kategori kernel:
- Kernel monolitik yaitu kernel yang mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
- Kernel Microkernel adalah kernel yang menyediakan hanya sekumpulan kecil dari abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi yang disebut dengan server untuk menyediakan fungsi-fungsi lainnya.
- Kernel Hybrid (modifikasi dari microkernel) adalah kernel yang persis atau mirip dengan microkernel, akan tetapi ia juga memasukkan beberapa kode atau tambahan kode di dalam ruangan kernel suapaya ia menjadi lebih cepat atau untuk meningkatkan performanya.
- Kernel Exokernel adalah kernel yang tidak menyediakan sama sekali abstraksi perangkat keras, akan tetapi ia menyediakan sekumpulan library yang menyediakan fungsi akses ke perangkat keras (hardware) secara langsung atau hampir-hampir langsung.
Kernel Linux
Kernel Linux adalah kernel yang digunakan
dalam sistem operasi GNU/Linux. Kernel ini merupakan turunan dari keluarga
sistem operasi UNIX, dirilis dengan menggunakan lisensi GNU General Public
License (GPL), dan dikembangkan oleh pemrogram di seluruh dunia. Linux
merupakan contoh utama dari perangkat lunak bebas dan sumber terbuka.
Kernel Linux pada awalnya dibayangkan dan
kemudian dibuat oleh murid Ilmu Komputer berkebangsaan Finlandia, Linus
Torvalds pada tahun 1991.Pengembang dan Pengguna Linux bertambah dengan cepat,
lalu mereka mengadaptasi kode dari proyek-proyek software gratis untuk
digunakan sebagai Sistem Operasi baru. Linux kernel telah menerima kontribusi
dari ribuan programmer. Banyak Distribusi Linux telah dirilis berdasarkan
Kernel Linux.
Apa yang di lakukan Kernel ?
Fungsinya seperti layaknya sistem
operasi, menangani task switching dalam multitasking, menangani permintaan
membaca atau menulis peralatan disk, melakukan tugas-tugas network serta
mengatur penggunaan memori.
Kernel membuat layanan yang ada
didalamnya, tersedia untuk Software yang sedang berjalan, melalui sekumpulan
besar entry point yang secara teknis, Kernel menggunakan system call read and
writer unutk memberikan abstraksi Hardware pada Komputer anda.
Praktek Membedah Kernel Linux
Saya mencoba
membuka source code kernel linux versi awal. Berikut ini merupakan beberapa
direktori yang akan coba saya jelaskan.
1. Direktori boot
File yang terdapat pada direktori ini ada 2 yaitu boot.s
dan head.s. boot.s merupakan file yang berfungsi untuk menjalankan startup
BIOS. head.s merupakan file yang berfungsi sebagai kode startup 32-bit pada
linux.
2. Direktori lib
File yang terdapat pada direktori ini ada 11 yaitu _exit.c,
close.c, ctype.c, dup.c, errno.c, execve.c, open.c, setsid.c, string.c, wait.c,
dan write.c.
- File _exit.c ini menjalan fungsi _exit(int
exit_code)
- File close.c ini menjalankan fungsi
syscall1(int,close,int,fd)
- File dup.c ini menjalankan fungsi yang sama dengan file
close.c namun parameternya berbeda yaitu syscall1(int,dup,int,fd)
- File ctype.c ini menggunakan library ctype.h yang
berfungsi untuk menguji dan mengkonversi karakter.
- File execve.c ini menjalankan fungsi
_syscall3(int,execve,const char*, file, char **, argv, char **, envp)
- File open.c ini menggunakan library stdarg. yang
berfungsi mengakses berbagai jumlah argumen dilewatkan ke fungsi. File ini
menjalankan fungsi open.
- File setsid.c ini menjalankan fungsi
_syscall0(pid_t,setsid)
- File string.c ini menggunakan library string.h dan
mendeklarasikan fungsi extern, inline, dan __LIBRARY__
- File wait.c ini menggunakan library sys/wait.h dan
menjalankan fungsi wait.
- File write.c ini menjalankan fungsi
_syscall3(int,write,intfd,const char*, buf, off_t, count)
0 komentar:
Posting Komentar