Evolusi dari sebuah sistem operasi berawal dari sistem serial processing, simple batch, multipogrammed, dan time-sharing.
Serial Processing
Programmer berinteraksi secara langsung dengan hardware komputer karena belum ada Sistem Operasi. Komputer ini dijalankan dengan perangkat yang terdiri dari display light, toggle switch, dan beberapa jenis alat inputan.
Sistem awal ini menunjukan 2 masalah utama, yaitu:
- Scheduling: User bisa mendapatkan masalah dan tidak bisa menyelesaikannya, tetapi dipaksa untuk berhenti sebelum menyelesaikan masalahnya.
- Setup Time: Sebuah program yang dipanggil Job, dapat terlibat memuat compiler ditambah high-level language program (source code) ke dalam memory. Menyimpan program yang sudah dicompile (object program) dan memuat serta menghubungkan object program dengan fungsi umum. Mode operasi ini bisa diistilahkan sebagai Serial Processing
Sebuah program yang dipanggil Job, dapat terlibat memuat compiler ditambah high-level language program (source code) ke dalam memori. Menyimpan program yang sudah di compile (object program) dan memuat serta menghubungkan object program dengan fungsi umum. Mode operasi ini bisa diistilahkan sebagai Serial Processing.
Simple Batch Systems
Ide utama di balik skema simple batch-processing adalah penggunaan bagian dari perangkat lunak yang dikenal sebagai monitor. Dengan jenis OS ini, pengguna tidak lagi memiliki akses langsung ke prosesor. Sebaliknya, pengguna menyerahkan Job pada kartu atau tape ke komputer operator, yang memaketkan Job bersama-sama secara berurutan dan menempatkan seluruh paket pada perangkat input, untuk digunakan oleh monitor. Setiap program akan dibangun untuk kembali ke monitor bila itu selesai mengolah, di mana titik monitor secara otomatis mulai memuat program berikutnya.
Proteksi Memori: saat pengguna menjalankan program, tidak boleh mengubah area yang ada di monitor.- Timer: Digunakan untuk mencegah sebuah job dari memonopoli sistem.
- Privileged Instruction: Level instruksi mesin yang pasti mempunyai hak istimewa dan hanya bisa dijalankan oleh monitor.
- Interuppts: Komputer awal tidak bisa melakukan ini.
- User Mode: Kondisi dimana pada saat program user (Job) sedang dikesekusi oleh prosesor sehingga protected memory dan privileged instructions tidak bisa diakses
- Kernel Mode: kondisi pada saat program monitor (OS)sedang dieksekusi oleh prosesor dan protected memory dan privileged instructions boleh diakses.
- Apabila Overheat: User bisa mendapatkan masalah dan tidak bisa menyelesaikannya, tetapi dipaksa untuk berhenti sebelum menyelesaikan masalahnya.
Dukungan Hardware Bagi Model Monitor:
- Proteksi Memori: saat pengguna menjalankan program, tidak boleh mengubah area yang ada di monitor.
- Timer: Digunakan untuk mencegah sebuah job dari memonopoli sistem.
- Privileged Instruction: Level instruksi mesin yang pasti mempunyai hak istimewa dan hanya bisa dijalankan oleh monitor.
- Interuppts: Komputer awal tidak bisa melakukan ini.
Mode Pada Simple Batch Systems:
- User Mode: Kondisi dimana pada saat program user (Job) sedang dikesekusi oleh prosesor sehingga protected memory dan privileged instructions tidak bisa diakses
- Kernel Mode: kondisi pada saat program monitor (OS)sedang dieksekusi oleh prosesor dan protected memory dan privileged instructions boleh diakses.
Kekurangan Simple Batch System:
Apabila overheat:
- Sebagian lokasi memori ditempati oleh monitor
- Sebagian prosesor digunakan untuk mengeksekusi monitor.
- Waktu prosesor belum termanfaatkan secara maksimal karena prosesor sering idle (menganggur) karena I/O device jauh lebih lambat dibanding prosesor.
Multiprogrammed Batch Systems
Multiprogramming Batch systems ada tipe OS modern yaitu OS yang sudah mendukung multiprogramming atau yang biasa disebut multitasking. Tujuan dari OS ini adalah untuk utilisasi prosesor.
Uniprogramming: Prosesor harus menunggu instruksi i/o selesai sebelum bekerja lagi.
Multiprogramming : Ketika satu Job perlu menunggu i/o, prosesor dapat berpindah ke job lain.
Seperti dengan sistem batch sederhana, sistem batch multiprogramming harus bergantung pada perangkat keras komputer tertentu Fitur tambahan yang paling penting yang berguna untuk multiprogramming adalah perangkat keras yang mendukung I/O interupsi dan DMA (akses memori langsung) Dengan interrupt-driven I/O atau DMA, prosesor dapat mengeluarkan perintah I/O untuk satu Job dan dilanjutkan dengan pelaksanaan Job lain sementara I/O dilakukan oleh controller. Saat perangkat operasi I/O selesai, prosesor terganggu dan kontrol akan diteruskan ke program interrupt penanganan di OS. kemudian akan melewati kontrol ke Job lain. Sistem Operasi Multiprogramming cukup canggih dibandingkan dengan program tunggal, atau Sistem uniprogramming. Untuk memiliki beberapa Job yang siap untuk menjalankan, Job harus disimpan dalam memori utama, dan memerlukan beberapa bentuk manajemen memori. Selain itu, jika beberapa Job siap untuk berjalan, prosesor harus memutuskan mana yang akan dijalankan ,keputusan ini membutuhkan algoritma untuk penjadwalan.
Time-Sharing systems
Dalam kasus yang terakhir, teknik ini disebut time-sharing, karena waktu prosesor dibagi di antara beberapa pengguna. Dalam sistem time-sharing, beberapa pengguna secara bersamaan mengakses sistem melalui terminal, dengan interleaving OS pelaksanaan setiap program pengguna dalam ledakan pendek atau kuantum komputasi. Jadi, jika ada n pengguna aktif meminta layanan pada satu waktu, setiap pengguna hanya akan melihat pada 1 / n rata-rata kapasitas komputer yang efektif, tidak termasuk OS overhead. Namun, mengingat waktu reaksi manusia relatif lambat, respon waktu pada sistem yang dirancang harus sama dengan komputer khusus.
Timbulnya gagasan ini disebabkan karena komputer telah dapat digunakan untuk melakukan multiprogramming dan pada saat itu (sekitar tahun 1960) komputer sangatlah mahal dan berukuran besar sehingga tidak memungkinkan apabila satu user memiliki satu komputer.
0 comments:
Post a Comment