Sistem
operasi telah berkembang selama lebih dari 40 tahun dengan dua tujuan
utama. Pertama, sistem operasi mencoba mengatur aktivitas-aktivitas
komputasi untuk memastikan pendayagunaan yang baik dari sistem komputasi
tersebut. Kedua, menyediakan lingkungan yang nyaman untuk pengembangan
dan jalankan dari program.
Pada awalnya, sistem komputer digunakan dari depan konsul. Perangkat lunak seperti assembler, loader, linkerdan compiler meningkatkan kenyamanan dari sistem pemrograman, tapi juga memerlukan waktu set-up yang banyak. Untuk mengurangi waktu set-up tersebut, digunakan jasa operator dan menggabungkan tugas-tugas yang sama (sistem batch). Sistem batch mengizinkan
pengurutan tugas secara otomatis dengan menggunakan sistem operasi yang
resident dan memberikan peningkatan yang cukup besar dalam utilisasi
komputer. Komputer tidak perlu lagi menunggu operasi oleh pengguna. Tapi
utilisasi CPU tetap saja rendah. Hal ini dikarenakan lambatnya
kecepatan alat-alat untuk I/O relatif terhadap kecepatan CPU. Operasi off-line dari alat-alat yang lambat bertujuan untuk menggunakan beberapa sistem reader-to-tape dan tape-to-printer untuk satu CPU.
Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming. Dengan multiprogramming,
beberapa tugas disimpan dalam memori dalam satu waktu; CPU digunakan
secara bergantian sehingga menambah utilisasi CPU dan mengurangi total
waktu yang dibutuhkan untuk menyelesaikan tugas-tugas tersebut. Multiprogramming, yang dibuat untuk meningkatkan kemampuan, juga mengizinkan time sharing. Sistem operasi yang bersifat time-shared memperbolehkan
banyak pengguna untuk menggunakan komputer secara interaktif pada saat
yang bersamaan. Komputer Personal adalah mikrokomputer yang dianggap
lebih kecil dan lebih murah dibandingkan komputer mainframe. Sistem operasi untuk komputer-komputer seperti ini diuntungkan oleh pengembangan sistem operasi untuk komputer mainframe dalam
beberapa hal. Namun, semenjak penggunaan komputer untuk keperluan
pribadi, maka utilisasi CPU tidak lagi menjadi perhatian utama. Karena
itu, beberapa desain untuk komputer mainframe tidak cocok untuk sistem yang lebih kecil.
Sistem parallel mempunyai
lebih dari satu CPU yang mempunyai hubungan yang erat; CPU-CPU tersebut
berbagi bus komputer, dan kadang-kadang berbagi memori dan perangkat
yang lainnya. Sistem seperti itu dapat meningkatkan throughput dan reliabilititas. Sistem hard real-time sering kali digunakan sebagai alat pengontrol untuk applikasi yang dedicated. Sistem operasi yang hard real-time mempunyai
batasan waktu yang tetap yang sudah didefinisikan dengan
baik.Pemrosesan harus selesai dalam batasan-batasan yang sudah
didefinisikan, atau sistem akan gagal. Sistem soft real-time mempunyai
lebih sedikit batasan waktu yang keras, dan tidak mendukung penjadwalan
denganmenggunakan batas akhir. Pengaruh dari internet dan World Wide Webbaru-baru ini telah mendorong pengembangan sistem operasi modern yang menyertakan web browser serta perangkat lunak jaringan dan komunikasi sebagai satu kesatuan.
Multiprogramming dan sistem time-sharing meningkatkan kemampuan komputer dengan melampaui batas operasi (overlap)
CPU dan I/O dalam satu mesin. Hal seperti itu memerlukan perpindahan
dataantara CPU dan alat I/O, ditangani baik dengan polling atau interrupt-driven akses ke I/O port,
atau dengan perpindahan DMA. Agar komputer dapat menjalankan suatu
program, maka program tersebut harus berada di memori utama (memori
utama). Memori utama adalah satu-satunya tempat penyimpanan yang besar
yang dapat diakses secara langsung oleh prosessor, merupakan suatu array dari word atau byte, yang mempunyai ukuran ratusan sampai jutaan ribu. Setiap word memiliki alamatnya
sendiri. Memori utama adalah tempat penyimpanan yang volatile, dimana isinya hilang bila sumber energinya (energi listrik) dimatikan. Kebanyakan sistem komputer menyediakan secondary storage sebagai perluasan dari memori utama. Syarat utama dari secondary storage adalah dapat menyimpan data dalam jumlah besar secara permanen. Secondary storage yang
paling umum adalah disk magnetik, yang meyediakan penyimpanan untuk
program mau pun data. Disk magnetik adalah alat penyimpanan data yang nonvolatile yang juga menyediakan akses secara random. Tape magnetik digunakan terutama untuk backup, penyimpanan informasi yang jarang digunakan, dan sebagai media pemindahan informasi dari satu sistem ke sistem yang lain.
Beragam
sistem penyimpanan dalam sistem komputer dapat disusun dalam hirarki
berdasarkan kecepatan dan biayanya. Tingkat yang paling atas adalah yang
paling mahal, tapi cepat. Semakin kebawah, biaya perbit menurun,
sedangkan waktu aksesnya semakin bertambah (semakin lambat).
Sistem
operasi harus memastikan operasi yang benar dari sistem komputer. Untuk
mencegah pengguna program mengganggu operasi yang berjalan dalam
sistem, perangkat keras mempunyai dua mode: mode pengguna dan mode
monitor. Beberapa perintah (seperti perintah I/O dan perintah halt)
adalah perintah khusus, dan hanya dapat dijalankan dalam mode monitor.
Memori juga harus dilindungi dari modifikasi oleh pengguna. Timer mencegah terjadinya pengulangan secara terus menerus (infinite loop). Hal-hal tersebut (dual mode, perintah khusus, pengaman memori, timer interrupt)
adalah blok bangunan dasar yang digunakan oleh sistem operasi untuk
mencapai operasi yang sesuai. Sistem operasi menyediakan banyak
pelayanan. Di tingkat terrendah, sistem calls mengizinkan program yang sedang berjalan untuk membuat permintaan secara langsung dari sistem operasi. Di tingkat tertinggi, command interpreter atau shell menyediakan mekanisme agar pengguna dapat membuat permintaan tanpa menulis program. Command dapat muncul dari bekas sewaktu jalankan batch-mode, atau secara langsung dari terminal ketika dalam mode interaktive atau time-shared.
Program sistem disediakan untuk memenuhi kebanyakan dari permintaan
pengguna. Tipe dari permintaan beragam sesuai dengan levelnya. Level sistem call harus
menyediakan fungsi dasar, seperti kontrol proses serta manipulasi alat
dan bekas. Permintaan dengan level yang lebih tinggi (command interpreter atau program sistem) diterjemahkan kedalam urutan sistem call.
Pelayanan sistem dapat dikelompokkan kedalam beberapa kategori: kontrol program, status permintaan dan permintaan I/O. Program error dapat
dipertimbangkan sebagai permintaan yang implisit untuk pelayanan. Bila
sistem pelayanan sudah terdefinisi, maka struktur dari sistem operasi
dapat dikembangkan. Berbagai macam tabel diperlukan untuk menyimpan
informasi yang mendefinisikan status dari sistem komputer dan status
dari sistem tugas. Perancangan dari suatu sistem operasi yang baru
merupakan tugas yang utama. Sangat penting bahwa tujuan dari sistem
sudah terdefinisi dengan baik sebelum memulai perancangan. Tipe dari
sistem yang diinginkan adalah landasan dalam memilih beragam algoritma dan
strategi yang akan digunakan. Karena besarnya sistem operasi, maka
modularitas adalah hal yang penting. Merancang sistem sebagai suatu
urutan dari layer atau dengan menggunakan mikrokernel merupakan salah satu teknik yang baik. Konsep virtual machine mengambil pendekatan layer dan memperlakukan baik itu kernel dari
sistem operasi dan perangkat kerasnya sebagai suatu perangkat keras.
Bahkan sistem operasi yang lain dapat dimasukkan diatas virtual machine tersebut.
Setiap sistem operasi yang mengimplemen JVM dapat menjalankan semua
program java, karena JVM mendasari dari sistem ke program java,
menyediakan arsitektur tampilan yang netral.
Tidak ada komentar:
Posting Komentar