Sunday, August 14, 2011

Mempelajari Sistem Operasi?

Mengapa Mempelajari Sistem Operasi?

Setelah lebih dari 60 tahun sejarah perkomputeran, telah terjadi pergeseran yang signifikan dari peranan sebuah Sistem Operasi. Perhatikan tabel berikut ini. Secara sepintas, terlihat bahwa telah terjadi perubahan sangat drastis dalam dunia Teknologi Informasi dan Ilmu Komputer.
Tabel 1.1. Perbandingan Sistem Dahulu dan Sekarang
 DahuluSekarang
Komputer Utama Mainframe Kumpulan Komputer dalam Jaringan
MemoriBeberapa KbytesBeberapa Gbytes
DiskBeberapa MbytesBeberapa ratus Gbytes
PeragaTerminal TeksGrafik beresolusi Tinggi
ArsitekturAneka ragam arsitekturBeberapa arsitektur dominan
Sistem OperasiSetiap arsitekur komputer menggunakan Sistem Operasi yang berbedaDominasi Microsoft dengan beberapa pengecualian

Hal yang paling terlihat secara kasat mata ialah perubahan (pengecilan) fisik yang luar biasa. Penggunaan memori dan disk pun meningkat dengan tajam, terutama setelah multimedia mulai dimanfaatkan sebagai antarmuka interaksi. Saat dahulu, setiap arsitektur komputer memiliki Sistem Operasi yang tersendiri. Jika dewasa ini telah terjadi penciutan arsitektur yang luar biasa, dengan sendirinya menciutkan jumlah variasi Sistem Operasi. Hal ini ditambah dengan trend Sistem Operasi yang dapat berjalan diberbagai jenis arsitektur. Sebagian dari pembaca yang budiman mungkin mulai bernalar: mengapa ''hari gini'' (terpaksa) mempelajari Sistem Operasi?! Secara pasti-pasti, dimana relevansi dan "job (duit)"-nya?
Terlepas dari perubahan tersebut di atas; banyak aspek yang tetap sama seperti dahulu. Komputer abad lalu menggunakan model arsitektur von-Neumann, dan demikian pula model komputer abad ini. Aspek pengelolaan sumber-daya Sistem Operasi seperti proses, memori, masukan/keluaran (m/k), berkas, dan seterusnya masih menggunakan prinsip-prinsip yang sama. Dengan sendirinya, mempelajari Sistem Operasi masih tetap serelevan abad lalu; walaupun telah terjadi berbagai perubahan fisik.

Definisi Sementara

Buku ini merupakan sebuah rujukan mata-ajar Sistem Operasi (SO). Hampir seluruh isi buku akan menggunjingkan secara panjang-lebar, semua aspek yang berhubungan dengan Sistem Operasi tersebut. Namun sebelum pergunjingan dimulai, perlu ditetapkan sebuah pegangan sementara, perihal apa yang dimaksud dengan "Sistem Operasi" itu sendiri.

Mendefinisikan istilah "Sistem Operasi" mungkin merupakan hal yang mudah, namun mungkin juga merupakan hal yang sangat ribet! Para pembaca sepertinya pernah mendengar istilah "Sistem Operasi". Mungkin pula pernah berhubungan secara langsung ataupun tidak langsung dengan istilah tersebut. Namun, belum tentu dapat menjabarkan perihal apa yang sebetulnya dimaksud dengan kata "Sistem Operasi". Sebaliknya, banyak pula yang pernah mendengar merek dagang "Windows TM [1])" ataupun istilah "GNU/Linux [2])", lalu mengidentikkan nama Windows TMatau GNU/Linux dengan istilah "Sistem Operasi" tersebut.
Gambar 1.1. Abstraksi Komponen Sistem Komputer
Abstraksi Komponen Sistem Komputer

Sebuah sistem komputer dapat dibagi ke dalam beberapa komponen utama, seperti "para pengguna", "perangkat keras", serta "perangkat lunak" (Gambar 1.1, “Abstraksi Komponen Sistem Komputer”). "Para pengguna" (users) ini merupakan pihak yang memanfaatkan sistem komputer tersebut. Para pengguna di sini bukan saja manusia, namun mungkin berbentuk program aplikasi lain, ataupun perangkat komputer lain. "Perangkat keras" (hardware) ini berbentuk benda konkret yang dapat dilihat dan disentuh. Perangkat keras ini merupakan inti dari sebuah sistem, serta penyedia sumber-daya (resources) untuk keperluan komputasi. Diantara "para pengguna" dan "perangkat keras" terdapat sebuah lapisan abstrak yang disebut dengan "perangkat lunak" (software). Secara keseluruhan, perangkat lunak membantu para pengguna untuk memanfaatkan sumber-daya komputasi yang disediakan perangkat keras.
Perangkat lunak secara garis besar dibagi lagi menjadi dua yaitu "program aplikasi" dan "Sistem Operasi". "Program aplikasi" merupakan perangkat lunak yang dijalankan oleh para pengguna untuk mencapat tujuan tertentu. Umpama, kita menjelajah internet dengan menggunakan aplikasi "Browser". Atau mengubah (edit) sebuah berkas dengan aplikasi "Editor". Sedangkan, "Sistem Operasi" dapat dikatakan merupakan sebuah perangkat lunak yang "membungkus" perangkat keras agar lebih mudah dimanfaatkan oleh para pengguna melalui program-program aplikasi tersebut.
Sistem Operasi berada di antara perangkat keras komputer dan perangkat aplikasinya. Namun, bagaimana caranya menentukan secara pasti, letak perbatasan antara "perangkat keras komputer" dan "Sistem Operasi", dan terutama antara "perangkat lunak aplikasi" dan "Sistem Operasi"? Umpamanya, apakah "Internet Explorer TM [3])" merupakan aplikasi atau bagian dari Sistem Operasi? Siapakah yang berhak menentukan perbatasan tersebut? Apakah para pengguna? Apakah perlu didiskusikan habis-habisan melalui milis? Apakah perlu diputuskan oleh sebuah pengadilan? Apakah para politisi (busuk?) sebaiknya mengajukan sebuah Rencana Undang Undang Sistem Operasi terlebih dahulu? Ha!
Secara lebih rinci, Sistem Operasi didefinisikan sebagai sebuah program yang mengatur perangkat keras komputer, dengan menyediakan landasan untuk aplikasi yang berada di atasnya, serta bertindak sebagai penghubung antara para pengguna dengan perangkat keras. Sistem Operasi bertugas untuk mengendalikan (kontrol) serta mengkoordinasikan pengunaan perangkat keras untuk berbagai program aplikasi untuk bermacam-macam pengguna. Dengan demikian, sebuah Sistem Operasi bukanmerupakan bagian dari perangkat keras komputer, dan juga bukanmerupakan bagian dari perangkat lunak aplikasi komputer, apalagi tentunya bukanmerupakan bagian dari para pengguna komputer.
Pengertian dari Sistem Operasi dapat dilihat dari berbagai sudut pandang. Dari sudut pandang pengguna, Sistem Operasi merupakan sebagai alat untuk mempermudah penggunaan komputer. Dalam hal ini Sistem Operasi seharusnya dirancang dengan mengutamakan kemudahan penggunaan, dibandingkan mengutamakan kinerja ataupun utilisasi sumber-daya. Sebaliknya dalam lingkungan berpengguna-banyak (multi-user), Sistem Operasi dapat dipandang sebagai alat untuk memaksimalkan penggunaan sumber-daya komputer. Akan tetapi pada sejumlah komputer, sudut pandang pengguna dapat dikatakan hanya sedikit atau tidak ada sama sekali. Misalnya embedded computer pada peralatan rumah tangga seperti mesin cuci dan sebagainya mungkin saja memiliki lampu indikator untuk menunjukkan keadaan sekarang, tetapi Sistem Operasi ini dirancang untuk bekerja tanpa campur tangan pengguna.
Dari sudut pandang sistem, Sistem Operasi dapat dianggap sebagai alat yang menempatkan sumber-daya secara efisien (Resource Allocator). Sistem Operasi ialah manager bagi sumber-daya, yang menangani konflik permintaan sumber-daya secara efisien. Sistem Operasi juga mengatur eksekusi aplikasi dan operasi dari alat M/K (Masukan/Keluaran). Fungsi ini dikenal juga sebagai program pengendali (Control Program). Lebih lagi, Sistem Operasi merupakan suatu bagian program yang berjalan setiap saat yang dikenal dengan istilah kernel.
Dari sudut pandang tujuan Sistem Operasi, Sistem Operasi dapat dipandang sebagai alat yang membuat komputer lebih nyaman digunakan (convenient) untuk menjalankan aplikasi dan menyelesaikan masalah pengguna. Tujuan lain Sistem Operasi ialah membuat penggunaan sumber-daya komputer menjadi efisien.
Dapat disimpulkan, bahwa Sistem Operasi merupakan komponen penting dari setiap sistem komputer. Akibatnya, pelajaran "Sistem Operasi" selayaknya merupakan komponen penting dari sistem pendidikan berbasis "ilmu komputer". Konsep Sistem Operasi dapat lebih mudah dipahami, jika juga memahami jenis perangkat keras yang digunakan. Demikian pula sebaliknya. Dari sejarah diketahui bahwa Sistem Operasi dan perangkat keras saling mempengaruhi dan saling melengkapi. Struktur dari sebuah Sistem Operasi sangat tergantung pada perangkat keras yang pertama kali digunakan untuk mengembangkannya. Sedangkan perkembangan perangkat keras sangat dipengaruhi dari hal-hal yang diperlukan oleh sebuah Sistem Operasi. Dalam sub bagian-bagian berikut ini, akan diberikan berbagai ilustrasi perkembangan dan jenis Sistem Operasi beserta perangkat kerasnya.


[1] Windows merupakan merek dagang terdaftar dari Microsoft.
[2] GNU merupakan singkatan dari GNU is Not Unix, sedangkan Linux merupakan merek dagang dari Linus Torvalds.
[3] Internet Explorer merupakan merek dagang terdaftar dari Microsoft.

Sejarah Perkembangan

Arsitektur perangkat keras komputer tradisional terdiri dari empat komponen utama yaitu "Prosesor", "Memori Penyimpanan", "Masukan" (Input), dan "Keluaran" (Output). Model tradisional tersebut sering dikenal dengan nama arsitektur von-Neumann (Gambar 1.2, “Arsitektur Komputer von-Neumann). Pada saat awal, komputer berukuran sangat besar sehingga komponen-komponennya dapat memenuhi sebuah ruangan yang sangat besar. Sang pengguna – menjadi programer yang sekali gus merangkap menjadi menjadi operator komputer – juga bekerja di dalam ruang komputer tersebut.
Walaupun berukuran besar, sistem tersebut dikategorikan sebagai "komputer pribadi" (PC). Siapa saja yang ingin melakukan komputasi; harus memesan/antri untuk mendapatkan alokasi waktu (rata-rata 30-120 menit). Jika ingin melakukan kompilasi Fortran, maka pengguna pertama kali akan me- loadkompilator Fortran, yang diikuti dengan " load" program dan data. Hasil yang diperoleh, biasanya berbentuk cetakan (print-out). Timbul beberapa masalah pada sistem PC tersebut. Umpama, alokasi pesanan harus dilakukan dimuka. Jika pekerjaan rampung sebelum rencana semula, maka sistem komputer menjadi " idle"/tidak tergunakan. Sebaliknya, jika perkerjaan rampung lebih lama dari rencana semula, para calon pengguna berikutnya harus menunggu hingga pekerjaan selesai. Selain itu, seorang pengguna kompilator Fortran akan beruntung, jika pengguna sebelumnya juga menggunakan Fortran. Namun, jika pengguna sebelumnya menggunakan Cobol, maka pengguna Fortran harus me-" load". Masalah ini ditanggulangi dengan menggabungkan para pengguna kompilator sejenis ke dalam satu kelompok batch yang sama. Medium semula yaitu punch card diganti dengan tape.
Gambar 1.2. Arsitektur Komputer von-Neumann
Arsitektur Komputer von-Neumann

Selanjutnya, terjadi pemisahan tugas antara programer dan operator. Para operator biasanya secara eksklusif menjadi penghuni "ruang kaca" seberang ruang komputer. Para programer yang merupakan pengguna (users), mengakses komputer secara tidak langsung melalui bantuan para operator. Para pengguna mempersiapkan sebuah job yang terdiri dari program aplikasi, data masukan, serta beberapa perintah pengendali program. Medium yang lazim digunakan ialah kartu berlubang (punch card). Setiap kartu dapat menampung informasi satu baris hingga 80 karakter Set kartu job lengkap tersebut kemudian diserahkan kepada para operator.
Gambar 1.3. Bagan Sebuah Komputer Personal
Bagan Sebuah Komputer Personal

Perkembangan Sistem Operasi dimulai dari sini, dengan memanfaatkan sistem batch (Gambar 1.4, “Bagan Memori Untuk Sistem Monitor Batch Sederhana”). Para operator mengumpulkan job-job yang mirip yang kemudian dijalankan secara berkelompok. Umpama, job yang memerlukan kompilator Fortran akan dikumpulkan ke dalam sebuah batch bersama dengan job-job lainnya yang juga memerlukan kompilator Fortran. Setelah sebuah kelompok job rampung, maka kelompok job berikutnya akan dijalankan secara otomatis.
Gambar 1.4. Bagan Memori Untuk Sistem Monitor Batch Sederhana
Bagan Memori Untuk Sistem Monitor Batch Sederhana

Pada perkembangan berikutnya, diperkenalkan konsep Multiprogrammed System. Dengan sistem ini job-job disimpan di memori utama di waktu yang sama dan CPU dipergunakan bergantian. Hal ini membutuhkan beberapa kemampuan tambahan yaitu: penyediaan I/O routine oleh sistem, pengaturan memori untuk mengalokasikan memori pada beberapa Job, penjadwalan CPU untuk memilih job mana yang akan dijalankan, serta pengalokasian perangkat keras lain (Gambar 1.4, “Bagan Memori Untuk Sistem Monitor Batch Sederhana”).
Peningkatan lanjut dikenal sistem "bagi waktu"/"tugas ganda"/"komputasi interaktif" (Time-Sharing System/ Multitasking/ Interactive Computing). Sistem ini, secara simultan dapat diakses lebih dari satu pengguna. CPU digunakan bergantian oleh job-job di memori dan di disk. CPU dialokasikan hanya pada job di memori dan job dipindahkan dari dan ke disk. Interaksi langsung antara pengguna dan komputer ini melahirkan konsep baru, yaitu response time yang diupayakan wajar agar tidak terlalu lama menunggu.
Hingga akhir tahun 1980-an, sistem komputer dengan kemampuan yang "normal", lazim dikenal dengan istilah main-frame. Sistem komputer dengan kemampuan jauh lebih rendah (dan lebih murah) disebut "komputer mini". Sebaliknya, komputer dengan kemampuan jauh lebih canggih disebut komputer super (super-computer). CDC 6600 merupakan yang pertama dikenal dengan sebutan komputer super menjelang akhir tahun 1960-an. Namun prinsip kerja dari Sistem Operasi dari semua komputer tersebut lebih kurang sama saja.
Komputer klasik seperti diungkapkan di atas, hanya memiliki satu prosesor. Keuntungan dari sistem ini ialah lebih mudah diimplementasikan karena tidak perlu memperhatikan sinkronisasi antar prosesor, kemudahan kontrol terhadap prosesor karena sistem proteksi tidak, teralu rumit, dan cenderung murah (bukan ekonomis). Perlu dicatat yang dimaksud satu buah prosesor ini ialah satu buah prosesor sebagai Central Processing Unit (CPU). Hal ini ditekankan sebab ada beberapa perangkat yang memang memiliki prosesor tersendiri di dalam perangkatnya seperti VGA Card AGP, Optical Mouse, dan lain-lain.

No comments:

Post a Comment

Iklan