LINUX KERNEL

Nama: Putu Ari Suryana Upeksa
NIM : 1705551025
Prodi : Teknologi Informasi
Fakultas : Teknik
Universitas : Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST.,MT.

#KERNEL LINUX
Kernel merupakan inti dari sebuah sistem operasi yang menangani segala bentuk proses yang terjadi pada sistem operasi. Kernel memuat tentang utilitas dan  fungsi-fungsi dasar dari sistem operasi. Kernel dibuat dengan bahasa pemrograman, contohnya seperti kernel linux dibuat oleh Linus Torvald dengan bahasa pemrograman C. Kernel Linux dan OS/NOS Linux telah mengalami perkembangan pesat sejak 20-an tahun pengembangannya : server, desktop, mobile, embedded system, Wireless Sensor Network, Artifcial Intelligence, Intelligence Transportation System, Big Data, Machine Learning, Internet of Things, dll.

Tanggal 14 Maret, 1994, versi yang merupakan tonggak sejarah Linux yaitu versi 1.0 keluar. Rilis ini adalah kulminasi dari tiga tahun perkembangan yang cepat dari kernel Linux. Fitur baru terbesar yang disediakan adalah jaringan: 1.0 mampu mendukung protokol standar jaringan TCP/IP. Kernel 1.0 juga memiliki sistem berkas yang lebih baik tanpa batasan-batasan sistem berkas Minix. Sejumlah dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini. Dukungan perangkat keras telah berkembang termasuk diantaranya floppy-disk, CD-ROM, sound card, berbagai mouse, dan keyboard internasional. Dukungan buat modul kernel yang dynamically loadable dan unloadable juga diberikan.

Kernel Linux terdistribusi dibawah Lisensi Publik Umum GNU (GPL), dimana peraturannya disusun oleh Free Software Foundation. Linux bukanlah perangkat lunak domain publik (public domain): Public Domain berarti bahwa pengarang telah memberikan copyright terhadap perangkat lunak mereka, tetapi copyright terhadap kode Linux masih dipegang oleh pengarang-pengarang kode tersebut. Linux adalah perangkat lunak bebas, namun: bebas dalam arti bahwa siapa saja dapat mengkopi, modifikasi, memakainya dengan cara apa pun, dan memberikan kopi mereka kepada siapa pun tanpa larangan atau halangan.

#PRAKTEK 1 KERNEL LINUX

  • Pada praktek kali ini, penulis mempelajari isi dari kernel yang memiliki nama sched.c, dimana kernel sched.c berisi tentang bagaimana cara (algoritma) kernel linux dalam menangani penjadwalan terhadap proses yang dieksekusi. Untuk isi sekilas dari file sched.c dapat dilihat pada gambar dibawah ini.
  • File selanjutnya yang akan dijelaskan bernama exit.c, dimana file kernel exit.c berisi tetang bagaimana tahapan dalam kernel dalam melakukan close atau menutup terhadap program termasuk melakukan kill process. Untuk isi sekilas dari file exit.c dapat dilihat pada gambar dibawah ini.

#PRAKTEK 2 MELIHAT INFORMASI YANG DISEDIAKAN KERNEL

  • Perintah uname -a : Perintah ini akan menampilkan informasi system komputer secara keseluruhan, antara lain tipe mesin komputer, hostname, nama dan versi system operasi, waktu dan rilis dari kernel. Contoh dibawah adalah hasil dari perintah uname -a, menampilkan hostname acer, rilis kernel Linux 4.15.0-29-generic, sistem operasi Ubuntu 16.04.1, dan mesin x86_64.
  • Perintah lshw : digunakan untuk melihat list atau daftar hardware yang terpasang pada komputer atau laptop yang sedang digunakan. Perintah ini menampilkan informasi seperti pada gambar dibawah yaitu product, vendor, version, cpu, dll.
  • Perintah hwinfo : fungsinya sama dengan lshw yaitu untuk melihat daftar hardware yang digunakan oleh komputer atau laptop, yang membedakan adalah hwinfo memberi informasi yang lebih detail tentang suatu perangkat hardware ketimbang lshw. Contoh penggunaan hwinfo untuk melihat informasi hardware Ethernet dapat dilihat pada gambar dibawah.
  • Perintah lspci : digunakan untuk menampilkan semua bus pci dan rincian tentang perangkat yang terhubung ke mereka. Adaptor vga , kartu grafis , kartu jaringan, port usb, controller sata, dan lain-lain.
  • Perintah lscpu : digunakan untuk melihat list informasi mengenai cpu yang digunakan komputer atau laptop. Informasi yang ditampilkan mengenai architecture, threads, core, socket, vendor, cache, model, frekuensi dan lain-lain.
  • Perintah lsusb : digunakan untuk menampilkan informasi kontroler USB dan rincian tentang perangkat yang terhubung di kontroller USB. Secara default informasi singkat dicetak. Seperti usb mouse, usb flash disk, usb virtual dan lain-lain.
  • Perintah lsblk : digunakan untuk menampilkan informasi partisi hard drive dan perangkat penyimpanan lain seperti drive optik dan flash drive.
  • Perintah df -h : digunakan untuk menampilkan partisi yang sedang mount dan menampilkan sisa ruang yang digunakan dalam partisi dalam human readable atau dapat dibaca orang dengan mudah.
  • Perintah pwd : digunakan untuk seorang user atau pengguna linux mengetahui posisi mereka dalam sebuah directory, ini berfungsi agar saat melakukan penyimpanan tidak terjadi kesalahan.
  • Perintah ls -la : digunakan untuk melihat list atau daftar dari isi sebuah directory secara lengkap dengan hak aksesnya, user, penggunaan memory, tanggal, dan nama file/directory dan jenis file nya.
  • Perintah ls -lah : digunakan untuk melihat list atau daftar dari isi sebuah directory secara lengkap dengan hak aksesnya, user, penggunaan memory secara human readable, tanggal, dan nama file/directory dan jenis file nya.
  • Perintah free -mh : digunakan menampilkan informasi mengenai memori ram dari jumlah total, memori yang digunakan, sisa memori dan lain-lain yang berhubungan dengan memori ram dengan human readable atau dapat dibaca dengan mudah oleh manusia/user.

#REFERENSI

I Putu Agus Eka Pratama. “Materi Pertemuan 8 : Kernel dan Kernel Linux”. Jimbaran:Universitas Udayana.
https://iyung2.blogspot.com/2015/05/11-command-melihat-info-hardware-linux.html
https://www.belajarlinux.org/mengetahui-informasi-system-dan-hardware-dengan-perintah-linux/
https://nanangtridinata.wordpress.com/2011/03/19/kernel-linux/

NOS Service

Nama: Putu Ari Suryana Upeksa
NIM : 1705551025
Prodi : Teknologi Informasi
Fakultas : Teknik
Universitas : Udayana
Mata Kuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, ST.,MT.

#WEB SERVER DAN MYSQL SERVER

Service server untuk NOS dapat dilakukan dengan paket LAMPP yang perlu dilakukan instalasi pada Ubuntu. Proses instalasi dilakukan pada terminal dengan perintah “sudo tasksel install lamp-server” selanjutnya tunggu proses installing packages hingga selesai.

Setelah proses instalasi selesai, untuk melakukan start service dapat dilakukan dengan perintah “sudo /etc/init.d/apache2 start” untuk web server dan “sudo /etc/init.d/mysql start” untuk mysql server database.

Mengakses layanan mysql server dapat dilakukan dengan perintah “mysql -u root -p” dan masukan password mysql. Layanan mysql server menyediakan user untuk dapat membuat basis data atau database.

Setiap layanan atau service yang berjalan pada sistem operasi pasti memiliki proses. Melihat detail proses dari layanan mysql dapat dilihat dengan perintah top atau htop. Gambar dibawah ini adalah salah satu contoh monitoring proses dengan top. Perintah top memberikan informasi mengenai proses-proses yang sedang berjalan di sistem operasi secara lengkap dari PID atau ID proses, user yang menjalakan proses, penggunaan sumber daya, time atau waktu lamanya proses berjalan dan command untuk melakukan proses. Jika diperhatikan pada perintah top berikut layanan mysql memiliki PID atau ID proses 3219 dengan command mysqld.

Selain menggunakan perintah top, untuk melakukan monitoring proses dapat juga dilakukan dengan perintah htop. Perintah ini akan menampilkan layanan untuk memonitoring proses dengan lebih interaktif dan lebih rinci pada bagian command dibandingkan dengan perintah top. Secara umum isi proses dari top dan htop adalah sama, tetapi yang membedakan dari banyaknya task, biasanya pada top menampilkan lebih banyak dan pada htop lebih sedikit. Pada htop memiliki urutan PID yang lebih terurut daripada top.

Percobaan selanjutnya adalah mematikan proses secara paksa dengan perintah “kill pid”. Perintah ini akan menghentikan proses dari layanan berdasarkan pid atau ID proses yang ditentukan. Contoh melakukan kill pid dapat dilihat pada gambar dibawah, dimana proses yang dihentikan secara paksa adalah proses mysql dengan ID proses 3219, layanan tersebut adalah yang melakukan akses ke dalam mysql. Saat perintah kill dilakukan maka layanan akan memberikan status “Terminated” dan langsung keluar dari mysql.

#MULTITASKING

Multitasking merupakan kemampuan sistem operasi dalam menjalankan banyak program komputer secara bersamaan dan independen pada komputer yang sama. Multitasking dilakukan dengan melalui time sharing, yaitu setiap program menggunakan pembagian waktu komputer untuk mengeksekusi program. Gambar dibawah merupakan monitoring proses dengan perintah top untuk melihat proses yang sedang berjalan di sistem operasi disertai dengan monitor sumber daya komputer yang digunakan. Program dan layanan/service yang berjalan masing-masing memiliki prosesnya. Setiap layanan dapat memiliki lebih dari 1 proses seperti contohnya layanan web server apache2 yang memiliki 6 proses.

Sama seperti perintah top, perintah htop juga digunakan untuk melakukan monitoring proses dan sumber daya komputer. Htop memiliki grafik yang lebih interaktif daripada top, selain itu pada bagian command htop lebih menjelaskan secara rinci dari directory layanan yang sedang berjalan daripada perintah top.

REFERENSI
Rachmat, Mugi. http://www.infomugi.com/2013/04/pengertian-multitasking.html [Diakses 10 Maret 2019].