Seputar sistem Operasi


Sistem operasi adalah sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi manusia, sistem operasi ikut berkembang, sehingga pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya kita mengetahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.

Sejarah Sistem Operasi

Setelah komputer diciptakan, menurut TANENBAUM Sistem Operasi mengalami perkembangan yang sangat pesat, dan bisa dibagi kedalam empat generasi :

Layanan Sistem Operasi

Sistem Operasi yang baik menurut TANENBAUM harusnya memiliki pelayanan sebagai berikut : Pembuatan Program,Eksekusi Program,Pengaksesan I/O Device, Pengaksesan terkendali terhadap file Pengaksesan sistem, Deteksi dan Pemberian tanggapan pada error, Akunting.
Pembuatan Program yaitu Sistem Operasi menyediakan fasilitas dan layanan untuk membantu pemrogram untuk menulis program, Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke main-memory, perangkat-parangkat masukan/pengeluaran dan files harus diinisialisasi, serta sumber-daya yang ada harus disiapkan, semua itu harus di tangani oleh sistem operasi, Pengaksesan I/O Device artinya Sistem Operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali menjengkelkan agar pemrogram dapat berfikir sederhana dan perangkatpun dapat beroperasi, Pengaksesan terkendali terhadap fileyang artinya Disediakannya mekanisme proteksi terhadap file untuk mengendalikan pengaksesan terhadap file, Pengaksesan sistem artinya pada pengaksesan dipakai bersama (shared system), fungsi pengaksesan harus menyediakan proteksi terhadap sejumlah sumberdaya dan data dari pemakai tak terdistorsi serta menyelesaikan konflik-konflik dalam perebutan sumberdaya, Deteksi dan Pemberian tanggapan pada error yaitu Jika muncul permasalahan muncul di sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan error yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan dan Akunting yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan beragam sumberdaya dan memonitor parameter kinerja.

Struktur Komputer

Adapun Struktur Sistem Komputer adalah :

Struktur Penyimpanan

Program computer harus berada di main memory (biasanya RAM) untuk dapat dijalankan. Main memory adalah satu-satunya tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Idealnya program dan data secara keseluruhan dapat disimpan dalam main memory secara permanen . Namun demikian hal ini tidak mungkin karena:


Proteksi Perangkat Keras

Sistem komputer terdahulu berjenis programmer-operated systems. Ketika komputer dioperasikan dalam konsol mereka(pengguna) harus melengkapi sistem terlebih dahulu. Akan tetapi setelah sistem operasi lahir maka hal tersebut diambil alih oleh sistem operasi. Sebagai contoh pada monitor yang proses I/O sudah diambil alih oleh O/S, padahal dahulu hal ini dilakukan oleh pengguna.
Untuk meningkatkan utilisasi sistem, O/S akan membagi sistem sumber daya sepanjang program secara simultan. Pengertian spooling adalah suatu program dapat dikerjakan walaupun I/O masih mengerjakan proses lainnya dan disk secara bersamaan menggunakan data untuk banyak proses. Pengertian multi programming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu.
Pembagian ini memang menguntungkan sebab banyak proses dapat berjalan pada satu waktu akan tetapi mengakibatkan masalah-masalah baru. Ketika tidak di sharing maka jika terjadi kesalahan hanyalah akan membuat kesalahan program. Tapi jika disharing jika terjadi kesalahan pada satu proses/program akan berpengaruh pada proses lainnya
Sehingga diperlukan pelindung(proteksi).Tanpa proteksi jika terjadi kesalahan maka hanya satu saja program yang dapat dijalankan atau seluruh output pasti diragukan
Banyak kesalahan pemprograman dideteksi oleh perangkat keras. Kesalahan ini biasanya ditangani oleh sistem operasi.Jika terjadi kesalahan program, perangkat keras akan meneruskan kepada sistem operasi dan sistem operasi akan menginterupsi dan mengakhirinya. Pesan kesalahan disampaikan, dan memori dari program akan dibuang. Tapi memori yang terbuang biasanya tersimpan pada disk agar programmer bisa membetulkan kesalahan dan menjalankan program ulang.

Struktur Sistem Komputer


Virtual Machines

Sebuah vitual machine menggunakan misalkan terdapat sistem program => control program yang mengatur pemakaian sumber daya perangkat keras. Control program = trap System call + akses ke perangkat keras. Control program memberikan fasilitas ke proses pengguna . Mendapatkan jatah CPU dan memori. Menyediakan interface "identik" dengan apa yang disediakan oleh perangkat keras => sharing devices untuk berbagai proses.
Virtual Machine(VM) => control program yang minimal VM memberikan ilusi multitasking: seolah-olah terdapat prosesor dan memori ekslusif digunakan VM. VM memilah fungsi multitasking dan implementasi extended machine (tergantung proses pengguna) => flexible dan lebih mudah untuk pengaturan. Jika setiap pengguna diberikan satu VM => pengguna bebas untuk menjalankan OS (kernel) yang diinginkan pada VM tersebut. Potensi lebih dari satu OS dalam satu komputer. Contoh : IBM VM370: menyediakan VM untuk berbagai OS: CMS (interaktif), MVS, CICS, dll. Masalah : Sharing disk => setiap OS mempunyai file sistem yang mungkin berbeda. IBM: virtual disk (minidisk) yang dialokasikan untuk pengguna melalui VM.
Konsep VM menyediakan proteksi yang lengkap untuk sumberdaya sistem, dikarenakan tiap VM terpisah dari VM yang lain. Namun, hal tersebut menyebabkan tidak adanya sharing sumberdaya secara langsung. VM merupakan alat yang tepat untuk penelitian dan pengembangan sistem operasi. Konsep VM susah untuk diimplementasi sehubungan dengan usaha yang diperlukan untuk menyediakan duplikasi dari mesin utama.

Rangkuman

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 konsol. Perangkat lunak seperti assembler, loader, linker dan 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 mengijinkan 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. Personal Komputer 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 reliabiliti. Sistem hard real-time seringkali 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 Web baru-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 (main memory). 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 maupun 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 d isusun 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 terendah, 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 file 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 file. 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.

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Furl
  • Reddit
  • Spurl
  • StumbleUpon
  • Technorati

Leave a comment