Wednesday, June 13, 2012

Arsitektur Sistem Operasi Linux




Seperti halnya semua sistem operasi pada umumnya Linux memiliki konsep sama dalam hal arsitektur. Perbedaanya adalah bentuk disetiap komponen pada arsitektur tersebut. Komponen pada arsitektur sistem operasi Linux adalah sebagai berikut :
1. Kernel
Kernel adalah bagian terpenting dari sebuah sistem operasi. Pada sistem operasi kernel berfungsi untuk mengendalikan semua perangkat keras yang ada di PC seperti CPU(Central Processing Unit), Graphic Cards, Sound Card, Perangkat USB, Harddisk, dll. Selain itu juga kernel berfungsi untuk menjembatani antara applikasi yang berjalan dengan perangkat keras yang diakses oleh applikasi tersebut. Sebagai contoh applikasi text editor (vi,notepad,emacs) membutuhkan resources layar monitor sebagai tampilan bagi penggunanya, dalam kasus ini maka applikasi tersebut akan dihubungkan oleh kernel melalui device driver VGA Card untuk mengeluarkan data menuju layar monitor. Selain dari applikasi kernel juga menjembatai perintah yang ditulis oleh pengguna melalui shell atau GUI. Kernel Linux merupakan turunan dari Unix BSD dan SYSV, dan model dari kernel Linux mengacu pada spesifikasi POSIX(Portable Operating System IX).
Sistem kerja dari kernel adalah ketika PC melakukan booting pertama kali maka file biner dari kernel akan dipindah menuju memory dan akan mejalankan semua fungsi manajemen resources pada PC tersebut. Setiap PC memiliki jenis perangkat keras yang berbeda-beda, sehingga kernel akan menginisialisasi perangkat tersebut dengan module device driver yang berbeda. File biner kernel linux dapat dilihat pada direktori “/boot/vmlinuz” sedangkan source kode dapat dilihat di “/usr/src/linux”. Untuk lebih detail mengenai perkembangan generasi kernel dapat dilihat pada situs http://www.kernel.org/.
2. Shells/GUI

Shell merupakan antarmuka linux kernel dengan penggunanya. Di dalam shell pengguna dapat menuliskan perintah yang kemudian akan dieksekusi langsung oleh kernel. Perintah-perintah yang dapat dituliskan merupakan perintah yang berhunbungan dengan pengelolaan sistem operasi, misalnya melihat isi file yang tersimpan dalam sebuah direktori,membuat file baru, atau melihat isi dari sebuah file. Selain operasi file shell juga dapat digunakan untuk operasi I/O atau operasi penanganan pengguna. Pada sistem operasi linux ada dua jenis shell atau penghubung antara pengguna dengan sistem operasi yang pertama adalah text-based shell dan yang kedua adalah GUI(Graphic User Interface). Beda dari keduanya adalah cara penyajiannya kepada pengguna, jenis text-based adalah antarmuka paling sederhana dimana pengguna hanya dapat berinteraksi melalui keyboard saja, sedangkan GUI memungkinkan pengguna berinteraksi dengan system operasi melalui keyboard saja,mouse dan perangkat lainnya  dapat digunakan.selain itu tampilan pada GUI sudah lebih modern yaitu berbasiskan tampilan grafis.
3. Utilitas sistem.
Setiap sistem operasi pada dasarnya mengacu pada sebuah spesifikasi tertentu seperti halnya Unix pada POSIX.2 dimana pada spesifikasi ini dijelaskan konsep implementasi utilitas sistem untuk membantu pengguna berinteraksi dengan sistem operasi. Utilitas sistem dalam sebuah sistem operasi berfungsi sebagai pengaturan sumber daya yang sudah diinisialisasi oleh sistem operasi pada saat proses booting awal dilakukan. Fungsi monitoring, fungsi pengaktifan dan penon-aktifan sebuah service dalam sistem operasi merupakan pekerjaan yang dapat dilakukan dengan menggunakan utilitas sistem yang ada dalam sebuah sistem operasi seperti Linux. Beberapa contoh utilitas sistem dalam Linux adalah ls, man, fdisk, grep, awk, sed, cp, mv, more, dan lain sebagainya. Seperti halnya dalam sistem operasi Windows beberapa utilitas misalnya control panel, dir, cd, dan lain-lain.
Selain itu juga utilitas sistem juga termasuk program yang bersifat server, dimana program ini akan berjalan secara background (tidak tampak), seperti misalnya utilitas untuk menangani koneksi dari jarak jauh dengan telnet atau ssh, kedua layanan ini merupakan utilitas sistem yang bersifat server dan dijalankan secara background. contoh lain dari server program dalam Linux adalah lpd untuk mengangani proses printer, httpd sebagai web server, crond untuk menjalankan tugas administratif sistem operasi secara reguler. Utilitas sistem yang bersifat server dan dijalankan secara backgroung dalam Linux disebut DAEMON(Disk And Execution MONitor). daemon diaktifkan pada saat proses booting sistem operasi, dan akan berjalan secara terus menerus. Program ini akan memantau event yang terjadi dan apabila sesusai dengan yang dikehendaki maka daemon akan menjalankan sesuatu. Sebagai contoh program daemon telnet server. Daemon ini akan melakukan pemantauan pada semua koneksi yang datang dari luar PC melalui jaringan pada nomer port 23. jika ada koneksi dari luar yang menghubungi nomer tersebut maka telnet server akan menerima koneksi tersebut dan melayani proses yang akan dilakukan.

4. Applikasi

Applikasi merupakan level tertinggi pada sistem operasi. Dimana pada applikasi ini pengguna sistem operasi dapat menggunakan applikasi berdasarkan kebutuhannya. Misalnya applikasi untuk menulis, pada sistem operasi Linux dapat dilakukan dengan menggunakan bantuan applikasi Open Office, sedangkan untuk melakukan editing gambar dapat menggunakan GIMP. Karena applikasi merupakan level tertinggi dari sebuah sistem operasi maka setiap applikasi dibentuk dengan cara berbeda untuk masing-masing sistem operasi dan hanya bisa berjalan pada sistem operasi tempat dimana applikasi tersebut dibangun. Misalnya MS Office tidak dapat berjalan pada sistem operasi Linux, kecuali pembangun MS Office mengeluarkan distribusi paket MS Office for Linux.

Distribusi Linux yang beredar saat ini, selain kernel juga menyertakan paket-paket applikasi yang dapat dimanfaatkan oleh pengguna, namun tidak semua applikasi disertakan, tergantung sifat dari applikasi tersebut komersial atau open source.sementara ini yang bersifat open source saja yang disertakan.contoh applikasi open source GCC,G++,Xfix,Latex,dll.



Seperti halnya semua sistem operasi pada umumnya Linux memiliki konsep sama dalam hal arsitektur. Perbedaanya adalah bentuk disetiap komponen pada arsitektur tersebut. Komponen pada arsitektur sistem operasi Linux adalah sebagai berikut :
1. Kernel
Kernel adalah bagian terpenting dari sebuah sistem operasi. Pada sistem operasi kernel berfungsi untuk mengendalikan semua perangkat keras yang ada di PC seperti CPU(Central Processing Unit), Graphic Cards, Sound Card, Perangkat USB, Harddisk, dll. Selain itu juga kernel berfungsi untuk menjembatani antara applikasi yang berjalan dengan perangkat keras yang diakses oleh applikasi tersebut. Sebagai contoh applikasi text editor (vi,notepad,emacs) membutuhkan resources layar monitor sebagai tampilan bagi penggunanya, dalam kasus ini maka applikasi tersebut akan dihubungkan oleh kernel melalui device driver VGA Card untuk mengeluarkan data menuju layar monitor. Selain dari applikasi kernel juga menjembatai perintah yang ditulis oleh pengguna melalui shell atau GUI. Kernel Linux merupakan turunan dari Unix BSD dan SYSV, dan model dari kernel Linux mengacu pada spesifikasi POSIX(Portable Operating System IX).
Sistem kerja dari kernel adalah ketika PC melakukan booting pertama kali maka file biner dari kernel akan dipindah menuju memory dan akan mejalankan semua fungsi manajemen resources pada PC tersebut. Setiap PC memiliki jenis perangkat keras yang berbeda-beda, sehingga kernel akan menginisialisasi perangkat tersebut dengan module device driver yang berbeda. File biner kernel linux dapat dilihat pada direktori “/boot/vmlinuz” sedangkan source kode dapat dilihat di “/usr/src/linux”. Untuk lebih detail mengenai perkembangan generasi kernel dapat dilihat pada situs http://www.kernel.org/.
2. Shells/GUI

Shell merupakan antarmuka linux kernel dengan penggunanya. Di dalam shell pengguna dapat menuliskan perintah yang kemudian akan dieksekusi langsung oleh kernel. Perintah-perintah yang dapat dituliskan merupakan perintah yang berhunbungan dengan pengelolaan sistem operasi, misalnya melihat isi file yang tersimpan dalam sebuah direktori,membuat file baru, atau melihat isi dari sebuah file. Selain operasi file shell juga dapat digunakan untuk operasi I/O atau operasi penanganan pengguna. Pada sistem operasi linux ada dua jenis shell atau penghubung antara pengguna dengan sistem operasi yang pertama adalah text-based shell dan yang kedua adalah GUI(Graphic User Interface). Beda dari keduanya adalah cara penyajiannya kepada pengguna, jenis text-based adalah antarmuka paling sederhana dimana pengguna hanya dapat berinteraksi melalui keyboard saja, sedangkan GUI memungkinkan pengguna berinteraksi dengan system operasi melalui keyboard saja,mouse dan perangkat lainnya  dapat digunakan.selain itu tampilan pada GUI sudah lebih modern yaitu berbasiskan tampilan grafis.
3. Utilitas sistem.
Setiap sistem operasi pada dasarnya mengacu pada sebuah spesifikasi tertentu seperti halnya Unix pada POSIX.2 dimana pada spesifikasi ini dijelaskan konsep implementasi utilitas sistem untuk membantu pengguna berinteraksi dengan sistem operasi. Utilitas sistem dalam sebuah sistem operasi berfungsi sebagai pengaturan sumber daya yang sudah diinisialisasi oleh sistem operasi pada saat proses booting awal dilakukan. Fungsi monitoring, fungsi pengaktifan dan penon-aktifan sebuah service dalam sistem operasi merupakan pekerjaan yang dapat dilakukan dengan menggunakan utilitas sistem yang ada dalam sebuah sistem operasi seperti Linux. Beberapa contoh utilitas sistem dalam Linux adalah ls, man, fdisk, grep, awk, sed, cp, mv, more, dan lain sebagainya. Seperti halnya dalam sistem operasi Windows beberapa utilitas misalnya control panel, dir, cd, dan lain-lain.
Selain itu juga utilitas sistem juga termasuk program yang bersifat server, dimana program ini akan berjalan secara background (tidak tampak), seperti misalnya utilitas untuk menangani koneksi dari jarak jauh dengan telnet atau ssh, kedua layanan ini merupakan utilitas sistem yang bersifat server dan dijalankan secara background. contoh lain dari server program dalam Linux adalah lpd untuk mengangani proses printer, httpd sebagai web server, crond untuk menjalankan tugas administratif sistem operasi secara reguler. Utilitas sistem yang bersifat server dan dijalankan secara backgroung dalam Linux disebut DAEMON(Disk And Execution MONitor). daemon diaktifkan pada saat proses booting sistem operasi, dan akan berjalan secara terus menerus. Program ini akan memantau event yang terjadi dan apabila sesusai dengan yang dikehendaki maka daemon akan menjalankan sesuatu. Sebagai contoh program daemon telnet server. Daemon ini akan melakukan pemantauan pada semua koneksi yang datang dari luar PC melalui jaringan pada nomer port 23. jika ada koneksi dari luar yang menghubungi nomer tersebut maka telnet server akan menerima koneksi tersebut dan melayani proses yang akan dilakukan.

4. Applikasi

Applikasi merupakan level tertinggi pada sistem operasi. Dimana pada applikasi ini pengguna sistem operasi dapat menggunakan applikasi berdasarkan kebutuhannya. Misalnya applikasi untuk menulis, pada sistem operasi Linux dapat dilakukan dengan menggunakan bantuan applikasi Open Office, sedangkan untuk melakukan editing gambar dapat menggunakan GIMP. Karena applikasi merupakan level tertinggi dari sebuah sistem operasi maka setiap applikasi dibentuk dengan cara berbeda untuk masing-masing sistem operasi dan hanya bisa berjalan pada sistem operasi tempat dimana applikasi tersebut dibangun. Misalnya MS Office tidak dapat berjalan pada sistem operasi Linux, kecuali pembangun MS Office mengeluarkan distribusi paket MS Office for Linux.

Distribusi Linux yang beredar saat ini, selain kernel juga menyertakan paket-paket applikasi yang dapat dimanfaatkan oleh pengguna, namun tidak semua applikasi disertakan, tergantung sifat dari applikasi tersebut komersial atau open source.sementara ini yang bersifat open source saja yang disertakan.contoh applikasi open source GCC,G++,Xfix,Latex,dll.

No comments:

Post a Comment