1. Apakah keuntungan dari layer approach pada sistem design? Dan apakah kerugiannya?
Jawaban :
Keuntungan : sistem berlapis memiliki semua keunggulan rancangan yang modular yaiut sistem terbagi dalam beberapa modul. Masing-masing lapisan atau modul itu dapat dirancang, dikode, dan diuji secara independen berlapis menyederhanakan rancangan, spesifikasi, dan implementasi sistem operasi.
Kerugian : fungsi-fungsi sistem operasi yang harus diberikan ke masing-masing lapisan harus dilakukan secara hati-hati.
2. Sebutkan 5 servis/layanan yang diberikan oleh sistem operasi, jelaskan bagaimana masing-masing memberikan kemudahan kepada pengguna. Jelaskan juga dalam kasus apa yang tidak mungkin untuk user-level program untuk menyediakan layanan ini.
Jawaban :
• Eksekusi program : load program user ke memory dan menjalankannya (run)
• Operasi-operasi I/O : pengguna tidak bisa mengontrol I/O secara langsung (untuk efisiensi & keamanan), sistem harus bisa menyediakan mekanisme untuk melakukan operasi I/O
• Manipulasi file system : read, write, create & delete
• Komunikasi antar proses : Baik yang run di komputer yang sama atau berlainan via jaringan. Implementasi melalui shared memory atau message passing
• Error detection : Menjamin komputasi yang benar dengan mendeteksi error : CPU, memori, I/O device, atau user program
Kasus apa yang tidak mungkin untuk user-level program untuk menyediakan layanan ini :
• Penjadwalan (Scheduling): pengguna memesan waktu pelayanan mesin, pemesanan waktu mesin hendaknya sama dengan waktu penyelesaian pekerjaan.
• Waktu setup (Setup Time): Waktu yang diperlukan untuk pemuatan compiler dan program berbahasa tingkat tinggi (program sumber) ke dalam memori, penyimpanan program yang telah dikompilasi (program object), dan kemudian memuatkan dan melakukan link program object dengan fungsi-fungsi agar program dapat berjalan. Waktu setup harus diusahakan sependek mungkin.
3. Apakah keuntungan dari microkernel approach pada system design?
Jawaban :
Keuntungan :
– Ketika layanan baru akan ditambahkan ke user-space, kernel tidak perlu di-modif
– OS lebih mudah ditempatkan (porting) pada suatu desain perangkat keras ke desain perangkat keras lainnya (asrsitektur sistem yang baru)
– Mendukung keamanan & reliabilitas lebih
• Contoh sistem operasi :
– Tru64 UNIX, MacOSX, QNX
4. Jelaskan perbedaan antara preemptive and nonpreemptive scheduling.
Jawaban :
Penjadwalan Preemptive merupakan kemampuan sistem operasi untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Penjadwalan ini bisa saja termasuk penjadwalan proses atau I/O. Penjadwalan Preemptive memungkinkan sistem untuk lebih bisa menjamin bahwa setiap proses mendapat sebuah slice waktu operasi.
Penjadwalan Non Preemptive jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses yang sedang berjalan ke proses yang lain. Dengan kata lain, proses yang sedang berjalan tidak bisa di- interupt.
5. Apakah yang membedakan PCS dan SCS scheduling.
Jawaban :
Process Contention Scope (PCS). Pustaka thread menjadwalkan thread pengguna untuk berjalan pada LWP ( lightweight process) yang tersedia.
System Contention Scope (SCS). SCS berfungsi untuk memilih satu dari banyak thread, kemudian menjadwalkannya ke satu thread tertentu (CPU / Kernel).
6. Berikan alasan mengapa Solaris, Windows XP, and Linux mengimplementasikan mekanisme multiple locking. Jelaskan keadaan dimana mereka menggunakan spinlock, mutexes, semaphores, adaptive mutexes, dan condition variables. Pada setiap kasus, jelaskan mengapa mekanisme tersebut dibutuhkan.
Jawaban :
Sistem operasi menyediakan mekanisme penguncian yang berbeda tergantung pada kebutuhan pengembang aplikasi. Spinlocks adalah berguna untuk sistem multiprosesor di mana thread dapat dijalankan dalam busy-loop (untuk jangka waktu yang pendek) daripada menimbulkan biaya overhead yang dimasukkan ke dalam sleep queue. Mutexes berguna untuk mengunci sumber daya. Solaris 2 menggunakan mutexes adaptif, berarti bahwa mutex ini diimplementasikan dengan spinlocks pada mesin multiprosesor. Semaphore dan variabel kondisi sebagai alat yang lebih tepat untuk sinkronisasi ketika sumberdaya harus dipegang untuk jangka waktu yang panjang, karena berputar secara tidak efisien untuk durasi panjang.
7. Jelaskan mengenai konsep dari transaction atomicity.
Jawaban :
Atomicity disini juga dapat diartikan all or nothing, maksudnya adalah jika terdapat beberapa perintah dalam satu waktu, perintah tersebut dijadikan sebagai suatu kesatuan, sehingga jika salah satu perintah dalam kesatuan tersebut gagal dilaksanakan maka seluruh kesatuan perintah tersebut gagal dilakukan.
8. Berikan 3 contoh dari deadlocks yang tidak ada hubungannya dengan lingkungan sistem komputer.
Jawaban :
1. Contoh Deadlock di Jembatan Gantung
disadur dari Modern Operating Systems , Tanenbaum , 1992
sehingga orang yang ada di sebelah kiri jembatan tidak dapat melaju sebab terjadi deadlock di tengah jembatan ( bagian yang dilingkari )
2. Contoh Deadlock di Persimpangan Jalan
disadur dari Modern Operating Systems , Tanenbaum , 1992
Dalam kasus ini setiap mobil bergerak sesuai nomor yang ditentukan,tetapi tanpa pengaturan yang benar, maka setiap mobil akan bertemu pada satu titik yang permanen( yang dilingkari )atau bisa dikatakan bahwa setiap mobil tidak bisa meanjutkan perjalanan lagi atau dengan kata lain terjadi deadlock
3. Contoh Deadlock Sederhana
Pada gambar diatas, tidak ada yang dapat maju karena keduanya memperebutkan jalan yang sama ( yang dilingkari ), demikian juga deadlock saat semua proses memperebutkan sumber yang sama.
9. Dapatkah system mendeteksi beberapa process adalah starving? Jika “ya” jelaskan bagaimana itu bisa. Jika “tidak” jelaskan bagaimana system dapat deal dengan starvation problem.
Jawaban :
Bisa. Apabila kondisi deadlock dapat dideteksi dengan metode penanganan deadlock secara awal.
10. Gambarkan suatu mekasisme dimana satu segmen dapat berasal dari address space dari dua proses yang berbeda.
Jawaban :
11. Berikan contoh dari sebuah aplikasi dimana data dalam sebuah file harus diakses :
a. Sequentially
b. randomly
Jawaban :
Sequentially : Database, dimana data yang diambil harus berurutan.
Randomly : Aplikasi Pemutar Musik, seperti Winamp. Winamp akan mengakses file-file yang berada di Harddisk ataupun CD/DVD secara random. Contohnya: Jika ingin mendengarkan lagu ke-10 kita bisa langsung mengaksesnya tanpa diurutkan terlebih dahulu.
Minggu, 12 Juni 2011
Minggu, 05 Juni 2011
OS Design
Pendahuluan
Sebuah sistem operasi sudah dapat dikatakan feksibel jika sistem tersebut dapat memenuhi keinginan pengguna, tapi hal itu belum cukup karena pengguna akan menemukan kebosanan dalam menggunakan sebuah sistem operasi yang menawarkan tampilan yang kaku dan tetap. Seperti pada generasi keempat awal sistem operasi yaitu seperti DOS dan UNIX. Dan saat ini keberadaan DOS telah digantikan oleh windows dan melahirkan generasi baru yaitu window 7. Wndows 7 memberikan kemudahan pada pengguna yaitu berupa Graphic User Interface yang dapat digunakan oleh orang banyak meskipun dipenuhi oleh virus yang mudah masuk. Sedangkan pada UNIX sendiri terjadi beberapa bagian kecil yang terus berkembang yaitu seperti Linux, Ubuntu, Macintosh dan lain-lain. Dari setiap turun baru dari UNIX memberikan kontribusi yang mengejutkan pada perkembangan sistem operasi saat ini. Dibawah ini akan menjelaskan GUI dari setiap sistem operasi yang populer saat ini.
GUI Windows
Graphic User Interface windows merupakan GUI yang paling mudah digunakan oleh pengguna saat ini, tapi sistem yang dimiliki windows tidak sebanding apa yang ditampilkan oleh windows
GUI Linux(Ubuntu, Macintosh)
sedangkan pada keluarga UNIX memberikan suasana baru daripada windows yaitu dengan GUI yang keren sistem yang cukup mudah digunakan oleh user, GUI yang ada pada keluarga UNIX adalah GNOME (Ubuntu), KDE dan lain
GUI Symbion
sedangkan pada GUI yang ditawarkan masih belum sekeren pada ubuntu karena belum mengarahkan pada sistem operasi yang belum sepenuh multiprogramming.
GUI Andorid
sedangkan pada android itu sendiri hampir mirip seperti windows tapi mengambil turunan sifat dari keluarga UNIX
Sebuah sistem operasi sudah dapat dikatakan feksibel jika sistem tersebut dapat memenuhi keinginan pengguna, tapi hal itu belum cukup karena pengguna akan menemukan kebosanan dalam menggunakan sebuah sistem operasi yang menawarkan tampilan yang kaku dan tetap. Seperti pada generasi keempat awal sistem operasi yaitu seperti DOS dan UNIX. Dan saat ini keberadaan DOS telah digantikan oleh windows dan melahirkan generasi baru yaitu window 7. Wndows 7 memberikan kemudahan pada pengguna yaitu berupa Graphic User Interface yang dapat digunakan oleh orang banyak meskipun dipenuhi oleh virus yang mudah masuk. Sedangkan pada UNIX sendiri terjadi beberapa bagian kecil yang terus berkembang yaitu seperti Linux, Ubuntu, Macintosh dan lain-lain. Dari setiap turun baru dari UNIX memberikan kontribusi yang mengejutkan pada perkembangan sistem operasi saat ini. Dibawah ini akan menjelaskan GUI dari setiap sistem operasi yang populer saat ini.
GUI Windows
Graphic User Interface windows merupakan GUI yang paling mudah digunakan oleh pengguna saat ini, tapi sistem yang dimiliki windows tidak sebanding apa yang ditampilkan oleh windows
GUI Linux(Ubuntu, Macintosh)
sedangkan pada keluarga UNIX memberikan suasana baru daripada windows yaitu dengan GUI yang keren sistem yang cukup mudah digunakan oleh user, GUI yang ada pada keluarga UNIX adalah GNOME (Ubuntu), KDE dan lain
GUI Symbion
sedangkan pada GUI yang ditawarkan masih belum sekeren pada ubuntu karena belum mengarahkan pada sistem operasi yang belum sepenuh multiprogramming.
GUI Andorid
sedangkan pada android itu sendiri hampir mirip seperti windows tapi mengambil turunan sifat dari keluarga UNIX
Symbion (Study Case)
Sejarah
dikembangkan pada tahun 1990 dan pada tahun 2001 baru dipublikasikan kepada user. Sistem operasi symbian diarahkan untuk PC yang dapat dibawa kemana oleh user yaitu handphone pada saat ini lebih tepat disebut dengan smartphone, sehingga kemampuan dapat menyamai PC desktop atau notebook.
Symbian OS Roots: Psion and EPOC
Pada tahun 1990, Psion Komputer memproduksi sebuah perangkat yang bernama PDA.
Pada tahun 1996, Psion mulai merancang suatu sistem 32-bit EPOC release 1. EPOC diprogram dalam C ++.
Client/Server Resource Access
Gambar 1 : Struktur lapisan kernel pada Sistem Operasi Symbian.
Lapisan pertama nanokernel : tempat berkumpulnya proses yang mempunyai thread satu atau lebih dari satu, yang berperan penting dalam sistem operasi sebagai jantung operasi.
Lapisan kedua kernel : sistem membagi kernel menjadi beberapa bagian yang sesuai dengan tempat kerjanya pada lapisan ketiga.
Lapisan ketiga kernel : terdapat empat servis kernel yaitu : phone, multimedia, socket, display dan lain – lain yang telah disediakan oleh microkernel server, kemudian akan menjalankan beberapa perintah dari layer keempat ( sebagai tempat user menggunakan aplikasi ).
Lapisan keempat : pengguna menjalankan beberapa aplikasi yang telah diinstall diatas microkernel server.
Fitur Sistem Operasi Besar
Proses dan Thread: Symbian OS adalah multitasking dan multithreaded sistem operasi.
Common File system Support: Symbian OS mengatur akses ke sistem penyimpanan menggunakan model sistem file.
Jaringan: Symbian OS sudah mendukung TCP / IP serta beberapa interface komunikasi lain
manajemen Memory:Symbian mengatur akses memori di halaman dan memungkinkan untuk penggantian halaman.
Thread and Nanothreads
Status nanothreads :
Suspended : ini adalah keadaan dimana sebuah thread menunda thread lain.
Fast Semaphore Wait : Sebuah thread pada status ini menunggu sebuah fast semaphore tipe variable sentinel untuk diberi sebuah sinyal.
DFC Wait : Sebuah thread dalam status ini menunggu untuk memanggil sebuah fungsi yang tertunda atau DFC yang akan ditambahkan ke DFC queue.
Sleep : Sebuah thread ini tidur menunggu untuk beberapa waktu.
Other : Terdapat sebuah status dasar yang digunakan saat para perancang mengimplementasikan status tambahan untuk nanothread,
MEMORY MANAGEMENT
Systems with No Virtual Memory
Satu-satunya tempat penyimpanan yang tersedia di sistem operasi ini adalah memori, mereka tidak didukunjg oleh sebuah harddisk. Karena itu, kebanyakan sistem yang kecil, dari PDA ke smartphone sampai level yang lebih tinggi, tidak mensupport sebuah virtual memori.
INPUT AND OUTPUT
Removable Media : Setiap tipe dari media yang dapat dilepas memiliki fitur umum yang mencakup semua, yaitu :
Semua alat harus dimasukkan dan dilepas.
Semua media yang dapat removeable dapat dilepas.
Setiap media dapat melaporkan kemampuannya.
kartu yang tidak kompatibel harus ditolak.
Setiap kartu membutuhkan tenaga.
Kelebihan
Merupakan OS mobile paling stabil yang diimplementasikan pada saat debutnya dibandingkan dengan OS lain.
Didalamnya dapat berjalan aplikasi-aplikasi yang lebih lengkap.
Terus mengikuti perkembangan software dan terus mengupdate sistemnya sehingga dapat compatible.
Kekurangan
Tidak memiliki virtual memory.
Sistem operasi yang masih cukup berat untuk mobile.
dikembangkan pada tahun 1990 dan pada tahun 2001 baru dipublikasikan kepada user. Sistem operasi symbian diarahkan untuk PC yang dapat dibawa kemana oleh user yaitu handphone pada saat ini lebih tepat disebut dengan smartphone, sehingga kemampuan dapat menyamai PC desktop atau notebook.
Symbian OS Roots: Psion and EPOC
Pada tahun 1990, Psion Komputer memproduksi sebuah perangkat yang bernama PDA.
Pada tahun 1996, Psion mulai merancang suatu sistem 32-bit EPOC release 1. EPOC diprogram dalam C ++.
Client/Server Resource Access
Gambar 1 : Struktur lapisan kernel pada Sistem Operasi Symbian.
Lapisan pertama nanokernel : tempat berkumpulnya proses yang mempunyai thread satu atau lebih dari satu, yang berperan penting dalam sistem operasi sebagai jantung operasi.
Lapisan kedua kernel : sistem membagi kernel menjadi beberapa bagian yang sesuai dengan tempat kerjanya pada lapisan ketiga.
Lapisan ketiga kernel : terdapat empat servis kernel yaitu : phone, multimedia, socket, display dan lain – lain yang telah disediakan oleh microkernel server, kemudian akan menjalankan beberapa perintah dari layer keempat ( sebagai tempat user menggunakan aplikasi ).
Lapisan keempat : pengguna menjalankan beberapa aplikasi yang telah diinstall diatas microkernel server.
Fitur Sistem Operasi Besar
Proses dan Thread: Symbian OS adalah multitasking dan multithreaded sistem operasi.
Common File system Support: Symbian OS mengatur akses ke sistem penyimpanan menggunakan model sistem file.
Jaringan: Symbian OS sudah mendukung TCP / IP serta beberapa interface komunikasi lain
manajemen Memory:Symbian mengatur akses memori di halaman dan memungkinkan untuk penggantian halaman.
Thread and Nanothreads
Status nanothreads :
Suspended : ini adalah keadaan dimana sebuah thread menunda thread lain.
Fast Semaphore Wait : Sebuah thread pada status ini menunggu sebuah fast semaphore tipe variable sentinel untuk diberi sebuah sinyal.
DFC Wait : Sebuah thread dalam status ini menunggu untuk memanggil sebuah fungsi yang tertunda atau DFC yang akan ditambahkan ke DFC queue.
Sleep : Sebuah thread ini tidur menunggu untuk beberapa waktu.
Other : Terdapat sebuah status dasar yang digunakan saat para perancang mengimplementasikan status tambahan untuk nanothread,
MEMORY MANAGEMENT
Systems with No Virtual Memory
Satu-satunya tempat penyimpanan yang tersedia di sistem operasi ini adalah memori, mereka tidak didukunjg oleh sebuah harddisk. Karena itu, kebanyakan sistem yang kecil, dari PDA ke smartphone sampai level yang lebih tinggi, tidak mensupport sebuah virtual memori.
INPUT AND OUTPUT
Removable Media : Setiap tipe dari media yang dapat dilepas memiliki fitur umum yang mencakup semua, yaitu :
Semua alat harus dimasukkan dan dilepas.
Semua media yang dapat removeable dapat dilepas.
Setiap media dapat melaporkan kemampuannya.
kartu yang tidak kompatibel harus ditolak.
Setiap kartu membutuhkan tenaga.
Kelebihan
Merupakan OS mobile paling stabil yang diimplementasikan pada saat debutnya dibandingkan dengan OS lain.
Didalamnya dapat berjalan aplikasi-aplikasi yang lebih lengkap.
Terus mengikuti perkembangan software dan terus mengupdate sistemnya sehingga dapat compatible.
Kekurangan
Tidak memiliki virtual memory.
Sistem operasi yang masih cukup berat untuk mobile.
Windows (Studi Kasus)
Pendahuluan
• Microsoft memulai penelitian mengenai Interface Manager pada september 1981. MS akhirnya mengumumkannya dengan nama WINDOWS pada November 1983. Windows dikenal luas karena menyediakan antarmuka berbasis grafis yang mudah digunakan (graphical interface) , device independent graphics dan penggunaan "multitasking". Saat ini Versi windows telah mencapai kernel 32 bit yang dikenal sebagai Windows XP, dan telah keluar Windows Vista yang berbasis kernel 64 bit.
• Sebenarnya produk microsoft yang membuatnya sangat dominan bukan hanya sistem operasi windows saja, tetapi juga aplikasi office yaitu Microsoft office, yang terdiri dari Ms Word, Ms Excel, Ms powerpoint, dan software pemrograman berbasis obyek yaitu visual basic.
Keamanan Windows
Secara umum, sistem keamanan Windows masih kurang dibandingkan OS yang lain
Tidak adanya pembatasan user untuk masuk ke OS Windows (administrator by default)
Setiap user dapat masuk ke dalam sistem Windows (file sistem, registry)
Rentan terhadap virus
Keamanan Win Vista
Diklaim merupakan sistem operasi teraman yang pernah diciptakan
Merupakan sistem operasi pertama milik Microsoft yang dibangun dengan model pengembangan SDL (Security Development Lifecycle)
Service yang mengurangi hak akses pada file sistem, registry dann aktivitas jaringan
Kernel yang lebih baik, menyulitkan rootkit untuk sembunyi dari pendeteksian
Internet Explorer 7 dijalankan pada level Protected Mode
Fitur BitLocker Full Disk Encryption (enkripsi data ketika ditulis dalam disk)
Kelebihan Windows
User friendly dibandingkan dengan sistem operasi yang lain
Instalasi software masih mudah dibandingkan dengan instalasi di sistem operasi yang lain
Banyak software berbasis Windows
Dukungan driver yang lebih banyak
Kekurangan Windows
Harga lisensi mahal
Komunitas terlalu sedikit, karena bersifat closed-source
Banyaknya virus yang sering menyerang Windows
Sistem keamanan yang masih dibilang kurang
Sistem yang kurang stabil
Referensi
Hariyanto, Bambang. 2007. Sistem Operasi. Bandung : Penerbit Informatika
http://id.wikipedia.org/wiki/Sejarah_Microsoft_Windows
http://karodalnet.blogspot.com/2010/10/sistem-operasi-windows.html
• Microsoft memulai penelitian mengenai Interface Manager pada september 1981. MS akhirnya mengumumkannya dengan nama WINDOWS pada November 1983. Windows dikenal luas karena menyediakan antarmuka berbasis grafis yang mudah digunakan (graphical interface) , device independent graphics dan penggunaan "multitasking". Saat ini Versi windows telah mencapai kernel 32 bit yang dikenal sebagai Windows XP, dan telah keluar Windows Vista yang berbasis kernel 64 bit.
• Sebenarnya produk microsoft yang membuatnya sangat dominan bukan hanya sistem operasi windows saja, tetapi juga aplikasi office yaitu Microsoft office, yang terdiri dari Ms Word, Ms Excel, Ms powerpoint, dan software pemrograman berbasis obyek yaitu visual basic.
Keamanan Windows
Secara umum, sistem keamanan Windows masih kurang dibandingkan OS yang lain
Tidak adanya pembatasan user untuk masuk ke OS Windows (administrator by default)
Setiap user dapat masuk ke dalam sistem Windows (file sistem, registry)
Rentan terhadap virus
Keamanan Win Vista
Diklaim merupakan sistem operasi teraman yang pernah diciptakan
Merupakan sistem operasi pertama milik Microsoft yang dibangun dengan model pengembangan SDL (Security Development Lifecycle)
Service yang mengurangi hak akses pada file sistem, registry dann aktivitas jaringan
Kernel yang lebih baik, menyulitkan rootkit untuk sembunyi dari pendeteksian
Internet Explorer 7 dijalankan pada level Protected Mode
Fitur BitLocker Full Disk Encryption (enkripsi data ketika ditulis dalam disk)
Kelebihan Windows
User friendly dibandingkan dengan sistem operasi yang lain
Instalasi software masih mudah dibandingkan dengan instalasi di sistem operasi yang lain
Banyak software berbasis Windows
Dukungan driver yang lebih banyak
Kekurangan Windows
Harga lisensi mahal
Komunitas terlalu sedikit, karena bersifat closed-source
Banyaknya virus yang sering menyerang Windows
Sistem keamanan yang masih dibilang kurang
Sistem yang kurang stabil
Referensi
Hariyanto, Bambang. 2007. Sistem Operasi. Bandung : Penerbit Informatika
http://id.wikipedia.org/wiki/Sejarah_Microsoft_Windows
http://karodalnet.blogspot.com/2010/10/sistem-operasi-windows.html
LINUX (Study case)
Pendahuluan
Pada tahun 1991 seorang hacker handal berkebangsaan Finlandia yang bernama Linus Benedict Torvalds mengembangkan sebuah sistem UNIX yang bisa diimplementasikan di komputer setingkat PC yang dikenal dengan nama Linux dengan tujuan memasyarakatkan UNIX. Linux adalah open source OS berlesensi GPL (GNU- General Public Lisence) yang mana pendistribusian dan pengembangannya bisa dilakukan secara bebas dengan mengikutkan kode program asal sebagai turunannya.
Dalam kondisi sulit seperti sekarang ini, maka OS seperti Linux, FreeBSD, dll merupakan suatu alternatif yang tepat untuk digunakan. Ia menyediakan sistem operasi secara cuma-cuma melalui Internet dan ia tak mengira akan menimbulkan "keributan".
Dulu pemakai masih membutuhkan sebuah sistem operasi lainnya (Minix) untuk dapat menggunakan Linux. Pada tahun 1992, terjadi diskusi menarik yang terkenal dengan tema "Linux is obsolete" antara Andy Tanenbaum, seorang profesor ilmu komputer di Free University of Amsterdamp, yang juga merupakan pembuat utama sistem operasi Minix, dengan Linus Trovalds tentang kernel monolithic dan microkernel. Diskusi "Linux is obsolete" tersebut dapat dibaca dialamat http://www.swappy.osc.de/kde/www/food/linux_is_obsolete.html. Sebenarnya Linux hanya merupakan sebuah kernel dari sebuah sistem PC-UNIX yang mengatur semua program-program baik aplikasi maupun aksesori yang mengikutinya. Kernel adalah sebuah program yang mengatur kontrol bermacam-macam hardware atau distribusi file-file yang diperlukan. Dengan demikian kernel bisa juga dianggap sebagai "jantung"-nya operating sistem. Linux bekerja dengan sebuah kernel monolithic. Sebuah kelompok kerja di Dresden melakukan percobaan implementasi microkernel yang dinamakan proyek "Fiasco". Informasi lengkap mengenai Fiasco kernel ini bisa anda lihat di Internet pada alamat http://os.inf.tu-dresden.de/fiasco/overview.html. Jika dibandingkan dengan MS-Windows9x, maka kernel identik dengan file-file .DLL yang berada dalam direktoris system. Untuk menghubungkan kernel dengan user, maka diperlukan beberapa program interface-nya. Program-program tersebut antara lain adalah: Network tool, User command, X-Window, dll. Namun di dalam MS-Windows9x kernel tersebut terenkripsi sehingga bukan merupakan open source seperti Linux dan juga bukan merupakan operating system yang berlisensi GPL. Linus Trovald sendiri tak pernah meragukan bahwa Linux akan memantapkan sebagai dirinya sebagai sistem operasi server. Kenyataan membuktikan bahwa para pengguna web server lebih memilih turunan Unix yang gratis ini. Di level perusahaan, penggunaan Linux sebagai firewall atau web server meningkat secara drastis. Salah satu alasannya adalah tingkat kestabilannya yang sangat baik. Server Linux biasanya dapat difungsikan ratusan hari tanpa booting atau uptime. Bila dihentikan, biasanya karena adanya pemasangan komponen hardware baru atau mengupdate kernel. Oleh karenanya Linux sangat cocok sebagai sistem operasi untuk server. Selain itu juga sangat murah. Selain murah, distribusi Linux juga dapat digunakan pada beberapa server sekaligus tanpa melanggar aturan lisensi. Kecuali program database komersial, program server untuk Linux juga tersedia gratis. Contoh : Samba untuk file server, Apache untuk web-server, dst. Tidak ada pembatasan jumlah pengguna (client) oleh lisensi, baik pada Linux maupun program server. Persyaratan tekhnis dapat diatasi dengan penggunaan hardware yang lebih baik. Tanpa dukungan para produsen hardware dan software, sistem operasi apapun tidak akan bisa berkembang, termasuk Linux. Tetapi perusahaan software terkemuka telah membuat aplikasi untuk Linux, sebut saja Oracle, Informix, Sybase, IBM, Inprise (dulu Borland) dan Software AG.
2.2.7.1. Penggunaannya sebagai sistem operasi desktop.
Persaingan antar sistem operasi bukan hanya ditentukan pada tingkat pasar server tetapi pada tingkat pemakaian pada meja kerja di kantor dan di rumah. Kriteria untuk pemilihan sistem operasi untuk server tak sama dengan untuk PC desktop. Selain banyaknya fungsi dan harga, instalasi dalam bahasa negara pemakai yang bersangkutan, perawatan, paket Office, program-program yang ditawarkan, dan game, pengoperasian yang mudah dan intuitif juga tidak kalah pentingnya. Di masa lalu Linux masih memiliki kelemahan dalam hal-hal tersebut. Tetapi
kini kelemahan tersebut telah dikurangi dan diramalkan akan lenyap seluruhnya. Para produsen distribusi Linux selalu memperbaiki instalasinya dari versi ke versi dengan tujuan menyingkirkan hambatan-hambatan bagi pemakai. Kernel Linux sendiri dapat mengenali banyak komponen hardware secara otomatis, sehingga pemakai tidak mutalk memerlukan pengetahuan mengenai alamat I/O atau Interrupts untuk instalasi. Menyangkut paket Office juga sudah ada perbaikan. Selain software klasik untuk Unix, yaitu Applix, sudah ada Star Office5 dan WordPerfect 8 dari Corel, yang diberikan gratis bagi pemakai pribadi. Perbaikan juga sedang dilakukan pada paket
Office yang terintegrasi, Koffice for KDE. Namun prosesnya masih dalam tahap pengembangan yang relatif dini. Program-program populer yang mapan juga semakin banyak banyak tersedia
untuk Linux, misalnya : Acrobat Reader, program CAD Varcon, ARCAD, dan Mathematica.
Kelebihannya sering terletak pada konfigurasi yang beragam, dimana dengan sistem modul dari aplikasi dan tools dapat diciptakan lingkungan aplikasi sesuai dengan keinginan.
2.2.7.2. Tampilan grafis KDE nyaman digunakan.
Desktop manager standar untuk tampilan grafis Linux Xfree86 disebut Fvwm cukup rumit dioperasikan. Sebaliknya KDE (K Desktop Environment) versi 1.1.1 lebih menyerupai Windows 98. Fungsi drag and drop, request HTTP dan FTP dalam jendela dimungkinkan. Selain itu aplikasi untuk KDE sudah banyak tersedia dan akan terus bertambah. Cukup mudah membuat program aplikasi KDE, karena KDE berbasis pada QT milik perusahaan Troll Tech dari Norwegia. Sejak ada proyek KDE, lisensinya sebagai software gratis dipertentangkan. QT untuk Linux adalah software gratis, tetapi terikat lisensi Troll Tech. Sedangkan untuk platform lain, QT tidak gratis. Karena itu beberapa distributor seperti Redhat dan Debian tidak mau mengedarkan KDE secara resmi. Tapi mulai versi 2.0 mendatang, Troll akan memasukan QT ke bawah lisensi Open Source. Langkah ini tentunya menguntungkan bagi penyebaran KDE. Alternatif lainnya bila anda kurang berminat adalah GNOME (GNU Network Object Model Environment) di alamat http://www.gnome.org. Walaupun tak "sematang"KDE, namun sejak awal dikonsep sebagai software gratis.
2.2.7.3. Kernel utama
2.2: Milestone yang penting. Dimulai munculnya versi kernel 2.2 yang ditunggu-tunggu, dan kemudian 2.2.0 lalu 3 hari kemudian diikuti versi 2.2.1 sebagai bug fix. Tidak lama kemudian versi berikutnya, yaitu 2.2.2 sudah beredar dan kini telah mencapai versi 2.2.10 (stabel version). Perkembangan versi baru yang demikian cepat menunjukkan bahwa versi 2.2 merupakan sebuah milestone yang penting. Meskipun tidak mudah, tapi mengupgrade kernel menguntungkan karena banyak penambahan baru-penambahan baru. Apalagi dengan kernel 2.2 yang menambahkan beberapa fungsi-fungsi baru seperti : pada Prosesor mendukung prosesor non-Intel, multi prosesor lebih efektif dan Power Management bahkan mendukung platform 64-bit. Dan fungsi-fungsi baru yang lainnya.
2.2.7.4. Data Linux 2.2.10 berikut beserta dengan keuntungan dan kelemahannya.
Platform : Intel, PowerPC, Alpha, Motorola 68K, SPARC, UltraSPARC, ARM, MIPS.
Arsitektur : 32-bit, 64-bit, pada UltraSPARC dan Alpha.
RAM : 8 MB.
Kapasitas harddisk : 200-600 MB.
Sistem file sendiri : Ext2.
Sistem file lain : FAT, FAT32, ISO9660, NTFS, HPFS, HFS, UFS, SYSV,
Minix.
Kernel : monolihic.
Keuntungan :
1. Basis yang fleksibel untuk Internet client, server Internet/Intranet, File server,
database, jaringan dan kantor-kantor.
2. Sistem operasi yang sangat stabil setara dengan Unix komersial seperti server Linux
dapat difungsikan ratusan hari tanpa booting atau uptime.
3. Pendistribusian gratis tanpa terikat lisensi sehingga membuat Linux sebagai sistem
operasi termurah dan terbaik.
4. Sangat cocok juga untuk penggunaan pada tingkat PC/Desktop.
5. Perkembangan kernel yang demikian cepat dan tambahan fungsi-fungsi baru.
6. Banyaknya produsen software besar yang menawarkan aplikasi Linux dengan gratis
seperti : Netscape, Corel, IBM, dll.
7. Banyak pilihan desktop manager dari standar seperti Linux Xfree86 sampai
GNOME.
8. Aplikasi-aplikasi kantor yang cukup banyak.
9. Source code terbuka dan lengkap membuat user dapat mengembangkan sendiri
sesuai dengan lingkungannya.
Kelemahan :
1. Instalasinya masih cukup rumit dibandingkan dengan Windows.
2. Aplikasi untuk game masih sedikit.
Referensi
http:// www.Ilmu Komputer.com
Pada tahun 1991 seorang hacker handal berkebangsaan Finlandia yang bernama Linus Benedict Torvalds mengembangkan sebuah sistem UNIX yang bisa diimplementasikan di komputer setingkat PC yang dikenal dengan nama Linux dengan tujuan memasyarakatkan UNIX. Linux adalah open source OS berlesensi GPL (GNU- General Public Lisence) yang mana pendistribusian dan pengembangannya bisa dilakukan secara bebas dengan mengikutkan kode program asal sebagai turunannya.
Dalam kondisi sulit seperti sekarang ini, maka OS seperti Linux, FreeBSD, dll merupakan suatu alternatif yang tepat untuk digunakan. Ia menyediakan sistem operasi secara cuma-cuma melalui Internet dan ia tak mengira akan menimbulkan "keributan".
Dulu pemakai masih membutuhkan sebuah sistem operasi lainnya (Minix) untuk dapat menggunakan Linux. Pada tahun 1992, terjadi diskusi menarik yang terkenal dengan tema "Linux is obsolete" antara Andy Tanenbaum, seorang profesor ilmu komputer di Free University of Amsterdamp, yang juga merupakan pembuat utama sistem operasi Minix, dengan Linus Trovalds tentang kernel monolithic dan microkernel. Diskusi "Linux is obsolete" tersebut dapat dibaca dialamat http://www.swappy.osc.de/kde/www/food/linux_is_obsolete.html. Sebenarnya Linux hanya merupakan sebuah kernel dari sebuah sistem PC-UNIX yang mengatur semua program-program baik aplikasi maupun aksesori yang mengikutinya. Kernel adalah sebuah program yang mengatur kontrol bermacam-macam hardware atau distribusi file-file yang diperlukan. Dengan demikian kernel bisa juga dianggap sebagai "jantung"-nya operating sistem. Linux bekerja dengan sebuah kernel monolithic. Sebuah kelompok kerja di Dresden melakukan percobaan implementasi microkernel yang dinamakan proyek "Fiasco". Informasi lengkap mengenai Fiasco kernel ini bisa anda lihat di Internet pada alamat http://os.inf.tu-dresden.de/fiasco/overview.html. Jika dibandingkan dengan MS-Windows9x, maka kernel identik dengan file-file .DLL yang berada dalam direktoris system. Untuk menghubungkan kernel dengan user, maka diperlukan beberapa program interface-nya. Program-program tersebut antara lain adalah: Network tool, User command, X-Window, dll. Namun di dalam MS-Windows9x kernel tersebut terenkripsi sehingga bukan merupakan open source seperti Linux dan juga bukan merupakan operating system yang berlisensi GPL. Linus Trovald sendiri tak pernah meragukan bahwa Linux akan memantapkan sebagai dirinya sebagai sistem operasi server. Kenyataan membuktikan bahwa para pengguna web server lebih memilih turunan Unix yang gratis ini. Di level perusahaan, penggunaan Linux sebagai firewall atau web server meningkat secara drastis. Salah satu alasannya adalah tingkat kestabilannya yang sangat baik. Server Linux biasanya dapat difungsikan ratusan hari tanpa booting atau uptime. Bila dihentikan, biasanya karena adanya pemasangan komponen hardware baru atau mengupdate kernel. Oleh karenanya Linux sangat cocok sebagai sistem operasi untuk server. Selain itu juga sangat murah. Selain murah, distribusi Linux juga dapat digunakan pada beberapa server sekaligus tanpa melanggar aturan lisensi. Kecuali program database komersial, program server untuk Linux juga tersedia gratis. Contoh : Samba untuk file server, Apache untuk web-server, dst. Tidak ada pembatasan jumlah pengguna (client) oleh lisensi, baik pada Linux maupun program server. Persyaratan tekhnis dapat diatasi dengan penggunaan hardware yang lebih baik. Tanpa dukungan para produsen hardware dan software, sistem operasi apapun tidak akan bisa berkembang, termasuk Linux. Tetapi perusahaan software terkemuka telah membuat aplikasi untuk Linux, sebut saja Oracle, Informix, Sybase, IBM, Inprise (dulu Borland) dan Software AG.
2.2.7.1. Penggunaannya sebagai sistem operasi desktop.
Persaingan antar sistem operasi bukan hanya ditentukan pada tingkat pasar server tetapi pada tingkat pemakaian pada meja kerja di kantor dan di rumah. Kriteria untuk pemilihan sistem operasi untuk server tak sama dengan untuk PC desktop. Selain banyaknya fungsi dan harga, instalasi dalam bahasa negara pemakai yang bersangkutan, perawatan, paket Office, program-program yang ditawarkan, dan game, pengoperasian yang mudah dan intuitif juga tidak kalah pentingnya. Di masa lalu Linux masih memiliki kelemahan dalam hal-hal tersebut. Tetapi
kini kelemahan tersebut telah dikurangi dan diramalkan akan lenyap seluruhnya. Para produsen distribusi Linux selalu memperbaiki instalasinya dari versi ke versi dengan tujuan menyingkirkan hambatan-hambatan bagi pemakai. Kernel Linux sendiri dapat mengenali banyak komponen hardware secara otomatis, sehingga pemakai tidak mutalk memerlukan pengetahuan mengenai alamat I/O atau Interrupts untuk instalasi. Menyangkut paket Office juga sudah ada perbaikan. Selain software klasik untuk Unix, yaitu Applix, sudah ada Star Office5 dan WordPerfect 8 dari Corel, yang diberikan gratis bagi pemakai pribadi. Perbaikan juga sedang dilakukan pada paket
Office yang terintegrasi, Koffice for KDE. Namun prosesnya masih dalam tahap pengembangan yang relatif dini. Program-program populer yang mapan juga semakin banyak banyak tersedia
untuk Linux, misalnya : Acrobat Reader, program CAD Varcon, ARCAD, dan Mathematica.
Kelebihannya sering terletak pada konfigurasi yang beragam, dimana dengan sistem modul dari aplikasi dan tools dapat diciptakan lingkungan aplikasi sesuai dengan keinginan.
2.2.7.2. Tampilan grafis KDE nyaman digunakan.
Desktop manager standar untuk tampilan grafis Linux Xfree86 disebut Fvwm cukup rumit dioperasikan. Sebaliknya KDE (K Desktop Environment) versi 1.1.1 lebih menyerupai Windows 98. Fungsi drag and drop, request HTTP dan FTP dalam jendela dimungkinkan. Selain itu aplikasi untuk KDE sudah banyak tersedia dan akan terus bertambah. Cukup mudah membuat program aplikasi KDE, karena KDE berbasis pada QT milik perusahaan Troll Tech dari Norwegia. Sejak ada proyek KDE, lisensinya sebagai software gratis dipertentangkan. QT untuk Linux adalah software gratis, tetapi terikat lisensi Troll Tech. Sedangkan untuk platform lain, QT tidak gratis. Karena itu beberapa distributor seperti Redhat dan Debian tidak mau mengedarkan KDE secara resmi. Tapi mulai versi 2.0 mendatang, Troll akan memasukan QT ke bawah lisensi Open Source. Langkah ini tentunya menguntungkan bagi penyebaran KDE. Alternatif lainnya bila anda kurang berminat adalah GNOME (GNU Network Object Model Environment) di alamat http://www.gnome.org. Walaupun tak "sematang"KDE, namun sejak awal dikonsep sebagai software gratis.
2.2.7.3. Kernel utama
2.2: Milestone yang penting. Dimulai munculnya versi kernel 2.2 yang ditunggu-tunggu, dan kemudian 2.2.0 lalu 3 hari kemudian diikuti versi 2.2.1 sebagai bug fix. Tidak lama kemudian versi berikutnya, yaitu 2.2.2 sudah beredar dan kini telah mencapai versi 2.2.10 (stabel version). Perkembangan versi baru yang demikian cepat menunjukkan bahwa versi 2.2 merupakan sebuah milestone yang penting. Meskipun tidak mudah, tapi mengupgrade kernel menguntungkan karena banyak penambahan baru-penambahan baru. Apalagi dengan kernel 2.2 yang menambahkan beberapa fungsi-fungsi baru seperti : pada Prosesor mendukung prosesor non-Intel, multi prosesor lebih efektif dan Power Management bahkan mendukung platform 64-bit. Dan fungsi-fungsi baru yang lainnya.
2.2.7.4. Data Linux 2.2.10 berikut beserta dengan keuntungan dan kelemahannya.
Platform : Intel, PowerPC, Alpha, Motorola 68K, SPARC, UltraSPARC, ARM, MIPS.
Arsitektur : 32-bit, 64-bit, pada UltraSPARC dan Alpha.
RAM : 8 MB.
Kapasitas harddisk : 200-600 MB.
Sistem file sendiri : Ext2.
Sistem file lain : FAT, FAT32, ISO9660, NTFS, HPFS, HFS, UFS, SYSV,
Minix.
Kernel : monolihic.
Keuntungan :
1. Basis yang fleksibel untuk Internet client, server Internet/Intranet, File server,
database, jaringan dan kantor-kantor.
2. Sistem operasi yang sangat stabil setara dengan Unix komersial seperti server Linux
dapat difungsikan ratusan hari tanpa booting atau uptime.
3. Pendistribusian gratis tanpa terikat lisensi sehingga membuat Linux sebagai sistem
operasi termurah dan terbaik.
4. Sangat cocok juga untuk penggunaan pada tingkat PC/Desktop.
5. Perkembangan kernel yang demikian cepat dan tambahan fungsi-fungsi baru.
6. Banyaknya produsen software besar yang menawarkan aplikasi Linux dengan gratis
seperti : Netscape, Corel, IBM, dll.
7. Banyak pilihan desktop manager dari standar seperti Linux Xfree86 sampai
GNOME.
8. Aplikasi-aplikasi kantor yang cukup banyak.
9. Source code terbuka dan lengkap membuat user dapat mengembangkan sendiri
sesuai dengan lingkungannya.
Kelemahan :
1. Instalasinya masih cukup rumit dibandingkan dengan Windows.
2. Aplikasi untuk game masih sedikit.
Referensi
http:// www.Ilmu Komputer.com
Multiple Processor System
Adalah sistem dapat menjalankan banyak proses yang diinginkan oleh user, untuk memenuhi kebutuhan penggunan dalam menyelesaikan kegiatan pengguna sehari – harinya, dan komputer dituntut untuk bisa memudahkan kegiatan pengguna agar memudahkan masalah tersebut. sistem harus dapat menjalankan banyak proses secara bersamaan sehingga pengguna dapat menjalankan aplikasi lebih dari satu sesuai dengan kebutuhan pengguna. Tapi dalam mengembangkan sebuah sistem yang dapat menjalankan sebuah proses yang banyak dengan waktu cepat dan tepat tentunya membutuhkan beberapa penelitian dan percobaan.
Teori Dasar Sistem Operasi
Masalah Perkembangan Sistem Operasi
Sistem Operasi Masa Depan
Sistem operasi pada masa depan dapat meringankan kerja manusia dalam menyelesaikan masalah dengan cepat, dapat berjalan diatas semua device dan memiliki sistem keamanan yang kuat.
Teori Dasar Sistem Operasi
Masalah Perkembangan Sistem Operasi
Sistem Operasi Masa Depan
Sistem operasi pada masa depan dapat meringankan kerja manusia dalam menyelesaikan masalah dengan cepat, dapat berjalan diatas semua device dan memiliki sistem keamanan yang kuat.
Multimedia OS
Sejak versi pertamanya tahun 1997, salah satu tujuan utama BeOS, adalah mengelola jumlah data yang besar secara optimal. Sistem operasi ini dapat memenuhi tuntutan aplikasi-aplikasi multimedia dengan dukungan multi processor, sistem file 64 bit, dan multithreading.BeOs dapat menggunakan dan memanfaatkan semua prosesor yang ada, baik itu satu atau 16 prosesor. User tak perlu mengupgrade komputernya cukup hanya dengan mengganti motherboard atau memasang porcessor baru. Pada mulanya BeOS dikembangkan untuk BeBox, sebuah komputer dengan 2 prosesor PowerPC dan dengan memori utama maksimal 256 MB. Meskipun BeOS dulu termasuk sangat lengkap namun BeOs tidak dapat menyaingi sistem operasi seperti Intel dan Macintosh. Sehingga sejak versi 3, BeOS sudah tersedia untuk Power-Macintosh dan untuk PC berbasis Intel.
2.2.1.1. Multithreading membebani beberapa prosesor sekaligus.
Dengan arsitektur multithreading, BeOS memanfaatkan prosesor secara optimal. Dari sistem file hingga tampilan, sistem operasi dibagi-bagi dalam threads. Threads adalah pekerjaan atau tugas yang dapat dilakukan secara terpisah dan tak tergantung satu sama lain. Bila ada beberapa prosesor pada satu PC, maka BeOS membagi-bagi threads secara dinamis kepada setiap prosesor. Contoh : Pada sistem file, prosesor yang satu mengubah sebagian file, sedangkan prosesor yang lainnya mencopy file tersebut.
2.2.1.2. Sistem file 64 bit untuk file berukuran besar.
Sistem operasi seperti Windows 95/98 bekerja dengan sistem file 32 bit yang membatasi file maksimal 4 GB. Ukuran ini memadai untuk proses audio, dimana 1 jam audio rata-rata menyita tempat 600 MB pada audio CD. Dengan sistem file 64 bit, sebuah file pada BeOS dapat mencapai ukuran hingga 18 juta Terabyte atau sama dengan 18 milyar GB. Selain itu sistem file juga mencatat semua yang dilakukan. Artinya, setelah hubungan listrik terputus, ia dapat mengembalikan semua data seperti semula. Bila
sistem operasi server membutuhkan berjam-jam untuk itu, maka BeOS hanya perlu beberapa menit, karena ia hanya men-start ulang transaksi yang belum selesai dan menutupnya. Aksi yang sudah selesai dihapus dari protokol. BeOS berorientasi pada objek (object oriented). Bagi para software-developer, ini berarti ia dapat kembali ke objek sistem. Contohnya adalah Bapplication, Bwindows atau Bview. Sebuah program sederhana seperti Hello World hanya terdiri atas beberapa baris code, di mana turunan objek-objek tersebut dapat "diwariskan" dan dimodifikasi.
2.2.1.3. Aplikasi yang tersedia masih sedikit.
Daftar program yang tersedia untuk BeOS masih sedikit dan kalah jauh dibandingkan dengan Windows. Namun dalam usianya yang masih muda, hal ini dapat dimaklumi.
2.2.1.4. Data BeOS 4.5 berikut dengan keuntungan dan kelemahannya.
Platform : PowerPC, Intel
Arsitektur : 32 bit, Preemptives multitasking, Multithreading, Symmetrical Multiprocessing, dukungan jaringan terintegrasi, optimal untuk web.
RAM : minimum 16 MB
Kapasitas harddisk : minimal 150 MB
Sistem file sendiri : Journaling 64 bit, multithread.
Sistem file lain : FAT 16, FAT 32
Kernel : MACH
Keuntungan :
1. Optimal untuk aplikasi multimedia (video editing atau proses audio).
2. Sistem Multithread yang unik dalam mengoptimalkan dua atau lebih prosesor.
3. Penanganan sistem file 64 bit untuk berukuran besar.
4. Masa depannya menjanjikan karena dalam waktu dekat sistem operasi ini akan mendapatkan dukungan dari produsen hardware Eropa, BeOS direncanakan akan mendukung Intel Pentium III serta dapat berfungsi dual boot karena mampu menulis dan membaca sistem file FAT Windows dan DOS.
Kelemahan :
1. Belum adanya aplikasi kantor/bisnis yang sesuai atau berkemampuan yang baik.
2. Sistem operasi ini nampaknya hanya berorientasi pada sistem operasi multimedia saja.
3. Sedikitnya aplikasi untuk desktop pada saat ini.
4. Untuk saat ini sistem operasi BeOS bukan merupakan sistem operasi yang bersifat open- source.
Referensi
Kuliah Umum IlmuKomputer.Com
2.2.1.1. Multithreading membebani beberapa prosesor sekaligus.
Dengan arsitektur multithreading, BeOS memanfaatkan prosesor secara optimal. Dari sistem file hingga tampilan, sistem operasi dibagi-bagi dalam threads. Threads adalah pekerjaan atau tugas yang dapat dilakukan secara terpisah dan tak tergantung satu sama lain. Bila ada beberapa prosesor pada satu PC, maka BeOS membagi-bagi threads secara dinamis kepada setiap prosesor. Contoh : Pada sistem file, prosesor yang satu mengubah sebagian file, sedangkan prosesor yang lainnya mencopy file tersebut.
2.2.1.2. Sistem file 64 bit untuk file berukuran besar.
Sistem operasi seperti Windows 95/98 bekerja dengan sistem file 32 bit yang membatasi file maksimal 4 GB. Ukuran ini memadai untuk proses audio, dimana 1 jam audio rata-rata menyita tempat 600 MB pada audio CD. Dengan sistem file 64 bit, sebuah file pada BeOS dapat mencapai ukuran hingga 18 juta Terabyte atau sama dengan 18 milyar GB. Selain itu sistem file juga mencatat semua yang dilakukan. Artinya, setelah hubungan listrik terputus, ia dapat mengembalikan semua data seperti semula. Bila
sistem operasi server membutuhkan berjam-jam untuk itu, maka BeOS hanya perlu beberapa menit, karena ia hanya men-start ulang transaksi yang belum selesai dan menutupnya. Aksi yang sudah selesai dihapus dari protokol. BeOS berorientasi pada objek (object oriented). Bagi para software-developer, ini berarti ia dapat kembali ke objek sistem. Contohnya adalah Bapplication, Bwindows atau Bview. Sebuah program sederhana seperti Hello World hanya terdiri atas beberapa baris code, di mana turunan objek-objek tersebut dapat "diwariskan" dan dimodifikasi.
2.2.1.3. Aplikasi yang tersedia masih sedikit.
Daftar program yang tersedia untuk BeOS masih sedikit dan kalah jauh dibandingkan dengan Windows. Namun dalam usianya yang masih muda, hal ini dapat dimaklumi.
2.2.1.4. Data BeOS 4.5 berikut dengan keuntungan dan kelemahannya.
Platform : PowerPC, Intel
Arsitektur : 32 bit, Preemptives multitasking, Multithreading, Symmetrical Multiprocessing, dukungan jaringan terintegrasi, optimal untuk web.
RAM : minimum 16 MB
Kapasitas harddisk : minimal 150 MB
Sistem file sendiri : Journaling 64 bit, multithread.
Sistem file lain : FAT 16, FAT 32
Kernel : MACH
Keuntungan :
1. Optimal untuk aplikasi multimedia (video editing atau proses audio).
2. Sistem Multithread yang unik dalam mengoptimalkan dua atau lebih prosesor.
3. Penanganan sistem file 64 bit untuk berukuran besar.
4. Masa depannya menjanjikan karena dalam waktu dekat sistem operasi ini akan mendapatkan dukungan dari produsen hardware Eropa, BeOS direncanakan akan mendukung Intel Pentium III serta dapat berfungsi dual boot karena mampu menulis dan membaca sistem file FAT Windows dan DOS.
Kelemahan :
1. Belum adanya aplikasi kantor/bisnis yang sesuai atau berkemampuan yang baik.
2. Sistem operasi ini nampaknya hanya berorientasi pada sistem operasi multimedia saja.
3. Sedikitnya aplikasi untuk desktop pada saat ini.
4. Untuk saat ini sistem operasi BeOS bukan merupakan sistem operasi yang bersifat open- source.
Referensi
Kuliah Umum IlmuKomputer.Com
Deadlock
Deadlock menurut pengertian bahasa adalah kebuntuan atau terkunci, jadi deadlock adalah kejadian dimana sebuah proses yang membutuhkan sumber daya tidak dapat dipenuhi dikarenakan sumber daya yang dibutuhkan masih digunakan oleh proses lain. Jika peristiwa deadlock terjadi maka akan memicu stravation adalah sebuah kejadian dimana banyak proses yang berjalan dan membutuhkan sumber daya lebih dari satu dan ada kemungkinan membutuhkan sumber daya yang sama.
Model Sistem
Sebuah proses akan melakukan beberapa tahap dan kegiatan dalam mengolah proses yaitu terbagi menjadi tiga bagian,
Request ( Meminta ) : langkah awal, sebuah proses akan meminta kepada tempat penyimpanan sumber daya, dan memberikan laporan mengenai jumlah sumber daya yang dibutuhkan.
Use ( Menggunakan ) : setelah memperoleh sumber daya, kemudian proses akan mengolah sumber daya hingga selesai.
Release ( Melepaskan ) : kemudian sumber daya akan dikembalikan kepada tempat penyimpanan sumber daya.
Karakteristik
Untuk memenuhi kejadian deadlock tentunya harus memenuhi beberapa tingkah laku yang memicu kejadian tersebut, terdapat empat kondisi yang memicu deadlock.
Mutual exclusion adalah hak yang dimiliki oleh sebuah proses untuk menggunakan sumber daya hingga selesai, dan apabila ada proses yang membutuhkan sumber daya yang sama maka harus menunggu hingga selesai.
Hold and wait adalah ketika sebuah proses sudah memegang sumber daya dan akan melakukan eksekusi tapi untuk melakukan eksekusi, proses masih membutuhkan sumber daya lain, maka proses tersebut akan menunggu sumber daya yang digunakan oleh proses lain hingga selesai.
No-preemption adalah sebuah proses tidak dapat memaksa proses lain untuk segera menyelesaikan eksekusi dan kemudian melepaskan sumber daya tersebut.
Circular wait adalah kondisi terakhir apabila ketiga kondisi diatas terjadi secara terus menerus, maka akan terjadi peristiwa dimana beberapa proses saling membutuhkan sumber daya yang sama digunakan oleh proses lain secara menerus hingga membentuk siklus dan setiap proses akan terus menunggu sumber daya itu selesai.
Cara Menghadapi Situasi Deadlock
Terdapat empat teknik untuk menghadapi kejadian deadlock yaitu :
1. Pengabaian
Ketika sebuah sistem melakukan pengeksekusian proses lebih dari satu maka ada kemungkinan akan terjadi deadlock, maka digunakan teknik pengabaian maksud dari teknik ini adalah menghentikan semua proses yang sedang berjalan dan ada kemungkinan akan memicu terjadinya kondisi awal deadlock tanpa memperdulikan sumber daya sedang digunakan oleh proses tersebut. teknik ini disebut dengan ostrich alogrithim.
Kelebihan
• Proses deadlock dapat dicegah lebih dini dan tidak terjadi stravation.
• Kondisi proses dapat kembali seperti semula.
Kekurangan
• hasil sumber daya yang akan dieksekusi hilang
• ada kemungkinan sumber daya hilang.
2. Mencegah
Menghentikan salah satu kondisi yang memicu deadlock. Yaitu dengan memberikan sumber daya lain kepada proses yang membutuhkan atau menghentikan proses lain untuk sementara dan digantikan pada proses yang dapat menjalankan sumber daya tersebut tanpa membutuhkan sumber daya yang lain.
Kelebihan
• Mengurangi resiko deadlock.
• Sumber daya tidak rusak.
Kekurangan
• Tertundanya proses eksekusi sumber daya.
• Proses harus mengulang dari awal lagi untuk melengkapi proses eksekusi.
3. Menghindari
Teknik ini memberikan peluang keamanan pada sumber daya yang lebih aman dari pada teknik yang ada diatas. Karena teknik memberikan tanda state safe yaitu memberikan tanda dan tempat kepada prose bahwa sumber daya yang ini dapat digunakan dan belum ada yang menggunakan dan state unsafe yaitu memberikan tanda bahwa sumber daya ini telah digunakan oleh proses lain dan jika masih mau menunggu maka akan terjadi deadlock.
Kelebihan
• Proses dapat menjalankan eksekusi tanpa harus menunggu.
• Sumber daya digunakan sesuai dengan permintaan proses.
Kekurangan
• Waktu terbatas, proses dituntut untuk segera menyelesaikan eksekusi tepat waktu.
• Hasil dari eksekusi masih belum berhasil dan harus diulang lagi.
4. Mendeteksi dan Memulihkan
Teknik ini akan melakukan pendeteksian deadlock sesuai dengan procedure detection alogrithm sehingga kondisi – kondisi yang memicu deadlock dapat diketahui, selanjutnya melakukan teknik pemulihan sistem yang akan terjadi deadlcok dengan dua langkah yaitu:
• Terminasi Proses yaitu menghentikan proses secara paksa jika proses tersebut akan menimbulkan deadlock. Atau menghentikan salah satu kondisi yang akan memicu deadlock.
• Rollback dan Restart yaitu menghentikan proses secara paksa kemudian meletakan kembali sumber daya kepada tempatnya dan memberikan status state safe, maka proses dapat meminta dan menggunakan sumber daya. Dan jika teknik rollback tidak berhasil maka langkah selanjutnya yaitu me-restrat sistem agar kembali kepada kondisi awal.
Kelebihan
• Deadlock jarang terjadi.
• Proses dapat berjalan sesuai keinginan sistem.
Kekurangan
• Proses eksekusi terlambat.
Studi kasus
Kasus yang sering terjadi ketika kita menjalankan dua aplikasi lebih dari satu yang memperlukan proses yang cepat dan sumber daya ( berupa data yang ada diharddisk, flashdisk, listrik pada baterai dan kepada device lain ) yang banyak pula, maka akan terjadi peristiwa deadlock yaitu ditandai dengan aplikasi tidak dapat berjalan, PC akan berhenti sejenak atau terus menerus, untuk mencegah hal itu berlangsung lama, maka harus mengambil langkah untuk menghentikan salah satu aplikasi yang sedang berjalan lambat dengan ditutup, jika tidak berhasil klik taskmanager ( ctrl+alt+del ) kemudian klik proses dan cari nama aplikasi yang ingin ditutup agar dapat mencegah terjaidnya deadlock.
Rujukan
[Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005 . Operating Systems Concepts. Seventh Edition. John Wiley & Sons.
[Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. 1997 . Operating Systems Design and Implementation . Second Edition. Prentice-Hall.
[WEBRpi2004] Computer Science RPI. 2004 . Deadlock http://www.cs.rpi.edu/academics/courses/fall04/os/c10/index.html. Diakses 28 Maret 2007.
[WEBWiki2006a] Wikipedia. 2006 . Deadlock http://en.wikipedia.org/wiki/Deadlock. Diakses 05 Februari 2007.
[WEBWiki2006b] Wikipedia. 2006 . Banker's Algorithm http://en.wikipedia.org/wiki/Banker%27s_algorithm. Diakses 16 Februari 2007.
Model Sistem
Sebuah proses akan melakukan beberapa tahap dan kegiatan dalam mengolah proses yaitu terbagi menjadi tiga bagian,
Request ( Meminta ) : langkah awal, sebuah proses akan meminta kepada tempat penyimpanan sumber daya, dan memberikan laporan mengenai jumlah sumber daya yang dibutuhkan.
Use ( Menggunakan ) : setelah memperoleh sumber daya, kemudian proses akan mengolah sumber daya hingga selesai.
Release ( Melepaskan ) : kemudian sumber daya akan dikembalikan kepada tempat penyimpanan sumber daya.
Karakteristik
Untuk memenuhi kejadian deadlock tentunya harus memenuhi beberapa tingkah laku yang memicu kejadian tersebut, terdapat empat kondisi yang memicu deadlock.
Mutual exclusion adalah hak yang dimiliki oleh sebuah proses untuk menggunakan sumber daya hingga selesai, dan apabila ada proses yang membutuhkan sumber daya yang sama maka harus menunggu hingga selesai.
Hold and wait adalah ketika sebuah proses sudah memegang sumber daya dan akan melakukan eksekusi tapi untuk melakukan eksekusi, proses masih membutuhkan sumber daya lain, maka proses tersebut akan menunggu sumber daya yang digunakan oleh proses lain hingga selesai.
No-preemption adalah sebuah proses tidak dapat memaksa proses lain untuk segera menyelesaikan eksekusi dan kemudian melepaskan sumber daya tersebut.
Circular wait adalah kondisi terakhir apabila ketiga kondisi diatas terjadi secara terus menerus, maka akan terjadi peristiwa dimana beberapa proses saling membutuhkan sumber daya yang sama digunakan oleh proses lain secara menerus hingga membentuk siklus dan setiap proses akan terus menunggu sumber daya itu selesai.
Cara Menghadapi Situasi Deadlock
Terdapat empat teknik untuk menghadapi kejadian deadlock yaitu :
1. Pengabaian
Ketika sebuah sistem melakukan pengeksekusian proses lebih dari satu maka ada kemungkinan akan terjadi deadlock, maka digunakan teknik pengabaian maksud dari teknik ini adalah menghentikan semua proses yang sedang berjalan dan ada kemungkinan akan memicu terjadinya kondisi awal deadlock tanpa memperdulikan sumber daya sedang digunakan oleh proses tersebut. teknik ini disebut dengan ostrich alogrithim.
Kelebihan
• Proses deadlock dapat dicegah lebih dini dan tidak terjadi stravation.
• Kondisi proses dapat kembali seperti semula.
Kekurangan
• hasil sumber daya yang akan dieksekusi hilang
• ada kemungkinan sumber daya hilang.
2. Mencegah
Menghentikan salah satu kondisi yang memicu deadlock. Yaitu dengan memberikan sumber daya lain kepada proses yang membutuhkan atau menghentikan proses lain untuk sementara dan digantikan pada proses yang dapat menjalankan sumber daya tersebut tanpa membutuhkan sumber daya yang lain.
Kelebihan
• Mengurangi resiko deadlock.
• Sumber daya tidak rusak.
Kekurangan
• Tertundanya proses eksekusi sumber daya.
• Proses harus mengulang dari awal lagi untuk melengkapi proses eksekusi.
3. Menghindari
Teknik ini memberikan peluang keamanan pada sumber daya yang lebih aman dari pada teknik yang ada diatas. Karena teknik memberikan tanda state safe yaitu memberikan tanda dan tempat kepada prose bahwa sumber daya yang ini dapat digunakan dan belum ada yang menggunakan dan state unsafe yaitu memberikan tanda bahwa sumber daya ini telah digunakan oleh proses lain dan jika masih mau menunggu maka akan terjadi deadlock.
Kelebihan
• Proses dapat menjalankan eksekusi tanpa harus menunggu.
• Sumber daya digunakan sesuai dengan permintaan proses.
Kekurangan
• Waktu terbatas, proses dituntut untuk segera menyelesaikan eksekusi tepat waktu.
• Hasil dari eksekusi masih belum berhasil dan harus diulang lagi.
4. Mendeteksi dan Memulihkan
Teknik ini akan melakukan pendeteksian deadlock sesuai dengan procedure detection alogrithm sehingga kondisi – kondisi yang memicu deadlock dapat diketahui, selanjutnya melakukan teknik pemulihan sistem yang akan terjadi deadlcok dengan dua langkah yaitu:
• Terminasi Proses yaitu menghentikan proses secara paksa jika proses tersebut akan menimbulkan deadlock. Atau menghentikan salah satu kondisi yang akan memicu deadlock.
• Rollback dan Restart yaitu menghentikan proses secara paksa kemudian meletakan kembali sumber daya kepada tempatnya dan memberikan status state safe, maka proses dapat meminta dan menggunakan sumber daya. Dan jika teknik rollback tidak berhasil maka langkah selanjutnya yaitu me-restrat sistem agar kembali kepada kondisi awal.
Kelebihan
• Deadlock jarang terjadi.
• Proses dapat berjalan sesuai keinginan sistem.
Kekurangan
• Proses eksekusi terlambat.
Studi kasus
Kasus yang sering terjadi ketika kita menjalankan dua aplikasi lebih dari satu yang memperlukan proses yang cepat dan sumber daya ( berupa data yang ada diharddisk, flashdisk, listrik pada baterai dan kepada device lain ) yang banyak pula, maka akan terjadi peristiwa deadlock yaitu ditandai dengan aplikasi tidak dapat berjalan, PC akan berhenti sejenak atau terus menerus, untuk mencegah hal itu berlangsung lama, maka harus mengambil langkah untuk menghentikan salah satu aplikasi yang sedang berjalan lambat dengan ditutup, jika tidak berhasil klik taskmanager ( ctrl+alt+del ) kemudian klik proses dan cari nama aplikasi yang ingin ditutup agar dapat mencegah terjaidnya deadlock.
Rujukan
[Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005 . Operating Systems Concepts. Seventh Edition. John Wiley & Sons.
[Tanenbaum1997] Andrew S Tanenbaum dan Albert S Woodhull. 1997 . Operating Systems Design and Implementation . Second Edition. Prentice-Hall.
[WEBRpi2004] Computer Science RPI. 2004 . Deadlock http://www.cs.rpi.edu/academics/courses/fall04/os/c10/index.html. Diakses 28 Maret 2007.
[WEBWiki2006a] Wikipedia. 2006 . Deadlock http://en.wikipedia.org/wiki/Deadlock. Diakses 05 Februari 2007.
[WEBWiki2006b] Wikipedia. 2006 . Banker's Algorithm http://en.wikipedia.org/wiki/Banker%27s_algorithm. Diakses 16 Februari 2007.
Input /Output
Manajemen perangkat masukan/keluaran merupakan aspek perancangan sistem
operasi terluas dan kompleks karena sangat beragamnya perangkat dan
aplikasinya.
Beberapa fungsi manajemen input/ouput (I/O) :
a. Mengirim perintah ke perangkat I/O agar menyediakan layanan.
b. Menangani interupsi perangkat I/O.
c. Menangani kesalahan perangkat I/O.
d. Menyediakan interface ke pemakai.
7.2 Klasifikasi perangkat I/O
Perangkat I/O dapat dikelompokkan berdasarkan :
a. Sifat aliran datanya, yang terbagi atas :
a.1 Perangkat berorientasi blok.
Yaitu menyimpan, menerima, dan mengirim informasi sebagai blok-blok
berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki
alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-
blok secara independen, yaitu dapat membaca atau menulis sembarang
blok tanpa harus melewati blok-blok lain. Contoh : disk,tape,CD ROM,
optical disk.
a.2 Perangkat berorientasi aliran karakter.
Yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa
membentuk suatu struktur blok. Contoh : terminal, line printer, pita
kertas, kartu-kartu berlubang, interface jaringan, mouse.
b. Sasaran komunikasi, yang terbagi atas :.
b.1 Perangkat yang terbaca oleh manusia.
Perangkat yang digunakan untuk berkomunikasi dengan manusia.
Contoh : VDT (video display terminal) : monitor, keyboard, mouse.
b.2 Perangkat yang terbaca oleh mesin.
Perangkat yang digunakan untuk berkomunikasi dengan perangkat
elektronik.
Contoh : Disk dan tape, sensor, controller.
b.3 Perangkat komunikasi.
Perangkat yang digunakan untuk komunikasi dengan perangkat jarak jauh.
Contoh : Modem.
Faktor-faktor yang membedakan antar perangkat :
o Kecepatan transmisi data (data rate).
o Jenis aplikasi yang digunakan.
o Tingkat kerumitan dalam pengendalian.
o Besarnya unit yang ditransfer.
o Representasi atau perwujudan data.
o Kondisi-kondisi kesalahan.
7.3 Teknik pemograman perangkat I/O
Terdapat 3 teknik, yaitu :
a. I/O terprogram atau polling system.
Ketika perangkat I/O menangani permintaan, perangkat men-set bit status
di register status perangkat. Perangkat tidak memberitahu ke pemroses
saat tugas telah selesai dilakukan sehingga pemroses harus selalu
memeriksa register tersebut secara periodik dan melakukan tindakan
berdasar status yang dibaca. Software pengendali perangkat (driver)
dipemroses harus mentransfer data ke/dari pengendali. Driver mengekseksui
perintah yang berkomunikasi dengan pengendali (adapter) di perangkat dan
menunggui sampai operasi yang dilakukan perangkat selesai.
Driver berisi kumpulan instruksi :
a.1 Pengendalian.
Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang
perlu dilakukan. Contoh : unit tape magnetik diinstruksikan untuk
kembali ke posisi awal, bergerak ke record berikut, dan sebagainya.
a.2 Pengujian.
Berfungsi memeriksa status perangkat keras berkaitan dengan perangkat
I/O.
a.3 Pembacaan/penulisan
Berfungsi membaca/menulis untuk transfer data antara register
pemroses dan perangkat eksternal.
Masalah utama I/O terprogram adalah pemroses diboroskan untuk menunggu
dan menjagai operasi I/O. Diperlukan teknik lain untuk meningkatkan
efisiensi pemroses.
b. I/O dikendalikan interupsi.
Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut :
o Pemroses memberi instruksi ke perangkat I/O kemudian melanjutkan
melakukan pekerjaan lainnya.
o Perangkat I/O akan menginterupsi meminta layanan saat perangkat telah
siap bertukar data dengan pemroses.
o Saat menerima interupsi perangkat keras (yang memberitahukan bahwa
perangkat siap melakukan transfer), pemroses segera mengeksekusi
transfer data.
Keunggulan :
o Pemroses tidak disibukkan menunggui dan menjaga perangkat I/O untuk
memeriksa status perangkat.
Kelemahan :
o Rate transfer I/O dibatasi kecepatan menguji dan melayani operasi
perangkat.
o Pemroses terikat ketat dalam mengelola transfer I/O. Sejumlah intruksi
harus dieksekusi untuk tiap transfer I/O.
c. Dengan DMA (direct memory access).
DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan
perangkat I/O. Saat pemroses ingin membaca atau menulis data, pemroses
memerintahkan DMA controller dengan mengirim informasi berikut :
o Perintah penulisan/pembacaan.
o Alamat perangkat I/O.
o Awal lokasi memori yang ditulis/dibaca.
o Jumlah word (byte) yang ditulis/dibaca.
Setelah mengirim informasi-informasi itu ke DMA controller, pemroses
dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA.
DMA mentransfer seluruh data yang diminta ke/dari memori secara langsung
tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirim
sinyal interupsi ke pemroses. Sehingga pemroses hanya dilibatkan pada
awal dan akhir transfer data. Operasi transfer antara perangkat dan
memori utama dilakukan sepenuhnya oleh DMA lepas dari pemroses dan hanya
melakukan interupsi bila operasi telah selesai.
Keunggulan :
o Penghematan waktu pemroses.
o Peningkatan kinerja I/O.
7.4 Evolusi fungsi perangkat I/O
Sistem komputer mengalami peningkatan kompleksitas dan kecanggihan
komponen-komponennya, yang sangat tampak pada fungsi-fungsi I/O sebagai
berikut :
a. Pemroses mengendalikan perangkat I/O secara langsung.
Masih digunakan sampai saat ini untuk perangkat sederhana yang
dikendalikan mikroprosessor sehingga menjadi perangkat berintelijen
(inteligent device).
b. Pemroses dilengkapi pengendali I/O (I/O controller).
Pemroses menggunakan I/O terpogram tanpa interupsi, sehingga tak perlu
memperhatikan rincian-rincian spesifik antarmuka perangkat.
c. Perangkat dilengkapi fasilitas interupsi.
Pemroses tidak perlu menghabiskan waktu menunggu selesainya operasi I/O,
sehingga meningkatkan efisiensi pemroses.
d. I/O controller mengendalikan memori secara langsung lewat DMA.
Pengendali dapat memindahkan blok data ke/dari memori tanpa melibatkan
pemroses kecuali diawal dan akhir transfer.
e. Pengendali I/O menjadi pemroses terpisah.
Pemroses pusat mengendalikan.memerintahkan pemroses khusus I/O untuk
mengeksekusi program I/O di memori utama. Pemroses I/O mengambil dan
mengeksekusi intruksi-intruksi ini tanpa intervensi pemroses pusat.
Dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan
hanya diinterupsi ketika seluruh barisan intruksi diselesaikan.
f. Pengendali I/O mempunyai memori lokal sendiri.
Perangkat I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang
minimum.
Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal
interaktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan
pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga
pemroses tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerja
sistem.
7.5 Prinsip manajemen perangkat I/O
Terdapat dua sasaran perancangan I/O, yaitu :
a. Efisiensi.
Aspek penting karena operasi I/O sering menimbulkan bottleneck.
b. Generalitas (device independence).
Manajemen perangkat I/O selain berkaitan dengan simplisitas dan bebas
kesalahan, juga menangani perangkat secara seragam baik dari cara proses
memandang maupun cara sistem operasi mengelola perangkat dan operasi I/O.
Software diorganisasikan berlapis. Lapisan bawah berurusan menyembunyikan
kerumitan perangkat keras untuk lapisan-lapisan lebih atas. Lapisan lebih
atas berurusan memberi antar muka yang bagus, bersih, nyaman dan seragam ke
pemakai.
Masalah-masalah manajemen I/O adalah :
a. Penamaan yang seragam (uniform naming).
Nama berkas atau perangkat adalah string atau integer, tidak bergantung
pada perangkat sama sekali.
b. Penanganan kesalahan (error handling).
Umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkat
keras.
c. Transfer sinkron vs asinkron.
Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan
untuk melakukan kerja lain sampai interupsi tiba. Program pemakai sangat
lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah
read, program kemudian ditunda secara otomatis sampai data tersedia di
buffer.
d. Sharable vs dedicated.
Beberapa perangk dapat dipakai bersama seperti disk, tapi ada juga
perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat.
Contoh : printer.
7.6 Hirarki manajemen perangkat I/O
Hirarki manajemen perangkat I/O :
a. Interrupt handler.
Interupsi harus disembunyikan agar tidak terlihat rutin berikutnya.
Device driver di blocked saat perintah I/O diberikan dan menunggu
interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi
bekerja agar device driver keluar dari state blocked.
b. Device drivers.
Semua kode bergantung perangkat ditempatkan di device driver. Tiap device
driver menangani satu tipe (kelas) perangkat dan bertugas menerima
permintaan abstrak perangkat lunak device independent diatasnya dan
melakukan layanan permintaan.
Mekanisme kerja device driver :
o Menerjemahkan perintah abstrak menjadi perintah konkret.
o Setelah ditentukan perintah yang harus diberikan ke pengendali, device
driver mulai menulis ke register-register pengendali perangkat.
o Setelah operasi selesai dilakukan perangkat, device driver memeriksa
status kesalahan yang terjadi.
o Jika berjalan baik, device driver melewatkan data ke perangkat lunak
device independent.
o Kemudian device driver melaporkan status operasinya ke pemanggil.
c. Perangkat lunak device independent.
Bertujuan membentuk fungsi-fungsi I/O yang berlaku untuk semua perangkat
dan memberi antarmuka seragam ke perangkat lunak tingkat pemakai.
Fungsi-fungsi lain yang dilakukan :
o Sebagai interface seragam untuk seluruh device driver.
o Penamaan perangkat.
o Proteksi perangkat.
o Memberi ukuran blok perangkat agar bersifat device independent.
o Melakukan buffering.
o Alokasi penyimpanan pada block devices.
o Alokasi dan pelepasan dedicated devices.
o Pelaporan kesalahan.
d. Perangkat lunak level pemakai.
Kebanyakan perangkat lunak I/O terdapat di sistem operasi. Satu bagian
kecil berisi pustaka-pustaka yang dikaitkan pada program pemakai dan
berjalan diluar kernel. System calls I/O umumnya dibuat sebagai prosedur-
prosedur pustaka. Kumpulan prosedur pustaka I/O merupakan bagian sistem
I/O. Tidak semua perangkat lunak I/O level pemakai berupa prosedur-
prosedur pustaka. Kategori penting adalah sistem spooling. Spooling
adalah cara khusus berurusan dengan perangkat I/O yang harus
didedikasikan pada sistem multiprogramming.
7.7 Buffering I/O
Buffering adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O,
sehingga meningkatkan efisiensi dan kinerja sistem operasi.
Terdapat beragam cara buffering, antar lain :
a. Single buffering.
Merupakan teknik paling sederhana. Ketika proses memberi perintah untuk
perangkat I/O, sistem operasi menyediakan buffer memori utama sistem
untuk operasi.
Untuk perangkat berorientasi blok.
Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai,
proses memindahkan blok ke ruang pemakai dan segera meminta blok lain.
Teknik ini disebut reading ahead atau anticipated input. Teknik ini
dilakukan dengan harapan blok akan segera diperlukan. Untuk banyak tipe
komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang
dibaca tidak diperlukan.
Keunggulan :
Pendekatan in umumnya meningkatkan kecepatan dibanding tanpa buffering.
Proses pemakai dapat memproses blok data sementara blok berikutnya sedang
dibaca. Sistem operasi dapat menswap keluar proses karena operasi
masukan berada di memori sistem bukan memori proses pemakai.
Kelemahan :
o Merumitkan sistem operasi karena harus mencatat pemberian buffer-buffer
sistem ke proses pemakai.
o Logika swapping juga dipengaruhi. Jika operasi I/O melibatkan disk
untuk swapping, maka membuat antrian penulisan ke disk yang sama yang
digunakan untuk swap out proses. Untuk menswap proses dan melepas
memori utama tidak dapat dimulai sampai operasi I/O selesai, dimana
waktu swapping ke disk tidak bagus untuk dilaksanakan.
Buffering keluaran serupa buffering masukan. Ketika data transmisi, data
lebih dulu dikopi dari ruang pemakai ke buffer sistem. Proses pengirim
menjadi bebas untuk melanjutkan eksekusi berikutnya atau di swap ke disk
jika perlu.
Untuk perangkat berorientasi aliran karakter.
Single buffering dapat diterapkan dengan dua mode, yaitu :
o Mode line at a time.
Cocok untuk terminal mode gulung (scroll terminal atau dumb terminal).
Masukan pemakai adalah satu baris per waktu dengan enter menandai akhir
baris. Keluaran terminal juga serupa, yaitu satu baris per waktu.
Contoh mode ini adalah printer.
Buffer digunakan untuk menyimpan satu baris tunggal. Proses pemakai
ditunda selama masukan, menunggu kedatangan satu baris seluruhnya.
Untuk keluaran, proses pemakai menempatkan satu baris keluaran pada
buffer dan melanjutkan pemrosesan. Proses tidak perlu suspend kecuali
bila baris kedua dikirim sebelum buffer dikosongkan.
o Mode byte at a time.
Operasi ini cocok untuk terminal mode form, dimana tiap ketikan adalah
penting dan untuk peripheral lain seperti sensor dan pengendali.
b. Double buffering.
Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransfer
ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi)
buffer lain. Teknik ini disebut double buffering atau buffer swapping.
Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan
ini harus dibayar dengan peningkatan kompleksitas. Untuk berorientasi
aliran karakter, double buffering mempunyai 2 mode alternatif, yaitu :
o Mode line at a time.
Proses pemakai tidak perlu ditunda untuk I/O kecuali proses secepatnya
mengosongkan buffer ganda.
o Mode byte at a time.
Buffer ganda tidak memberi keunggulan berarti atas buffer tunggal.
Double buffering mengikuti model producer-consumer.
c. Circular buffering.
Seharusnya melembutkan aliran data antara perangkat I/O dan proses.
Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar
operasi I/O mengikuti proses. Double buffering tidak mencukupi jika
proses melakukan operasi I/O yang berturutan dengan cepat. Masalah
sering dapat dihindari denga menggunakan lebih dari dua buffer. Ketika
lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu
sebagai circulat buffer. Tiap buffer individu adalah satu unit di
circular buffer.
a. Disk.
Perangkat keras dan parameter kinerja disk.
Disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan
terdapat head yang ditumpuk secara vertical. Track terbagi menjadi
sektor-sektor.
Waktu yang dibutuhkan untuk membaca dan menulis disk dipengaruhi oleh :
o Waktu pencarian (seek time).
Merupakan faktor yang dominan. Waktu yang diperlukan untuk sampai ke
posisi track yang dituju, yaitu : S = Sc + di , dimana :
Sc adalah waktu penyalaan awal (initial startup time).
d adalah waktu yang bergerak antar-antar track.
i adalah jarak yang ditempuh (dalam ukuran ruang antar track).
Untuk track terdekat, S1 = Sc + d lebih kecil dibanding waktu yang
diperlukan untuk satu putaran.Untuk memudahkan perhitungan maka
dipakai s rata-rata,yaitu :
j-1
S = å Si pdi,
i=1
Si adalah waktu tempuh untuk jarak ke-1.
Pdi adalah probabilitas menempuh jarak ke-1.
Seek time rata-rata biasanya diinformasikan oleh pabrik pembuat.
o Waktu rotasi (rotational latency).
Waktu yang diperlukan mekanisme akses mencapai blok yang diinginkan.
Rumus untuk mendapatkan r adalah :
R=1/2*((60*1000)/rpm).
Rpm atau jumlah putaran permenit, biasa diinformasikan oleh pabrik
pembuat.
o Waktu transfer (t).
Tergantung pada kecepatan rotasi dan kepadatan rekaman. Transfer rate
(t) adalah kecepatan transfer data sesaat, data ini diberikan oleh
pembuat. Maka dapat dihitung :
> Waktu transfer per rekord (TR, record transfer time).
TR (waktu untuk transfer rekord dengan panjang rekord, R), yaitu :
TR=R/t.
> Waktu transfer per blok (btt).
Bit (block transfer time,waktu yang diperlukan untuk transfer 1 blok),
yaitu : btt=B/t.
> Bulk transfer time (t').
Didalam kasus pembacaan/penulisan secara sekuens besar maka harus
melewati gap dan daerah-daerah bukan data. Pada akhir tiap silinder,
seek akan terjadi dan selama seek time, tidak ada data yang
ditransfer.
Untuk keperluan didefinisikan bulk transfer time (t'), yaitu :
t'=(R)/(((R+W)/t)+s'), dimana :
R adalah ukuran rekord.
W adalah ruang yang disiakan.
s' adalah seek time untuk sekuen.
t adalah transfer mode.
Algoritma penjadwalan disk
Pada sistem multiprogramming, banyak proses yang melakukan permintaan
membaca dan menulis rekord-rekord disk. Proses-proses membuat permintaan-
permintaan lebih cepat dibanding yang dapat dilayani disk, membentuk
antrian permintaan layanan disk. Diperlukan penjadwalan disk agar
memperoleh kinerja yang optimal.
Terdapat dua tipe penjadwalan disk, yaitu :
1. Optimasi seek.
2. Optimasi rotasi (rotational latency).
Karena waktu seek lebih tinggi satu orde dibanding waktu rotasi, maka
kebanyakan algoritma penjadwalan berkonsentrasi meminimumkan seek kumpulan
atau antrian permintaan layanan disk. Meminimumkan latency biasanya
berdampak kecil pada kinerja seluruh sistem. Penjadwalan disk melibatkan
pemeriksaan terhadap permintaan-permintaan yang belum dilayani untuk
menentukan cara paling efisien melayani permintaan-permintaan. Penjadwal
disk memeriksa hubungan posisi diantara permintaan-permintaan. Antrian
permintaan disusun kembali sehingga permintaan-permintaan akan dilayani
dengan pergerakan mekanis minimum.
Beberapa kriteria penjadwalan disk, yaitu :
o Throughput, yaitu berusaha memaksimumkan.
o Waktu tanggap rata-rata, nilai ini diusahakan minimum.
o Variansi waktu tanggap, diusahakan minimum.
Beberapa algoritma penjadwalan disk, antara lain :
> First come first serve (FCFS).
Disk driver melayani satu permintaan sesuai urutan kedatangannya,
merupakan metode yang adil. Saat rate permintaan sangat berat, FCFS
dapat menghasilkan waktu tunggu sangat panjang. Dengan FCFS, sangat
sedikit usaha optimasi waktu seek. FCFS dapat menyebabkan banyak waktu
untuk seek silinder yang paling dalam ke silinder paling luar.
Ketika permintaan-permintaan terdistribusi seragam pada permukaan-
permukaan disk, penjadwalan FCFS menghasilkan pola seek yang acak. FCFS
mengabaikan keterhubungan posisi diantara permintaan-permintaan yang
menunggu di antrian. FCFS tidak membuat upaya optimasi pola seek.
FCFS dapat diterima ketika beban disk masih ringan, tetapi begitu beban
tumbuh cenderung menjenuhi perangkat dan menyebabkan waktu tanggap
membesar.
> Shortest seek first (SSF).
Algoritma ini melayani permintaan seek track terdekat dari track dimana
head berada.
Kekurangan : lengan disk akan berkutat ditengah disk. Permintaan di
daerah ekstrim (pinggir) akan menunggu sampai fluktuasi statistik
menyebabkan tidak ada permintaan track-track tengah. Terdapat konflik
antara meminimalkan waktu tanggao dengan fairness (adil).
> Elevator (SCAN).
Yaitu head bergerak searah sampai tidak ada permintaan ke arah itu,
kemudian berbalik arah. Diperlukan bit tambahan untuk mencatat arah
gerak head. Kebaikan : batas atas jumlah gerak adalah tetap yaitu dua
kali jumlah silinder.
> Elevator dimodifikasi (C-SCAN).
Lengan head hanya bergerak searah, setiap kali mencapai silinder
tertinggi, maka head akan bergerak ke silinder terendah dan dilanjutkan
terus head bergerak searah. Ada kontroller yang dapat mengetahui pada
track mana ia berada, dengan ini dapat dibuat optimasi untuk mencari
sektor yang ada pada track tersebut.
> N-step scan.
Lengan disk bergerak maju mundur seperti algoritma SCAN, tapi dengan
semua permintaan yang tiba selama menyapu dalam satu arah dikumpulkan
dulu dan disusun kembali agar layanan optimal selama penyapuan balik.
> Exchenbach scheme.
Pergerakan lengan disk sirkular seperti C-SCAN, tapi dengan beberapa
kekecualian penting setiap silinder dilayani tepat satu track informasi
baik terdapat permintaan atau tidak untuk silinder itu. Permintaan-
permintaan disusun untuk layanan dalam silinder itu untuk mendapatkan
keunggulan posisi secara rotasi (agar dapat diterapkan optimasi rotasi),
tapi jika terdapat dua permintaan dengan sektor-sektor yang overlap dalam
satu silinder, hanya satu permintaan yang dilayani pada satu kesempatan.
Penanganan masalah operasi disk
Beberapa tipe kesalahan saat operasi disk dikategorikan sebagai berikut :
o Programming error.
Kesalahan disebabkan programming. Driver memerintahkan mencari track,
membaca sektor, menggunakan head atau mentransfer ke atau dari memori
yang tak ada. Biasanya tiap controller memeriksa parameter sehingga
tidak melakukan operasi yang tak valid. Kesalahan ini seharusnya
tidak pernah ada.
o Transient checksum error.
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk.
Untuk mengeliminasi kesalahan ini maka dilakukan pengulangan operasi
pada disk.
o Permanent checksum error.
Kesalahan disebabkan kerusakan disk.
o Seek error.
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi
kembali.
o Controller error.
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah
dengan pengendali yang baru.
o Track at time caching.
Kontroller mempunyai memori untuk menyimpan informasi track dimana
ia berada, permintaan pembacaan blok track dilakukan tanpa pergerakan
mekanik.
b. Clock
Perangkat keras clock.
Komputer dilengkapi dengan RTC (real time clock). Tipe perangkat clock,
terdiri dari :
> Clock yang ditimbulkan impulse tegangan listrik.
Clock in menginterupsi 50-60 interupt tiap detik sesuai dengan
frekuensi listrik.
> Programmable interval timer (PIT).
Clock ini terdiri dari crystal oscilator, counter, dan holding register.
Dua keunggulan PIT, yaitu :
>> Mempunyai akurasi tinggi.
>> Frekuensi interupsi dapat diatur secara perangkat lunak.
Dengan crystal oscilator 2 MHz, menggunakan 16 bit holding registe,
interupsi yang terjadi dapat diatur antara 1 ms sampai 65.536 ms.
PIT biasa digunakan sebagai :
>> Waktu sistem.
>> Pembangkit band rate.
>> Penghitung kejadian.
>> Pembangkit musik.
>> Dan diberagam aplikasi yang memerlukan pewaktuan.
Ketika digunakan untuk pewaktuan PIT menghasilkan interupsi secara
periodik. PIT bekerja dengan menghitung pulsa eksternal yang diberikan
crystal oscilator. Keluaran PIT berupa pulsa yang diteruskan secara
langsung ke IRQm(Interupt Request) sehingga menimbulkan interupsi ke
pemroses. Periode waktu antara dua interupsi timer berturutan dapat
diprogram dengan memasukkan nilai ke holding register. Interval
interupsi mempunyai rumus sebagai berikut :
Interval = (periode clock) x (nilai holding register).
Contoh :
Dikehendaki interval pewaktuan setiap 10 ms.
Frekuensi crystal oscilator adalah 2 MHz.
Berapa nilai yang harus dimasukkan ke holding register ?
Perhitungan :
Periode clock = 1/(2x106) = 0.5 x 10-6 = 0,5mms.
Nilai yang harus diberikan ke holding register = (10x10-3)/(0.5x10-6)=
20x103.
Agar PIT menimbulkan interupsi dengan waktu interval 10 ms, maka
holding register diset dengan nilai 20.000.
Metode pemrograman PIT.
Terdapat dua mode pemograman PIT, yaitu :
1. One shot mode.
Setiap kali PIT diinisialisasi maka dikopikan nilai holding register
ke counter.Counter diturunkan setiap terjadi pulsa crystal oscilator.
Ketika counter bernilai 0, PIT membuat interupsi ke pemroses dan
berhenti. PIT menunggu diinisialisasi secara eksplisit oleh
perangkat lunak. Mode ini hanya untuk menghasilkan satu kejadian
tunggal, diperlukan ketika clock diaktifkan berdasarkan kejadian.
2. Square wave mode.
Sesudah counter mencapai 0 maka menyebabkan interupsi ke pemroses.
Holding register dikopikan secara otomatis ke counter dan seluruh
proses diulangi lagi sampai tak berhingga. Periode ini disebut clock
ticks. Mode ini untuk menghasilkan kejadian-kejadian interupsi timer
secara periodik, dilakukan secara otomatis tanpa melibatkan pemroses
(perangkat lunak untuk inisialisasi kembali). Biasanya chip berisi
dua atau tiga PIT independen dan mempunyai banyak option pemrograman
(seperti menghitung keatas, pematian interupsi, dan sebagainya).
Perangkat lunak clock.
Beberapa fungsi clock disistem operasi, antara lain :
1. Mengelola waktu dan tanggal (waktu nyata).
Tekniknya adalah counter dinaikkan setiap terjadi clock tick.
Teknik ini bermasalah karena keterbatasan jumlah bit counter.
Counter berukuran 32 bit akan overflow setelah 2 tahun bila clock
ratenya bernilai 60Hz, solusinya adalah :
o Menggunakan counter 64 bit.
o Waktu dihitung dalam detik bukan dalam clock tick.
o Waktu dihitung relatif dengan saat komputer dihidupkan.
2. Mencegah proses berjalan lebih dari waktu yang ditetapkan.
Setiap kali proses dimulai, penjadwal inisialisasi counter dalam
hitungan clock ticks. Setiap kali terjadi clock ticks, counter
diturunkan. Saat counter mencapai 0 maka penjadwal mengalihkan
pemroses ke proses lain.
3. Menghitung penggunaan pemroses (CPU).
Bila dikehendaki penghitungan dengan akurasi tinggi maka dilakukan
dengan menggunakan timer kedua. Timer kedua terpisah dari timer
sistem utama. Begitu proses dimulai, timer diaktifkan, saat proses
berhenti maka timer dibaca. Timer menunjukkan lama waktu yang telah
digunakan proses. Akurasi rendah dapat diperoleh dengan mengelola
pointer ke tabel proses dan counter global.
4. Menangani system call alarm yang dibuat proses pemakai.
Mensimulasi banyak clock dengan membuat senarai semua permintaan
clock, terurut berdasar waktu. Isinya adalah jumlah clock ticks
setelah signal proses sebelumnya.
5. Mengerjakan profiling, monitoring dan pengumpulan statistik.
Untuk membuat data statistik kegiatan komputer.
c. RAM Disk.
Adalah perangkat disk yang disimulasikan pada memori akses acak (RAM).
RAM disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan
mekanis dalam seek dan rotasi. Kegunaannya untuk aplikasi yang memerlukan
kinerja disk yang tinggi. Perangkat blok mempunyai dua perintah, yaitu
membaca dan menulis blok. Normalnya blok-blok disimpan di disk berputar
yang memerlukan mekanisme fisik.
Gagasannya adalah meniru perangkat dengan mengalokasikan terlebih satu
bagian memori utama untuk menyimpan blok-blok data. Keunggulan :
berkecepatan tinggi karena pengaksesan sesaat (tidak ada waktu tunda
seek dan rotational latency), sangat baik untuk menyimpan program atau
data yang sering diakses. Memori utama dibagi menjadi n blok berukuran
sama, bergantung banyak memori yang dialokasikan. Ketika driver untuk
RAM disk menerima perintah membaca atau menulis suatu blok, driver
tinggal menghitung dimana lokasi memori tempat blok berada kemudian
membaca atau menuliskannya.
DAFTAR PUSTAKA
1. Hariyanto, Bambang, Ir., Sistem Operasi, Penerbit Informatika, Bandung,
1999
2. Tanenbaum, Andrew S., Modern Operating Systems, Prentice Hall Inc., 1992
operasi terluas dan kompleks karena sangat beragamnya perangkat dan
aplikasinya.
Beberapa fungsi manajemen input/ouput (I/O) :
a. Mengirim perintah ke perangkat I/O agar menyediakan layanan.
b. Menangani interupsi perangkat I/O.
c. Menangani kesalahan perangkat I/O.
d. Menyediakan interface ke pemakai.
7.2 Klasifikasi perangkat I/O
Perangkat I/O dapat dikelompokkan berdasarkan :
a. Sifat aliran datanya, yang terbagi atas :
a.1 Perangkat berorientasi blok.
Yaitu menyimpan, menerima, dan mengirim informasi sebagai blok-blok
berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki
alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-
blok secara independen, yaitu dapat membaca atau menulis sembarang
blok tanpa harus melewati blok-blok lain. Contoh : disk,tape,CD ROM,
optical disk.
a.2 Perangkat berorientasi aliran karakter.
Yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa
membentuk suatu struktur blok. Contoh : terminal, line printer, pita
kertas, kartu-kartu berlubang, interface jaringan, mouse.
b. Sasaran komunikasi, yang terbagi atas :.
b.1 Perangkat yang terbaca oleh manusia.
Perangkat yang digunakan untuk berkomunikasi dengan manusia.
Contoh : VDT (video display terminal) : monitor, keyboard, mouse.
b.2 Perangkat yang terbaca oleh mesin.
Perangkat yang digunakan untuk berkomunikasi dengan perangkat
elektronik.
Contoh : Disk dan tape, sensor, controller.
b.3 Perangkat komunikasi.
Perangkat yang digunakan untuk komunikasi dengan perangkat jarak jauh.
Contoh : Modem.
Faktor-faktor yang membedakan antar perangkat :
o Kecepatan transmisi data (data rate).
o Jenis aplikasi yang digunakan.
o Tingkat kerumitan dalam pengendalian.
o Besarnya unit yang ditransfer.
o Representasi atau perwujudan data.
o Kondisi-kondisi kesalahan.
7.3 Teknik pemograman perangkat I/O
Terdapat 3 teknik, yaitu :
a. I/O terprogram atau polling system.
Ketika perangkat I/O menangani permintaan, perangkat men-set bit status
di register status perangkat. Perangkat tidak memberitahu ke pemroses
saat tugas telah selesai dilakukan sehingga pemroses harus selalu
memeriksa register tersebut secara periodik dan melakukan tindakan
berdasar status yang dibaca. Software pengendali perangkat (driver)
dipemroses harus mentransfer data ke/dari pengendali. Driver mengekseksui
perintah yang berkomunikasi dengan pengendali (adapter) di perangkat dan
menunggui sampai operasi yang dilakukan perangkat selesai.
Driver berisi kumpulan instruksi :
a.1 Pengendalian.
Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang
perlu dilakukan. Contoh : unit tape magnetik diinstruksikan untuk
kembali ke posisi awal, bergerak ke record berikut, dan sebagainya.
a.2 Pengujian.
Berfungsi memeriksa status perangkat keras berkaitan dengan perangkat
I/O.
a.3 Pembacaan/penulisan
Berfungsi membaca/menulis untuk transfer data antara register
pemroses dan perangkat eksternal.
Masalah utama I/O terprogram adalah pemroses diboroskan untuk menunggu
dan menjagai operasi I/O. Diperlukan teknik lain untuk meningkatkan
efisiensi pemroses.
b. I/O dikendalikan interupsi.
Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut :
o Pemroses memberi instruksi ke perangkat I/O kemudian melanjutkan
melakukan pekerjaan lainnya.
o Perangkat I/O akan menginterupsi meminta layanan saat perangkat telah
siap bertukar data dengan pemroses.
o Saat menerima interupsi perangkat keras (yang memberitahukan bahwa
perangkat siap melakukan transfer), pemroses segera mengeksekusi
transfer data.
Keunggulan :
o Pemroses tidak disibukkan menunggui dan menjaga perangkat I/O untuk
memeriksa status perangkat.
Kelemahan :
o Rate transfer I/O dibatasi kecepatan menguji dan melayani operasi
perangkat.
o Pemroses terikat ketat dalam mengelola transfer I/O. Sejumlah intruksi
harus dieksekusi untuk tiap transfer I/O.
c. Dengan DMA (direct memory access).
DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan
perangkat I/O. Saat pemroses ingin membaca atau menulis data, pemroses
memerintahkan DMA controller dengan mengirim informasi berikut :
o Perintah penulisan/pembacaan.
o Alamat perangkat I/O.
o Awal lokasi memori yang ditulis/dibaca.
o Jumlah word (byte) yang ditulis/dibaca.
Setelah mengirim informasi-informasi itu ke DMA controller, pemroses
dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA.
DMA mentransfer seluruh data yang diminta ke/dari memori secara langsung
tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirim
sinyal interupsi ke pemroses. Sehingga pemroses hanya dilibatkan pada
awal dan akhir transfer data. Operasi transfer antara perangkat dan
memori utama dilakukan sepenuhnya oleh DMA lepas dari pemroses dan hanya
melakukan interupsi bila operasi telah selesai.
Keunggulan :
o Penghematan waktu pemroses.
o Peningkatan kinerja I/O.
7.4 Evolusi fungsi perangkat I/O
Sistem komputer mengalami peningkatan kompleksitas dan kecanggihan
komponen-komponennya, yang sangat tampak pada fungsi-fungsi I/O sebagai
berikut :
a. Pemroses mengendalikan perangkat I/O secara langsung.
Masih digunakan sampai saat ini untuk perangkat sederhana yang
dikendalikan mikroprosessor sehingga menjadi perangkat berintelijen
(inteligent device).
b. Pemroses dilengkapi pengendali I/O (I/O controller).
Pemroses menggunakan I/O terpogram tanpa interupsi, sehingga tak perlu
memperhatikan rincian-rincian spesifik antarmuka perangkat.
c. Perangkat dilengkapi fasilitas interupsi.
Pemroses tidak perlu menghabiskan waktu menunggu selesainya operasi I/O,
sehingga meningkatkan efisiensi pemroses.
d. I/O controller mengendalikan memori secara langsung lewat DMA.
Pengendali dapat memindahkan blok data ke/dari memori tanpa melibatkan
pemroses kecuali diawal dan akhir transfer.
e. Pengendali I/O menjadi pemroses terpisah.
Pemroses pusat mengendalikan.memerintahkan pemroses khusus I/O untuk
mengeksekusi program I/O di memori utama. Pemroses I/O mengambil dan
mengeksekusi intruksi-intruksi ini tanpa intervensi pemroses pusat.
Dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan
hanya diinterupsi ketika seluruh barisan intruksi diselesaikan.
f. Pengendali I/O mempunyai memori lokal sendiri.
Perangkat I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang
minimum.
Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal
interaktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan
pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga
pemroses tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerja
sistem.
7.5 Prinsip manajemen perangkat I/O
Terdapat dua sasaran perancangan I/O, yaitu :
a. Efisiensi.
Aspek penting karena operasi I/O sering menimbulkan bottleneck.
b. Generalitas (device independence).
Manajemen perangkat I/O selain berkaitan dengan simplisitas dan bebas
kesalahan, juga menangani perangkat secara seragam baik dari cara proses
memandang maupun cara sistem operasi mengelola perangkat dan operasi I/O.
Software diorganisasikan berlapis. Lapisan bawah berurusan menyembunyikan
kerumitan perangkat keras untuk lapisan-lapisan lebih atas. Lapisan lebih
atas berurusan memberi antar muka yang bagus, bersih, nyaman dan seragam ke
pemakai.
Masalah-masalah manajemen I/O adalah :
a. Penamaan yang seragam (uniform naming).
Nama berkas atau perangkat adalah string atau integer, tidak bergantung
pada perangkat sama sekali.
b. Penanganan kesalahan (error handling).
Umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkat
keras.
c. Transfer sinkron vs asinkron.
Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan
untuk melakukan kerja lain sampai interupsi tiba. Program pemakai sangat
lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah
read, program kemudian ditunda secara otomatis sampai data tersedia di
buffer.
d. Sharable vs dedicated.
Beberapa perangk dapat dipakai bersama seperti disk, tapi ada juga
perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat.
Contoh : printer.
7.6 Hirarki manajemen perangkat I/O
Hirarki manajemen perangkat I/O :
a. Interrupt handler.
Interupsi harus disembunyikan agar tidak terlihat rutin berikutnya.
Device driver di blocked saat perintah I/O diberikan dan menunggu
interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi
bekerja agar device driver keluar dari state blocked.
b. Device drivers.
Semua kode bergantung perangkat ditempatkan di device driver. Tiap device
driver menangani satu tipe (kelas) perangkat dan bertugas menerima
permintaan abstrak perangkat lunak device independent diatasnya dan
melakukan layanan permintaan.
Mekanisme kerja device driver :
o Menerjemahkan perintah abstrak menjadi perintah konkret.
o Setelah ditentukan perintah yang harus diberikan ke pengendali, device
driver mulai menulis ke register-register pengendali perangkat.
o Setelah operasi selesai dilakukan perangkat, device driver memeriksa
status kesalahan yang terjadi.
o Jika berjalan baik, device driver melewatkan data ke perangkat lunak
device independent.
o Kemudian device driver melaporkan status operasinya ke pemanggil.
c. Perangkat lunak device independent.
Bertujuan membentuk fungsi-fungsi I/O yang berlaku untuk semua perangkat
dan memberi antarmuka seragam ke perangkat lunak tingkat pemakai.
Fungsi-fungsi lain yang dilakukan :
o Sebagai interface seragam untuk seluruh device driver.
o Penamaan perangkat.
o Proteksi perangkat.
o Memberi ukuran blok perangkat agar bersifat device independent.
o Melakukan buffering.
o Alokasi penyimpanan pada block devices.
o Alokasi dan pelepasan dedicated devices.
o Pelaporan kesalahan.
d. Perangkat lunak level pemakai.
Kebanyakan perangkat lunak I/O terdapat di sistem operasi. Satu bagian
kecil berisi pustaka-pustaka yang dikaitkan pada program pemakai dan
berjalan diluar kernel. System calls I/O umumnya dibuat sebagai prosedur-
prosedur pustaka. Kumpulan prosedur pustaka I/O merupakan bagian sistem
I/O. Tidak semua perangkat lunak I/O level pemakai berupa prosedur-
prosedur pustaka. Kategori penting adalah sistem spooling. Spooling
adalah cara khusus berurusan dengan perangkat I/O yang harus
didedikasikan pada sistem multiprogramming.
7.7 Buffering I/O
Buffering adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O,
sehingga meningkatkan efisiensi dan kinerja sistem operasi.
Terdapat beragam cara buffering, antar lain :
a. Single buffering.
Merupakan teknik paling sederhana. Ketika proses memberi perintah untuk
perangkat I/O, sistem operasi menyediakan buffer memori utama sistem
untuk operasi.
Untuk perangkat berorientasi blok.
Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai,
proses memindahkan blok ke ruang pemakai dan segera meminta blok lain.
Teknik ini disebut reading ahead atau anticipated input. Teknik ini
dilakukan dengan harapan blok akan segera diperlukan. Untuk banyak tipe
komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang
dibaca tidak diperlukan.
Keunggulan :
Pendekatan in umumnya meningkatkan kecepatan dibanding tanpa buffering.
Proses pemakai dapat memproses blok data sementara blok berikutnya sedang
dibaca. Sistem operasi dapat menswap keluar proses karena operasi
masukan berada di memori sistem bukan memori proses pemakai.
Kelemahan :
o Merumitkan sistem operasi karena harus mencatat pemberian buffer-buffer
sistem ke proses pemakai.
o Logika swapping juga dipengaruhi. Jika operasi I/O melibatkan disk
untuk swapping, maka membuat antrian penulisan ke disk yang sama yang
digunakan untuk swap out proses. Untuk menswap proses dan melepas
memori utama tidak dapat dimulai sampai operasi I/O selesai, dimana
waktu swapping ke disk tidak bagus untuk dilaksanakan.
Buffering keluaran serupa buffering masukan. Ketika data transmisi, data
lebih dulu dikopi dari ruang pemakai ke buffer sistem. Proses pengirim
menjadi bebas untuk melanjutkan eksekusi berikutnya atau di swap ke disk
jika perlu.
Untuk perangkat berorientasi aliran karakter.
Single buffering dapat diterapkan dengan dua mode, yaitu :
o Mode line at a time.
Cocok untuk terminal mode gulung (scroll terminal atau dumb terminal).
Masukan pemakai adalah satu baris per waktu dengan enter menandai akhir
baris. Keluaran terminal juga serupa, yaitu satu baris per waktu.
Contoh mode ini adalah printer.
Buffer digunakan untuk menyimpan satu baris tunggal. Proses pemakai
ditunda selama masukan, menunggu kedatangan satu baris seluruhnya.
Untuk keluaran, proses pemakai menempatkan satu baris keluaran pada
buffer dan melanjutkan pemrosesan. Proses tidak perlu suspend kecuali
bila baris kedua dikirim sebelum buffer dikosongkan.
o Mode byte at a time.
Operasi ini cocok untuk terminal mode form, dimana tiap ketikan adalah
penting dan untuk peripheral lain seperti sensor dan pengendali.
b. Double buffering.
Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransfer
ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi)
buffer lain. Teknik ini disebut double buffering atau buffer swapping.
Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan
ini harus dibayar dengan peningkatan kompleksitas. Untuk berorientasi
aliran karakter, double buffering mempunyai 2 mode alternatif, yaitu :
o Mode line at a time.
Proses pemakai tidak perlu ditunda untuk I/O kecuali proses secepatnya
mengosongkan buffer ganda.
o Mode byte at a time.
Buffer ganda tidak memberi keunggulan berarti atas buffer tunggal.
Double buffering mengikuti model producer-consumer.
c. Circular buffering.
Seharusnya melembutkan aliran data antara perangkat I/O dan proses.
Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar
operasi I/O mengikuti proses. Double buffering tidak mencukupi jika
proses melakukan operasi I/O yang berturutan dengan cepat. Masalah
sering dapat dihindari denga menggunakan lebih dari dua buffer. Ketika
lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu
sebagai circulat buffer. Tiap buffer individu adalah satu unit di
circular buffer.
a. Disk.
Perangkat keras dan parameter kinerja disk.
Disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan
terdapat head yang ditumpuk secara vertical. Track terbagi menjadi
sektor-sektor.
Waktu yang dibutuhkan untuk membaca dan menulis disk dipengaruhi oleh :
o Waktu pencarian (seek time).
Merupakan faktor yang dominan. Waktu yang diperlukan untuk sampai ke
posisi track yang dituju, yaitu : S = Sc + di , dimana :
Sc adalah waktu penyalaan awal (initial startup time).
d adalah waktu yang bergerak antar-antar track.
i adalah jarak yang ditempuh (dalam ukuran ruang antar track).
Untuk track terdekat, S1 = Sc + d lebih kecil dibanding waktu yang
diperlukan untuk satu putaran.Untuk memudahkan perhitungan maka
dipakai s rata-rata,yaitu :
j-1
S = å Si pdi,
i=1
Si adalah waktu tempuh untuk jarak ke-1.
Pdi adalah probabilitas menempuh jarak ke-1.
Seek time rata-rata biasanya diinformasikan oleh pabrik pembuat.
o Waktu rotasi (rotational latency).
Waktu yang diperlukan mekanisme akses mencapai blok yang diinginkan.
Rumus untuk mendapatkan r adalah :
R=1/2*((60*1000)/rpm).
Rpm atau jumlah putaran permenit, biasa diinformasikan oleh pabrik
pembuat.
o Waktu transfer (t).
Tergantung pada kecepatan rotasi dan kepadatan rekaman. Transfer rate
(t) adalah kecepatan transfer data sesaat, data ini diberikan oleh
pembuat. Maka dapat dihitung :
> Waktu transfer per rekord (TR, record transfer time).
TR (waktu untuk transfer rekord dengan panjang rekord, R), yaitu :
TR=R/t.
> Waktu transfer per blok (btt).
Bit (block transfer time,waktu yang diperlukan untuk transfer 1 blok),
yaitu : btt=B/t.
> Bulk transfer time (t').
Didalam kasus pembacaan/penulisan secara sekuens besar maka harus
melewati gap dan daerah-daerah bukan data. Pada akhir tiap silinder,
seek akan terjadi dan selama seek time, tidak ada data yang
ditransfer.
Untuk keperluan didefinisikan bulk transfer time (t'), yaitu :
t'=(R)/(((R+W)/t)+s'), dimana :
R adalah ukuran rekord.
W adalah ruang yang disiakan.
s' adalah seek time untuk sekuen.
t adalah transfer mode.
Algoritma penjadwalan disk
Pada sistem multiprogramming, banyak proses yang melakukan permintaan
membaca dan menulis rekord-rekord disk. Proses-proses membuat permintaan-
permintaan lebih cepat dibanding yang dapat dilayani disk, membentuk
antrian permintaan layanan disk. Diperlukan penjadwalan disk agar
memperoleh kinerja yang optimal.
Terdapat dua tipe penjadwalan disk, yaitu :
1. Optimasi seek.
2. Optimasi rotasi (rotational latency).
Karena waktu seek lebih tinggi satu orde dibanding waktu rotasi, maka
kebanyakan algoritma penjadwalan berkonsentrasi meminimumkan seek kumpulan
atau antrian permintaan layanan disk. Meminimumkan latency biasanya
berdampak kecil pada kinerja seluruh sistem. Penjadwalan disk melibatkan
pemeriksaan terhadap permintaan-permintaan yang belum dilayani untuk
menentukan cara paling efisien melayani permintaan-permintaan. Penjadwal
disk memeriksa hubungan posisi diantara permintaan-permintaan. Antrian
permintaan disusun kembali sehingga permintaan-permintaan akan dilayani
dengan pergerakan mekanis minimum.
Beberapa kriteria penjadwalan disk, yaitu :
o Throughput, yaitu berusaha memaksimumkan.
o Waktu tanggap rata-rata, nilai ini diusahakan minimum.
o Variansi waktu tanggap, diusahakan minimum.
Beberapa algoritma penjadwalan disk, antara lain :
> First come first serve (FCFS).
Disk driver melayani satu permintaan sesuai urutan kedatangannya,
merupakan metode yang adil. Saat rate permintaan sangat berat, FCFS
dapat menghasilkan waktu tunggu sangat panjang. Dengan FCFS, sangat
sedikit usaha optimasi waktu seek. FCFS dapat menyebabkan banyak waktu
untuk seek silinder yang paling dalam ke silinder paling luar.
Ketika permintaan-permintaan terdistribusi seragam pada permukaan-
permukaan disk, penjadwalan FCFS menghasilkan pola seek yang acak. FCFS
mengabaikan keterhubungan posisi diantara permintaan-permintaan yang
menunggu di antrian. FCFS tidak membuat upaya optimasi pola seek.
FCFS dapat diterima ketika beban disk masih ringan, tetapi begitu beban
tumbuh cenderung menjenuhi perangkat dan menyebabkan waktu tanggap
membesar.
> Shortest seek first (SSF).
Algoritma ini melayani permintaan seek track terdekat dari track dimana
head berada.
Kekurangan : lengan disk akan berkutat ditengah disk. Permintaan di
daerah ekstrim (pinggir) akan menunggu sampai fluktuasi statistik
menyebabkan tidak ada permintaan track-track tengah. Terdapat konflik
antara meminimalkan waktu tanggao dengan fairness (adil).
> Elevator (SCAN).
Yaitu head bergerak searah sampai tidak ada permintaan ke arah itu,
kemudian berbalik arah. Diperlukan bit tambahan untuk mencatat arah
gerak head. Kebaikan : batas atas jumlah gerak adalah tetap yaitu dua
kali jumlah silinder.
> Elevator dimodifikasi (C-SCAN).
Lengan head hanya bergerak searah, setiap kali mencapai silinder
tertinggi, maka head akan bergerak ke silinder terendah dan dilanjutkan
terus head bergerak searah. Ada kontroller yang dapat mengetahui pada
track mana ia berada, dengan ini dapat dibuat optimasi untuk mencari
sektor yang ada pada track tersebut.
> N-step scan.
Lengan disk bergerak maju mundur seperti algoritma SCAN, tapi dengan
semua permintaan yang tiba selama menyapu dalam satu arah dikumpulkan
dulu dan disusun kembali agar layanan optimal selama penyapuan balik.
> Exchenbach scheme.
Pergerakan lengan disk sirkular seperti C-SCAN, tapi dengan beberapa
kekecualian penting setiap silinder dilayani tepat satu track informasi
baik terdapat permintaan atau tidak untuk silinder itu. Permintaan-
permintaan disusun untuk layanan dalam silinder itu untuk mendapatkan
keunggulan posisi secara rotasi (agar dapat diterapkan optimasi rotasi),
tapi jika terdapat dua permintaan dengan sektor-sektor yang overlap dalam
satu silinder, hanya satu permintaan yang dilayani pada satu kesempatan.
Penanganan masalah operasi disk
Beberapa tipe kesalahan saat operasi disk dikategorikan sebagai berikut :
o Programming error.
Kesalahan disebabkan programming. Driver memerintahkan mencari track,
membaca sektor, menggunakan head atau mentransfer ke atau dari memori
yang tak ada. Biasanya tiap controller memeriksa parameter sehingga
tidak melakukan operasi yang tak valid. Kesalahan ini seharusnya
tidak pernah ada.
o Transient checksum error.
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk.
Untuk mengeliminasi kesalahan ini maka dilakukan pengulangan operasi
pada disk.
o Permanent checksum error.
Kesalahan disebabkan kerusakan disk.
o Seek error.
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi
kembali.
o Controller error.
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah
dengan pengendali yang baru.
o Track at time caching.
Kontroller mempunyai memori untuk menyimpan informasi track dimana
ia berada, permintaan pembacaan blok track dilakukan tanpa pergerakan
mekanik.
b. Clock
Perangkat keras clock.
Komputer dilengkapi dengan RTC (real time clock). Tipe perangkat clock,
terdiri dari :
> Clock yang ditimbulkan impulse tegangan listrik.
Clock in menginterupsi 50-60 interupt tiap detik sesuai dengan
frekuensi listrik.
> Programmable interval timer (PIT).
Clock ini terdiri dari crystal oscilator, counter, dan holding register.
Dua keunggulan PIT, yaitu :
>> Mempunyai akurasi tinggi.
>> Frekuensi interupsi dapat diatur secara perangkat lunak.
Dengan crystal oscilator 2 MHz, menggunakan 16 bit holding registe,
interupsi yang terjadi dapat diatur antara 1 ms sampai 65.536 ms.
PIT biasa digunakan sebagai :
>> Waktu sistem.
>> Pembangkit band rate.
>> Penghitung kejadian.
>> Pembangkit musik.
>> Dan diberagam aplikasi yang memerlukan pewaktuan.
Ketika digunakan untuk pewaktuan PIT menghasilkan interupsi secara
periodik. PIT bekerja dengan menghitung pulsa eksternal yang diberikan
crystal oscilator. Keluaran PIT berupa pulsa yang diteruskan secara
langsung ke IRQm(Interupt Request) sehingga menimbulkan interupsi ke
pemroses. Periode waktu antara dua interupsi timer berturutan dapat
diprogram dengan memasukkan nilai ke holding register. Interval
interupsi mempunyai rumus sebagai berikut :
Interval = (periode clock) x (nilai holding register).
Contoh :
Dikehendaki interval pewaktuan setiap 10 ms.
Frekuensi crystal oscilator adalah 2 MHz.
Berapa nilai yang harus dimasukkan ke holding register ?
Perhitungan :
Periode clock = 1/(2x106) = 0.5 x 10-6 = 0,5mms.
Nilai yang harus diberikan ke holding register = (10x10-3)/(0.5x10-6)=
20x103.
Agar PIT menimbulkan interupsi dengan waktu interval 10 ms, maka
holding register diset dengan nilai 20.000.
Metode pemrograman PIT.
Terdapat dua mode pemograman PIT, yaitu :
1. One shot mode.
Setiap kali PIT diinisialisasi maka dikopikan nilai holding register
ke counter.Counter diturunkan setiap terjadi pulsa crystal oscilator.
Ketika counter bernilai 0, PIT membuat interupsi ke pemroses dan
berhenti. PIT menunggu diinisialisasi secara eksplisit oleh
perangkat lunak. Mode ini hanya untuk menghasilkan satu kejadian
tunggal, diperlukan ketika clock diaktifkan berdasarkan kejadian.
2. Square wave mode.
Sesudah counter mencapai 0 maka menyebabkan interupsi ke pemroses.
Holding register dikopikan secara otomatis ke counter dan seluruh
proses diulangi lagi sampai tak berhingga. Periode ini disebut clock
ticks. Mode ini untuk menghasilkan kejadian-kejadian interupsi timer
secara periodik, dilakukan secara otomatis tanpa melibatkan pemroses
(perangkat lunak untuk inisialisasi kembali). Biasanya chip berisi
dua atau tiga PIT independen dan mempunyai banyak option pemrograman
(seperti menghitung keatas, pematian interupsi, dan sebagainya).
Perangkat lunak clock.
Beberapa fungsi clock disistem operasi, antara lain :
1. Mengelola waktu dan tanggal (waktu nyata).
Tekniknya adalah counter dinaikkan setiap terjadi clock tick.
Teknik ini bermasalah karena keterbatasan jumlah bit counter.
Counter berukuran 32 bit akan overflow setelah 2 tahun bila clock
ratenya bernilai 60Hz, solusinya adalah :
o Menggunakan counter 64 bit.
o Waktu dihitung dalam detik bukan dalam clock tick.
o Waktu dihitung relatif dengan saat komputer dihidupkan.
2. Mencegah proses berjalan lebih dari waktu yang ditetapkan.
Setiap kali proses dimulai, penjadwal inisialisasi counter dalam
hitungan clock ticks. Setiap kali terjadi clock ticks, counter
diturunkan. Saat counter mencapai 0 maka penjadwal mengalihkan
pemroses ke proses lain.
3. Menghitung penggunaan pemroses (CPU).
Bila dikehendaki penghitungan dengan akurasi tinggi maka dilakukan
dengan menggunakan timer kedua. Timer kedua terpisah dari timer
sistem utama. Begitu proses dimulai, timer diaktifkan, saat proses
berhenti maka timer dibaca. Timer menunjukkan lama waktu yang telah
digunakan proses. Akurasi rendah dapat diperoleh dengan mengelola
pointer ke tabel proses dan counter global.
4. Menangani system call alarm yang dibuat proses pemakai.
Mensimulasi banyak clock dengan membuat senarai semua permintaan
clock, terurut berdasar waktu. Isinya adalah jumlah clock ticks
setelah signal proses sebelumnya.
5. Mengerjakan profiling, monitoring dan pengumpulan statistik.
Untuk membuat data statistik kegiatan komputer.
c. RAM Disk.
Adalah perangkat disk yang disimulasikan pada memori akses acak (RAM).
RAM disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan
mekanis dalam seek dan rotasi. Kegunaannya untuk aplikasi yang memerlukan
kinerja disk yang tinggi. Perangkat blok mempunyai dua perintah, yaitu
membaca dan menulis blok. Normalnya blok-blok disimpan di disk berputar
yang memerlukan mekanisme fisik.
Gagasannya adalah meniru perangkat dengan mengalokasikan terlebih satu
bagian memori utama untuk menyimpan blok-blok data. Keunggulan :
berkecepatan tinggi karena pengaksesan sesaat (tidak ada waktu tunda
seek dan rotational latency), sangat baik untuk menyimpan program atau
data yang sering diakses. Memori utama dibagi menjadi n blok berukuran
sama, bergantung banyak memori yang dialokasikan. Ketika driver untuk
RAM disk menerima perintah membaca atau menulis suatu blok, driver
tinggal menghitung dimana lokasi memori tempat blok berada kemudian
membaca atau menuliskannya.
DAFTAR PUSTAKA
1. Hariyanto, Bambang, Ir., Sistem Operasi, Penerbit Informatika, Bandung,
1999
2. Tanenbaum, Andrew S., Modern Operating Systems, Prentice Hall Inc., 1992
File Manajemen
File System
Konsep terpenting dari pengelolaan file disistem operasi adalah :
a. File.
Abstraksi penyimpanan dan pengambilan informasi di disk. Abstraksi ini
membuat pemakai tidak dibebani rincian cara dan letak penyimpanan
informasi, serta mekanisme kerja perangkat penyimpan data.
Terdapat beragam pandangan mengenai file, yaitu :
> Pandangan pemakai.
Terhadap file pemakai berkepentingan memahami berikut :
>> Penamaan untuk file.
Pemakai mengacu file dengan nama simbolik. Tiap file di sistem harus
mempunyai nama unik agar tidak ambigu. Penamaan file dengan nama
direktori tempat file memberi nama unik. Tidak diperbolehkan nama
file yang sama di satu direktori.
Penamaan file berbeda sesuai sistem. Terdapat dua pendekatan, yaitu :
>>> Sistem yang case sensitive.
Sistem membedakan antara huruf kecil dan huruf kapital.
>>> Sistem yang case insensitive.
Sistem tidak membedakan antara huruf kecil dan huruf kapital.
Saat ini, penamaan cenderung dapat menggunakan nama file panjang
karena deskriptif.
>> Tipe file.
Terdapat tiga tipe file di sistem operasi, yaitu :
>>> Reguler.
File berisi informasi, terdiri dari file ASCII dan biner.
File ASCII berisi baris teks. File biner adalah file yang bukan
file ASCII. Untuk file biner eksekusi (exe) mempunyai struktur
internal yang hanya diketahui sistem operasi. Untuk file biner
hasil program aplikasi, struktur internalnya hanya diketahui
program aplikasi yang menggunakan file tersebut.
>>> Direktori.
File direktori merupakan file yang dimiliki sistem untuk
mengelola struktur sistem file. File direktori merupakan file
berisi informasi-informasi mengenai file-file yang termasuk
dalam direktori itu.
>>> Spesial.
File spesial merupakan nama logik perangkat I/O. Perangkat I/O
dapat dipandang sebagai file. Pemakai dihindarkan dari kerumitan
operasi perangkat I/O.
File in terbagi dua, yaitu :
ž File spesial karakter.
Berhubungan dengan perangkat I/O aliran karakter. File ini
memodelkan perangkat I/O seperti :
Ø Terminal.
Ø Printer.
Ø Port jaringan.
Ø Modem.
Ø Dan alat-alat yang bukan penyimpan sekunder.
ž File spesial blok.
Berhubungan dengan perangkat I/O sebagai kumpulan blok-blok
data (berorientasi blok).
>> Atribut file.
Informasi tambahan mengenai file untuk memperjelas dan membatasi
operasi-operasi yang dapat diterapkan dan dipergunakan untuk
pengelolaan file.
Tabel berikut menunjukkan atribut-atribut di file.
>> Perintah-perintah untuk manipulasi file.
Merupakan perintah yang dapat diberikan pemakai dibaris perintah ke
shell (command interpreter).Perintah-perintah tersebut dapat
dikategorikan menjadi :
o Perintah penciptaan file.
o Perintah penghapusan file.
o Perintah pengkopian file.
o Perintah penggantian nama.
o Perintah manipulasi yang lain.
> Pandangan pemogram.
Selain perlu memahami sebagai pemakai, pemrogram perlu memahami :
>> Operasi-operasi terhadap file.
Beragam operasi dapat diterapkan pada file, seperti operasi-operasi
berikut :
> Pandangan perancang sistem.
Implementasi pengelolaan file.
b. Direktori.
Berisi informasi mengenai file. Kebanyakan informasi berkaitan dengan
penyimpan. Direktori adalah file, dimiliki sistem operasi dan dapat
diakses dengan rutin-rutin di sistem operasi. Meski beberapa informasi
direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya
disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori
secara langsung meski dalam mode read-only.
Pandangan pemakai.
Direktori menyediakan pemetaan nama file ke file. Informasi terpenting
pada direktori adalah berkaitan dengan penyimpanan, termasuk lokasi dan
ukuran penyimpanan file. Pada sistem bersama (shared system), informasi
yang penting adalah informasi pengendalian akses file. Satu pemakai
adalah pemilik file yang dapat memberi wewenang pengaksesan ke pemakai-
pemakai lain.
Aturan penamaan direktori mengikuti aturan penamaan file karena direktori
merupakan file yang khusus.
Beberapa konsep penting :
> Hirarki direktori.
Kebanyakan sistem menggunakan hirarki direktori atau berstruktur pohon.
Terdapat satu direktori master (root) yang didalamnya dapat terdapat
subdirektori-subdirektori. Subdirektori dapat membuat subdirektori-
subdirektori berikutnya, demikian seterusnya. Penamaan direktori sama
aturannya dengan penamaan file karena direktori adalah file yang
mempunyai arti khusus. Direktori diimplentasi dengan file.
> Jalur pengaksesan (path name).
Bila sistem file diorganisasikan dengan pohon direktori,maka diperlukan
cara menspesifikasikan nama file. Masalah penamaan file diselesaikan
dengan penamaan absolut dan penamaan file relatif.
Terdapat dua jalur, yaitu :
a. Nama jalur absolut (absolute pathname).
Nama jalur dari direktori root ke file, selalu dimulai dari
direktori root da nakan bernilai unik.
b. Nama jalur relatif (relative pathname).
Jalur relatif terhadap direktori kerja/saat itu (working atau
current director). Pemakai dapat menyatakan satu direktori sebagai
current directory. Nama jalur yang tidak dimulai direktori root
berarti relatif terhadap current directory.
> Perintah-perintah memanipulasi direktori.
Meliputi perintah :
ž Pindah direktori.
ž Penciptaan direktori.
ž Penghapusan direktori, yang mensyaratkan :.
* Direktori tidak sedang digunakan.
* Direktori telah kosong.
Operasi pada direktori.
Beragam operasi dapat diterapkan pada direktori seperti pada file.
Tabel berikut menunjukkan operasi-operasi yang khusus beroperasi pada
direktori, sebagai berikut :
c. Memanipulasi seluruh sistem file.
Terdapat perintah-perintah memanipulasi sistem file, antara lain :
o Pembentukan sistem file.
o Pemeriksaan sistem file.
o Pengkopian seluruh sistem file.
o Manipulasi lain.
Konsep terpenting dari pengelolaan file disistem operasi adalah :
a. File.
Abstraksi penyimpanan dan pengambilan informasi di disk. Abstraksi ini
membuat pemakai tidak dibebani rincian cara dan letak penyimpanan
informasi, serta mekanisme kerja perangkat penyimpan data.
Terdapat beragam pandangan mengenai file, yaitu :
> Pandangan pemakai.
Terhadap file pemakai berkepentingan memahami berikut :
>> Penamaan untuk file.
Pemakai mengacu file dengan nama simbolik. Tiap file di sistem harus
mempunyai nama unik agar tidak ambigu. Penamaan file dengan nama
direktori tempat file memberi nama unik. Tidak diperbolehkan nama
file yang sama di satu direktori.
Penamaan file berbeda sesuai sistem. Terdapat dua pendekatan, yaitu :
>>> Sistem yang case sensitive.
Sistem membedakan antara huruf kecil dan huruf kapital.
>>> Sistem yang case insensitive.
Sistem tidak membedakan antara huruf kecil dan huruf kapital.
Saat ini, penamaan cenderung dapat menggunakan nama file panjang
karena deskriptif.
>> Tipe file.
Terdapat tiga tipe file di sistem operasi, yaitu :
>>> Reguler.
File berisi informasi, terdiri dari file ASCII dan biner.
File ASCII berisi baris teks. File biner adalah file yang bukan
file ASCII. Untuk file biner eksekusi (exe) mempunyai struktur
internal yang hanya diketahui sistem operasi. Untuk file biner
hasil program aplikasi, struktur internalnya hanya diketahui
program aplikasi yang menggunakan file tersebut.
>>> Direktori.
File direktori merupakan file yang dimiliki sistem untuk
mengelola struktur sistem file. File direktori merupakan file
berisi informasi-informasi mengenai file-file yang termasuk
dalam direktori itu.
>>> Spesial.
File spesial merupakan nama logik perangkat I/O. Perangkat I/O
dapat dipandang sebagai file. Pemakai dihindarkan dari kerumitan
operasi perangkat I/O.
File in terbagi dua, yaitu :
ž File spesial karakter.
Berhubungan dengan perangkat I/O aliran karakter. File ini
memodelkan perangkat I/O seperti :
Ø Terminal.
Ø Printer.
Ø Port jaringan.
Ø Modem.
Ø Dan alat-alat yang bukan penyimpan sekunder.
ž File spesial blok.
Berhubungan dengan perangkat I/O sebagai kumpulan blok-blok
data (berorientasi blok).
>> Atribut file.
Informasi tambahan mengenai file untuk memperjelas dan membatasi
operasi-operasi yang dapat diterapkan dan dipergunakan untuk
pengelolaan file.
Tabel berikut menunjukkan atribut-atribut di file.
>> Perintah-perintah untuk manipulasi file.
Merupakan perintah yang dapat diberikan pemakai dibaris perintah ke
shell (command interpreter).Perintah-perintah tersebut dapat
dikategorikan menjadi :
o Perintah penciptaan file.
o Perintah penghapusan file.
o Perintah pengkopian file.
o Perintah penggantian nama.
o Perintah manipulasi yang lain.
> Pandangan pemogram.
Selain perlu memahami sebagai pemakai, pemrogram perlu memahami :
>> Operasi-operasi terhadap file.
Beragam operasi dapat diterapkan pada file, seperti operasi-operasi
berikut :
> Pandangan perancang sistem.
Implementasi pengelolaan file.
b. Direktori.
Berisi informasi mengenai file. Kebanyakan informasi berkaitan dengan
penyimpan. Direktori adalah file, dimiliki sistem operasi dan dapat
diakses dengan rutin-rutin di sistem operasi. Meski beberapa informasi
direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya
disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori
secara langsung meski dalam mode read-only.
Pandangan pemakai.
Direktori menyediakan pemetaan nama file ke file. Informasi terpenting
pada direktori adalah berkaitan dengan penyimpanan, termasuk lokasi dan
ukuran penyimpanan file. Pada sistem bersama (shared system), informasi
yang penting adalah informasi pengendalian akses file. Satu pemakai
adalah pemilik file yang dapat memberi wewenang pengaksesan ke pemakai-
pemakai lain.
Aturan penamaan direktori mengikuti aturan penamaan file karena direktori
merupakan file yang khusus.
Beberapa konsep penting :
> Hirarki direktori.
Kebanyakan sistem menggunakan hirarki direktori atau berstruktur pohon.
Terdapat satu direktori master (root) yang didalamnya dapat terdapat
subdirektori-subdirektori. Subdirektori dapat membuat subdirektori-
subdirektori berikutnya, demikian seterusnya. Penamaan direktori sama
aturannya dengan penamaan file karena direktori adalah file yang
mempunyai arti khusus. Direktori diimplentasi dengan file.
> Jalur pengaksesan (path name).
Bila sistem file diorganisasikan dengan pohon direktori,maka diperlukan
cara menspesifikasikan nama file. Masalah penamaan file diselesaikan
dengan penamaan absolut dan penamaan file relatif.
Terdapat dua jalur, yaitu :
a. Nama jalur absolut (absolute pathname).
Nama jalur dari direktori root ke file, selalu dimulai dari
direktori root da nakan bernilai unik.
b. Nama jalur relatif (relative pathname).
Jalur relatif terhadap direktori kerja/saat itu (working atau
current director). Pemakai dapat menyatakan satu direktori sebagai
current directory. Nama jalur yang tidak dimulai direktori root
berarti relatif terhadap current directory.
> Perintah-perintah memanipulasi direktori.
Meliputi perintah :
ž Pindah direktori.
ž Penciptaan direktori.
ž Penghapusan direktori, yang mensyaratkan :.
* Direktori tidak sedang digunakan.
* Direktori telah kosong.
Operasi pada direktori.
Beragam operasi dapat diterapkan pada direktori seperti pada file.
Tabel berikut menunjukkan operasi-operasi yang khusus beroperasi pada
direktori, sebagai berikut :
c. Memanipulasi seluruh sistem file.
Terdapat perintah-perintah memanipulasi sistem file, antara lain :
o Pembentukan sistem file.
o Pemeriksaan sistem file.
o Pengkopian seluruh sistem file.
o Manipulasi lain.
Konsep terpenting dari pengelolaan file disistem operasi adalah :
a. File.
Abstraksi penyimpanan dan pengambilan informasi di disk. Abstraksi ini
membuat pemakai tidak dibebani rincian cara dan letak penyimpanan
informasi, serta mekanisme kerja perangkat penyimpan data.
Terdapat beragam pandangan mengenai file, yaitu :
> Pandangan pemakai.
Terhadap file pemakai berkepentingan memahami berikut :
>> Penamaan untuk file.
Pemakai mengacu file dengan nama simbolik. Tiap file di sistem harus
mempunyai nama unik agar tidak ambigu. Penamaan file dengan nama
direktori tempat file memberi nama unik. Tidak diperbolehkan nama
file yang sama di satu direktori.
Penamaan file berbeda sesuai sistem. Terdapat dua pendekatan, yaitu :
>>> Sistem yang case sensitive.
Sistem membedakan antara huruf kecil dan huruf kapital.
>>> Sistem yang case insensitive.
Sistem tidak membedakan antara huruf kecil dan huruf kapital.
Saat ini, penamaan cenderung dapat menggunakan nama file panjang
karena deskriptif.
>> Tipe file.
Terdapat tiga tipe file di sistem operasi, yaitu :
>>> Reguler.
File berisi informasi, terdiri dari file ASCII dan biner.
File ASCII berisi baris teks. File biner adalah file yang bukan
file ASCII. Untuk file biner eksekusi (exe) mempunyai struktur
internal yang hanya diketahui sistem operasi. Untuk file biner
hasil program aplikasi, struktur internalnya hanya diketahui
program aplikasi yang menggunakan file tersebut.
>>> Direktori.
File direktori merupakan file yang dimiliki sistem untuk
mengelola struktur sistem file. File direktori merupakan file
berisi informasi-informasi mengenai file-file yang termasuk
dalam direktori itu.
>>> Spesial.
File spesial merupakan nama logik perangkat I/O. Perangkat I/O
dapat dipandang sebagai file. Pemakai dihindarkan dari kerumitan
operasi perangkat I/O.
File in terbagi dua, yaitu :
ž File spesial karakter.
Berhubungan dengan perangkat I/O aliran karakter. File ini
memodelkan perangkat I/O seperti :
Ø Terminal.
Ø Printer.
Ø Port jaringan.
Ø Modem.
Ø Dan alat-alat yang bukan penyimpan sekunder.
ž File spesial blok.
Berhubungan dengan perangkat I/O sebagai kumpulan blok-blok
data (berorientasi blok).
>> Atribut file.
Informasi tambahan mengenai file untuk memperjelas dan membatasi
operasi-operasi yang dapat diterapkan dan dipergunakan untuk
pengelolaan file.
Tabel berikut menunjukkan atribut-atribut di file.
>> Perintah-perintah untuk manipulasi file.
Merupakan perintah yang dapat diberikan pemakai dibaris perintah ke
shell (command interpreter).Perintah-perintah tersebut dapat
dikategorikan menjadi :
o Perintah penciptaan file.
o Perintah penghapusan file.
o Perintah pengkopian file.
o Perintah penggantian nama.
o Perintah manipulasi yang lain.
> Pandangan pemogram.
Selain perlu memahami sebagai pemakai, pemrogram perlu memahami :
>> Operasi-operasi terhadap file.
Beragam operasi dapat diterapkan pada file, seperti operasi-operasi
berikut :
> Pandangan perancang sistem.
Implementasi pengelolaan file.
b. Direktori.
Berisi informasi mengenai file. Kebanyakan informasi berkaitan dengan
penyimpan. Direktori adalah file, dimiliki sistem operasi dan dapat
diakses dengan rutin-rutin di sistem operasi. Meski beberapa informasi
direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya
disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori
secara langsung meski dalam mode read-only.
Pandangan pemakai.
Direktori menyediakan pemetaan nama file ke file. Informasi terpenting
pada direktori adalah berkaitan dengan penyimpanan, termasuk lokasi dan
ukuran penyimpanan file. Pada sistem bersama (shared system), informasi
yang penting adalah informasi pengendalian akses file. Satu pemakai
adalah pemilik file yang dapat memberi wewenang pengaksesan ke pemakai-
pemakai lain.
Aturan penamaan direktori mengikuti aturan penamaan file karena direktori
merupakan file yang khusus.
Beberapa konsep penting :
> Hirarki direktori.
Kebanyakan sistem menggunakan hirarki direktori atau berstruktur pohon.
Terdapat satu direktori master (root) yang didalamnya dapat terdapat
subdirektori-subdirektori. Subdirektori dapat membuat subdirektori-
subdirektori berikutnya, demikian seterusnya. Penamaan direktori sama
aturannya dengan penamaan file karena direktori adalah file yang
mempunyai arti khusus. Direktori diimplentasi dengan file.
> Jalur pengaksesan (path name).
Bila sistem file diorganisasikan dengan pohon direktori,maka diperlukan
cara menspesifikasikan nama file. Masalah penamaan file diselesaikan
dengan penamaan absolut dan penamaan file relatif.
Terdapat dua jalur, yaitu :
a. Nama jalur absolut (absolute pathname).
Nama jalur dari direktori root ke file, selalu dimulai dari
direktori root da nakan bernilai unik.
b. Nama jalur relatif (relative pathname).
Jalur relatif terhadap direktori kerja/saat itu (working atau
current director). Pemakai dapat menyatakan satu direktori sebagai
current directory. Nama jalur yang tidak dimulai direktori root
berarti relatif terhadap current directory.
> Perintah-perintah memanipulasi direktori.
Meliputi perintah :
ž Pindah direktori.
ž Penciptaan direktori.
ž Penghapusan direktori, yang mensyaratkan :.
* Direktori tidak sedang digunakan.
* Direktori telah kosong.
Operasi pada direktori.
Beragam operasi dapat diterapkan pada direktori seperti pada file.
Tabel berikut menunjukkan operasi-operasi yang khusus beroperasi pada
direktori, sebagai berikut :
c. Memanipulasi seluruh sistem file.
Terdapat perintah-perintah memanipulasi sistem file, antara lain :
o Pembentukan sistem file.
o Pemeriksaan sistem file.
o Pengkopian seluruh sistem file.
o Manipulasi lain.
Konsep terpenting dari pengelolaan file disistem operasi adalah :
a. File.
Abstraksi penyimpanan dan pengambilan informasi di disk. Abstraksi ini
membuat pemakai tidak dibebani rincian cara dan letak penyimpanan
informasi, serta mekanisme kerja perangkat penyimpan data.
Terdapat beragam pandangan mengenai file, yaitu :
> Pandangan pemakai.
Terhadap file pemakai berkepentingan memahami berikut :
>> Penamaan untuk file.
Pemakai mengacu file dengan nama simbolik. Tiap file di sistem harus
mempunyai nama unik agar tidak ambigu. Penamaan file dengan nama
direktori tempat file memberi nama unik. Tidak diperbolehkan nama
file yang sama di satu direktori.
Penamaan file berbeda sesuai sistem. Terdapat dua pendekatan, yaitu :
>>> Sistem yang case sensitive.
Sistem membedakan antara huruf kecil dan huruf kapital.
>>> Sistem yang case insensitive.
Sistem tidak membedakan antara huruf kecil dan huruf kapital.
Saat ini, penamaan cenderung dapat menggunakan nama file panjang
karena deskriptif.
>> Tipe file.
Terdapat tiga tipe file di sistem operasi, yaitu :
>>> Reguler.
File berisi informasi, terdiri dari file ASCII dan biner.
File ASCII berisi baris teks. File biner adalah file yang bukan
file ASCII. Untuk file biner eksekusi (exe) mempunyai struktur
internal yang hanya diketahui sistem operasi. Untuk file biner
hasil program aplikasi, struktur internalnya hanya diketahui
program aplikasi yang menggunakan file tersebut.
>>> Direktori.
File direktori merupakan file yang dimiliki sistem untuk
mengelola struktur sistem file. File direktori merupakan file
berisi informasi-informasi mengenai file-file yang termasuk
dalam direktori itu.
>>> Spesial.
File spesial merupakan nama logik perangkat I/O. Perangkat I/O
dapat dipandang sebagai file. Pemakai dihindarkan dari kerumitan
operasi perangkat I/O.
File in terbagi dua, yaitu :
ž File spesial karakter.
Berhubungan dengan perangkat I/O aliran karakter. File ini
memodelkan perangkat I/O seperti :
Ø Terminal.
Ø Printer.
Ø Port jaringan.
Ø Modem.
Ø Dan alat-alat yang bukan penyimpan sekunder.
ž File spesial blok.
Berhubungan dengan perangkat I/O sebagai kumpulan blok-blok
data (berorientasi blok).
>> Atribut file.
Informasi tambahan mengenai file untuk memperjelas dan membatasi
operasi-operasi yang dapat diterapkan dan dipergunakan untuk
pengelolaan file.
Tabel berikut menunjukkan atribut-atribut di file.
>> Perintah-perintah untuk manipulasi file.
Merupakan perintah yang dapat diberikan pemakai dibaris perintah ke
shell (command interpreter).Perintah-perintah tersebut dapat
dikategorikan menjadi :
o Perintah penciptaan file.
o Perintah penghapusan file.
o Perintah pengkopian file.
o Perintah penggantian nama.
o Perintah manipulasi yang lain.
> Pandangan pemogram.
Selain perlu memahami sebagai pemakai, pemrogram perlu memahami :
>> Operasi-operasi terhadap file.
Beragam operasi dapat diterapkan pada file, seperti operasi-operasi
berikut :
> Pandangan perancang sistem.
Implementasi pengelolaan file.
b. Direktori.
Berisi informasi mengenai file. Kebanyakan informasi berkaitan dengan
penyimpan. Direktori adalah file, dimiliki sistem operasi dan dapat
diakses dengan rutin-rutin di sistem operasi. Meski beberapa informasi
direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya
disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori
secara langsung meski dalam mode read-only.
Pandangan pemakai.
Direktori menyediakan pemetaan nama file ke file. Informasi terpenting
pada direktori adalah berkaitan dengan penyimpanan, termasuk lokasi dan
ukuran penyimpanan file. Pada sistem bersama (shared system), informasi
yang penting adalah informasi pengendalian akses file. Satu pemakai
adalah pemilik file yang dapat memberi wewenang pengaksesan ke pemakai-
pemakai lain.
Aturan penamaan direktori mengikuti aturan penamaan file karena direktori
merupakan file yang khusus.
Beberapa konsep penting :
> Hirarki direktori.
Kebanyakan sistem menggunakan hirarki direktori atau berstruktur pohon.
Terdapat satu direktori master (root) yang didalamnya dapat terdapat
subdirektori-subdirektori. Subdirektori dapat membuat subdirektori-
subdirektori berikutnya, demikian seterusnya. Penamaan direktori sama
aturannya dengan penamaan file karena direktori adalah file yang
mempunyai arti khusus. Direktori diimplentasi dengan file.
> Jalur pengaksesan (path name).
Bila sistem file diorganisasikan dengan pohon direktori,maka diperlukan
cara menspesifikasikan nama file. Masalah penamaan file diselesaikan
dengan penamaan absolut dan penamaan file relatif.
Terdapat dua jalur, yaitu :
a. Nama jalur absolut (absolute pathname).
Nama jalur dari direktori root ke file, selalu dimulai dari
direktori root da nakan bernilai unik.
b. Nama jalur relatif (relative pathname).
Jalur relatif terhadap direktori kerja/saat itu (working atau
current director). Pemakai dapat menyatakan satu direktori sebagai
current directory. Nama jalur yang tidak dimulai direktori root
berarti relatif terhadap current directory.
> Perintah-perintah memanipulasi direktori.
Meliputi perintah :
ž Pindah direktori.
ž Penciptaan direktori.
ž Penghapusan direktori, yang mensyaratkan :.
* Direktori tidak sedang digunakan.
* Direktori telah kosong.
Operasi pada direktori.
Beragam operasi dapat diterapkan pada direktori seperti pada file.
Tabel berikut menunjukkan operasi-operasi yang khusus beroperasi pada
direktori, sebagai berikut :
c. Memanipulasi seluruh sistem file.
Terdapat perintah-perintah memanipulasi sistem file, antara lain :
o Pembentukan sistem file.
o Pemeriksaan sistem file.
o Pengkopian seluruh sistem file.
o Manipulasi lain.
Memory Management
Memori adalah tempat penyimpanan sumber daya yang dibutuhkan oleh semua bagian yang ada didalam CPU, agar semua bagian komponen CPU memperoleh sumber daya dari memori dengan tepat, diperlukan peran manajemen memori dalam mengatur arus aliran sumber daya dari memori ke komponen yang lain.
Manajemen memori
Sistem manajemen memori dapat dibagi kedalam dua kelas, yaitu :
• pemindahan proses (back and forth) diantara memori utama dengan disk selama eksekusi (swapping and paging) dan
• tidak ada pemindahan proses.
Mempunyai beberapa fungsi, antara lain :
a. Mengelola informasi memori yang dipakai dan tidak dipakai.
b. Mengalokasikan memori ke proses yang memerlukan.
c. menempatkan memori dari proses yang telah selesai.
d. Mengelola swapping antara memori utama dan disk.
Manajenen memori pada sistem multiprogramming
Dalam sistem multiprogramming memori menjadi kebutuhan yang terus menerus digunakan oleh semua komponen, dan mengakibatkan terjadi banyak proses yang saling berkaitan dengan proses yang lain dan apabila sebuah memori tidak diatur dengan tepat maka akan terjadi masalah dalam pendistribusi sumber daya. sedangkan di lingkungan multiprogramming sendiri melakukan 2 hal dalam pengaturan memori, yaitu :
a. Melakukan proteksi memori dengan isolasi ruang-ruang alamat secara putus -putus.
b. Pemakaian bersama memori.
Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama.
Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.
Sebuah model untuk mengamati pemakaian CPU secara probabilistic :
CPU utilization = 1 - p n
Dengan :
* N menunjukkan banyaknya proses pada suatu saat, sehingga kemungkinan
bahwa semua n proses akan menunggu menggunakan I/O (masalah CPU menganggur)
adalah sebesar p n. Fungsi dari n disebut sebagai degree of
multiprogramming.
* P menunjukkan besarnya waktu yang digunakan sebuah proses
Klasifikasi manajemen memori.
Klasifikasi manajemen memori diberikan Deitel (DEI-90). Gambar 6.1 menunjukkan skema klasifikasi manajamen memori.
Nyata Nyata Nyata
+-------+-----------------------------------------------------------+
| (1) | Sistem multiprogramming | Sistem multiprogramming |
|Sistem | dengan memori nyata | dengan memori nyata |
|khusus | | |
|untuk | | |
|pemakai| | |
|tunggal| | |
+-------+------------------+----------+--------+--------+-----------+
| | (4) | (5) | (6) | (7) |
| Multiprogramming |Multipro- | Sistem | Sistem | Kombinasi |
|dengan pemartisian|gramming | paging |segmenta| paging dan|
| tetap |dg pemarti| murni |si murni| segmentasi|
| |sian dina-| | | |
| |mis | | | |
+----------+-------+----------+--------+--------+-----------+
| (2) | (3) |
| Ditempat-| Dapat |
| kan abso-|direlo-|
| lut |kasi |
+------------------+
Gambar 6.1 : Klasfikasi manajemen memori
Teknik-teknik manajemen memori (1), (2), (3), (4) merupakan pengelolaan
untuk dengan kapasitas memori sebatas memori fisik yang tersedia.
Teknik-teknik ini tidak dapat digunakan untuk memuat program-program lebih
besar dibanding kapasitas fisik memori yang tersedia.
Teknik-teknik manajemen memori (5), (6), (7) dapat digunakan untuk
mengakali kapasitas memori yang terbatas sehingga dapat dijalankan program
yang lebih besar dibanding kapasitas memori fisik yang tersedia.
Manajemen memori berdasarkan keberadaan swapping
Manajemen memori berdasarkan keberadaan swapping terbagi menjadi dua, yaitu :
1. Manajemen tanpa swapping : Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi.
2. Manajemen dengan swapping : Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.
Manajemen memori berdasar alokasi memori
Manajemen memori berdasar alokasi memori terbagi dua, yaitu :
1. Alokasi memori berurutan adalah tiap-tiap proses menempati satu blok tunggal lokasi memori yang berurutan.
Keunggulan :
a. Sederhana.
b. Tidak akan terbentuk lubang-lubang memori bersebaran.
c. Karena berurutan, proses dapat dieksekusi dengan cepat.
Kelemahan :
a. Dapat memboroskan memori.
b. Tidak dapat memuatkan proses bila tidak ada satu blok memori yang
mencukupi.
2. Alokasi memori tak berurutan program dibagi menjadi beberapa blok atau segmen. Blok-blok program ditempatkan di memori dalam potongan-potongan tanpa perlu saling berdekatan. Teknik biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global.
Keuntungan :
a. Sistem dapat memanfaatkan memori utama secara lebih efisien.
b. Sistem operasi masih mampu memuatkan proses bila jumlah total lubang-
lubang memori cukup untuk memuat proses yang akan dieksekusi.
Kelemahan :
a. Memerlukan pengendalian yang lebih rumit dan sulit.
b. Memori dapat menjadi banyak lubang tersebar (memori tak terpakai
bersebaran).
Hirarki memori
Pemakaian memori dua tingkat, menggunakan cache memory yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik. Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding memori utama. Chace memory lebih mahal dibanding memori utama, sehingga kapasitas cache relatif kecil.
+------------------+
: Chace memory :
+------------------+
|| /\
|| ||
\/ ||
+------------------+
: Main memory :
+------------------+
|| /\
|| ||
\/ ||
+------------------+
: Secondary memory :
+------------------+
Gambar 1 : Hubungan chace memori, memori utama dan memori sekunder.
Gambar 1 memperlihatkan hubungan antara chace memory, memori utama dan penyimpan sekunder. Dengan cache memory, bagian program yang akan digunakan (dieksekusi atau diacu) dikopi dulu ke chace sebelum dieksekusi. Di chace
memory, instruksi dapat dieksekusi dengan lebih cepat dibanding di memori
utama. Penggunaan chace atau memori antara yang lebih cepat mempunyai
alasan yang dikemukakan oleh Denning, yaitu ekseksui program biasanya
pada suatu interval waktu mengumpul di satu lokasi kecil. Prinsip ini
disebut lokalitas. Lokalitas dapat berupa lokalitas waktu dan ruang.
Prinsip lokalitas berkembang menjadi konsep working set model.
MANAJEMEN MEMORI PEMARTISIAN STATIS
6.7 Manajemen memori tanpa swapping
Manajemen memori tanpa swapping terdiri dari :
a. Monoprogramming.
Monoprogramming sederhana tanpa swapping merupakan manajemen memori
paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai
berjalan pada satu waktu. Semua sumber daya sepenuhnya dkuasi proses yang
sedang berjalan.
Manajemen memori monoprogramming sederhana mempunyai ciri-ciri berikut :
a. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan
menimpa proses lama yang sudah selesai eksekusi.
b. Hanya satu proses mengunakan semua memori.
c. Pemakai memusatkan program keseluruh memori dari disk atau tape.
d. Program mengambil kendali seluruh mesin.
Karena hanya terdapat satu proses dan menguasai seluruh sistem, maka
eksekusi memori dilakukan secara berurutan.
Teknik ini digunakan sampai sekitar 1960, ditinggalkan bahkan untuk
komputer pribadi karena tiap proses harus berisi device driver perangkat
I/O yang digunakan.
+----------------------+ +----------------------+ +----------------------+
:Sistem operasi di RAM : :Sistem operasi di ROM : :Sistem operasi di RAM :
+----------------------+ +----------------------+ +----------------------+
:Program pemakai di RAM: :Program pemakai di RAM: :Program pemakai di RAM:
+----------------------+ +----------------------+ +----------------------+
: Memori tak dipakai : : Memori tak dipakai : : Device driver di ROM :
+----------------------+ +----------------------+ +----------------------+
(a) (b) (c)
Gambar 6.3 : Tiga cara organisasi memori untuk satu proses tunggal
Gambar 6.3 menunjukkan tiga organisasi memori menjalankan satu proses
tunggal :
1. Gambar 6.3(a) menunjukkan seluruh kebutuhan (sistem operasi, device
driver dan proses driver dapat ditempatkan di sistem operasi atau di
setiap proses pemakai, bergantung perancang sistem operasi.
2. Gambar 6.3(b) menunjukkan sistem operasi ditempatkan di ROM, sedang
program pemakai di RAM.
3. Gambar 6.3(c) menunjukkan device driver di ROM. Device driver di ROM
biasa disebut ROM-BIOS (Read Only Memory - Basic Input Output Systems).
Embedded system
Teknik monoprogamming masih dipakai untuk sistem kecil yaitu sistem
tempelan (embedded system) yang menempel atau terdapat disistem lain.
Sistem-sistem tempelan menggunakan mikroprosesor kecil, seperti Intel
8051, dan sebagainya.
Sistem ini biasanya untuk mengendalikan satu alat sehingga menjadi
bersifat intelejen (intelegent devices) dalam menyediakan satu fungsi
spesifik. Karena hanya satu fungsi spesifik, dapat diprogram di
mikroprosesor dengan memori kecil (1-64 Kb).
Sistem tempelan telah banyak digunakan, misalnya sistem tempelan di mobil
antar lain untuk :
a. Pengendalian pengapian.
b. Pengendalian pengeluaran bahan bakar.
c. Pengendalian pengereman.
d. Pengendalian suspensi.
e. Pengendalian kemudi.
f. Dan sebagainya.
Pada mobil mewah terdapat lebih dari 50 mikroprosesor, masing-masing
mengendalikan satu fungsi spesifik.
Proteksi pada monoprogramming sederhana.
Pada monoprogramming, pemakai mempunyai kendali penuh terhadap seluruh
memori utama. Memori terbagi menjadi tiga bagian, yaitu :
a. Bagian yang berisi rutin-rutin sistem operasi.
b. Bagian yang berisi program pemakai.
c. Bagian yang tidak digunakan.
Masalah proteksi di monoprogramming adalah cara memproteksi rutin sistem
operasi dari penghancuran program pemakai. Program pemakai dapat tersesat
sehingga memanipulasi atau menempati ruang memori rutin sistem operasi.
Aktivitas program pemakai ini dapat merusak sistem operasi.
Sistem operasi harus diproteksi dari modifikasi program pemakai. Proteksi
ini diimplementasikan menggunakan satu registe batas (boundary register)
dipemroses.Setiap kali program pemakai mengacu alamat memori dibandingkan
register batas untuk memastikan proses pemakai tidak merusak sistem
operasi, yaitu tidak melewati nilai register batas.
Register batas berisi alamat memori tertinggi yang dipakai sistem operasi.
Jika program pemakai mencoba memasuki sistem operasi, instruksi
diintersepsi dan job diakhiri dan diberi pesan kesalahan.
Untuk memperoleh layanan sistem operasi, program pemakai harus menggunakan
instruksi spesifik meminta layanan sistem operasi. Integritas sistem
operasi terjaga dan program pemakai tidak merusak bagian sistem operasi.
Pemroses
+-----------------------+ +--------------------+
: Sistem operasi di RAM : | +----------------+ |
+-----------------------+<=========| : Register batas : | :Program pemakai di RAM : | +----------------+ | +-----------------------+ +--------------------+ : Memori tak dipakai : +-----------------------+ Gambar 6.4 : Proteksi pada monoprogramming Gambar 6.4 menunjukkan skema proteksi menggunakan register batas. Register batas menunjuk alamat terakhir sistem operasi. Bila program pemakai mengacu ke alamat daerah sistem operasi, pemroses menjadi fault menyatakan terjadinya pelanggaran pengaksesan oleh proses pemakai. b. Multiprogramming dengan pemartisian statis. Terdapat beberapa alasan kenapa multiprogramming digunakan, yaitu : a. Mempermudah pemogram. Pemogram dapat memecah program menjadi dua proses atau lebih. b. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan. Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik. c. Efisiensi penggunaan sumber daya. Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem. d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil. e. Dapat mengerjakan sejumlah job secara simultan. Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan. Pemartisian statis berdasarkan ukuran partisi-partisinya terbagi dua, yaitu : 1. Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama. Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia. Kelemahan : * Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan, tidak dapat dijalankan. Pemogram harus mempersiapkan overlay sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping. * Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan, maka banyak ruang yang tak dipakai yang diboroskan, disebut fragmentasi internal. Kelemahan ini dapat dikurangi dengan partisi-partisi tetap berukuran berbeda. 2. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda. Gambar 6.5 menunjukkan skema multiprogramming pemartisian tetap berukuran berbeda. +----------------+ : Partisi 5 : 50 Kbytes +----------------+ : Partisi 4 : 75 Kbytes +----------------+ : Partisi 3 : 100 Kbytes +----------------+ : Partisi 2 : 200 Kbytes +----------------+ : Partisi 1 : 150 Kbytes +----------------+ : Sistem operasi : 100 Kbytes +----------------+ Gambar 6.5 : Multiprogramming dengan pemartisian tetap berukuran sama 6.8 Strategi penempatan program ke paritisi a. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong. b. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran berbeda. Terdapat dua strategi penempatan program ke partisi, yaitu : a. Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi). Proses ditempatkan ke partisi paling kecil yang dapat memuatnya. Keuntungan : teknik ini adalah meminimalkan pemborosan memori. Kelemahan : dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong. Teknik ini diperlihatkan pada gambar 6.6. +---+ +---+ +---+ +----------------+ : :-->: :-->: :------>: Partisi 5 : 50 Kbyte
+---+ +---+ +---+ +----------------+
+---+ +---+ : Partisi 4 : 75 Kbyte
: :-->: :------>+----------------+
+---+ +---+ : Partisi 3 : 100 Kbyte
+----------------+
: Partisi 2 : 200 Kbyte
+---+ +----------------+
: :------>: Partisi 1 : 150 Kbyte
+---+ +----------------+
: Sistem operasi : 100 Kbyte
+----------------+
Gambar 6.6 : Multiprogramming dengan pengisian
pemartisian tetap dengan banyak antrian.
b. Satu antrian untuk seluruh partisi.
Proses-proses diantrikan di satu antrian tunggal untuk semua partisi.
Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat.
Keunggulan : lebih fleksibel serta implementasi dan operasi lebih
minimal karena hanya mengelola satu antrian.
Kelemahan : proses dapat ditempatkan di partisi yang banyak
diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.
Teknik ini diperlihatkan pada gambar 6.7.
+----------------+
: Partisi 5 : 50 Kbyte
+----------------+
+---->: Partisi 4 : 75 Kbyte
: +----------------+
+---+ +---+ +---+ +---+=+ :-->: Partisi 3 : 100 Kbyte
: :==>: :==>: :==>: :===+ +----------------+
+---+ +---+ +---+ +---+==+ : Partisi 2 : 200 Kbyte
: +----------------+
+---->: Partisi 1 : 150 Kbyte
+----------------+
: Sistem operasi : 100 Kbyte
+----------------+
Gambar 6.7 : Multiprogramming dengan pengisian
pemartisian tetap dengan satu antrian.
Kelemahan ini dapat diatasi dengan prosedur pemindahan. Pemindahan dilakukan
bila proses besar akan masuk memori tetapi hanya tersedia partisi kecil
sementara proses kecil menempati partisi besar. Proses kecil di swap ke
partisi kecil yang sedang bebas kemudian proses besar di antrian menempati
partisi besar yang ditinggal proses kecil.
Pemartisian memori menjadi partisi-partisi secara statis mempunyai dua
masalah, yaitu :
a. Relokasi.
Adalah masalah penempatan proses sesuai alamat fisik sehubungan alamat
partisi memori dimana proses ditempatkan. Proses dapat ditempatkan pada
partisi-partisi berbeda menurut keadaan sistem saat itu. Pengalamatan
fisik secara absolut untuk proses tidak dapat dilakukan.
Solusi pertama :
Sistem operasi menambahkan alamat awal partisi dimana proses ditempatkan
ke setiap alamat yang diacu proses. Pada saat proses kompilasi, linker
harus memasukkan satu daftar atau bit map biner pada program memberitahu
word program yang alamat-alamatnya direlokasi. Linker harus mencatat
opcode, konstanta, dan item-item yang tak perlu direlokasi.
Masalah yang ditimbulkan :
Solusi ini menimbulkan masalah proteksi terhadap memori. Program tak
terkendali selalu mampu membangun instruksi baru dan meloncati.
Tak ada cara untuk menghentikan jika program membaca atau menulis word di
memori partisi lain (yang bukan hak-nya). Masalah relokasi dan proteksi
tidak dapat dipisahkan, diperlukan satu solusi tunggal mengatas kedua
masalah tersebut.
b. Proteksi.
Masalah proteksi pada banyak partisi dengan banyak proses di satu sistem
secara bersamaan dikhawatirkan proses menggunakan atau memodifikasi daerah
yang dikuasai proses lain (yang bukan haknya). Bila kejadian ini terjadi,
maka proses lain dapat terganggu dan hasil yang diperolehnya dapat menjadi
kacau.
Solusi IBM 360 :
Pada komputer IBM 360 membagi memori menjadi blok-blok, tiap blok
ditambahi 4 bit kode proteksi. Blok berukuran 2 Kb. Proses jua mempunyai
PSW (Program Status Word) yang antara lain berisi status proteksi.
Status proteksi ini terdiri dari 4 bit (sama dengan bit kode proteksi
untuk blok memori), merupakan kunci dalam pengaksesan memori.
Proses hanya diijinkan mengakses blok-blok memori yang berkode proteksi
sama dengan kode proteksi yang dimiliki PSW proses. Jika proses mengakses
blok memori berkode proteksi berbeda dengan kunci PSW-nya, terjadi trap.
Trap ini memberitahu sistem operasi bahwa telah terjadi pelanggaran memori,
yaitu terdapat pengaksesan ke blok memori yang bukan wewenang proses yang
menyebabkan trap.
Solusi menggunakan base register dan limit register :
Solusi lain adalah menggunakan dua register yaitu base register dan limit
register. Base register diisi alamat awal partisi dan limit register diisi
panjang partisi. Setiap alamat yang dihasilkan secara otomatis ditambah
dengan nilai base register. Instruksi yang mengacu pada alamat yang
melebihi limit register akan menimbulkan trap yang memberitahu sistem
operasi bahwa telah terjadi pelanggaran pengaksesan memori.
Teknik ini lebih unggul dibanding teknik pada IBM 360 karena sangat lebih
efisien. Teknik ini tidak perlu menempatkan 4 bit proteksi di tiap blok
memori. Teknik inipun lebih fleksibel.
Keuntungan :
a. Alamat tidak perlu dimodifikasi.
b. Setiap instruksi dapat diperiksa agar tidak meloncati batas limit
register.
c. Program dapat dipindah walau sedang dieksekusi.
Pemindahan dilakukan hanya dengan mengganti nilai base register.
Gambar 6.8 menunjukkan skema proteksi dan relokasi menggunakan register
basis dan register batas. Register basis menunjuk alamat awal proses
sedang register batas menunjuk alamat akhir proses. Bila proses mengacu
alamat lebih dari alamat yang ditunjuk register batas maka pemroses
mengirim sinyal fault yang memberitahu terjadinya pelanggaran pengaksesan
memori.
Pemroses
+-----------------------+ +--------------------+
: Sistem operasi di RAM : | +----------------+ |
+-----------------------+<============| : Register basis : | : Partisi 1 : | +----------------+ | : : | +----------------+ | +-----------------------+<============| : Register batas : | : Partisi 2 : | +----------------+ | +-----------------------+ +--------------------+ : Partisi 3 : +-----------------------+ Gambar 6.8 : Skema relokasi dan proteksi menggunakan register basis dan register batas. 6.9 Fragmentasi pada pemartisian statis. Fragmentasi yaitu penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan. Fragmentasi pada pemartisian tetap terjadi adalah : a. Fragmentasi internal. Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses. b. Fragmentasi ekstenal. Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian, sehingga tidak digunakan. Untuk sistem-sistem tanpa swapping (pemindahan lokasi proses), maka fragmentasi-fragmentasi tidak dapat dikurangi. Pada sistem-sistem dengan swapping, sistem lebih intelijen karena dapat melakukan beberapa altenatif mengatasi fragmentasi eksternal. MANAJEMEN MEMORI PEMARTISIAN DINAMIS 6.10 Multiprogramming dengan swapping. Pada sistem batch, organisasi memori dengan pemartisian tetap telah efektif. Selama jumlah proses yang terseduan dapat membuat pemroses sibuk, tak ada alasaan menggunakanan teknik lebih rumit. Pada sistem timesharing, situasinya berbeda, umumnya terdapat lebih banyak proses dibanding memori yang tersedia untuk memuat seluruh proses. Dengan demikian perlu menyimpan proses-proses yang tidak termuat ke disk. Untuk menjalankan proses-proses yang akan dieksekusi, proses-proses itu harus telah masuk memori utama. Pemindahan proses dari memori utama ke disk dan sebaliknya di sebut swapping. Dengan swapping, multiprogramming pada sistem time sharing dapt ditingkatkan kinerjanya yaitu dengan memindah proses-proses blocked ke disk dan hanya memasukkkan proses-proses ready ke memori utama. Beragam masalah harus diatasi multiprogramming dengan swapping, antara lain : a. Pemartisian secara dinamis. b. Strategi pencatatan pemakaian memori. c. Algoritma penempatan proses ke memori. d. Strategi penempatan ruang swap pada disk. 6.11 Multiprogramming dengan pemartisian dinamis Pemartisian statis tidak menarik karena terlalu banyak diboroskan proses- proses yang lebih kecil dibanding partisi yang ditempatinya. Dengan pemartisian dinamis maka jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan paritisi untuknya sesuai kebutuhannya. Teknik ini meningkatkan utilitasi memori. Kelemahan pemartisian dinamis adalah : a. Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai. b. Merumitkan alokasi dan dealokasi memori. 6.12 Terjadi lubang-lubang kecil memori +---------------------------+ +---------------------------+ :Memori untuk sistem operasi: :Memori untuk sistem operasi: +---------------------------+ +---------------------------+ : Proses 0 : Proses 1 : Proses 0 : +---------------------------+ berakhir +---------------------------+ : Proses 1 : dan mem- : Bebas : +---------------------------+ bebaskan +---------------------------+ : Proses 2 : memorinya : Proses 2 : +---------------------------+ +---------------------------+ : Proses 3 : : Proses 3 : +---------------------------+ +---------------------------+ : Proses 4 : : Proses 4 : +---------------------------+ +---------------------------+ : Proses 5 : : Proses 5 : +---------------------------+ +---------------------------+ : Proses 6 : : Proses 6 : +---------------------------+ +---------------------------+ (a) (b) +---------------------------+ +---------------------------+ :Memori untuk sistem operasi: :Memori untuk sistem operasi: +---------------------------+ +---------------------------+ : Proses 0 : Proses 3 : Proses 0 : +---------------------------+ berakhir +---------------------------+ : Bebas : dan mem- : Bebas : +---------------------------+ bebaskan +---------------------------+ : Proses 2 : memorinya : Proses 2 : +---------------------------+ +---------------------------+ : Bebas : : Bebas : +---------------------------+ Proses 5 +---------------------------+ : Proses 4 : berakhir : Proses 4 : +---------------------------+ dan mem- +---------------------------+ : Proses 5 : bebaskan : Bebas : +---------------------------+ memorinya +---------------------------+ : Proses 6 : : Proses 6 : +---------------------------+ +---------------------------+ (c) (d) Gambar 6.9 : Alokasi memori secara dinamis. Contoh terjadinya lubang-lubang di antara partisi-partisi adalah gambar 6.9 : * Gambar 6-9(a) adalah konfigurasi awal, terdapat 7 proses di ruang memori. Setelah proses 1 berakhir, konfigurasi memori menjadi gambar 6-9(b). * Begitu proses 3 berakhir, konfigurasi memori menjadi gambar 6-9(c). * Proses 5 berakhir, menghasilkan konfigurasi gambar 6-9(d). Memori dipenuhi lubang-lubang memori yang tak terpakai. Lubang-lubang (yaitu kelompok blok-blok memori yang tidak digunakan) kecil di antara blok-blok memori yang digunakan dapat diatasi dengan pemadatan memori (memory compaction). Pemadatan memori adalah operasi menggabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan. +---------------------------+ +---------------------------+ :Memori untuk sistem operasi: :Memori untuk sistem operasi: +---------------------------+ +---------------------------+ : Proses 0 : : Proses 0 : +---------------------------+ +---------------------------+ : Bebas : +------->: Proses 2 :
+---------------------------+ | +---------------------------+
: Proses 2 :==+ +----->: Proses 4 :
+---------------------------+ | +---------------------------+
: Bebas : | +--->: Proses 6 :
+---------------------------+ | | +---------------------------+
: Proses 4 :====+ | : :
+---------------------------+ | : :
: Bebas : | : BEBAS :
+---------------------------+ | : :
: Proses 6 :======+ : :
+---------------------------+ +---------------------------+
(a) (b)
Gambar 6.10 : Lubang-lubang memori dan pemadatan memori.
Gambar 6-10 menunjukkan skema pemadatan memori. Proses 2, 4, dan 6
dipindahkan agar menampati ruang-ruang berturutan dengan proses 0 sehingga
diperoleh lubang memori besar. Lubang memori besar ini dapat ditempati
proses yang akan masuk.
Kelemahan utama teknik pemadatan memori :
* Memerlukan waktu yang sangat banyak.
* Sistem harus menghentikan sementara semua proses selagi melakukan
pemadatan. Hal in meningkatkan waktu tanggapan di sistem interaktif dan
tak mungkin digunakan di sistem waktu nyata real.
6.13 Proses tumbuh berkembang
Masalah lain pada pemartisian dinamis adalah proses dapat tumbuh berkembang.
Segmen data proses dapat tumbuh, misalnya karena :
* Heap untuk data dinamis berkembang.
* Stack untuk pemanggilan prosedur dan variabel lokal.
Solusi masalah ini adalah bila proses bersebelahan dengan lubang memori tak
dipakai, proses tumbuh memakai lubang itu. Masalah menjadi parah bila proses
bersebelahan dengan proses-proses lain.
Peringkat alternatif penyelesaian adalah :
* Bila masih terdapat lubang besar yang dapat memuat proses, maka proses
dipindah ke lubang memori yang cukup dapat memuat.
* Satu proses atau lebih di swap ke disk agar memberi lubang cukup besar
untuk proses yang berkembang.
* Jika proses tidak dapat tumbuh di memori dan daerah swap di disk telah
penuh, proses harus menunggu atau disingkirkan.
6.14 Pencatatan pemakain memori
Memori yang tersedia harus dikelola, dilakukan dengan pencatatan pemakaian
memori. Terdapat dua cara utama pencatatan pemakaian memori, yaitu :
1. Pencatatan memakai peta bit.
Memori dibagi menjadi unit-unit alokasi,berkorespondensi dengan tiap unit
alokasi adalah satu bit pada bit map.
* Nilai 0 pada peta bit berarti unit itu masih bebas.
* Nilai 1 berarti unit digunakan.
+--------------------------------------------------------------------+
| A B C |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | - | - | | | |
+--------------------------------------------------------------------+
/\ /\ /\
:: :: ::
--+ :: ::
:: :: ::
:: 0 1 2 3 4 ::5 ::6 7
+-------------------------------+
0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 0 | - | - |
2 | 1 | 1 | 1 | 1 | 1 | 0 | - | - |
3 | - | - | - | - | - | - | - | - |
4 | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - | - |
n | - | - | - | - | - | - | - | - |
+-------------------------------+
Gambar 6-11 : Peta bit untuk pengelolaan pemakaian memori.
Gambar 6-11 menunjukkan skema peta bit untuk pencatatan pemakaian memori.
Elemen peta bit bernilai 1 menunjukkan blok tersebut telah digunakan oleh
proses dan bernilai 0 yang berarti belum digunakan oleh proses.
Masalah
Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi
memori, yaitu :
* Unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
* Unit alokasi memori n berukuran besar berarti peta bit kecil tapi
memori banyak disiakan pada unit terakhir jika ukuran proses bukan
kelipatan unit alokasi.
Keunggulan :
* Dealokasi dapat dilakukan secara mudah, hanya tinggal menset bit yang
berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
Kelemahan :
* Harus dilakukan penghitungan blok lubang memori saat unit memori bebas.
* Memerlukan ukutan bit map besar untuk memori yang besar.
2. Pencatatan memakai senarai berkait.
Sistem operasi mengelola senarai berkait (linked list) untuk segmen-
segmen memori yang telah dialokasikan dan bebas. Segmen memori menyatakan
memori untuk proses atau memori yang bebas (lubang). Senarai segmen
diurutkan sesuai alamat blok.
+--------------------------------------------------------------------+
| A B C |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | - | - | | | |
+--------------------------------------------------------------------+
Process Starts-at 0 Length Hole
: : : :
: +------+ : :
: : +------------------+ :
v v v v
------- ------- ------- ------- ------- -------
|P|0|5|--->|H|5|2|--->|P|7|5|--->|H|9|2|--->|P|7|2|--->|-|-|-|--->
------- ------- ------- ------- ------- -------
Gambar 6-12 : Pengelolaan pemakaian memori dengan senarai berkait.
Keunggulan :
* Tidak harus dilakukan perhitungan blok lubang memori karena sudah
tercatat di node.
* Memori yang diperlukan relatif lebih kecil.
Kelemahan :
* Dealokasi sulit dilakukan karena terjadi berbagai operasi penggabungan
node-nude di senarai.
6.15 Strategi alokasi memori
Terdapat berbagai strategi alokasi proses ke memori. Alokasi harus mencari
sekumpulan blok memori yang ukurannya mencukupi memuat proses yaitu lubang
kosong yang sama atau lebih besar dibanding ukuran memori yang diperlukan
proses.
Beragam algoritma itu antara lain :
* First-fit algorithm.
Strategi in dapat dilakukan pada pencatatan memori dengan bit map maupun
senarai berkait. Manajer memori menscan sampai menemukan lubang besar yang
mencukupi penempatan proses. Lubang dibagi dua, untuk proses dan lubang
tak digunakan, kecuali ketika lubang tersebut tepat sama dengan ukuran
yang diperlukan proses.
Keunggulan :
• Algoritma ini akan menemukan lubang memori paling cepat dibanding
algoritma-algoritma lain.
* Next-fit algorithm.
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-map maupun
senarai berkait. Mekanisme algoritma ini sama dengan algoritma first fit
algorithm, hanya tidak dimulai di awal tapi dari posisi terakhir kali
menemukan segmen paling cocok.
Simulasi oleh Bays (1977) menunjukkan next-fit algorithm berkinerja lebih
buruk dibanding first-fit algorithm.
* Best-fit algorithm.
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-map maupun
senarai berkait. Algoritma mencari sampai akhir dan mengambil lubang
terkecil yang dapat memuat proses. Algoritma ini mencoba menemukan lubang
yang mendekati ukuran yang diperlukan.
* Worst-fit algorithm.
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-map maupun
senarai berkait. Selalu mencari lubang besar yang tersedia sehingga lubang
dapat dipecah menjadi cukup besar, agar berguna untuk proses-proses
berikutnya. Simulasi menunjukkan worst-fit algorithm bukan gagasan yang
bagus.
* Quick-fit algorithm.
Strategi ini hanya untuk pencatatan memori dengan senarai berkait.
Keempat algoritma dapat dipercepat dengan mengelola dua senarai, yaitu :
• Senarai untuk proses.
• Senarai untuk lubang memori.
Dengan cara ini, saat alokasi hanya perlu menginspeksi senarai lubang,
tidak perlu senarai proses.
Keunggulan :
• Teknik ini mempercepat pencarian lubang atau penempatan proses.
Kelemahan :
• Kompleksitas dealokasi memori bertambah dan melambatkan dealokasi memori
karena memori yang dibebaskan harus dipindahkan dari senarai proses ke
senarai lubang.
* Quick fit.
Cara diatas dapat diperluas, algoritma mengelola sejumlah senarai lubang
memori dengan beragam ukuran yang paling sering diminta.
Contoh :
Algoritma mengelola senarai lubang sebagai berikut :
• Senarai 8 Kb.
• Senarai 12 Kb.
• Senarai 20 Kb.
• Senarai 40 Kb.
• Senarai 60 Kb.
• Dan seterusnya.
Senarai mencatat lubang-lubang memori sesuai ukuran lubang. Lubang-lubang
memori dimuat di senarai sesuai ukuran terdekat, misalnya lubang memori
42 dimuat pada senarai 40 Kb. Dengan beragam senarai maka alokasi memori
dapat dilakukan dengan cepat yaitu tinggal mencarai senarai terkecil yang
dapat menampung proses tersebut.
Keunggulan :
• Algoritma ini sangat cepat dalam alokasi proses.
Kelemahan :
• Dealokasi sulit dilakukan.
Ketika proses berakhir atau dipindah keluar (swap-out) maka menemukan
tetangga-tetangga memori yang dipakai proses untuk penggabungan adalah
sangat mahal/lama. Jika penggabungan tidak dilakukan, memori akan segera
menjadi banyak lubang kecil yang tak berguna.
6.16 Sistem Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan
penggunaan bilangan biner dalam pegalamatan memori. Karakteristik bilangan
biner digunakan untuk mempercepat penggabungan lubang-lubang berdekatan
ketika proses terakhir atau dikeluarkan.
Manajer memori mengelola senarai blok-blok bebas berukuran 1, 2, 4, 8, 16
byte dan seterusnya sampai kapasita memori. Pada komputer dengan 1 Mbyte
memori maka dapat terdapat 21 senarai yaitu dari 1 byte sampai 1 Mbyte.
+---------------------------------------------------------------------+
| | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|lubang|
+---------------------------------------------------------------------+
|Semula | | | | | | | | | | | | | | | | | 1 |
|Minta 85 kb | A | | | | | | | | | | | | | | | - |
|Minta 45 kb | A | B| | | | | | | | | | | | | | - |
|Minta 75 kb | A | B| | C | | | | | | | | | | | - |
|A didealokasi | | | B| | C | | | | | | | | | | | - |
|Minta 55 kb | | | B| D| C | | | | | | | | | | | - |
|B didealokasi | | | | D| C | | | | | | | | | | | - |
|D didealokasi | | | | | C | | | | | | | | | | | - |
|C didealokasi | | | | | | | | | | | | | | | | | - |
+---------------------------------------------------------------------+
Gambar 6.13 : Pengelolaan memori dengan sistem Buddy.
Mekanisme pengelolaan :
• Awalnya semua memori adalah bebas dan hanya satu senarai 1 Mbyte yang
terisi berisi satu isian tunggal satu lubang 1 Mbyte. Senarai-senarai
lain adalah kosong.
Misalnya proses baru berukuran 85 Kbyte mekanisme yang dijalankan adalah sbb :
• Karena hanya terdapat senarai berisi 2k, maka permintaan 85 kb dialokasikan
ke yang terdekat yaitu berarti 128 kb, 2k terkecil yang mampu memuat.
• Karena tidak tersedia blok berukuran 128 kb, atau 256 kb atau 512 kb, maka
blok 1 Mb dipecah menjadi dua blok 512 kb. Blok-blok pecahan ini disebut
buddies. Satu beralamat mulai dari 0 dan lainnya mulai alamat 512 k.
• Salah satu blok 512 kb yang beralamat 0 dipecah lagi menjadi dua blok
buddies 256 kb. Satu beralamat mulai dari 0 dan lainnya mulai alamat 256 kb.
• Blok 256 pada alamat 0, kemudian dipecah menjadi 2 blok buddies 128 kb.
• Blok yang pertama dialokasikan ke proses yang baru.
Keunggulan :
• Sistem buddy mempunyai keunggulan dibanding algoritma-algoritma yang
mengurutkan blok-blok berdasarkan ukuran. Ketika blok berukuran 2k
dibebaskan, maka manajer memori hanya mencari pada senarai lubang 2k
untuk memeriksa apakah dapat dilakukan penggabungan. Pada algoritma-
algoritma lain yang memungkinkan blok-blok memori dipecah dalam sembarang
ukuran, seluruh senarai harus dicari.
• Dealokasi pada sistem buddy dapat dilakukan dengan cepat.
Kelemahan :
• Utilisasi memori pada sistem buddy sangat tidak efisien.
Masalah ini muncul dari dari kenyataan bahwa semua permintaan dibulatkan
ke 2k terdekat yang dapat memuat. Proses berukuran 35 kb harus dialokasikan
di 64 kb, terdapat 29 kb yang disiakan. Overhead ini disebut fragmentasi
internal karena memori yang disiakan adalah internal terhadap segmen-segmen
yang dialokasikan.
6.17 Alokasi ruang swap pada disk
Strategi dan algoritma yang dibahas adalah untuk mencatat memori utama.
Ketika proses akan dimasukkan ke memori utama (swap-in), sistem dapat
menemukan ruang untuk proses-proses itu.
Terdapat dua strategi utama penempatan proses yang dikeluarkan dari memori
utama (swap-out) ke disk, yaitu :
• Ruang disk tempat swap dialokasikan begitu diperlukan.
Ketika proses harus dikeluarkan dari memori utama, ruang disk segera
dialokasikan sesuai ukuran proses. Untuk itu diperlukan algoritma untuk
mengelola ruang disk seperti untuk mengelola memori utama. Ketika proses
dimasukkan kembali ke memori utama segera ruang disk untuk swap
didealokasikan.
• Ruang disk tempat swap dialokasikan lebih dulu.
Saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses
harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang
yang telah dialokasikan, bukan ke tempat-tempat berbeda setiap kali
terjadi swap-out. Ketika proses berakhir, ruang swap pada disk
didealokasikan.
DAFTAR PUSTAKA
1. Hariyanto, Bambang, Ir., Sistem Operasi, Penerbit Informatika, Bandung,
1999
2. Tanenbaum, Andrew S., Modern Operating Systems, Prentice Hall Inc., 1992
Manajemen memori
Sistem manajemen memori dapat dibagi kedalam dua kelas, yaitu :
• pemindahan proses (back and forth) diantara memori utama dengan disk selama eksekusi (swapping and paging) dan
• tidak ada pemindahan proses.
Mempunyai beberapa fungsi, antara lain :
a. Mengelola informasi memori yang dipakai dan tidak dipakai.
b. Mengalokasikan memori ke proses yang memerlukan.
c. menempatkan memori dari proses yang telah selesai.
d. Mengelola swapping antara memori utama dan disk.
Manajenen memori pada sistem multiprogramming
Dalam sistem multiprogramming memori menjadi kebutuhan yang terus menerus digunakan oleh semua komponen, dan mengakibatkan terjadi banyak proses yang saling berkaitan dengan proses yang lain dan apabila sebuah memori tidak diatur dengan tepat maka akan terjadi masalah dalam pendistribusi sumber daya. sedangkan di lingkungan multiprogramming sendiri melakukan 2 hal dalam pengaturan memori, yaitu :
a. Melakukan proteksi memori dengan isolasi ruang-ruang alamat secara putus -putus.
b. Pemakaian bersama memori.
Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama.
Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.
Sebuah model untuk mengamati pemakaian CPU secara probabilistic :
CPU utilization = 1 - p n
Dengan :
* N menunjukkan banyaknya proses pada suatu saat, sehingga kemungkinan
bahwa semua n proses akan menunggu menggunakan I/O (masalah CPU menganggur)
adalah sebesar p n. Fungsi dari n disebut sebagai degree of
multiprogramming.
* P menunjukkan besarnya waktu yang digunakan sebuah proses
Klasifikasi manajemen memori.
Klasifikasi manajemen memori diberikan Deitel (DEI-90). Gambar 6.1 menunjukkan skema klasifikasi manajamen memori.
Nyata Nyata Nyata
+-------+-----------------------------------------------------------+
| (1) | Sistem multiprogramming | Sistem multiprogramming |
|Sistem | dengan memori nyata | dengan memori nyata |
|khusus | | |
|untuk | | |
|pemakai| | |
|tunggal| | |
+-------+------------------+----------+--------+--------+-----------+
| | (4) | (5) | (6) | (7) |
| Multiprogramming |Multipro- | Sistem | Sistem | Kombinasi |
|dengan pemartisian|gramming | paging |segmenta| paging dan|
| tetap |dg pemarti| murni |si murni| segmentasi|
| |sian dina-| | | |
| |mis | | | |
+----------+-------+----------+--------+--------+-----------+
| (2) | (3) |
| Ditempat-| Dapat |
| kan abso-|direlo-|
| lut |kasi |
+------------------+
Gambar 6.1 : Klasfikasi manajemen memori
Teknik-teknik manajemen memori (1), (2), (3), (4) merupakan pengelolaan
untuk dengan kapasitas memori sebatas memori fisik yang tersedia.
Teknik-teknik ini tidak dapat digunakan untuk memuat program-program lebih
besar dibanding kapasitas fisik memori yang tersedia.
Teknik-teknik manajemen memori (5), (6), (7) dapat digunakan untuk
mengakali kapasitas memori yang terbatas sehingga dapat dijalankan program
yang lebih besar dibanding kapasitas memori fisik yang tersedia.
Manajemen memori berdasarkan keberadaan swapping
Manajemen memori berdasarkan keberadaan swapping terbagi menjadi dua, yaitu :
1. Manajemen tanpa swapping : Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi.
2. Manajemen dengan swapping : Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.
Manajemen memori berdasar alokasi memori
Manajemen memori berdasar alokasi memori terbagi dua, yaitu :
1. Alokasi memori berurutan adalah tiap-tiap proses menempati satu blok tunggal lokasi memori yang berurutan.
Keunggulan :
a. Sederhana.
b. Tidak akan terbentuk lubang-lubang memori bersebaran.
c. Karena berurutan, proses dapat dieksekusi dengan cepat.
Kelemahan :
a. Dapat memboroskan memori.
b. Tidak dapat memuatkan proses bila tidak ada satu blok memori yang
mencukupi.
2. Alokasi memori tak berurutan program dibagi menjadi beberapa blok atau segmen. Blok-blok program ditempatkan di memori dalam potongan-potongan tanpa perlu saling berdekatan. Teknik biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global.
Keuntungan :
a. Sistem dapat memanfaatkan memori utama secara lebih efisien.
b. Sistem operasi masih mampu memuatkan proses bila jumlah total lubang-
lubang memori cukup untuk memuat proses yang akan dieksekusi.
Kelemahan :
a. Memerlukan pengendalian yang lebih rumit dan sulit.
b. Memori dapat menjadi banyak lubang tersebar (memori tak terpakai
bersebaran).
Hirarki memori
Pemakaian memori dua tingkat, menggunakan cache memory yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik. Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding memori utama. Chace memory lebih mahal dibanding memori utama, sehingga kapasitas cache relatif kecil.
+------------------+
: Chace memory :
+------------------+
|| /\
|| ||
\/ ||
+------------------+
: Main memory :
+------------------+
|| /\
|| ||
\/ ||
+------------------+
: Secondary memory :
+------------------+
Gambar 1 : Hubungan chace memori, memori utama dan memori sekunder.
Gambar 1 memperlihatkan hubungan antara chace memory, memori utama dan penyimpan sekunder. Dengan cache memory, bagian program yang akan digunakan (dieksekusi atau diacu) dikopi dulu ke chace sebelum dieksekusi. Di chace
memory, instruksi dapat dieksekusi dengan lebih cepat dibanding di memori
utama. Penggunaan chace atau memori antara yang lebih cepat mempunyai
alasan yang dikemukakan oleh Denning, yaitu ekseksui program biasanya
pada suatu interval waktu mengumpul di satu lokasi kecil. Prinsip ini
disebut lokalitas. Lokalitas dapat berupa lokalitas waktu dan ruang.
Prinsip lokalitas berkembang menjadi konsep working set model.
MANAJEMEN MEMORI PEMARTISIAN STATIS
6.7 Manajemen memori tanpa swapping
Manajemen memori tanpa swapping terdiri dari :
a. Monoprogramming.
Monoprogramming sederhana tanpa swapping merupakan manajemen memori
paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai
berjalan pada satu waktu. Semua sumber daya sepenuhnya dkuasi proses yang
sedang berjalan.
Manajemen memori monoprogramming sederhana mempunyai ciri-ciri berikut :
a. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan
menimpa proses lama yang sudah selesai eksekusi.
b. Hanya satu proses mengunakan semua memori.
c. Pemakai memusatkan program keseluruh memori dari disk atau tape.
d. Program mengambil kendali seluruh mesin.
Karena hanya terdapat satu proses dan menguasai seluruh sistem, maka
eksekusi memori dilakukan secara berurutan.
Teknik ini digunakan sampai sekitar 1960, ditinggalkan bahkan untuk
komputer pribadi karena tiap proses harus berisi device driver perangkat
I/O yang digunakan.
+----------------------+ +----------------------+ +----------------------+
:Sistem operasi di RAM : :Sistem operasi di ROM : :Sistem operasi di RAM :
+----------------------+ +----------------------+ +----------------------+
:Program pemakai di RAM: :Program pemakai di RAM: :Program pemakai di RAM:
+----------------------+ +----------------------+ +----------------------+
: Memori tak dipakai : : Memori tak dipakai : : Device driver di ROM :
+----------------------+ +----------------------+ +----------------------+
(a) (b) (c)
Gambar 6.3 : Tiga cara organisasi memori untuk satu proses tunggal
Gambar 6.3 menunjukkan tiga organisasi memori menjalankan satu proses
tunggal :
1. Gambar 6.3(a) menunjukkan seluruh kebutuhan (sistem operasi, device
driver dan proses driver dapat ditempatkan di sistem operasi atau di
setiap proses pemakai, bergantung perancang sistem operasi.
2. Gambar 6.3(b) menunjukkan sistem operasi ditempatkan di ROM, sedang
program pemakai di RAM.
3. Gambar 6.3(c) menunjukkan device driver di ROM. Device driver di ROM
biasa disebut ROM-BIOS (Read Only Memory - Basic Input Output Systems).
Embedded system
Teknik monoprogamming masih dipakai untuk sistem kecil yaitu sistem
tempelan (embedded system) yang menempel atau terdapat disistem lain.
Sistem-sistem tempelan menggunakan mikroprosesor kecil, seperti Intel
8051, dan sebagainya.
Sistem ini biasanya untuk mengendalikan satu alat sehingga menjadi
bersifat intelejen (intelegent devices) dalam menyediakan satu fungsi
spesifik. Karena hanya satu fungsi spesifik, dapat diprogram di
mikroprosesor dengan memori kecil (1-64 Kb).
Sistem tempelan telah banyak digunakan, misalnya sistem tempelan di mobil
antar lain untuk :
a. Pengendalian pengapian.
b. Pengendalian pengeluaran bahan bakar.
c. Pengendalian pengereman.
d. Pengendalian suspensi.
e. Pengendalian kemudi.
f. Dan sebagainya.
Pada mobil mewah terdapat lebih dari 50 mikroprosesor, masing-masing
mengendalikan satu fungsi spesifik.
Proteksi pada monoprogramming sederhana.
Pada monoprogramming, pemakai mempunyai kendali penuh terhadap seluruh
memori utama. Memori terbagi menjadi tiga bagian, yaitu :
a. Bagian yang berisi rutin-rutin sistem operasi.
b. Bagian yang berisi program pemakai.
c. Bagian yang tidak digunakan.
Masalah proteksi di monoprogramming adalah cara memproteksi rutin sistem
operasi dari penghancuran program pemakai. Program pemakai dapat tersesat
sehingga memanipulasi atau menempati ruang memori rutin sistem operasi.
Aktivitas program pemakai ini dapat merusak sistem operasi.
Sistem operasi harus diproteksi dari modifikasi program pemakai. Proteksi
ini diimplementasikan menggunakan satu registe batas (boundary register)
dipemroses.Setiap kali program pemakai mengacu alamat memori dibandingkan
register batas untuk memastikan proses pemakai tidak merusak sistem
operasi, yaitu tidak melewati nilai register batas.
Register batas berisi alamat memori tertinggi yang dipakai sistem operasi.
Jika program pemakai mencoba memasuki sistem operasi, instruksi
diintersepsi dan job diakhiri dan diberi pesan kesalahan.
Untuk memperoleh layanan sistem operasi, program pemakai harus menggunakan
instruksi spesifik meminta layanan sistem operasi. Integritas sistem
operasi terjaga dan program pemakai tidak merusak bagian sistem operasi.
Pemroses
+-----------------------+ +--------------------+
: Sistem operasi di RAM : | +----------------+ |
+-----------------------+<=========| : Register batas : | :Program pemakai di RAM : | +----------------+ | +-----------------------+ +--------------------+ : Memori tak dipakai : +-----------------------+ Gambar 6.4 : Proteksi pada monoprogramming Gambar 6.4 menunjukkan skema proteksi menggunakan register batas. Register batas menunjuk alamat terakhir sistem operasi. Bila program pemakai mengacu ke alamat daerah sistem operasi, pemroses menjadi fault menyatakan terjadinya pelanggaran pengaksesan oleh proses pemakai. b. Multiprogramming dengan pemartisian statis. Terdapat beberapa alasan kenapa multiprogramming digunakan, yaitu : a. Mempermudah pemogram. Pemogram dapat memecah program menjadi dua proses atau lebih. b. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan. Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik. c. Efisiensi penggunaan sumber daya. Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem. d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil. e. Dapat mengerjakan sejumlah job secara simultan. Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan. Pemartisian statis berdasarkan ukuran partisi-partisinya terbagi dua, yaitu : 1. Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama. Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia. Kelemahan : * Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan, tidak dapat dijalankan. Pemogram harus mempersiapkan overlay sehingga hanya bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping. * Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan, maka banyak ruang yang tak dipakai yang diboroskan, disebut fragmentasi internal. Kelemahan ini dapat dikurangi dengan partisi-partisi tetap berukuran berbeda. 2. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda. Gambar 6.5 menunjukkan skema multiprogramming pemartisian tetap berukuran berbeda. +----------------+ : Partisi 5 : 50 Kbytes +----------------+ : Partisi 4 : 75 Kbytes +----------------+ : Partisi 3 : 100 Kbytes +----------------+ : Partisi 2 : 200 Kbytes +----------------+ : Partisi 1 : 150 Kbytes +----------------+ : Sistem operasi : 100 Kbytes +----------------+ Gambar 6.5 : Multiprogramming dengan pemartisian tetap berukuran sama 6.8 Strategi penempatan program ke paritisi a. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong. b. Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran berbeda. Terdapat dua strategi penempatan program ke partisi, yaitu : a. Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi). Proses ditempatkan ke partisi paling kecil yang dapat memuatnya. Keuntungan : teknik ini adalah meminimalkan pemborosan memori. Kelemahan : dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong. Teknik ini diperlihatkan pada gambar 6.6. +---+ +---+ +---+ +----------------+ : :-->: :-->: :------>: Partisi 5 : 50 Kbyte
+---+ +---+ +---+ +----------------+
+---+ +---+ : Partisi 4 : 75 Kbyte
: :-->: :------>+----------------+
+---+ +---+ : Partisi 3 : 100 Kbyte
+----------------+
: Partisi 2 : 200 Kbyte
+---+ +----------------+
: :------>: Partisi 1 : 150 Kbyte
+---+ +----------------+
: Sistem operasi : 100 Kbyte
+----------------+
Gambar 6.6 : Multiprogramming dengan pengisian
pemartisian tetap dengan banyak antrian.
b. Satu antrian untuk seluruh partisi.
Proses-proses diantrikan di satu antrian tunggal untuk semua partisi.
Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat.
Keunggulan : lebih fleksibel serta implementasi dan operasi lebih
minimal karena hanya mengelola satu antrian.
Kelemahan : proses dapat ditempatkan di partisi yang banyak
diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.
Teknik ini diperlihatkan pada gambar 6.7.
+----------------+
: Partisi 5 : 50 Kbyte
+----------------+
+---->: Partisi 4 : 75 Kbyte
: +----------------+
+---+ +---+ +---+ +---+=+ :-->: Partisi 3 : 100 Kbyte
: :==>: :==>: :==>: :===+ +----------------+
+---+ +---+ +---+ +---+==+ : Partisi 2 : 200 Kbyte
: +----------------+
+---->: Partisi 1 : 150 Kbyte
+----------------+
: Sistem operasi : 100 Kbyte
+----------------+
Gambar 6.7 : Multiprogramming dengan pengisian
pemartisian tetap dengan satu antrian.
Kelemahan ini dapat diatasi dengan prosedur pemindahan. Pemindahan dilakukan
bila proses besar akan masuk memori tetapi hanya tersedia partisi kecil
sementara proses kecil menempati partisi besar. Proses kecil di swap ke
partisi kecil yang sedang bebas kemudian proses besar di antrian menempati
partisi besar yang ditinggal proses kecil.
Pemartisian memori menjadi partisi-partisi secara statis mempunyai dua
masalah, yaitu :
a. Relokasi.
Adalah masalah penempatan proses sesuai alamat fisik sehubungan alamat
partisi memori dimana proses ditempatkan. Proses dapat ditempatkan pada
partisi-partisi berbeda menurut keadaan sistem saat itu. Pengalamatan
fisik secara absolut untuk proses tidak dapat dilakukan.
Solusi pertama :
Sistem operasi menambahkan alamat awal partisi dimana proses ditempatkan
ke setiap alamat yang diacu proses. Pada saat proses kompilasi, linker
harus memasukkan satu daftar atau bit map biner pada program memberitahu
word program yang alamat-alamatnya direlokasi. Linker harus mencatat
opcode, konstanta, dan item-item yang tak perlu direlokasi.
Masalah yang ditimbulkan :
Solusi ini menimbulkan masalah proteksi terhadap memori. Program tak
terkendali selalu mampu membangun instruksi baru dan meloncati.
Tak ada cara untuk menghentikan jika program membaca atau menulis word di
memori partisi lain (yang bukan hak-nya). Masalah relokasi dan proteksi
tidak dapat dipisahkan, diperlukan satu solusi tunggal mengatas kedua
masalah tersebut.
b. Proteksi.
Masalah proteksi pada banyak partisi dengan banyak proses di satu sistem
secara bersamaan dikhawatirkan proses menggunakan atau memodifikasi daerah
yang dikuasai proses lain (yang bukan haknya). Bila kejadian ini terjadi,
maka proses lain dapat terganggu dan hasil yang diperolehnya dapat menjadi
kacau.
Solusi IBM 360 :
Pada komputer IBM 360 membagi memori menjadi blok-blok, tiap blok
ditambahi 4 bit kode proteksi. Blok berukuran 2 Kb. Proses jua mempunyai
PSW (Program Status Word) yang antara lain berisi status proteksi.
Status proteksi ini terdiri dari 4 bit (sama dengan bit kode proteksi
untuk blok memori), merupakan kunci dalam pengaksesan memori.
Proses hanya diijinkan mengakses blok-blok memori yang berkode proteksi
sama dengan kode proteksi yang dimiliki PSW proses. Jika proses mengakses
blok memori berkode proteksi berbeda dengan kunci PSW-nya, terjadi trap.
Trap ini memberitahu sistem operasi bahwa telah terjadi pelanggaran memori,
yaitu terdapat pengaksesan ke blok memori yang bukan wewenang proses yang
menyebabkan trap.
Solusi menggunakan base register dan limit register :
Solusi lain adalah menggunakan dua register yaitu base register dan limit
register. Base register diisi alamat awal partisi dan limit register diisi
panjang partisi. Setiap alamat yang dihasilkan secara otomatis ditambah
dengan nilai base register. Instruksi yang mengacu pada alamat yang
melebihi limit register akan menimbulkan trap yang memberitahu sistem
operasi bahwa telah terjadi pelanggaran pengaksesan memori.
Teknik ini lebih unggul dibanding teknik pada IBM 360 karena sangat lebih
efisien. Teknik ini tidak perlu menempatkan 4 bit proteksi di tiap blok
memori. Teknik inipun lebih fleksibel.
Keuntungan :
a. Alamat tidak perlu dimodifikasi.
b. Setiap instruksi dapat diperiksa agar tidak meloncati batas limit
register.
c. Program dapat dipindah walau sedang dieksekusi.
Pemindahan dilakukan hanya dengan mengganti nilai base register.
Gambar 6.8 menunjukkan skema proteksi dan relokasi menggunakan register
basis dan register batas. Register basis menunjuk alamat awal proses
sedang register batas menunjuk alamat akhir proses. Bila proses mengacu
alamat lebih dari alamat yang ditunjuk register batas maka pemroses
mengirim sinyal fault yang memberitahu terjadinya pelanggaran pengaksesan
memori.
Pemroses
+-----------------------+ +--------------------+
: Sistem operasi di RAM : | +----------------+ |
+-----------------------+<============| : Register basis : | : Partisi 1 : | +----------------+ | : : | +----------------+ | +-----------------------+<============| : Register batas : | : Partisi 2 : | +----------------+ | +-----------------------+ +--------------------+ : Partisi 3 : +-----------------------+ Gambar 6.8 : Skema relokasi dan proteksi menggunakan register basis dan register batas. 6.9 Fragmentasi pada pemartisian statis. Fragmentasi yaitu penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan. Fragmentasi pada pemartisian tetap terjadi adalah : a. Fragmentasi internal. Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses. b. Fragmentasi ekstenal. Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian, sehingga tidak digunakan. Untuk sistem-sistem tanpa swapping (pemindahan lokasi proses), maka fragmentasi-fragmentasi tidak dapat dikurangi. Pada sistem-sistem dengan swapping, sistem lebih intelijen karena dapat melakukan beberapa altenatif mengatasi fragmentasi eksternal. MANAJEMEN MEMORI PEMARTISIAN DINAMIS 6.10 Multiprogramming dengan swapping. Pada sistem batch, organisasi memori dengan pemartisian tetap telah efektif. Selama jumlah proses yang terseduan dapat membuat pemroses sibuk, tak ada alasaan menggunakanan teknik lebih rumit. Pada sistem timesharing, situasinya berbeda, umumnya terdapat lebih banyak proses dibanding memori yang tersedia untuk memuat seluruh proses. Dengan demikian perlu menyimpan proses-proses yang tidak termuat ke disk. Untuk menjalankan proses-proses yang akan dieksekusi, proses-proses itu harus telah masuk memori utama. Pemindahan proses dari memori utama ke disk dan sebaliknya di sebut swapping. Dengan swapping, multiprogramming pada sistem time sharing dapt ditingkatkan kinerjanya yaitu dengan memindah proses-proses blocked ke disk dan hanya memasukkkan proses-proses ready ke memori utama. Beragam masalah harus diatasi multiprogramming dengan swapping, antara lain : a. Pemartisian secara dinamis. b. Strategi pencatatan pemakaian memori. c. Algoritma penempatan proses ke memori. d. Strategi penempatan ruang swap pada disk. 6.11 Multiprogramming dengan pemartisian dinamis Pemartisian statis tidak menarik karena terlalu banyak diboroskan proses- proses yang lebih kecil dibanding partisi yang ditempatinya. Dengan pemartisian dinamis maka jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan paritisi untuknya sesuai kebutuhannya. Teknik ini meningkatkan utilitasi memori. Kelemahan pemartisian dinamis adalah : a. Dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai. b. Merumitkan alokasi dan dealokasi memori. 6.12 Terjadi lubang-lubang kecil memori +---------------------------+ +---------------------------+ :Memori untuk sistem operasi: :Memori untuk sistem operasi: +---------------------------+ +---------------------------+ : Proses 0 : Proses 1 : Proses 0 : +---------------------------+ berakhir +---------------------------+ : Proses 1 : dan mem- : Bebas : +---------------------------+ bebaskan +---------------------------+ : Proses 2 : memorinya : Proses 2 : +---------------------------+ +---------------------------+ : Proses 3 : : Proses 3 : +---------------------------+ +---------------------------+ : Proses 4 : : Proses 4 : +---------------------------+ +---------------------------+ : Proses 5 : : Proses 5 : +---------------------------+ +---------------------------+ : Proses 6 : : Proses 6 : +---------------------------+ +---------------------------+ (a) (b) +---------------------------+ +---------------------------+ :Memori untuk sistem operasi: :Memori untuk sistem operasi: +---------------------------+ +---------------------------+ : Proses 0 : Proses 3 : Proses 0 : +---------------------------+ berakhir +---------------------------+ : Bebas : dan mem- : Bebas : +---------------------------+ bebaskan +---------------------------+ : Proses 2 : memorinya : Proses 2 : +---------------------------+ +---------------------------+ : Bebas : : Bebas : +---------------------------+ Proses 5 +---------------------------+ : Proses 4 : berakhir : Proses 4 : +---------------------------+ dan mem- +---------------------------+ : Proses 5 : bebaskan : Bebas : +---------------------------+ memorinya +---------------------------+ : Proses 6 : : Proses 6 : +---------------------------+ +---------------------------+ (c) (d) Gambar 6.9 : Alokasi memori secara dinamis. Contoh terjadinya lubang-lubang di antara partisi-partisi adalah gambar 6.9 : * Gambar 6-9(a) adalah konfigurasi awal, terdapat 7 proses di ruang memori. Setelah proses 1 berakhir, konfigurasi memori menjadi gambar 6-9(b). * Begitu proses 3 berakhir, konfigurasi memori menjadi gambar 6-9(c). * Proses 5 berakhir, menghasilkan konfigurasi gambar 6-9(d). Memori dipenuhi lubang-lubang memori yang tak terpakai. Lubang-lubang (yaitu kelompok blok-blok memori yang tidak digunakan) kecil di antara blok-blok memori yang digunakan dapat diatasi dengan pemadatan memori (memory compaction). Pemadatan memori adalah operasi menggabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan. +---------------------------+ +---------------------------+ :Memori untuk sistem operasi: :Memori untuk sistem operasi: +---------------------------+ +---------------------------+ : Proses 0 : : Proses 0 : +---------------------------+ +---------------------------+ : Bebas : +------->: Proses 2 :
+---------------------------+ | +---------------------------+
: Proses 2 :==+ +----->: Proses 4 :
+---------------------------+ | +---------------------------+
: Bebas : | +--->: Proses 6 :
+---------------------------+ | | +---------------------------+
: Proses 4 :====+ | : :
+---------------------------+ | : :
: Bebas : | : BEBAS :
+---------------------------+ | : :
: Proses 6 :======+ : :
+---------------------------+ +---------------------------+
(a) (b)
Gambar 6.10 : Lubang-lubang memori dan pemadatan memori.
Gambar 6-10 menunjukkan skema pemadatan memori. Proses 2, 4, dan 6
dipindahkan agar menampati ruang-ruang berturutan dengan proses 0 sehingga
diperoleh lubang memori besar. Lubang memori besar ini dapat ditempati
proses yang akan masuk.
Kelemahan utama teknik pemadatan memori :
* Memerlukan waktu yang sangat banyak.
* Sistem harus menghentikan sementara semua proses selagi melakukan
pemadatan. Hal in meningkatkan waktu tanggapan di sistem interaktif dan
tak mungkin digunakan di sistem waktu nyata real.
6.13 Proses tumbuh berkembang
Masalah lain pada pemartisian dinamis adalah proses dapat tumbuh berkembang.
Segmen data proses dapat tumbuh, misalnya karena :
* Heap untuk data dinamis berkembang.
* Stack untuk pemanggilan prosedur dan variabel lokal.
Solusi masalah ini adalah bila proses bersebelahan dengan lubang memori tak
dipakai, proses tumbuh memakai lubang itu. Masalah menjadi parah bila proses
bersebelahan dengan proses-proses lain.
Peringkat alternatif penyelesaian adalah :
* Bila masih terdapat lubang besar yang dapat memuat proses, maka proses
dipindah ke lubang memori yang cukup dapat memuat.
* Satu proses atau lebih di swap ke disk agar memberi lubang cukup besar
untuk proses yang berkembang.
* Jika proses tidak dapat tumbuh di memori dan daerah swap di disk telah
penuh, proses harus menunggu atau disingkirkan.
6.14 Pencatatan pemakain memori
Memori yang tersedia harus dikelola, dilakukan dengan pencatatan pemakaian
memori. Terdapat dua cara utama pencatatan pemakaian memori, yaitu :
1. Pencatatan memakai peta bit.
Memori dibagi menjadi unit-unit alokasi,berkorespondensi dengan tiap unit
alokasi adalah satu bit pada bit map.
* Nilai 0 pada peta bit berarti unit itu masih bebas.
* Nilai 1 berarti unit digunakan.
+--------------------------------------------------------------------+
| A B C |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | - | - | | | |
+--------------------------------------------------------------------+
/\ /\ /\
:: :: ::
--+ :: ::
:: :: ::
:: 0 1 2 3 4 ::5 ::6 7
+-------------------------------+
0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 | 0 | 0 | - | - |
2 | 1 | 1 | 1 | 1 | 1 | 0 | - | - |
3 | - | - | - | - | - | - | - | - |
4 | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - | - |
n | - | - | - | - | - | - | - | - |
+-------------------------------+
Gambar 6-11 : Peta bit untuk pengelolaan pemakaian memori.
Gambar 6-11 menunjukkan skema peta bit untuk pencatatan pemakaian memori.
Elemen peta bit bernilai 1 menunjukkan blok tersebut telah digunakan oleh
proses dan bernilai 0 yang berarti belum digunakan oleh proses.
Masalah
Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi
memori, yaitu :
* Unit lokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
* Unit alokasi memori n berukuran besar berarti peta bit kecil tapi
memori banyak disiakan pada unit terakhir jika ukuran proses bukan
kelipatan unit alokasi.
Keunggulan :
* Dealokasi dapat dilakukan secara mudah, hanya tinggal menset bit yang
berkorespondensi dengan unit yang telah tidak digunakan dengan 0.
Kelemahan :
* Harus dilakukan penghitungan blok lubang memori saat unit memori bebas.
* Memerlukan ukutan bit map besar untuk memori yang besar.
2. Pencatatan memakai senarai berkait.
Sistem operasi mengelola senarai berkait (linked list) untuk segmen-
segmen memori yang telah dialokasikan dan bebas. Segmen memori menyatakan
memori untuk proses atau memori yang bebas (lubang). Senarai segmen
diurutkan sesuai alamat blok.
+--------------------------------------------------------------------+
| A B C |
| 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | - | - | | | |
+--------------------------------------------------------------------+
Process Starts-at 0 Length Hole
: : : :
: +------+ : :
: : +------------------+ :
v v v v
------- ------- ------- ------- ------- -------
|P|0|5|--->|H|5|2|--->|P|7|5|--->|H|9|2|--->|P|7|2|--->|-|-|-|--->
------- ------- ------- ------- ------- -------
Gambar 6-12 : Pengelolaan pemakaian memori dengan senarai berkait.
Keunggulan :
* Tidak harus dilakukan perhitungan blok lubang memori karena sudah
tercatat di node.
* Memori yang diperlukan relatif lebih kecil.
Kelemahan :
* Dealokasi sulit dilakukan karena terjadi berbagai operasi penggabungan
node-nude di senarai.
6.15 Strategi alokasi memori
Terdapat berbagai strategi alokasi proses ke memori. Alokasi harus mencari
sekumpulan blok memori yang ukurannya mencukupi memuat proses yaitu lubang
kosong yang sama atau lebih besar dibanding ukuran memori yang diperlukan
proses.
Beragam algoritma itu antara lain :
* First-fit algorithm.
Strategi in dapat dilakukan pada pencatatan memori dengan bit map maupun
senarai berkait. Manajer memori menscan sampai menemukan lubang besar yang
mencukupi penempatan proses. Lubang dibagi dua, untuk proses dan lubang
tak digunakan, kecuali ketika lubang tersebut tepat sama dengan ukuran
yang diperlukan proses.
Keunggulan :
• Algoritma ini akan menemukan lubang memori paling cepat dibanding
algoritma-algoritma lain.
* Next-fit algorithm.
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-map maupun
senarai berkait. Mekanisme algoritma ini sama dengan algoritma first fit
algorithm, hanya tidak dimulai di awal tapi dari posisi terakhir kali
menemukan segmen paling cocok.
Simulasi oleh Bays (1977) menunjukkan next-fit algorithm berkinerja lebih
buruk dibanding first-fit algorithm.
* Best-fit algorithm.
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-map maupun
senarai berkait. Algoritma mencari sampai akhir dan mengambil lubang
terkecil yang dapat memuat proses. Algoritma ini mencoba menemukan lubang
yang mendekati ukuran yang diperlukan.
* Worst-fit algorithm.
Strategi ini dapat dilakukan pada pencatatan memori dengan bit-map maupun
senarai berkait. Selalu mencari lubang besar yang tersedia sehingga lubang
dapat dipecah menjadi cukup besar, agar berguna untuk proses-proses
berikutnya. Simulasi menunjukkan worst-fit algorithm bukan gagasan yang
bagus.
* Quick-fit algorithm.
Strategi ini hanya untuk pencatatan memori dengan senarai berkait.
Keempat algoritma dapat dipercepat dengan mengelola dua senarai, yaitu :
• Senarai untuk proses.
• Senarai untuk lubang memori.
Dengan cara ini, saat alokasi hanya perlu menginspeksi senarai lubang,
tidak perlu senarai proses.
Keunggulan :
• Teknik ini mempercepat pencarian lubang atau penempatan proses.
Kelemahan :
• Kompleksitas dealokasi memori bertambah dan melambatkan dealokasi memori
karena memori yang dibebaskan harus dipindahkan dari senarai proses ke
senarai lubang.
* Quick fit.
Cara diatas dapat diperluas, algoritma mengelola sejumlah senarai lubang
memori dengan beragam ukuran yang paling sering diminta.
Contoh :
Algoritma mengelola senarai lubang sebagai berikut :
• Senarai 8 Kb.
• Senarai 12 Kb.
• Senarai 20 Kb.
• Senarai 40 Kb.
• Senarai 60 Kb.
• Dan seterusnya.
Senarai mencatat lubang-lubang memori sesuai ukuran lubang. Lubang-lubang
memori dimuat di senarai sesuai ukuran terdekat, misalnya lubang memori
42 dimuat pada senarai 40 Kb. Dengan beragam senarai maka alokasi memori
dapat dilakukan dengan cepat yaitu tinggal mencarai senarai terkecil yang
dapat menampung proses tersebut.
Keunggulan :
• Algoritma ini sangat cepat dalam alokasi proses.
Kelemahan :
• Dealokasi sulit dilakukan.
Ketika proses berakhir atau dipindah keluar (swap-out) maka menemukan
tetangga-tetangga memori yang dipakai proses untuk penggabungan adalah
sangat mahal/lama. Jika penggabungan tidak dilakukan, memori akan segera
menjadi banyak lubang kecil yang tak berguna.
6.16 Sistem Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan
penggunaan bilangan biner dalam pegalamatan memori. Karakteristik bilangan
biner digunakan untuk mempercepat penggabungan lubang-lubang berdekatan
ketika proses terakhir atau dikeluarkan.
Manajer memori mengelola senarai blok-blok bebas berukuran 1, 2, 4, 8, 16
byte dan seterusnya sampai kapasita memori. Pada komputer dengan 1 Mbyte
memori maka dapat terdapat 21 senarai yaitu dari 1 byte sampai 1 Mbyte.
+---------------------------------------------------------------------+
| | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|14|15|16|lubang|
+---------------------------------------------------------------------+
|Semula | | | | | | | | | | | | | | | | | 1 |
|Minta 85 kb | A | | | | | | | | | | | | | | | - |
|Minta 45 kb | A | B| | | | | | | | | | | | | | - |
|Minta 75 kb | A | B| | C | | | | | | | | | | | - |
|A didealokasi | | | B| | C | | | | | | | | | | | - |
|Minta 55 kb | | | B| D| C | | | | | | | | | | | - |
|B didealokasi | | | | D| C | | | | | | | | | | | - |
|D didealokasi | | | | | C | | | | | | | | | | | - |
|C didealokasi | | | | | | | | | | | | | | | | | - |
+---------------------------------------------------------------------+
Gambar 6.13 : Pengelolaan memori dengan sistem Buddy.
Mekanisme pengelolaan :
• Awalnya semua memori adalah bebas dan hanya satu senarai 1 Mbyte yang
terisi berisi satu isian tunggal satu lubang 1 Mbyte. Senarai-senarai
lain adalah kosong.
Misalnya proses baru berukuran 85 Kbyte mekanisme yang dijalankan adalah sbb :
• Karena hanya terdapat senarai berisi 2k, maka permintaan 85 kb dialokasikan
ke yang terdekat yaitu berarti 128 kb, 2k terkecil yang mampu memuat.
• Karena tidak tersedia blok berukuran 128 kb, atau 256 kb atau 512 kb, maka
blok 1 Mb dipecah menjadi dua blok 512 kb. Blok-blok pecahan ini disebut
buddies. Satu beralamat mulai dari 0 dan lainnya mulai alamat 512 k.
• Salah satu blok 512 kb yang beralamat 0 dipecah lagi menjadi dua blok
buddies 256 kb. Satu beralamat mulai dari 0 dan lainnya mulai alamat 256 kb.
• Blok 256 pada alamat 0, kemudian dipecah menjadi 2 blok buddies 128 kb.
• Blok yang pertama dialokasikan ke proses yang baru.
Keunggulan :
• Sistem buddy mempunyai keunggulan dibanding algoritma-algoritma yang
mengurutkan blok-blok berdasarkan ukuran. Ketika blok berukuran 2k
dibebaskan, maka manajer memori hanya mencari pada senarai lubang 2k
untuk memeriksa apakah dapat dilakukan penggabungan. Pada algoritma-
algoritma lain yang memungkinkan blok-blok memori dipecah dalam sembarang
ukuran, seluruh senarai harus dicari.
• Dealokasi pada sistem buddy dapat dilakukan dengan cepat.
Kelemahan :
• Utilisasi memori pada sistem buddy sangat tidak efisien.
Masalah ini muncul dari dari kenyataan bahwa semua permintaan dibulatkan
ke 2k terdekat yang dapat memuat. Proses berukuran 35 kb harus dialokasikan
di 64 kb, terdapat 29 kb yang disiakan. Overhead ini disebut fragmentasi
internal karena memori yang disiakan adalah internal terhadap segmen-segmen
yang dialokasikan.
6.17 Alokasi ruang swap pada disk
Strategi dan algoritma yang dibahas adalah untuk mencatat memori utama.
Ketika proses akan dimasukkan ke memori utama (swap-in), sistem dapat
menemukan ruang untuk proses-proses itu.
Terdapat dua strategi utama penempatan proses yang dikeluarkan dari memori
utama (swap-out) ke disk, yaitu :
• Ruang disk tempat swap dialokasikan begitu diperlukan.
Ketika proses harus dikeluarkan dari memori utama, ruang disk segera
dialokasikan sesuai ukuran proses. Untuk itu diperlukan algoritma untuk
mengelola ruang disk seperti untuk mengelola memori utama. Ketika proses
dimasukkan kembali ke memori utama segera ruang disk untuk swap
didealokasikan.
• Ruang disk tempat swap dialokasikan lebih dulu.
Saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses
harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang
yang telah dialokasikan, bukan ke tempat-tempat berbeda setiap kali
terjadi swap-out. Ketika proses berakhir, ruang swap pada disk
didealokasikan.
DAFTAR PUSTAKA
1. Hariyanto, Bambang, Ir., Sistem Operasi, Penerbit Informatika, Bandung,
1999
2. Tanenbaum, Andrew S., Modern Operating Systems, Prentice Hall Inc., 1992
Langganan:
Postingan (Atom)