This page needs JavaScript activated to work correctly !

This page will be redirect in 3 second !

Struktur Sistem Operasi - Time sharing/multitasking & Virtual Memory - Networking | IDRaya.com

Struktur Sistem Operasi - Time sharing/multitasking & Virtual Memory

Triawan NETWORKING 12/09/2020 0 Discuss 36 Views

Setelah membahas dasar mengenai organisasi dan arsitektur sistem komputer, selanjutnya kita akan membahas mengenai lingkungan (environment) sistem operasi dalam menjalankan program. Salah satu aspek terpenting dari sistem operasi adalah kemampuan untuk melakukan multiprogram, karena tidak mungkin satu program membuat CPU atau I/O devices sibuk sepanjang waktu, sementara seringnya user menjankan beberapa program setiap waktu. Tentunya multiprogramming meningkatkan penggunaan (utilization) CPU, yang dilakukan dengan cara mengatur berbagai perkerjaan (job pool, terdiri dari code/data) sehingga CPU selalu memiliki tugas untuk dieksekusi. Ide sistem operasi dapat menjalankan multiprogram (Gambar memory layout) dengan menyimpan beberapa pekerjaan di memory secara bersamaan. Umumnya karena kapasitas main memory terlalu kecil untuk menampung semua pekerjaan, maka pertama kali perkerjaan disimpan pada disk didalam job pool, untuk selanjutnya menunggu pengalokasian ke main memory. Kemudian sistem operasi akan mengambil dan mengeksekusi salah satu pekerjaan di memory. Mungkin saja pekerjaan tersebut harus menunggu beberapa tugas selesai terlebih dahulu, seperti adanya operasi I/O. Dalam sistem non-multiprogrammed, CPU akan diam (idle). Sedangkan dalam sistem multiprogrammed, sederhananya sistem operasi akan melakukan switch atau mengeksekusi pekerjaan lain, dan jika perkerjaan tersebut perlu menunggu sesuatu, CPU akan berlalih (switch) ke pekerjaan lain, begitu seterusnya. Ketika pekerjaan pertama selesai menunggu, CPU akan memprosesnya kembali, setidaknya selama satu tugas perlu dieksekusi, maka CPU tidak pernah menjadi idle.

memory-layout-in-multiprogramming Gambar Tata letak (layout) memory untuk sistem multiprogramming.

Analogika dalam kehidupan kita sehari-hari seperti seorang pengacara tidak bekerja hanya untuk satu klien pada satu waktu, misalkan sementara satu kasus tersebut menungu untuk disidangkan atau dokumennya harus diketik terlebih dahulu, pengacara dapat menangani kasus lain. Jika pengacara cukup klien, pengacara tidak akan pernah menganggur (idle) karena kekurangan pekerjaan.

Sistem multiprogram menyediakan environment dari berbagai sumber daya (resources, misal seperti CPU, memory, dan peripheral devices) dapat digunakan secara efektif. Tetapi pada sistem multiprogram tidak menyediakan interkasi pengguna (user interaction) dengan computer system. Time sharing/mutitasking merupakan perpanjangan logis dari multiprogramming. Dalam sistem time-sharing, CPU mengeksekusi beberapa pekerjaan dengan cara melakukan swiching diantara pekerjaan tersebut, akan tetapi karena swiching begitu sering terjadi sehingga memungkinkan pengguna dapat berinteraksi dengan setiap program yang sedang berjalan.

Time sharing membutuhkan interaktif (interactive) sistem komputer, yang menyediakan komunikasi langsung antara pengguna dan sistem. Pengguna memberikan instruksi ke sistem operasi atau program secara langsung menggunakan input device seperti, keyboard, mouse, touch-pad/touch-screen, dan menunggu secara langsung pada output device. Untuk itu response time harus singkat – biasanya kurang dari 1 detik.

Sistem operasi time-sharing memungkinkan banyak user berbagi komputer secara simultan. Karena setiap aksi atau perintah dalam sistem time-sharing cenderung singkat, sehingga hanya sedikt waktu CPU yang diperlukan oleh setiap user. Karena perpindahan sistem dilakukan sangat cepat dari satu user ke user berikutnya, sehingga memberikan kesan kepada setiap user, bahwa seluruh sistem komputer didedikasikan hanya untuk user tersebut saja, meskipun sedang digunakan bersama-sama dengan user lainnya.

Pada sistem operasi time-sharing menggunakan penjadwalan (schedulling) CPU dan multiprogramming untuk menyediakan ke setiap user dengan porsi yang kecil dari time-shared computer. Setiap user memiliki setidaknya memiliki satu program terpisah di memory. Sebuah program yang dimuat (loaded) ke dalam memory dan dieksekusi disebut process. Ketika sebuah process dijalankan, biasanya hanya dalam waktu yang singkat, dan tidak harus sampai selesai, misalkan karena membutuhkan melakukan operasi I/O. Operasi I/O bisa saja interaktif; seperti, adanya output yang ditampilkan ke user, pada input ketika user mengunakan keyboard, mouse dan device lainnya. Daripada membiarkan CPU dalam kondisi idle saat melakukan operasi I/O yang interaktif, sisem operasi akan dengan cepat mengalihkan program ke user lainnya.

Time-sharing dan multiprogramming mengharuskan beberapa pekerjaan disimpan secar simultan didalam memory. Jika beberapa pekerjaan siap untuk dibawa ke dalam memory, tetapi ruang memory tidak cukup untuk menampung semua pekerjaan tersebut, maka sistem harus memilih/mengambil keputusan pekerjaan mana yang harus dikerjakan terlebih dahulu. Untuk melakukan hal ini, diperlukan mekanisme yang disebut dengan job schedulling. Saat sistem operasi memilih pekerjaan dari job pools, selanjutnya sistem operasi akan memuat (load) pekerjaan tersebut ke dalam memory untuk dieksekusi, tetapi jika memiliki beberapa program dalam memory pada waktu/saat yang bersamaan membutuhkan beberapa bentuk memory management. Mengambil keputusan ini ditangani oleh CPU schedulling, terakhir untuk menjalankan multiple jobs secara serentak/bersamaan (concurrently) oleh sistem, termasuk process schedulling, disk storage, memory management, setiap tahapannya dibatasi oleh operating system.

Dalam sistem time-sharing, sistem operasi harus memastikan bahwa dapat memberikan response time yang wajar, terkadang hal ini dapat dicapai melalui teknik bertukar tempat (swapping), yaitu dengan cara memasukkan dan mengeluarkan dari main memory ke disk. Umumnya metode yang digunakan untuk memastikan bahwa response time yang diberikan wajar, disebut dengan virtual memory atau istilah lainnya disebut dengan swap disk, yaitu suatu teknik yang memungkinkan eksekusi proses tidak sepenuhnya berada dalam main memory.

Keuntungan utama dari skema virtual memory adalah memungkinkan setiap user untuk menjalankan berbagai program yang lebih besar dari physical memory sebenarnya. Hal ini mengabstraksikan main memory menjadi array penyimpanan yang besar dan seragam, memisahkan logic memory (lokasi informasi disimpan didalam RAM) seperti yang dilihat oleh user dari physical memory. Dan dari pengaturan ini juga membebaskan programmer dari kekhawatiran/perhatiannya akan batas kapasitas memory.

Sistem time-sharing, harus menyediakan file-system berada pada kumpulan disk, karena disk-management harus disediakan. Selain itu sistem time-sharing menyediakan mekanisme untuk memproteksi/melindungi sumber daya (protecting resource) dari penggunaan yang tidak tepat. Untuk memastikan pengeksekusian dilakukan secara teratur, sistem harus menyediakan mekanisme untuk melakukan synchronization dan communication pekerjaan, serta memastikan bahwa pekerjaan tersebut tidak terjebak (stuck) dalam kebuntuan (deadlock), karena saling menungu satu sama lain selama-lamanya (infiniti loop).

Referensi

  1. Operating Systems: Internals and Design Principles (8th Edition), William Stallings, 2014.
  2. Operating System Concepts (9th Edition in Chinese) by Abraham Silberschatz et al.
  3. The Linux Programming Interface: A Linux and UNIX System Programming Handbook, Michael Kerrisk.

Agus Triawan/Triawan

 matriawan@gmail.com

Triawan is just an ordinary person, founder idraya[dot]com who just a little bit knows also likes try and error about devices, networks and programming/applications to solve challenges related to information technology.

If there is question, please discuss below. Very welcome and expected to provide corrections, criticisms, and suggestions.


We'll not share/display your email.
Example: Say <b>Hello</b> &lt;?php echo 'World'; ?&gt;
Output: Say Hello <?php echo 'World'; ?>
Words can come true for you, so be wise in speaking.

Be the first :D