Jadi dapat di simpulkan,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 dengan
menggunakan 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 data antara 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.
Didalam daur perancangan sistem
operasi, kita harus berhati-hati untuk
memisahkan pembagian kebijakan
(policy decision) dengan detail
dari implementasi (mechanism). Pemisahan ini membuat fleksibilitas yang maksimal apabila
policy decision akan
diubah kemudian.
Sistem operasi sekarang
ini hampir selalu ditulis dengan menggunakan bahasa tingkat tinggi.
Hal ini meningkatkan implementasi, perawatan portabilitas. Untuk membuat sistem operasi
untuk suatu konfigurasi mesin
tertentu, kita harus melakukan system generation.
0 komentar: