You are on page 1of 279

Politeknik Telkom

Sistem Operasi

SISTEM OPERASI

POLITEKNIK TELKOM BANDUNG 2009
i

Politeknik Telkom

Sistem Operasi

Penyusun Tafta Zani Eddy Putro Nugroho Budi Laksono Putro Periyadi Editor Surya Ariansyah

Dilarang menerbitkan kembali, menyebarluaskan atau menyimpan baik sebagian maupun seluruh isi buku dalam bentuk dan dengan cara apapun tanpa izin tertulis dari Politeknik Telkom. Hak cipta dilindungi Telkom 2009 undang-undang @ Politeknik

No part of this document may be copied, reproduced, printed, distributed, modified, removed and amended in any form by
ii Sistem Operasi

Politeknik Telkom

Sistem Operasi

any means without prior written Polytechnic.

authorization of Telkom

KATA PENGANTAR
Segala puji bagi Allah SWT, yang telah melimpahkan nikmat-Nya kepada penulis sehingga dapat menyelesaikan penulisan course ware ini. Course ware ini digunakan sebagai acuan dalam perkuliahan Sistem Operasi di program studi diploma Politeknik Telkom. Course ware ini terdiri dari 16 bab yang mewakili Struktur , bagian dari sistem operasi. Beban yang disampaikan pada buku ini disesuaikan dengan jumlah sks untuk mata kuliah ini. Pada kesempatan ini penulis menyampaikan terima kasih yang tulus kepada berbagai pihak atas segala bantuan dan dukungannya sehingga penulis dapat menyelesaikan penulisan course ware ini. Sumbangan ide, saran, dan kritik yang membangun untuk perbaikan diktat ini sangat penulis harapkan Bandung, Maret 2009

Penulis

iii

Politeknik Telkom

Sistem Operasi

iv

Sistem Operasi

Politeknik Telkom

Sistem Operasi

DAFTAR ISI
KATA PENGANTAR..................................................................................III DAFTAR ISI..................................................................................................V 1 TINJAU ULANG SISTEM KOMPUTER.................................................1 2 PENGENALAN SISTEM OPERASI.......................................................13 3 PROSES DAN THREAD...........................................................................24 4 KONKURENSI ..........................................................................................49 5 PENJADWALAN ......................................................................................71 6 MANAJEMEN MEMORI ........................................................................86 7 MANAJEMEN PERANGKAT I/O ..........................................................99 8 MANAJEMEN DISK ..............................................................................134 9 MANAJEMEN FILE ...............................................................................148 10 DIREKTORI ..........................................................................................162 11 IMPLEMENTASI SISTEM BERKAS ................................................172 12 MANAJEMEN PENYIMPAN SEKUNDER .....................................189 13 RECOVERY...........................................................................................204 14 SISTEM OPERASI TERSEBAR 1 ......................................................211 15 SISTEM TERSEBAR 2 .........................................................................232 16 KEAMANAN SISTEM OPERASI ......................................................244 DAFTAR PUSTAKA..................................................................................274

v

Mahasiswa mengetahui komponen-komponen yang membangun sebuah sistem komputer. Sistem Operasi 1 . 2. Tujuan 1.Politeknik Telkom Sistem Operasi 1 Tinjau Ulang Sistem Komputer Overview Sebelum memulai mempelajari sistem operasi penting bagi kita untuk mengetahui komponen-komponen yang menjadi bagian dari sebuah sistem komputer disertai cara kerjanya. Mahasiswa mengetahui bagaimana komponenkomponen itu bekerja dan saling bekerja sama untuk memenuhi kebutuhan aplikasi dan pengguna akhir. Hal ini disebabkan nantinya sistem operasi bekerja untuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi.

yaitu tidak dapat 2 Sistem Operasi .2 Elemen Dasar Komputer Pada level atas. berfungsi sebagai memori yang sangat cepat yang biasanya digunakan sebagai tempat operan-operan suatu operasi yang akan dilaksanakan. Memori Utama Memori berfungsi menyimpan data dan program. I/O modul ataupun I/O device dan komponen pembentuk lainnya sehingga terselenggaranya ekseskusi proses dan menyembunyikan kerumitan pengaturan perangkat keras dari pengguna dan pembuat aplikasi. Komponen-komponen ini saling berinteraksi untuk menghasilkan fungsi dari tujuan sistem komputer yaitu eksekusi program atau komputasi. 2. sebagai pengendali utama operasi yang dilaksanakan. Hal tersebut menyebabkan perlunya memahami bagaimana sistem komputer bekerja untuk mengetahui bagaimana sistem operasi melaksanakan tugasnya. Prosesor Prosesor berfungsi mengendalikan operasi komputer dan melakukan fungsi pemrosesan data. Prosesor terdiri dari: a. Register membantu pelaksanan operasi yang dilakukan oleh prosesor. Hal ini dikarenakan sistem operasi mengatur komponen-komponen pendukung sistem komputer seperti memori.1 Pendahuluan Sebuah sistem operasi memberikan segala layanan yang mengeksploitasi sumberdaya yang dibutuhkan satu atau lebih proses kepada pengguna. Memori utama biasanya volatile. Sumberdaya tersebut berkaitan erat dengan sistem komputer. bagian untuk komputasi yang berhubungan dengan aritmatika dan logika b. Register.Politeknik Telkom Sistem Operasi 1. Keempat komponen atau elemen struktur utama yaitu: 1. Aritmetic Logic Unit (ALU). Control Unit (CU). 1. sebuah komputer terdiri dari empat komponen.

seperti penambahan. loncat. Register. Lingkungan eksternal dapat diantarmuka/interface oleh beragam peralatan eksternal seperti: media penyimpan sekunder. berfungsi mengendalikan operasi yang dilaksanakan. mendekode instruksi menjadi aksi-aksi sederhana dan melaksanakan aksiaksi ini. . Operasi-operasi yang terdapat pada komputer terdiri dari tiga tipe. berfungsi sebagai memori yang sangat cepat yang biasanya digunakan sebagai tempat operanoperan suatu operasi yang akan dilaksanakan. pengurangan. ALU (Arithmetic logic unit). X-OR dan sebagainya.Politeknik Telkom Sistem Operasi mempertahankan data dan program yang disimpan begitu sumber daya energi listrik dihentikan 3. yaitu: Operasi aritmatika. 4.3 Prosesor Prosesor berfungsi mengendalikan operasi komputer dan melakukan pemrosesan data. yaitu: proses. seperti OR. Modul I/O Modul I/O atau perangkat masukan/keluaran berfungsi memindahkan data antara komputer dan lingkungan eksternalnya. dan sebagainya - Sistem Operasi 3 . berfungsi melaksanakan operasi aritmatika dan logika.Operasi logika. Prosesor mengambil instruksi yang dikodekan secara biner dari main memori. 1. memori utama dan peralatan input-output. AND. dan sebagainya. Operasi pengendalian. Intekoneksi antar Komponen Interkoneksi dalam hal ini adalah struktur dan mekanisme yang diperlukan untuk menghubungkan antara ketiga komponen. peralatan komunikasi dan sebagainya. seperti operasi pencabangan. Prosesor terdiri dari tiga komponen yaitu: CU (Control unit).

1. 1. 1. Register untuk kendali dan status terdiri dari.3 Register untuk Alamat dan Buffer Register untuk Alamat dan Buffer terdiri dari: MAR (Memory Address Register). dan Register penanda.1 Register Data Register dapat diberi nilai untuk beragam keperluan pemakai.4 Register untuk Eksekusi Instruksi Register untuk Eksekusi Instruksi terdiri dari: 4 Sistem Operasi .4.4 Register Di dalam prosesor terdapat sekumpulan register yang berfungsi sebagai memori yang sangat cepat dan kecil kapasitasnya. dan register untuk informasi status. Register-register dikategorikan menjadi dua. Register yang terlihat pemakai. Register untuk alamat dan buffer. register untuk eksekusi instruksi.4. Register penunjuk stack.4. Register data terdiri dari dua macam.2 Register Alamat Register ini berisi alamat data atau instruksi di memori utama atau berisi bagian alamat yang digunakan dalam penghitungan alamat lengkap.Politeknik Telkom Sistem Operasi 1. yaitu: 1. . terdiri dari dua jenis yaitu: Register data dan register alamat.MBR (Memory Buffer Register). digunakan untuk mencatat alamat memori yang akan diakses (read/write). yaitu: General purpose register dan Special purpose register. Contoh register ini antara lain: Register indeks. I/O AR (I/O Address Register). digunakan untuk menapung data yang akan dituliskan ke memori yang alamatnya ditunjuk oleh MAR. digunakan untuk menampung data yang akan dituliskan ke port yang alamatnya ditunjuk oleh I/O AR 1.4. Register penunjuk segmen.

PSW biasanya berisi kode-kode kondisi pemroses ditambah informasi-informasi status lainnya 1. mencatat alamat memori dimana instruksi yang terdapat di dalamnya akan dieksekusi. IR (instruction Register). menampung instruksi yang akan dilaksanakan. Berdasarkan kecepatan aksesnya dapat dibuat hirarki memori.4. 1.5 Memori Memori berfungsi untuk menyimpan data dan program.Politeknik Telkom Sistem Operasi - PC (Program Counter). sebagai berikut: Sistem Operasi 5 . Register atau kumpulan register ini disebut PSW (Program Status Word).5 Register untuk Informasi Status Register ini dapat berupa satu register atau kumpulan register.

pemroses harus membaca instruksi dari memori utama. Untuk itu terdapat konsep memori dua level. Chace memori ada di antara memori utama dan register pemroses.Chace memory. Konsep ini diimplementasikan antara lain berupa: . berfungsi agar pemroses tidak langsung mengacu memori utama agar kinerja dapat ditingkatkan. Buffering dapat mengurangi frekuensi pengaksesan ke perangkat penyimpan sekunder sehingga meningkatkan kinerja sistem 1. antara lain: 1.6 Modul I/O Klasifikasi perangkat I/O berdasarkan aliran datanya dapat dibagi dua.Politeknik Telkom Sistem Operasi Tercepat Register Chace Memory Main Memory Disk Chace Magnetic Disk Terlambat Magnetic tape Optical disk Tabel 1-1 Hirarki memori berdasarkan kecepatan Setiap kali prosesor melakukan eksekusi. Block Oriented Device. memori berkapasitas terbatas. Kecepatan eksekusi ini akan meningkatkan kinerja sistem. berkecepatan tinggi yang lebih mahal daripada memori utama. Buffering. Ciri utama peralatan ini adalah dimungkinkan membaca atau menulis blok-blok secara indenpenden dengan 6 Sistem Operasi . Agar eksekusi dapat dilakukan secara cepat maka harus diusahakan instruksi tersedia di memori pada hirarki berkecepatan akses lebih tinggi. peralatan ini menyimpan informasi sebagai blok-blok berukuran tetap. bagian memori utama yang dialokasikan untuk menampung data yang akan ditransfer dari atau ke penyimpan sekunder. yaitu ditampung dulu sementara di memori pada hirarki lebih tinggi.

Politeknik Telkom Sistem Operasi cara direct access. Programmed I/O Pada saat perangkat I/O menangani permintaan perangkat menset bit status pada register status perangkat. 3. Terdapat tiga teknik cara berhubungan perangkat I/O yaitu: 1. Perangkat tidak memberitahu ke prosesor bila tugas telah selesai. Prosesor harus selalu melakukan cek secara periodik terhadap register status perangkat dan melakukan tindakan-tindakan berdasarkan status yang dibaca. dan lain-lain. tape dan sebagainya.Saat menerima instruksi dari hardware (Hardware yang siap melakukan transfer data). Contoh peralatan antara lain: disk. tapi masih memerlukan intervensi aktif prosesor untuk transfer data antara memori dan buffer I/O. Dengan ini prosesor tidak disibukkan menunggui dan menjaga perangkat I/O untuk memeriksa status perangkat. Direct Memory Access Interrupt Driven I/O lebih efisien dari programmed I/O. Character Stream Oriented Device. optical disk. peralatan ini mengantarkan atau menerima aliran karakter tanpa peduli dengan suatu struktur blok. prosesor kemudian segera eksekusi transfer data. . 2. I/O dikendalikan interupsi (Interrupt Driven I/O) mempunyai dua kelemahan yaitu: Sistem Operasi 7 . Contoh peralatan ini antara lain: terminal. line printer.Perangkat I/O akan menginstruksi untuk minta layanan saat perangkat telah siap transfer data dengan prosesor . 2. Interrupt Driven I/O Teknik I/O dikendalikan instruksi mempunyai mekanisme kerja perangkat I/O sebagai berikut: Prosesor memberi instruksi ke perangkat I/O lalu melanjutkan kerja yang lainnya. interface jaringan.

Prosesor terikat ketat dalam mengelola transfer I/O. Ketika data besar dipindahkan teknik yang lebih efisien diperlukan agar tidak menyibukkan prosesor. 8 Sistem Operasi . sehingga prosesor dapat melakukan kerja lain. sejumlah instruksi harus dieksekusi untuk tiap transfer I/O.Politeknik Telkom Sistem Operasi - Rate Transfer I/O dibatasi kecepatan menguji dan melayanan operasi peralatan.

yaitu: . Bus data ini Bidirectional berarti dapat baca dan kirim dari/ke memori atau port. dilakukan oleh DMA controller yang lepas dari prosesor dan hanya melakukan interupsi bila operasi telah diselesaikan. Bus yag mengirim alamat lokasi memori atau port yang ingin ditulis/dibaca. 1. Control Bus. Prosesor hanya dilibatkan pada awal dan akhir tranfer data perangkat I/O. Jumlah lokasi memori yang dapat dialamati CPU ditentukan oleh jumlah jalur alamat. . Prosesor mendelegasikan operasi I/O ke DMA. Bus yang digunakan CPU dengan dikirimi sinyal untuk memrintahkan memori atau port I/O. Saat prosesor ingin baca/tulis data.7 Interkoneksi antar Komponen Interkoneksi antar komponen disebut bus.Jika CPU memilki N jalur alamat maka dapat secara langsung mengalamati 2N lokasi memori. Operasi transfer anatara perangkat dan memori utama dilakukan sepenuhnya oleh DMA. Ketika transfer data selesai. DMA mentransfer seluruh data yang diminta secara langsung dari memori tanpa melewati prosesor. Sistem Operasi 9 .Data Bus. DMA yang menangani akses disk.Address Bus. Bus terdiri dari 3 macam. Bus data berhubungan dengan transfer ata pembacaan data dari/ke memori dengan peralatan-peralatan.Politeknik Telkom Sistem Operasi DMA berfungsi membebaskan prosesor menunggui transfer data perangkat I/O. prosesor memrintahkan DMA dengan mengirim informasi-informasi berikut: Read/write Alamat perangkat I/O Awal lokasi memori yang ditulis/dibaca Jumlah byte yang ditulis/dibaca Setelah mengirim informasi ke DMA. DMA mengirim sinyal interupsi ke prosesor. prosesor dapat melakukan kerja lain.

2 Mode Eksekusi Instruksi Prosesor mempunyai beragam mode eksekusi.8 Eksekusi Instruksi 1. Mode dengan kewenangan tinggi disebut system mode. control mode. Mode dengan kewenangan rendah biasa disebut user mode karena program pemakai biasa dieksekusi dalam mode ini. Instruksi-instruksi tertentu hanya dapat dieksekusi dalam suatu mode yang berkewenangan lebih tinggi.8. supervisor mode atau kernel mode. karena biasanya rutin-rutin sistem atau kendali atau kernel dieksekusi dengan mode ini 10 Sistem Operasi .Politeknik Telkom Sistem Operasi 1. Prosesor mengeksekusi instruksi Eksekusi program berisi pengulangan proses fetch dan execute. biasanya dikaitkan dengan program Sistem Operasi dan program pemakai. Prosesor membaca instruksi dari memori b. Proses satu instruksi disebut satu siklus instruksi (instruction cycle). Fetch.8. Siklus Eksekusi instruksi dpat dilihat pada gambar 1-1 START Fetch Insruks i Eksekusi Instruksi HALT Fetch Cycle Execute Cycle Gambar 1-1 Siklus Eksekusi instruksi 1.1 Mekanisme Eksekusi Tahap Pemrosesan instruksi berisi 2 tahap yaitu: a. Execute. Eksekusi instruksi (Tahap Execute) dapat melibatkan beberapa operasi lebih dasar dan bergantung pada sifat instruksi itu.

Keempat komponen atau elemen struktur utama yaitu prosesor. Hal ini dikarenakan sistem operasi mengatur komponen-komponen pendukung sistem komputer seperti memori. Sumberdaya tersebut berkaitan erat dengan sistem komputer.Politeknik Telkom Sistem Operasi Rangkuman Sebuah sistem operasi memberikan segala layanan yang mengeksploitasi sumberdaya yang dibutuhkan satu atau lebih proses kepada pengguna. Memori berfungsi untuk menyimpan data dan program. sebuah komputer terdiri dari empat komponen. modul I/O dan interkoneksi antar computer. Komponen-komponen ini saling berinteraksi untuk menghasilkan fungsi dari tujuan sistem komputer yaitu eksekusi program atau komputasi. I/O modul ataupun I/O device dan komponen pembentuk lainnya sehingga terselenggaranya ekseskusi proses dan menyembunyikan kerumitan pengaturan perangkat keras dari pengguna dan pembuat aplikasi. Prosesor berfungsi mengendalikan operasi komputer dan melakukan pemrosesan data. Di dalam prosesor terdapat sekumpulan register yang berfungsi sebagai memori yang sangat cepat dan kecil kapasitasnya. Maka dapat disimpulkan bahwa computer tidak dapat berdiri sendiri tetapi terdapat suatu bagian yang saling bergantung dan saling bekerja sama sehingga komputer akan berjalan dengan sebenarnya Sistem Operasi 11 . memori.

Sebutkan dan jelaskan bagian dari computer Fungsi dari memori dan prosesor Apa perbedaan dari memori dan register Jelaskan Klasifikasi perangkat I/O berdasarkan aliran datanya Sebutkan dan jelaskan tiga teknik cara berhubungan perangkat I/O Fungsi dari DMA Gambarkan bagian utama dari computer yang terdiri dari empat komponen yang sangat penting bagi computer Sebutkan dan jelaskan tahap pemrosesan instruksi 12 Sistem Operasi . 2. 8. 5.Politeknik Telkom Sistem Operasi Soal Latihan 1. 4. 7. 6. 3.

Mahasiswa mengetahui bagaimana komponenkomponen itu bekerja dan saling bekerja sama untuk Sistem Operasi 13 . Tujuan 1. Mahasiswa mengetahui komponen-komponen yang membangun sebuah sistem operasi.Politeknik Telkom Sistem Operasi 2 Pengenalan Sistem Operasi Overview Mempelajari sistem operasi dimulai dengan mengenali komponen-komponen yang pada umumnya terdapat dalam sebuah sistem operasi dan mengenal tugas atau fungsi dari masing-masing komponen tersebut. 2.

Sistem operasi sebagai extended machine/virtual machine. pengujian dan pengajuan fungsi-fungsi sistem yang baru tanpa pada waktu yang sama mengganggu layanan yang dijalankan sistem komputer yang menjalankan sistem operasi itu. Mampu berevolusi.Politeknik Telkom Sistem Operasi memenuhi kebutuhan aplikasi dan pengguna akhir. antara lain: 1. yaitu sistem operasi harus membuat komputer menjadi lebih nyaman saat digunakan pemakai. yaitu sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan. 2. dan memroses data. Sumber daya pada sistem komputer antara lain: 1. 2. Sistem operasi sebagai pengelola sumber daya (resources manager). menyimpan. serta untuk mengendalikan fungsi-fungsi ini. Perangkat keras 14 Sistem Operasi . Sistem operasi bertanggung-jawab mengelola sumber daya-sumber daya ini. Efisiensi. sistem operasi mempunyai tiga sasaran.1 Fungsi dan Sasaran Sistem Operasi Sistem operasi adalah program yang mengendalikan eksekusi program aplikasi dan bertindak sebagai antarmuka antara pemakai dan perangkat keras komputer. 2. 2. Kenyamanan.2 Sistem Operasi sebagai Pengelola Sumber Daya Sistem komputer adalah sekumpulan sumber daya untuk memindah. yaitu sistem operasi mejadikan sumber daya sistem komputer dapat digunakan secara efisien. Fungsi utama sistem operasi adalah: 1. Menurut Stalling.

Peralatan komunikasi dan jaringan Sistem Operasi 15 .Politeknik Telkom Sistem Operasi .penyimpan primer .data .proses 3.prosesor .peralatan masukan/keluaran 2. Perangkat lunak .penyimpan sekunder .

Berfungsi menghindarkan kompleksitas pemrograman dengan memberikan 16 Sistem Operasi . Sistem operasi menyediakan system call (API = Application programming interface) yang merupakan abstraksi tingkat tinggi mengenai mesin untuk pemrograman.Politeknik Telkom Sistem Operasi Sistem operasi bertanggung-jawab mengelola sumber daya agar penggunaan sumber daya dapat secara benar dan efisien.3 Sistem Operasi sebagai Machine/Virtual Machine Extended Sistem operasi sebagai extended machine/virtual machine berfungsi sebagai berikut: .Memberi pemakai suatu abstraksi mesin tingkat tinggi sederhana dan menyembunyikan kerumitan perangkat keras. Gambar 2-2 Fungsi sistem operasi sebagai pengatur sumber daya komputer 2.

Aplikasi tersebut dikembangkan oleh pemrogram aplikasi. Akunting 2. maka pemrogram bertanggung jawab sepenuhnya mengendalikan perangkat keras komputer.Politeknik Telkom Sistem Operasi sekumpulan instruksi yang mudah dan nyaman yaitu system calls. biasanya tidak berkepentingan dengan arsitektur komputer. .Basis untuk program lain. Stalling merinci layanan-layanan yang harus disediakan sistem operasi antara lain: 1. Pengaksesan terkendali terhadap berkas 5. Program-program tersebut dalam melakukan tugasnya mengendalikan dan memanfaatkan sumber daya sistem komputer adalah dengan meminta layanan sistem operasi untuk mengendalikan sumber daya untuk aplikasi itu agar pemanfaatan sumber daya komputer benar dan efisien. Pembuatan program 2. Pemrogram aplikasi yang mengembangkan aplikasi dengan menggunakan kumpulan instruksi mesin secara langsung. Deteksi dan memberi tanggapan terhadap kesalahan 7. Eksekusi program 3.Pemrogram. Pengaksesan perangkat masukan/keluaran 4.Administrator bertugas agar sistem berfungsi secara benar dan optimal.Pemakai awan (end user) dan administrator sistem .4 Sistem Komputer Pandang dalam Beragam Sudut Pandangan ke Pemakai sistem komputer dapat dikelompokkan menjadi tiga.Perancang Sistem Operasi Pemakai awam menggunakan suatu aplikasi di sistem komputer. Tugas ini sangat Sistem Operasi 17 . . Program aplikasi dijalankan di atas sistem operasi. Pemakai memandang sistem komputer dalam bentuk aplikasi yang dihadapinya. Pengaksesan sistem 6. yaitu: .

Sistem operasi menyembunyikan rincian-rincian pengoperasian perangkat keras dari pemrogram dan menyediakan interface yang nyaman untuk menggunakan perangkat tersebut. sekumpulan fasilitas-fasilitas disediakan sistem operasi. mengelola berkas. mempermudah pemrogram serta program aplikasi mengakses serta menggunakan fasilitas-fasilitas dan layananlayanan sistem komputer 18 Sistem Operasi . Gambar 2-3 Lapisan-lapisan dari sebuah computer Perancang sistem operasi harus membuat sistem operasi yang dapat mempermudah dan menyamankan terutama untuk pemrogram aplikasi membuat aplikasi-aplikasi. Untuk mempermudah pemrogram.Politeknik Telkom Sistem Operasi amat kompleks. Sistem operasi bertindak sebagai mediator. tak perlu menulis atau membuatnya sendiri untuk aplikasi-aplikasi yang dibuatnya. Pemrogram menggunakan fasilitas-fasilitas ini dalam mengembangkan aplikasi. dan mengendalikan masukan/keluaran.

menggantikan ide-ide mesin-mesin komputaasi mekanis. kemudian dijadwalkan agar secara nyata dilayani oleh periperal – Time Sharing.Politeknik Telkom Sistem Operasi 2. yaitu dengan cara menyediakan beberapa partisi memori.Generasi Ke-dua (1955 – 1965) Terdapat Batch System. di mana tiap pemakai mempunyai satu terminal on-line dengan prosesor hanya memberi layanan pada pemakai yang aktif. langsung diterima dan data disimpan lebih dulu di memori yang disediakan berupa antrian. varian dari sistem multiprogramming. Perkembangan sistem operasi dapat dijabarkan sebagai berikut: . Saat satu job menunggu operasi input/output selesai job lain dapat menggunakan prosesor – Spooling.5 Evolusi Sistem Operasi Sistem Operasi telah berevolusi sejak pertama kali komputer diciptakan.Generasi Pertama (1945 – 1955) Awal dari pengembangan sistem komputasi elektronik. Saat terdapat permintaan layanan periperal. Job dikumpulkan dalam satu rangkaian kemudian diekskusi secara berurutan Batch Time Sharing Multiprogramming Principal Minimize Maximize Prosesor use objective response time Source of Job control language Commands directives to commands provided entered at the operating with the job terminal system Generasi Ke-tiga (1965 – 1980) Terdapat : – Sistem multiprogramming. Sistem Operasi 19 . Perkembangan sistem komputer melibatkan perkembangan sistem hardware dan software. membuat periperal dapat diakses secara simultan. .

Politeknik Telkom Sistem Operasi Pada sistem uniprogamming prosesor harus menunggu dan berproses setelah instruksi I/O berproses sampai selesai sedangkan pada sistem multi programming Selama satu job membutuhkan untuk menunggu proses I/O. prosesor dapat memilih (switch) job lain untuk berproses walaupun proses sebelumnya belum selesai (a) uniprogramming (b) multiprogramming dengan dua proses (c) multiprogramming dengan tiga proses Gambar 2-4 Perbandingan eksekusi perintah antara sistem uniprogramming dengan multiprogramming 20 Sistem Operasi .

15 min. Memory required 50K 100 K 80 K Need disk? No No Yes Need terminal No Yes No Need printer? No No Yes Sistem Operasi 21 . 10 min.Politeknik Telkom Sistem Operasi Gambar 2-5 Perbandingan utilisasi sumber daya komputer antara sistem uniprogramming dan multiprogramming Contoh perbandingan antar-proses dan utilisasi sumber daya komputer dengan beberapa job dapat dilihat pada tabel di bawah ini: JOB1 JOB2 JOB3 Type of job Heavy compute Heavy I/O Heavy I/O Duration 5 min.

Politeknik Telkom Sistem Operasi Prosesor use Memory use Disk use Printer use Elapsed time Throughput rate Mean response time Uniprogramming 22% 30% 33% 33% 30 min. Sistem operasi diperuntukkan jaringan komputer dimana pemakai menyadari keberadaan komputer yang terhubung. Multiprogramming 43% 67% 67% 67% 15 min. . 6 jobs/hr 18 min.Generasi Ke-empat (1980 – Sekarang) Terdapat : – Network O/S. Distributed O/S. dimana alokasi kerja sudah secara otomatis dilaksanakan oleh sistem operasi. 22 Sistem Operasi . dengan user tak perlu menyadari keberadaan komputerkomputer yang terhubung. Sistem operasi untuk jaringan komputer. 12 jobs/hr 10 min.

pengujian dan pengajuan fungsi-fungsi sistem yang baru tanpa pada waktu yang sama mengganggu layanan yang dijalankan sistem komputer yang menjalankan sistem operasi itu Soal Latihan 1. Sebutkan layanan system operasi yang harus ada menurut Stalling 2. Pandangan ke Pemakai sistem komputer dapat dikelompokkan menjadi tiga. Jelaskan fungsi dari Sistem operasi sebagai extended machine/virtual machine Sistem Operasi 23 .Politeknik Telkom Sistem Operasi Rangkuman Sistem operasi adalah program yang mengendalikan eksekusi program aplikasi dan bertindak sebagai antarmuka antara pemakai dan perangkat keras komputer. Sistem operasi harus mampu berevolusi. Sebutkan 3. Sebutkan sumber daya pada sistem komputer dan jelaskan 4. yaitu sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan.

Politeknik Telkom Sistem Operasi 3 Proses dan Thread Overview Salah satu fitur penting sistem operasi modern adalah kemampuan multitasking dan multiprogramming. Kedua fitur ini dimungkinkan melalui mekanisme penanganan banyak proses dan thread yang dimiliki oleh sistem operasi. dan bagaimana sistem operasi mengelola mereka untuk mewujudkan fitur multitasking dan multi programming Tujuan 1. thread. 2. Mahasiswa mengetahui bagaimana komponen24 Sistem Operasi . Pada bab ini akan dibahas mengenai dasar-dasar dari proses. Mahasiswa mengetahui komponen-komponen yang membangun sebuah sistem komputer.

Sistem operasi yang baik harus dapat mengatur sumber daya komputer (yang terbatas) sedemikian rupa sehingga aplikasi-aplikasi yang sedang berjalan bersamaan tersebut mendapatkan sumber daya komputer yang mereka butuhkan agar dapat berfungsi dengan benar. Sebuah proses yang sedang berjalan disimpan di dalam memori utama (RAM) dan dua bagian penting dari sebuah proses adalah: 1. Identifier: tanda identitas yang membedakan suatu proses dengan proses lainnya.1 Pengenalan Konsep Proses Proses dalam ruang lingkup sistem operasi dapat dikatakan sebagai sebuah aplikasi/program yang sedang dijalankan. Jika proses sedang dieksekusi maka kondisi/statusnya adalah running. Sistem Operasi 25 .Politeknik Telkom Sistem Operasi komponen itu bekerja dan saling bekerja sama untuk memenuhi kebutuhan aplikasi dan pengguna akhir. Kode program atau instruksi-instruksi program yang harus dieksekusi oleh prosesor (yang dapat dibagi pakai bersama dengan proses lain) dan 2. Manajemen proses adalah salah satu dari fungsi utama dari sistem operasi terutama pada sistem operasi yang mendukung eksekusi banyak aplikasi pada waktu yang bersamaan. Isi dari PCB tersebut antara lain: 1. State: kondisi dari proses. Informasi-informasi tersebut dibuat oleh sistem operasi dan disimpan dalam struktur data yang disebut PCB (Process Control Block). Sekumpulan data yang berhubungan dengan kode program dari proses Tetapi dua bagian di atas tidak memiliki cukup informasi yang dibutuhkan oleh sistem operasi untuk memanajemen banyak proses yang berjalan bersamaan. 3. 2.

Contex data: adalah data yang ada di register prosesor ketika proses dieksekusi. Memory pointer: pointer menuju kode program (instruksi program). Isi dari program counter ini pada suatu saat bisa berubah menjadi penunjuk ke instruksi yang dimiliki oleh proses lain. instruksi 5. Priority: prioritas eksekusi dibandingkan proses-proses lainnya. waktu clock yang digunakan. Informasi-informasi di atas setidaknya cukup lengkap bagi sistem operasi untuk menginterupsi/menunda pengeksekusian sebuah proses untuk mengeksekusi proses lain kemudian kembali lagi mengeksekusi proses pertama seakan-akan interupsi tidak pernah terjadi 3. Accounting information: dapat terdiri dari waktu prosesor. batas waktu. I/O status information: informasi tentang permintaan I/O.Politeknik Telkom Sistem Operasi 3. Program counter: alamat memori dari program berikutnya yang akan dieksekusi. dll. nomor akun. dan blok memori yang dibagipakai bersama proses-proses lain. Hal ini terjadi ketika sebuah program kecil bernama dispatcher yang dieksekusi secara periodik oleh prosesor. dll. 26 Sistem Operasi . 7. 6.2 Kondisi / Keadaan Proses Dari sudut pandang prosesor eksekusi sebuah proses berarti mengeksekusi instruksi-instruksi dari proses tersebut berdasarkan urutan tertentu. data yang berhubungan dengan proses. Urutan eksekusi ini dikendalikan lewat perubahan nilai pada register program counter yang berupa penunjuk ke suatu lokasi yang berisi instruksi dari proses. 8. 4. peralatan I/O. file.

Politeknik Telkom Sistem Operasi Sebuah daftar yang berisi urutan instruksi yang dieksekusi untuk suatu proses yang dibuat untuk mengetahui kelakuan dari sebuah proses individual dikenal sebagai trace. Gambargambar 3-1 dan 3-2 dapat menjelaskan posisi proses dan dispatcher serta trace dari beberapa proses ketika dijalankan. Pada saat pertama kali proses dibuat proses tersebut akan memasuki kondisi not running dan akan memasuki sebuah antrian untuk proses-proses yang menunggu untuk dieksekusi oleh prosesor. Proses yang sedang dieksekusi berada dalam kondisi running dan pada suatu saat akan berhenti dieksekusi apakah karena telah selesai atau gilirannya telah habis dan prosesor akan mengeksekusi dispatcher yang akan menaruh proses barusan pada belakang antrian dan merubah nilai program counter sehingga menunjuk pada urutan instruksi yang dimiliki oleh proses yang berada di depan antrian. Model ini merupakan perkembangan dari model yang pertama untuk menangani kondisi di mana sebuah proses mungkin saja tidak selalu siap untuk dieksekusi karena harus menunggu sebuah operasi I/O selesai dilaksanakan. Model Dua Kondisi Model yang pertama dan paling sederhana adalah model 2 kondisi (2 state) yang terdiri dari kondisi running dan not running seperti dijelaskan oleh gambar 3-3. Pada model ini kondisi not running dipecah menjadi ready dan Sistem Operasi 27 . Untuk mengatur eksekusi dari proses termasuk mengatur pergantian eksekusi antar proses dan mengalokasikan sumber daya komputer yang dibutuhkan proses yang akan dieksekusi sistem operasi perlu mengetahui kondisi yang sedang dialami sebuah proses dan menentukan tindakan apa yang harus diambil terhadap proses tersebut pada kondisi tertentu. Model Lima Kondisi Model yang ke-dua adalah model dengan 5 kondisi (5 state). Ada beberapa model dari kondisi-kondisi yang dialami sebuah proses dimulai dari model yang sederhana yang terdiri dari hanya dua kondisi hingga berkembang menjadi model yang memiliki lebih dari lima kondisi.

Running: proses sedang dieksekusi 2. Berikut ini adalah daftar 5 kondisi yang ada pada model 5 kondisi: 1. New: proses baru saja selesai dibuat. Pada kondisi ini biasanya baru process control block saja yang telah selesai dibuat dan ditaruh di memori utama sedangkan instruksi dan datanya belum 5. Exit: proses telah dilepaskan dari kumpulan (pool) proses yang dapat dieksekusi oleh sistem operasi dikarenakan telah selesai maupun dibatalkan karena alasan tertentu Dapat dilihat bahwa ada dua kondisi tambahan selain pemisahan not running menjadi ready dan blocked yaitu new dan exit. Kondisi new pada model ini seperti yang telah dijelaskan di atas menerangkan bahwa sistem operasi telah menyiapkan keperluan untuk menjalankan proses seperti PCB dan tabel-tabel tertentu dalam sistem operasi tetapi proses itu sendiri belum dieksekusi oleh prosesor. Ready: proses siap dieksekusi jika telah mendapat kesempatan 3. Blocked: proses tidak dapat dieksekusi hingga suatu event terjadi atau menunggu suatu proses I/O selesai 4. 28 Sistem Operasi .Politeknik Telkom Sistem Operasi blocked. Kondisi exit pada model ini mewakili kondisi sedemikian sehingga proses yang telah dihentikan eksekusinya karena telah selesai maupun karena hal lainnya seperti kesalahan dan pembatalan oleh pengguna tidak langsung dihapus melainkan disimpan sementara agar informasi yang menyertai proses tersebut seperti PCB dan tabel-tabel yang menyertainya dapat digunakan oleh proses lain yang memerlukan seperti proses yang melakukan perhitungan waktu eksekusi dan penggunaan sumberdaya oleh proses lainnya.

2. Ready –> Running: proses dipindahkan dari kondisi ready ke kondisi running oleh rutin penjadwalan atau dispatcher dan dieksekusi oleh prosesor. Running –> Blocked: proses diblok apabila proses tersebut telah meminta sesuatu yang tidak dapat langsung dipenuhi oleh sistem operasi. New –> Ready: sistem operasi memindahkan sebuah proses ke kondisi ready dari kondisi new hanya jika sistem operasi tersebut telah siap. 5. 4. Running –> Exit: proses dihentikan eksekusinya dan diterminasi dikarenakan telah selesai atau karena alasan lainnya seperti terjadinya kesalahan atau pembatalan eksekusi oleh pengguna.Politeknik Telkom Sistem Operasi Berikut ini adalah jenis-jenis kejadian (event) yang dapat menyebabkan proses berpindah dari suatu kondisi ke kondisi lainnya dalam model 5 kondisi: 1. Sistem operasi dapat menahan sebuah proses dalam kondisi new jika kondisi belum memungkinkan untuk menangani proses tambahan seperti kekurangan memori atau terdapat batasan jumlah proses yang dapat ditangani agar tidak menurunkan kinerja keseluruhan. 3. Null –> New: sebuah proses baru dibuat. Running –> Ready: alasan paling umum untuk memindahkan suatu proses dari running ke kondisi ready adalah karena waktu eksekusi untuk proses tersebut telah habis atau diinterupsi untuk digantikan oleh proses dengan prioritas yang lebih tinggi. contohnya: operasi I/O Sistem Operasi 29 . 6. Prose ini dapat benar-benar baru atau dapat berasal dari proses lain yang telah ada melalui process spawning.

Blocked –> Exit: transisi ini penjelasan kondisi ready -> exit. 8. Jika memori utama penuh dan ada proses lain yang harus masuk maka proses yang sedang tidak dieksekusi di memori dapat dipindahkan kembali ke memori virtual. Swapping berlaku pada sistem operasi yang menerapkan konsep memori virtual (akan dibahas di bab manajemen memori) yaitu menjadikan media penyimpanan seperti harddisk sebagai bagian dari memori untuk menyimpan proses yang akan dieksekusi. Proses yang berada dalam kondisi blocked dapat dipindahkan dari memori utama ke sebuah antrian proses di memori 30 Sistem Operasi . Hanya proses-proses yang siap dieksekusi saja yang disimpan dalam memori utama. Proses-proses yang ada tidak disimpan dalam memori utama tetapi disimpan dalam media harddisk. termasuk dalam Model dengan Suspended State Model 2 kondisi dan 5 kondisi sebelumnya berlaku pada sistem operasi yang tidak memerlukan swapping. 9. Konsep memori virtual ini memungkinkan sistem operasi membuat proses dengan jumlah dan ukuran lebih besar dari kapasitas memori utama.Politeknik Telkom Sistem Operasi 7. Blocked –> Ready: proses dipindahkan dari blocked ke kondisi ready hanya jika kejadian (event) tertentu yang ditunggu telah terjadi seperti permintaan operasi I/O oleh proses tersebut telah selesai dilaksanakan. Untuk mengimplementasikan konsep memori virtual tersebut perlu dibuat suatu kondisi baru yaitu kondisi ketika proses berada pada dalam memori virtual yaitu kondisi suspended. Pemindahan dari memori virtual ke memori utama dan sebaliknya inilah yang disebut sebagai swapping. Ready –> Exit: transisi ini tidak digambarkan pada model 5 kondisi untuk menjaga kejelasan tetapi sebuat proses dalam kondisi ready dapat langsung diterminasi contohnya sebuah proses anak dapat diterminasai oleh proses induk kapan saja dan jika sebuah proses induk mati maka proses anak juga ikut diterminasi.

Politeknik Telkom Sistem Operasi virtual untuk menyediakan ruang kosong bagi proses lain di memori utama. Untuk menghemat sumber daya hanya proses-proses yang telah siap dijalankan. Blocked/Suspend: kondisi di mana proses berada dalam kondisi blocked di dalam memori virtual dan menunggu suatu event. Ready/Suspend: kondisi di mana proses berada dalam memori virtual tetapi dapat langsung dijalankan ketika telah berada dalam memori utama. yang dipindahkan dari antrian di memori virtual ke memori utama. Mengembalikan proses-proses ini ke dalam memori utama hanya akan memboroskan waktu dan sumber daya dikarenakan proses-proses ini belum tentu siap dijalankan ketika telah berada di memori utama. 2. Transisi-transisi antar kondisi yang terjadi. Selain itu kondisi ready berlaku untuk proses yang tidak menunggu event tertentu dan telah berada di memori utama dan kondisi blocked berlaku bagi proses yang sedang menunggu event tertentu dan sedang berada dalam memori utama. Oleh karena itu kondisi suspended dibagi lagi menjadi dua kondisi. Mengingat bahwa kecepatan eksekusi prosesor jauh melebihi waktu yang dibutuhkan untuk menyelesaikan operasi I/O maka akan ada kemungkinan di mana prosesor akan banyak menganggur dikarenakan kebanyakan proses berada dalam keadaan suspended menunggu operasi I/O yang belum selesai. antara lain: 1. Proses-proses tersebut sebelum dipindahkan ke memori utama dapat diletakkan dalam antrian proses yang siap untuk dieksekusi kembali oleh prosesor. Blocked  Blocked/Suspend: transisi ini terjadi ketika sistem operasi membutuhkan tambahan ruang kosong di dalam memori utama untuk proses lain dan Sistem Operasi 31 . Pada model pertama diperlihatkan hanya ada satu kondisi suspend seperti yang telah dijelaskan di atas. Gambar 3-4 memperlihatkan dua model yang mengakomodir kondisi suspended. yaitu: 1. yang telah mendapatkan event yang dibutuhkan.

Untuk menyediakan ruang tersebut sistem operasi akan memindahakan proses-proses yang berada dalam kondisi blocked ke dalam memori virtual sehingga kondisi proses tersebut dikatakan sebagai blocked/suspend. Jika memori utama memiliki tempat kosong dan proses dalam kondisi blocked/suspend tersebut memiliki prioritas lebih tinggi dari yang berada dalam kondisi ready/suspend serta sistem operasi percaya bahwa event yang ditunggu proses 32 Sistem Operasi . Transisi ini juga dapat terjadi apabila proses dalam kondisi ready/suspend memiliki prioritas lebih tinggi dari proses yang berada dalam kondisi ready. Ready/Suspend  Ready: transisi ini terjadi ketika tidak ada lagi proses yang berada dalam kondisi ready di dalam memori utama sehingga sistem operasi akan memindahkan proses yang berada dalam kondisi ready/suspend dari memori virtual ke memori utama. 3.Politeknik Telkom Sistem Operasi tidak tersedia ruang kosong dalam memori utama. New  Ready/Suspend dan New  Ready: transisi ini terjadi ketika suatu proses baru saja dibuat. 5. Blocked/Suspend  Ready/Suspend: transisi ini terjadi ketika event yang ditunggu proses dalam kondisi blocked/suspend telah terjadi sehingga status proses tersebut berubah menjadi ready/suspend. Proses tersebut dapat disimpan di dalam antrian memori di memori utama atau diantrikan dalam kondisi ready/suspend di memori virtual. 2. Blocked/Suspend  Blocked: transisi ini meskipun tampak tidak terlalu baik dari segi disain namun masih mungkin terjadi. 4.

6.Politeknik Telkom Sistem Operasi tersebut akan terjadi segera maka transisi ini boleh saja terjadi. antara lain: Sistem Operasi 33 . Tabel memori Tabel ini digunakan untuk mengelola memori utama dan memori virtual. Kondisi Apapun  Exit: biasanya proses diterminasi dalam kondisi berjalan karena telah selesai atau ada kesalahan tertentu namun pada beberapa sistem operasi proses dapat diterminasi oleh proses yang menjadi induknya atau ketika proses induknya diterminasi.3 Deskripsi Proses Seperti yang telah disebutkan sebelumnya sistem operasi bertugas untuk mengelola proses-proses dan sumber daya komputer yang digunakan proses-proses tersebut. Running  Ready/Suspend: proses yang telah habis masa eksekusinya biasanya akan dipindahkan ke dalam kondisi ready namun apabila ada proses dengan prioritas lebih tinggi telah berubah dari kondisi blocked/suspend menjadi ready/suspend maka sistem operasi dapat membebaskan memori utama untuk proses tersebut dengan memindahkan proses dengan prioritas lebih rendah tersebut ke dalam kondisi ready/suspend. Jika hal tersebut diperbolehkan maka semua kondisi dapat segera berubah menjadi kondis exit. Tabel ini berisi. 3. Untuk melaksanakan tugas tersebut sistem operasi memerlukan beberapa informasi mengenai proses-proses yang ada dan sumber daya komputer yang ada Struktur Kendali Sistem Operasi Sistem operasi membuat dan memelihara beberapa tabel berisi informasi mengenai sumber daya komputer dan proses yang ada. Tabel-tabel tersebut antara lain: 1.

3. Tabel I/O Tabel ini digunakan untuk mengelola peralatanperalatan dan saluran-saluran I/O. dan sebagainya harus disediakan oleh sesuatu di luar sistem 34 Sistem Operasi . memori. jumlah memori tersedia. 4. Alokasi memori virtual untuk proses c. seperti: lokasi mereka dalam memori. status.Politeknik Telkom Sistem Operasi a. Atribut-atribut yang digunakan untuk keperluan proteksi blok-blok memori yang digunakan pada memori utama d. Ketika terjadi suatu operasi yang berhubungan dengan I/O sistem operasi harus mengetahui lokasi memori yang digunakan dalam proses perpindahan data. 2. Setidaknya ada dua hal penting yang harus diingat sebelum membahas masalah tabel proses. dan atribut mereka. Alokasi memori utama untuk proses b. Mulai dari bagian ini selebihnya dari bab ini akan membahas mengenai tabel proses yang perlu dibuat untuk memanajemen proses. Tabel proses Tabel ini digunakan untuk memanajemen prosesproses. yaitu bahwa I/O. Tabel file Tabel ini digunakan untuk menyimpan informasi mengenai file-file yang sedang digunakan. dan file dimanajamen untuk memenuhi kebutuhan proses sehingga perlu ada penunjuk bagi proses untuk mengakses mereka dan informasi mengenai kondisi lingkungan seperti konfigurasi perangkat keras. Informasi apa saja yang digunakan untuk mengelola memori virtual.

Hal ini dilakukan Sistem Operasi 35 . 3. Informasi kondisi prosesor Nilai yang tersimpan dalam register prosesor akan disimpan oleh proses dalam PCB. Keseluruhan dari program. Identitas ini menjadi referensi proses tersebut dalam operasi I/O dan komunikasi dengan proses lainnya.3. Identifikasi proses Setiap proses diberi sebuah bilangan penanda identitas yang unik yang dapat menjadi indeks dalam tabel proses. Sederhananya process image ini disimpan dalam blok ruang memori yang kontinu di memori utama ataupun di memori virtual. 3.Politeknik Telkom Sistem Operasi operasi apakah oleh perangkat lunak atau dengan bantuan manusia Struktur Kendali Proses Untuk dapat memanajemen proses sistem operasi minimal harus mengetahui letak dan kondisi dari proses-proses yang ada. Lokasi dari process image ini bervariasi bergantung kepada kebijakan penggunaan memori yang digunakan oleh sistem operasi. yaitu: 1.1 Lokasi Proses Secara umum sebuah proses terdiri dari program atau sekumpulan program yang akan dieksekusi disertai data jika diperlukan. stack. 2. Di dalamnya terdapat tiga kategori informasi. data.2 Atribut Proses Atribut-atribut proses yang dibutuhkan untuk mengatur jalannya proses seperti sudah disebutkan sebelumnya disimpan di dalam process control block.3. dan process control block ini dapat disebut sebagai process image. Selain itu terdapat juga struktur data stack yang digunakan untuk mengatur pemanggilan prosedur dan pertukaran parameter antar prosedur dan beberapa atribut yang disebut sebagai process control block.

Langkah-langkah itu antara lain: 36 Sistem Operasi . menjalankan instruksi-instruksi yang berhubungan dengan manajemen memori. Sebagai tambahan ada beberapa bagian dari memori yang hanya dapat diakses oleh proses yang berjalan pada mode khusus dengan hak istimewa. Pembuatan Proses Pada saat sebuah proses baru lahir sistem operasi akan melakukan beberapa langkah untuk menjamin proses baru tersebut dapat berjalan dengan baik dan dapat diatur termasuk menyediakan sumber daya komputer seperti memori dan file-file yang dibutuhkan oleh proses tersebut.Politeknik Telkom Sistem Operasi agar ketika proses diinterupsi dari prosesor data yang sedang diproses dalam register tidak hilang tergantikan oleh data proses yang lain. Pada saat proses ini kembali dieksekusi isi regsiter akan dikembalikan ke register prosesor. Informasi kendali proses ini adalah informasi tambahan yang dibutuhkan oleh sistem operasi untuk mengendalikan dan mengkoordinasi beberapa proses yang aktif.4 Kendali Proses Mode Eksekusi Kebanyakan prosesor yang dibuat saat ini mendukung dua mode eksekusi. 3. Bagaimana sistem operasi dapat mengetahui bahwa suatu bagian dari proses harus dieksekusi dalam mode tertentu? Biasanya hal ini dilakukan dengan menambahkan informasi khusus dalam bagiaan program yang disebut sebagai program status word yang menentukan mode eksekusi dari program. Beberapa hal hanya boleh dilakukan oleh sistem operasi pada mode kernel seperti: menjalankan instruksi-instruksi I/O primitif. Pembedaan mode ini dilakukan untuk membatasi hak akses proses-proses milik user agar tidak mengganggu jalannya seluruh sistem komputer. yaitu mode user dan mode kernel atau mode sistem.

Membuat atau mengembangkan struktur data yang lain seperti membuat file audit terhadap proses agar dapat digunakan untuk penagihan atau pengukuran kinerja Pergantian Proses Pergantian eksekusi satu proses ke proses lainnya tampaknya merupakan sesuatu yang tidak rumit.Politeknik Telkom Sistem Operasi 1. Memberikan identitas unik kepada proses baru tersebut 2. Terakhir adalah apa yang harus dilakukan oleh sistem operasi terhadap berbagai struktur data yang ada untuk menyelesaikan pergantian proses. 3. Mengalokasikan ruangan memori untuk proses tersebut 3. Sistem Operasi 37 .1 Kapan Mengganti Eksekusi Proses Ada beberapa hal yang dapat menjadi pemicu terjadinya pergantian eksekusi proses di prosesor. Menginisialisasi proses control block 4. dsb. Tetapi ada beberapa maslaah disain yang ditimbulkan. Mengkonfigurasi tautan-tautan tertentu terhadap proses seperti penempatan pada antrian.4. 5. Pada waktu tertentu proses yang sedang dieksekusi mendapat interupsi dan sistem operasi memberikan status running pada proses lain dan mengalihkan kendali kepada proses tersebut. Maslaah lainnya yang perlu diperhatikan adalah perbedaan antara pergantian mode dan pergantian proses. di antaranya: 1. Pertama kejadian apa yang memicu ternjadinya pergantian proses. Interrupt: disebabkan oleh suatu kejadian yg berada di luar lingkup eksekusi instruksi dan digunakan untuk memberikan reaksi terhadap kejadian luar secara asinkron.

I/O Interrupt: Sistem operasi menentukan bahwa operasi I/O telah terjadi. Setelah sistem operasi mengeluarkan perintah untuk menjalankan operasi I/O untuk memindahkan blok data tersebut proses yang membutuhkan data tersebut diubah statusnya menjadi blocked. Supervisor call: disebabkan oleh permintaan suatu pihak secara eksplisit kepada sistem operasi dan digunakan untuk memanggil fungsi yang disediakan oleh sistem operasi. 3. Jika operasi I/O tersebut merupakan operasi yang ditunggu oleh satu atau beberapa proses maka sistem operasi akan memindahkan semua proses yang diblok yang berkepentingan dengan operasi I/O tersebut ke kondisi ready. 2. Proses tersebut harus dihentikan eksekusinya dan digantikan dengan proses lainya. Contoh dari berbagai interrupt yang ada: 1.Politeknik Telkom Sistem Operasi 2. Setelah blok data yang diinginkan berada di memori utama proses tersebut dikembalikan ke kondisi ready. 3. Clock Interrupt: Sistem operasi menentukan bahwa proses yang sedang dieksekusi telah memenuhi batas maksimum waktu eksekusi yang diperbolehkan yang dikenal sebagai time slice. Trap: disebabkan oleh kejadian yang berhubungan dengan eksekusi intruksi dan digunakan untuk menangani eror atau eksepsi tertentu. Sistem operasi harus memindahkan blok dari memori virtual yang mengandung data tersebut ke memori utama. 38 Sistem Operasi . Memory Fault: Prosesor menemui sebuah alamat memori virtual yang menunjuk pada data yang tidak ada di memori utama.

3. 4.2 Pergantian Mode Interrupt stage merupakan bagian dari siklus eksekusi instruksi. Jika tidak ada sinyal interupsi maka prosesor akan mengambil instruksi berikutnya namun jika terdapat sinyal interupsi maka prosesor akan melakukan hal sebagai berikut: 1. Pilih proses lain untuk eksekusi dan perbarui PCB proses yang akan dieksekusi termasuk kondisinya menjadi running. atau Ready/Suspend). Pindahkan PCB proses ke antrian yang tepat (Ready. Sistem Operasi 39 .4. Prosesor mengubah nilai program counter menunjuk ke alamat awal dari program yang menangani interrupt (interrupt handler) 2. Prosesor mengubah dari mode user menjadi mode kernel sehingga program yang menangani interrupt dapat mengeksekusi instruksi yang membutuhkan hak khusus.3 Perubahan Kondisi Proses Perubahan state atau kondisi proses berbeda dengan perubahan mode eksekusi proses. 3.4. Sebuah perubahan mode dapat terjadi tanpa perubahan kondisi proses yang sedang berada dalam keadaan running sedangkan ketika terjadi perubahan kondisi proses maka sistem operasi harus melakukan perubahan pada lingkungannya dengan tahaptahap sebagai berikut: 1. Pada tahap tersebut prosesor memeriksa ada tidaknya interrupt yang diindikasikan melalui adanya sinyal interupsi.Politeknik Telkom Sistem Operasi 3. Perbarui PCB dari proses yang dalam kondisi running. Blocked on Event. Simpan konteks dari prosesor termasuk program counter dan register lainnya 2.

yaitu: 3. Kembalikan konteks prosesor ke bagian terakhir ketika proses dipindahkan dari kondisi running dengan memasukkan nilai-nilai program counter dan register lainnya Proses dan Thread Ada dua hal mengenai proses yang menjadi fokus sistem. dll) yang dilindungi oleh sistem operasi dari interferensi yang tidak diinginkan oleh proses lain. 3. saluran I/O.1 Kepemilikan sumber daya (resource ownership) Masing-masing proses memiliki sumber daya (memory. Perbarui struktur data yang digunakan untuk manajemen memori 6.Politeknik Telkom Sistem Operasi 5. Dua karekteristik di atas ternyata bersifat independen sehingga dapat ditangani secara terpisah oleh sistem operasi. Penanganan pergantian eksekusi proses oleh sistem operasi berkaitan melibatkan satuan terkecil bagian yang dapat dipergantikan yang disebut thread atau lightweight process sedangkan penanganan kepemilikan sumber daya berkaitan dengan proses. 40 Sistem Operasi .1. berkas.1.2 Penjadwalan/eksekusi Banyak proses dapat dieksekusi secara bergantian sehingga proses memiliki atribut kondisi eksekusi dan prioritas eksekusi yang menentukan penjadwalan eksekusi proses-proses tersebut.

Politeknik Telkom

Sistem Operasi

Multithreading Multithreading adalah kemampuan sistem operasi untuk mendukung adanya beberapa thread di dalam sebuah proses Sistem operasi terdahulu seperti MS DOS tidak mengenal konsep multiproses maupun multithread sehingga hanya dapat menjalankan satu proses dan setiap proses adalah sebuah thread. Sistem operasi yang lebih maju seperti UNIX mendukung adanya beberapa proses yang berjalan bersamaan tetapi setiap proses tetap dianggap sebagai sebuah thread. Java Runtime Environment adalah contoh sebuah sistem dengan proses yang dapat memiliki beberapa thread. Sistem operasi modern seperti Microsoft Windows, Solaris, Mach, dan Linux telah mendukung konsep multiproses sekaligus multithread di mana ada beberapa proses yang dapat (seakan-akan) berjalan bersamaan dan setiap proses dapat terbagi menjadi beberapa thread. Pada sebuah lingkungan multithread sebuah proses didefinisikan sebagai satuan alokasi sumber daya dan satuan pengamanan. Perbandingan antara singlethread process dan proses dengan multithreaded process dapat dilihat pada gambar. Semua thread dalam sebuah proses berada dalam alamat ruang (address space) yang sama dan memiliki hak yang sama untuk mengakses sumber daya proses

Sistem Operasi

41

Politeknik Telkom

Sistem Operasi

Gambar 3-6 Thread

Keuntungan menggunakan thread dibandingkan proses: 1. membuat thread baru lebih cepat daripada membuat proses baru 2. menghentikan thread lebih cepat daripada menghentikan proses 3. waktu untuk pergantian thread lebih cepat dibandingkan pergantian proses 4. komunikasi antar thread lebih cepat karena berada dalam satu proses sehingga tidak memerlukan intervensi dari kernel Contoh penggunaan multithreading pada sistem single-user multiprocessing: 1. Pekerjaan foreground dan background Input dapat dilakukan melalui thread foreground dan pemrosesan input dilakukan dengan thread background sehingga aplikasi menjadi lebih responsif 2. Pemrosesan asinkron Tugas-tugas asinkron dapat diimplementasikan sebagai thread. Contoh: sebuah thread yang bertugas
42 Sistem Operasi

Politeknik Telkom

Sistem Operasi

melakukan penulisan data dari RAM ke storage sebagai background proses 3. Mempercepat eksekusi Proses dengan multithread dapat menghitung sekumpulan data sembari mengambil data dari peralatan dan pada lingkungan multi processor beberapa thread dapat dijalankan berbarengan pada processor yang berbeda. Selain itu membuat program yang menggunakan thread terpisah untuk melakukan Remote Procedure Call akan meningkatkan kecepatan program secara substansial 4. Struktur program modular Mempermudah implementasi dan desain program dengan berbagai input dan output berbeda Empat operasi terhadap thread berdasarkan status thread: 1. Spawn Pembuatan proses meliputi pembuatan thread proses tersebut dan thread tersebut dapat pula membuat thread baru di dalam thread yang sama. 2. Block Ketika thread dihentikan sementara karena menunggu suatu peristiwa (event) processor akan mengeksekusi thread lain yang siap dalam antrian. 3. Unblock Thread yang telah mendapatkan event yang diperlukan untuk melanjutkan tugasnya akan dikembalikan ke dalam antrian thread yang siap. 4. Finish Register dan stack dari thread akan didealokasikan begitu thread selesai Pada processor tunggal, multiprogramming memungkinkan eksekusi secara bergantian beberapa thread ketika suatu thread menunggu event atau jatah waktu eksekusinya telah habis.

Sistem Operasi

43

Politeknik Telkom

Sistem Operasi

Salah satu isu yang penting dalam multithreading adalah sinkronisasi aktivitas antar thread sehingga aktivitas suatu thread tidak menyebabkan gangguan bagi thread lainnya. Masalah apakah blocking salah satu thread akan menghambat eksekusi seluruh thread dalam proses yang sama menjadi bahasan dalam user-level thread dan kernellevel thread. Terminasi dan penahanan proses akan mempengaruhi seluruh thread dalam proses karena mereka berbagi alamat memori yang sama 3.4.4 User Level Thread User-level thread adalah konsep sedemikian sehingga kernel tidak menyadari adanya thread karena manajemen thread dilakukan di tingkat aplikasi dengan menggunakan pustaka thread yang berisi rutin untuk memanajemen thread

44

Sistem Operasi

Politeknik Telkom

Sistem Operasi

Keuntungan menggunakan user-level thread: 1. Penggantian thread yang dieksekusi tidak membutuhkan hak istimewa kernel karena struktur data untuk manajemen thread ada pada memori proses. 2. Memungkinkan implementasi alogritma penjadwalan thread yang berbeda-beda untuk aplikasi tertentu tanpa mengubah kernel. Aplikasi tertentu membutuhkan penjadwalan tertentu (round robin, skala prioritas, dll) untuk bekerja secara optimal. 3. Dapat diaplikasikan pada semua sistem operasi karena tidak menyentuh level kernel Kekurangan penggunaan user-level thread: 4. Kebanyakan sistem operasi melakukan blocking pada saat system call dilakukan yang menyebabkan proses (dan seluruh thread di dalamnya) diblok. 5. Multiprocessing tidak dapat diambil manfaatnya karena kernel menugaskan satu processor hanya untuk satu proses sehingga hanya satu thread proses yang bisa dijalankan pada satu waktu. Jacketing adalah cara untuk mengakali blocking saat system call yaitu dengan mengubah blocking system call menjadi non-blocking system call. Contohnya pada saat membutuhkan I/O thread tidak memanggil rutin I/O sistem melainkan memanggil rutin jaket I/O level aplikasi dan di dalamnya terdapat kode untuk memeriksa kesiapan peralatan I/O, jika belum siap maka kendali akan dialihkan ke thread yang lain.

Sistem Operasi

45

5 Kernel Level Thread Kernel-level thread merupakan konsep sedemikian sehingga manajemen thread dilakukan oleh kernel dan diakses aplikasi melalui API (Application Programming Interface). Kentungan penggunaan kernel-level thread: 6. 46 Sistem Operasi . Kernel dapat menjadwalkan banyak thread dari satu proses pada banyak processor dan 7.Politeknik Telkom Sistem Operasi 3.4. Jumlah kernellevel thread yang digunakan dapat disesuaikan sesuai kebutuhan oleh programmer. blocking satu thread dalam proses tidak menghalangi thread dari proses yang sama dijadwalkan untuk suatu processor Kekurangan dari kernel-level thread adalah alih kendali dari satu thread ke thread yang lain membutuhkan peralihan ke mode kernel yang menyebabkan overhead waktu yang cukup siginifikan Konsep lainnya adalah menggabungkan kedua konsep di atas sedemikian sehingga user-level thread dari suatu aplikasi dipetakan pada beberapa kernel-level thread.

Sebuah proses adalah sebuah virtual address space dan memiliki sebuah control block . 2. Melibatkan konsep domain dan thread. Thread dapat berpindah-pindah dari satu domain ke domain lainnya. Sistem Operasi 47 . Digunakan pada sistem terdistribusi. yaitu: ▪ Banyak thread dimiliki oleh banyak proses 1. ▪ Satu thread dimiliki oleh banyak proses 1.Politeknik Telkom Sistem Operasi Sebuah proses memiliki satu thread atau banyak thread sudah umum digunakan tetapi relasi antara thread dan proses dapat dikombinasikan menjadi dua macam lagi. 3. 3. Domain adalah entitas statis yang memiliki ruang dan port di mana pesan dapat dikirim dan diterima. status processor. Thread dapat berpindah-pindah dari satu proses ke proses lainnya dalam satu mesin atau berpindah mesin dengan membawa informasiinformasi yang diperlukan. 2. dan informasi penjadwalan. 4. Thread adalah jalur eksekusi tunggal dengan stack eksekusi.

Digunakan untuk menyembunyikan lingkungan terdistribusi dari programmer. Sistem operasi yang baik harus dapat mengatur sumber daya komputer (yang terbatas) sedemikian rupa sehingga aplikasi-aplikasi yang sedang berjalan bersamaan tersebut mendapatkan sumber daya komputer yang mereka butuhkan agar dapat berfungsi dengan benar. detil Rangkuman Proses dalam ruang lingkup sistem operasi dapat dikatakan sebagai sebuah aplikasi/program yang sedang dijalankan.Politeknik Telkom Sistem Operasi 4. Untuk dapat memanajemen proses sistem operasi minimal harus mengetahui letak dan kondisi dari prosesproses yang ada. Manajemen proses adalah salah satu dari fungsi utama dari sistem operasi terutama pada sistem operasi yang mendukung eksekusi banyak aplikasi pada waktu yang bersamaan. Dari sudut pandang prosesor eksekusi sebuah proses berarti mengeksekusi instruksi-instruksi dari proses tersebut berdasarkan urutan tertentu. Urutan eksekusi ini dikendalikan lewat perubahan nilai pada register program counter yang berupa penunjuk ke suatu lokasi yang berisi instruksi dari proses. Soal Latihan 48 Sistem Operasi .

Sistem Operasi 49 . Kapan akan dilakukan penggantian proses 4. Sebutkan contoh nyata dari penggunaan thead di dunia nyata. Hal ini disebabkan nantinya sistem operasi bekerja untuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi. multithreading 2. Apa yang dimaksud thread dan multithread. Buatlah program sederhana untuk membuat thread baik satu thread ataupun multithreading 5. 4 Konkurensi Overview Sebelum memulai mempelajari sistem operasi penting bagi kita untuk mengetahui komponen-komponen yang menjadi bagian dari sebuah sistem komputer disertai cara kerjanya.Politeknik Telkom Sistem Operasi 1. Sebutkan dan jelaskan 2 bagian terpenting dari sebuah proses 3.

Politeknik Telkom

Sistem Operasi

Tujuan

1. Mahasiswa mengetahui komponen-komponen yang membangun sebuah sistem komputer 2. Mahasiswa mengetahui bagaimana komponenkomponen itu bekerja dan saling bekerja sama untuk memenuhi kebutuhan aplikasi dan pengguna akhir

4.1 Pendahuluan
Fitur-fitur utama dari sistem operasi modern yang paling menonjol adalah kemampuan sistem operasi untuk melakukan: 1. Multiprogramming: kemampuan untuk memanajemen banyak proses dengan menggunakan satu prosesor, 2. Multiprocessing: kemampuan untuk memanajemen banyak proses dengan menggunakan banyak prosesor, 3. Distributed Processing (pemrosesan tersebar): kemampuan untuk memanajemen banyak proses yang dieksekusi pada banyak komputer yang tersebar dibeberapa lokasi. Hal mendasar yang perlu diperhatikan ketika menangani banyak proses yang berjalan bersama-sama (konkurensi) adalah masalah-masalah seperti: bagaimana komunikasi antar proses-proses tersebut, membagi pakai dan terjadinya kompetisi untuk sumber daya komputer, sinkronisasi aktivitas proses-proses, dan alokasi prosesor.
50 Sistem Operasi

Politeknik Telkom

Sistem Operasi

4.2 Prinsip-prinsip Konkurensi
Pada komputer yang menjalankan multiprogramming prosesproses dijalankan bergantian dengan cepat oleh prosesor sehinga tampak seolah-olah berjalan bergantian. Ketika hal ini dilakukan timbul beberapa masalah, yaitu: 1. Berbagi pakai sumber daya memiliki resiko tinggi. Contohnya ketika dua buah proses mengakses variabel yang sama dan melakukan operasi penulisan dan pembacaan maka urutan eksekusi pembacaan dan penulisan masing-masing proses menjadi hal yang perlu diperhatikan dan bersifat kritikal. 2. Sulit bagi sistem operasi untuk memanajemen alokasi sumber daya komputer secara optimal. Contohnya jika sebuah proses mengakses suatu file atau I/O kemudian ditunda eksekusinya maka proses lain yang hendak mengakses file atau I/O tersebut akan ditolak hingga proses pertama selesai mengakses file atau I/O tersebut. 3. Sulit untuk melacak kesalahan pada program. Hal ini dikarenakan hasil yang sama tidak determinisitik dan sulit diproduksi ulang. Salah satu masalah yang ditimbulkan dari berbagi pakai sumber daya adalah race condition, yaitu situasi sedemikian sehingga beberapa proses atau thread menulis data di tempat/variabel yang sama sehingga hasil akhir bergantung kepada urutan eksekusi instruksi-instruksi proses-proses tersebut. Sebagai contoh: jika ada dua proses P1 dan P2, berbagai pakai variabel global a. Jika P1 mengubah nilai a menjadi 1 dan kemudian pada suatu ketika P2 mengubah nilai a menjadi 2 maka kedua proses sedang berada dalam kondisi balapan untuk menulis variabel a. Pada contoh ini pihak yang kalah balapan (yang terakhir mengubah nilai variabel a) adalah yang menentukan nilai akhir dari variabel a.
Sistem Operasi 51

Politeknik Telkom

Sistem Operasi

Untuk menangani masalah konkurensi ini sistem operasi perlu memperhatikan hal-hal sebagai berikut: 1. Sistem operasi harus dapat mengetahui jejak dari berbagai proses yang berjalan, Hal ini dapat dilakukan melalui process control block. 2. Sistem operasi harus dapat mengalokasi dan mendealokasi sumber daya komputer untuk setiap proses yang aktif, seperti: a. Prosesor b. Memori c. Berkas-berkas (files) d. Peralatan-peralatan I/O 3. Sistem operasi harus dapat melindungi data dan sumber daya fisik yang sedang dialokasikan untuk setiap proses dari interferensi yang tidak dimaksudkan oleh proses lain. 4. Fungsi dan output dari sebuah proses harus independen terhadap kecepatan eksekusi relatif terhadap kecepatan proses konkuren yang lain. Bab ini akan difokuskan pada poin ke-empat ini. Apa maksud dari pernyataan fungsi dan output dari sebuah proses harus independen terhadap kecepatan eksekusi relatif terhadap kecepatan proses konkuren yang lain? Fungsi sebuah proses dan output yang dihasilkannya sebisa mungkin dijaga untuk tidak terpengaruh oleh kecepatan eksekusi proses tersebut yang dalam sebuah sistem multiproses menjadi tidak tetap bergantung proses-proses lainnya. Proses-proses dalam sistem multiproses dapat saling independen tetapi lebih sering melakukan interaksi. Ada beberapa jenis interaksi yang terjadi antar proses
52 Sistem Operasi

Politeknik Telkom

Sistem Operasi

berdasarkan derajat pengetahuan proses-proses terhadap adanya proses lainnya: 1. Proses-proses tidak saling mengetahui keberadaan proses lain. Proses-proses tersebut dimaksudkan untuk bekerja independen dan tidak dimaksudkan untuk saling bekerja sama. Pada kasus ini meski tidak bekerja sama tetapi sangat mungkin terjadi kompetisi untuk mendapatkan sumber daya kompuer tertentu. 2. Proses-proses saling mengetahui keberadaan proses lain secara tidak langsung. Proses-proses ini tidak mengetahui secara langsung proses lain melalui process ID yang mereka miliki melainkan karena berbagi pakai suatu sumber daya yang sama dan mengetahui bahwa sumber daya tersebut dibagi pakai bersama dengan proses lainnya. 3. Proses-proses saling mengetahui keberadaan proses lain secara langsung. Proses-proses ini saling mengetahui keberadaan proses lain sampai pada tingkat mengetahui process ID proses lainnya. Pada jenis interaksi pertama proses-proses yang berjalan berbarengan mengalami konflik ketika mencoba mengakses sumber daya yang sama pada waktu yang bersamaan. Jika salah satu proses telah mengakses sumber daya tersebut maka proses lain harus menunggu hingga proses tersebut selesai menggunakan sumber daya tersebut sebelum dapat menggunakannya. Hal ini menyebabkan eksekusi proses menjadi tertunda dan bahkan pada beberapa kasus proses lain tidak pernah mendapat kesempatan untuk mengakses sumber daya tersebut dan akhirnya tidak pernah selesai dengan sukses. Untuk mengendalikan proses-proses yang saling berkompetisi setidaknya ada tiga masalah yang dihadapi, yaitu:
Sistem Operasi 53

Politeknik Telkom

Sistem Operasi

1. Mutual exclusion 2. Deadlock 3. Starvation Mutual exclusion adalah konsep sedemikian sehingga hanya satu proses yang boleh mengakses/menggunakan sebuah sumber daya yang tidak bisa dipakai berbarengan (contohnya: printer, kartu jaringan, dll). Instruksi-instruksi yang dieksekusi ketika mengakses sebuah sumber daya disebut sebagai critical section dan sumber daya tersebut dikenal sebagai critical resource. Mutual excluision mengharuskan pada suatu saat hanya ada satu proses yang berada pada kondisi critical section. Penerapan mutual exclusion dapat menyebabkan dua masalah, yaitu deadlock dan starvation. Deadlock adalah kondisi sedemikian sehingga beberapa proses tidak berjalan karena masing-masing sedang mengakses suatu sumber daya dan untuk menyelesaikan eksekusi critical section masingmasing harus mengakses critical resource yang sedang diakses proses lainnya. Misalkan proses P1 dan P2 membutuhkan sumberdaya R1 dan R2 untuk menyelesaikan critical section masing-masing. Seandainya P1 sedang mengakses R1 dan P2 sedang mengakses R2 maka P1 tidak dapat mengakses R2 dan sebaliknya P2 juga tidak dapat mengakses R1. Saat inilah kedua proses tidak dapat melanjutkan proses eksekusi dan deadlock terjadi. Starvation (kelaparan) adalah kondisi sedemikan sehingga sebuah proses terus menerus gagal mendapatkan akses suatu sumber daya dikarenakan proses-proses lain terus menggunakan sumber daya tersebut 4.2.1 Persayaratan untuk mutual exclusion Untuk menerapkan mutual exclusion sebuah sistem harus memenuhi kebutuhan-kebutuhan sebagai berikut: 1. Mutual exclusion harus dapat dipaksakan

54

Sistem Operasi

3 Interrupt Disabling Apabila sebuah proses yang memasuki critical section dapat diinterupsi eksekusinya maka mutual exclusion menjadi tidak terjamin penerapannya. Sebuah proses dapat memaksakan mutual exclusion dengan cara seperti di bawah ini: while (true) { /* matikan interupsi */. Tidak asumsi yang dibuat mengenai kecepatan proses dan jumlah prosesor Sebuah proses berada dalam critical section untuk waktu yang terbatas. Proses yang berhenti sementara pada bagian non critical harus dapat berhenti tanpa mengganggu proses yang lain 3.2 Dukungan Perangkat Keras untuk Mewujudkan Mutual Exclusion 4.Politeknik Telkom Sistem Operasi 2. Sistem Operasi 55 .2. Kemampuan untuk mencegah suatu proses diinterupsi di tengah critical section proses tersebut dapat diwujudkan dalam bentuk rutin-rutin dasar/primitif yang disediakan di dalam kernal yang berguna untuk mematikan dan menyalakan kembali fasilitas interupsi. Tidak boleh terjadi sebuah proses tertahan dari memasuki critical section dalam waktu yang tidak pasti: tidak boleh ada deadlock dan starvation 4. 4. Ketika tidak ada proses yang memasuki critical section pada suatu critical resource maka proses lain yang hendak memasuki cirtical sectionnya harus diizinkan mengakses critical resource tersebut tanpa waktu tunda 5. /* masuk ke non-critical section */. /* nyalakan interupsi */.2. /* masuk ke critical section */.

56 Sistem Operasi . 4. Instruksi exchange 4. Dikarenakan critical section tidak dapat diinterupsi maka mutual exclusion menjadi terjamin penerapannya.2. Dengan menggunakan kondisi ini para disainer prosesor mencoba untuk mengaplikasikan mutual exclusion melalui instruksi mesin yang dalam satu putaran melakukan dua pekerjaan yang bersifat atomik seperti reading dan writing. atau reading dan testing. Dua bentuk instruksi yang diimplementasi antara lain: 1. Instruksi test and set 2.4 Instruksi-instruksi Mesin Khusus Interrupt disabling tidak dapat digunakan pada mesin dengan banyak prosesor dikarenakan tidak ada mekanisme untuk melakukan interupsi antar prosesor. Cara ini memiliki biaya yang mahal dikarenakan akan membatasi fleksibilitas prosesor dalam mengubah proses yang dieksekusi. Pada lingkungan seperti ini yang mengkaitkan prosesor satu dan lainnya adalah mereka sama-sama mengakses satu main memory yang sama dan pada tingkatan perangkat keras akses ke lokasi tertentu main memory berarti menghalangi prosesor lain mengakses lokasi yang sama. return true.2.Politeknik Telkom Sistem Operasi } Sebelum proses memasuki critical section proses memanggil rutin primitif untuk mematikan fasilitas interupsi dan proses memanggil rutin untuk mengembalikan fungsi interupsi.5 Instruksi Test and Set Instruksi test and set dapat didefinisikan seperti di bawah ini: boolean testset (int i) { if(i==0) { i=1. Selain itu solusi ini tidak bekerja pada lingkungan multiprosesor di mana beberapa proses dapat dijalankan bersamaan masing-masing dengan prosesor yang berbeda.

Politeknik Telkom } else { return false. } } Sistem Operasi Instruksi ini memeriksa apakah parameter i bernilai. void P(int i) { while(true) { while(!testset(bolt)) /*diam*/ /*critical section*/ /*lain-lain*/ } Sistem Operasi /*program:mutualexclusion*/ const int n=/*jumlah proses*/ int bolt. …. bolt). Bussy waiting adalah suatu teknik sedemikian sehingga proses tidak dapat memasuki critical section dan terusmenerus memeriksa kondisi tertentu yang membolehkan proses tersebut memasuki critical section. Tabel di bawah memperlihatkan bagaimana mutual exclusion dapat diimplementasi melalui mekanisme instruksi ini. Proses lainnya akan tertahan dari memasuki critical section dan mengalami bussy waiting atau spin waiting. /*program:mutualexclusion*/ const int n=/*jumlah proses*/ int bolt. Pn. while(true) { do exchange (keyi. Prosedur parBegin(P1. Proses yang dapat memasuki critical section hanyalah proses yang mendapati bahwa nilai bolt adalah 0. void P(int i) { int keyi=1.P2. Sebuah variabel yang dibagi pakai bernama bolt diinisialisasi bernilai 0. Setelah proses keluar dari critical section proses tersebut akan mengubah nilai bolt kembali menjadi 0. …. Pn) sendiri bekerja dengan cara sebagai berikut: tahan (suspend) ekseskusi dari program utama (main program) kemudian siapkan/inisiasi eksekusi secara konkuren prosedur P1. 57 . bolt). Jika prosedurprosedur tersebut telah selesai lanjutkan kembali program utama. Jika i bernilai 0 maka instruksi ini akan mengganti nilainya menjadi 1 dan mengembalikan nilai boolean true. while(key!=0) /*critical section*/ exchange(keyi. P2. Sebaliknya jika bernilai 1 maka instruksi ini akan mengembalikan nilai false.

memory=register.2.2.P(2). 4. temp=memory. P(n)).P(2). Prosedur parBegin dan variabel bolt pada instruksi ini memiliki fungsi yang sama dengan pasangannya di instruksi set and test sedangkan variabel baru keyi ditetapkan di awal bernilai 1. …. Proses boleh memasuki critical section hanya jika mendapati nilai bolt adalah 0 dengan cara menukar nilai keyi dengan bolt dan memeriksa apakah nilai keyi adalah 1. P(n)). } Sistem Operasi /*lain-lain*/ } } void main() { bolt=0. ….7 Sifat-sifat Pendekatan Instruksi Mesin Keuntungannya: 1. int memory) { int temp. Tabel 4-1 memperlihatkan bagaimana mutual exclusion dapat diimplementasi dengan instruksi ini. Setelah proses meninggalkan critical section proses akan menukarkan kembali nilai bolt menjadi 0. parBegin(P(1). register=temp.Politeknik Telkom } void main() { bolt=0. } Instruksi Test and Set Tabel 4-2 Mutual exclusion dengan dukungan perangkat keras Instruksi Exchange 4. parBegin(P(1).6 Instruksi Exchange Instruksi exchange dapat didefinisikan seperti di bawah ini: void exchange (int register. } Instruksi ini menukar nilai dalam sebuah register (lokasi memori dalam prosesor) dengan nilai dalam sebuah lokasi memori. dapat digunakan pada lingkungan satu (uni) atau banyak (multi) prosesor yang berbagi pakai main memory 58 Sistem Operasi .

3. Terdapat busy waiting yang menghabiskan waktu prosesor 2. Dijkstra menekankan pada disain dari sistem operasi sebagai sekumpulan proses berurutan yang saling bekeja sama dan dengan pengembangan dari mekanismemekanisme kerja sama yang efisien dan dapat diandalkan. Dapat mendukung beberapa critical section dengan menggunakan variabel tersendiri untuk setiap critical section Kerugiannya: 1. Monitor. Sederhana dan mudah dipastikan 3. Mekanisme-mekanisme tersebut dapat digunakan oleh proses dari user jika prosesor dan sistem operasi dapat menyediakan mereka untuk digunakan. Sistem operasi dan bahasa pemrograman dapat menyediakan mekanisme untuk mewujudkan mutual exclusion. Memungkinkan terjadinya deadlock 4. Semaphore.1 Semaphore William Stalling dalam bukunya. Operating Systems Internal Design and Principles. menyebutkan kemajuan besar yang pertama dalam menangani masalah-maslah yang timbul akibat proses-proses yang konkuren terjadi di tahun 1965 oleh Dijkstra.Politeknik Telkom Sistem Operasi 2. Sistem Operasi 59 . 2. Message passing 4. 3.3 Fasilitas Perangkat Lunak untuk Mewujudkan Mutual Exclusion Melihat kekurangan dari pendekatan instruksi mesin pendekatan alternatif dirasa perlu. dan 3. Memungkinkan terjadinya starvation. Beberapa di antaranya adalah: 1.

Sebaliknya jika nilainya masih positif proses dapat dilanjutkan. yaitu: 1. Jika ternyata setelah memanggil semWait(s) sinyal yang ditunggu tidak tersedia maka proses tersebut akan ditahan hingga sinyal yang ditunggu dikirimkan. Jika nilainya telah negatif maka proses yang memanggil semWait tersebut akan di blok. Selain ketiga operasi di atas tidak boleh ada lagi cara untuk memeriksa dan mengubah nilai semaphore. Bentuk dari semphore yang lebih ketat adalah binary semaphore atau mutex yang hanya mengizinkan nilai 0 dan 1 bagi semaphore. Kebutuhan untuk koordinasi kompleks apapun dapat dipenuhi dengan struktur sinyal-sinyal yang tepat. 60 Sistem Operasi . Jika nilanya kurang atau sama dengan nol maka proses yang diblok oleh operasi semWait akan dilepaskan dari status diblok. sedemikian sehingga sebuah proses dapat dipaksa berhenti pada tahap tertentu hingga menerima sinyal tertentu. Binary semaphore dapat diinisialisasikan dengan nilai 0 atau 1.Politeknik Telkom Sistem Operasi Prinsip dasarnya adalah: bawhwa dua atau lebih proses dapat bekerja sama dengan menggunakan sinyal-sinyal sederhana. 3. Operasi semSignal menaikkan nilai semaphore. Operasi-operasinya adlah sebagai berikut: 1. Untuk mengirim sinyal melalui semaphore s sebuah proses memanggil rutin primitif semSignal(s) dan untuk menerima sinyal melalui semaphore s. Untuk mengirimkan sinyal dibutuhkan variabel-variabel spesial yang disebut sebagai semaphore. 2. Operasi semWait akan mengurangi nilai semaphore. Semaphore dapat dilihat sebagai sebuah variabel bertipe integer yang kepadanya dapat dilakukan tiga operasi. Sebuah semaphore dapat diinisialisasikan sehingga bernilai bilangan non negatif. sebuah proses memanggil rutin primitif semWait(s).

Jika nilainya satu maka nilainya diubah menjadi nol dan proses melanjutkan eksekusi. Semaphore yang mendefinisikan kebijakan melepas proses dari antrian dikenal sebagai strong semaphore sedangkan yang tidak mendefinisikannya disebut sebagai weak semaphore. 3. Juka ada maka proses yang telah diblok oleh operasi semWaitB akan dilepaskan dari status diblok dan nilai dari semaphore diubah menjadi satu. Operasi semWaitB memeriksa nilai semaphore. Urutan kejadian pada gambar dapat dijelaskan sebagai berikut: Sistem Operasi 61 . Bentuk semaphore yang pertama sering pula disebut sebagai counting semaphore atau general semaphore. dan D dengan keterhubungan sedemikan sehingga proses A. Operasi semSignalB memeriksa apakah ada proses yang diblok pada semaphore ini. Kebijakan yang digunakan untuk mengeluarkan proses dari antrian proses yang diblok pada semaphore dapat bermacammacam bentuknya. B. Bentuk yang paling adil adalah First In First Out (FIFO). dan C bergantung pada hasil yang dikeluarkan proses D. C. B.Politeknik Telkom Sistem Operasi 2. Proses yang paling lama diblok adalah yang keluar paling awal. Contoh dari mekanisme semaphore dapat dilihat pada gambar 4-1 dengan kondisi awal terdapat proses A.

mengeluarkan hasil baru dan memanggil instruksi semSignal sehingga nilai semaphore menjadi -2 dan proses C keluar dari antrian blocked masuk ke antrian ready. Proses D kembali dijalankan. Ketika proses D dieksekusi dan mengeluarkan hasil yang baru instruksi semSignal dipanggil oleh proses D yang memungkinkan proses B yang diblok untuk masuk ke kondisi ready di antrian ready. Semaphore bernilai 1 menandakan salah satu hasil yang dikeluarkan proses D telah tersedia. Ketika dieksekusi proses C akan mendapatkan hasil yang dikeluarkan oleh proses D.Politeknik Telkom Sistem Operasi 1. 7. Pada tahap ini akhirnya nilai semaphore menjadi -3. C. 3. Selanjutnya proses A dan B juga mengalami hal yang sama dengan proses C. Ketika A memanggil instruksi semWait pada semaphore s nilai s akan dikurangi menjadi 0 dan A dapat melanjutkan ke langkah selanjutnya dan kemudain bergabung pada antrian ready. 6. Pada putaran berikutanya proses D akan melepaskan proses A dan B dari antrian blocked 62 Sistem Operasi . Proses D yang telah selesai langsung bergabung pada antrian ready dan proses C dieksekusi. dan D dalam kondisi ready. Dikarenakan nilai semaphore s menjadi -1 maka proses B akan diblok dan memasuki antrian blocked. B kemudian dieksekusi dan memanggil instruksi semWait. Proses C yang memanggil instruksi semWait kemudian diblok dan masuk ke antrian blocked dan nilai semaphore menjadi -1 (tidak tampak di gambar). Awalnya A sedang berjalan. 5. 4. B. 2.

Strong semaphore menjamin terbebas dari starvation sedangkan weak semaphore tidak.Politeknik Telkom Sistem Operasi dan masing-masing akan mendapatkan hasil dari proses D seperti halnya proses C. Pada umumnya sistem operasi menyediakan fasilitas untuk strong semaphore. Sistem Operasi 63 .

Politeknik Telkom Sistem Operasi Proses or A 1 Blocked queue 2 Blocked queue 3 Blocked queue 4 Blocked queue s=1 C D B Semaphor e Proses or B s=0 Ready queue A C D Semaphor e Proses or D B s=-1 Ready queue A C Semaphor e Proses or D s=0 Ready queue B A C Semaphor e Proses or C s=0 Ready queue 5 Blocked queue D B A Semaphor e Proses or D A C s=-3 Ready queue 6 B Blocked queue 7 Blocked queue 64 Semaphor e Proses or D B A s=-2 Ready queue C Semaphor e Ready queue Sistem Operasi .

Proses lain yang hendak mengakses pada waktu yang bersamaan harus menunggu proses pertama selesai. Monitor dengan signal 2. Pada satu saat hanya ada satu proses yang bisa menggunakan prosedur di dalam monitor. Sebagai contoh jika ada sebuah proses yang memanggil prosedur dalam monitor dan ketika berada di dalamnya harus diblok untuk menunggu suatu kejadian atau kondisi tertentu terpenuhi maka diperlukan sebuah fasilitas yang memungkinkan proses tersebut tidak hanya diblok tetapi juga melepas akses terhadap monitor sehinga proses lain dapat menggunakan monitor tersebut. Monitor memiliki karakteristik sebagai berikut: 1. urutan inisialisasi. Monitor sendiri memiliki beberapa alternative implementasi seperti: 1. Sebuah proses memasuki monitor dengan memanggil salah satu prosedur di dalam monitor tersebut. Data lokal hanya bisa diakses oleh prosedur yang ada di dalam monitor. Setelah kondisi terpenuhi dan monitor kembali tersedia proses tadi dapat kembali berjalan pada posisi sebelum ia diblok.Politeknik Telkom Sistem Operasi Monitor diajukan sebagai solusi dari masalah yang dimiliki semaphore. Monitor sendiri adalah sebuah modul program yang memiliki satu atau beberapa prosedur. Untuk melindungi struktur data yang dibagi pakai bersama data tersebut dapat diletakkan di dalam monitor. Monitor dengan notify dan broadcast Sistem Operasi 65 . 2. 3. Untuk dapat digunakan dalam lingkungan yang konkuren monitor harus menyediakan fasilitas sinkronisasi bagi prosesproses yang menggunakannya. dan data lokal.

Proses boleh melanjutkan eksekusi 66 Sistem Operasi .2 Message Passing Message passing adalah sebuah teknik untuk melakukan sinkronisasi dan komunikasi antara proses-proses yang salin berinteraksi. Receive(sumber. Proses pengirim diblok hingga pesan diterima. Format pesan: menentukan bagaimana pesan dibentuk dan informasi apa saja yang terdapat di dalam pesan termasuk pesan-pesan pada sistem tersebar 4. pesan) Sebuah proses mengirim informasi kepada proses lain melalui pemanggilan prosedur send sedangkan proses menerima informasi melalui pemanggilan prosedur receive. Message passing dapat diimplementasikan dengan beberapa cara namun yang dibahas kali ini adalah dengan menggunakan sepasang prosedur primitive yaitu: 1. 2. Aturan antrian: menentukan bagaimana antrian pesan yang datang maupun dikirim diproses oleh proses tujuan atau sumber.3. Ada beberapa persoalan yang berkenaan dengan disain teknik message passing ini. Send (tujuan. Sinkronisasi: proses tidak dapat menerima pesan sebelum pesan tersebut dikirimkan oleh proses lain. pesan) 2. atau 2. Pengalamatan: menentukan cara mengalamati sebuah proses. yaitu melalui direct addressing dan indirect addressing. 4. antara lain: 1.Politeknik Telkom Sistem Operasi 4.3.3 Sinkronisasi Ketika suatu proses mengirimkan pesan dengan memanggil prosedur send ada dua kemungkinan yang dapat terjadi: 1. 3.

4 Pengalamatan (Addressing) Pada direct addressing prosedur send memerlukan penanda/identitas dari proses yang menjadi tujuan pesan sedangkan prosedur receive akan menangani dua kemungkinan: 1. blocking receive 2. Non blocking receive menyelesaikan masalah ini namun sisi buruknya adalah pesan dapat hilang ketika prosedur receive dipanggil sebelum pesan sampai.3. Nonblocking send. Berdasarkan empat kondisi yang telah disebutkan dapat dibuat tiga kombinasi kondisi yang umum digunakan pada sebuah sistem yaitu: 1. Nonblocking send. blocking receive 3. nonblocking receive Proses dengan nonblocking send memiliki kelebihan proses dapat terus berlanjut tanpa menunggu adanya konfirmasi bahwa pesan telah diterima namun di sisi lain jika proses mengalami kesalahan dan terus menerus mengirimkan pesan maka sumber daya komputer dapat terkuras oleh proses tersebut. 4. Prosedur receive memerlukan identitas proses yang akan mengirimkan pesan. Selain itu pemrogram aplikasi juga harus membuat sendiri mekanisme untuk menentukan apakah pesan sudah diterima atau belum. Pada prosedur primitive receive versi blocking proses yang meminta pesan akan menunggu hingga pesan yang dimaksud diterima. Cara ini Sistem Operasi 67 . Blocking send. Saat pesan tidak juga diterima proses dapat menunggu terus tanpa kepastian.Politeknik Telkom Sistem Operasi Hal yang sama juga terjadi pada proses menerima pesandengan memanggil prosedur receive. Proses dapat diblok menunggu adanya pesan yang datang atau proses melanjutkan eksekusinya sekalipun pesan belum datang. Konsekuensinya proses yang memanggil receive perlu mengetahui identitas dari proses yang akan mengirimkan pesan.

Banyak pengirim ke banyak penerima Yang menjadi persoalan adalah kepemilikan mailbox tempat menyimpan pesan. Proses yang menerima pesan tidak dapat menentukan proses mana yang menjadi sumber pesan. Pada metode indirect addressing pesan tidak langsung dikirimkan kepada proses tujuan melainkan disimpan terlebih dahulu pada penyimpanan sementara (mailbox). Terdapat empat jenis komunikasi dengan metode indirect ini bergantung kepada banyaknya proses pengirim dan penerima. 68 Sistem Operasi . Proses tersebut menerima pesan dari proses-proses lain yang memerlukan layanan printer. Cara ini dipandang lebih baik karena ketergantungan antar proses menjadi lebih rendah dan komunikasi dapat menjadi lebih fleksibel. Satu pengiri ke satu penerima 2. Contohnya pada proses yang menangani printer. Banyak pengirim ke satu penerima 3. Cara lain adlah sistem operasi menyediakan layanan mailbox dan mailbox dapat dipesan oleh proses tertentu. Satu pengirim ke banyak penerima 4. 2. Pada kasus seperti ini lebih tepat jika menggunakan indirect addressing.Politeknik Telkom Sistem Operasi efektif untuk mengendalikan dua proses konkuren yang saling bekerja sama. Mailbox bisa dimiliki oleh proses penerima pesan dan ketika proses mati begitu juga mailbox akan dihapus. yaitu: 1. Pada cara ke-dua mailbox dapat dipandang dimiliki oleh proses yang memintanya dan akan dihilangkan ketika proses tersebut selesai atau tetap dimiliki oleh sistem operasi penghapusan nantinya dilakukan oleh sistem operasi.

3. Sistem Operasi 69 . Pendekatan yang lebih fleksibel adalah menggunakan pesan yang panjangnya tidak tetap. Pesan dapat memiliki panjang tetap untuk memperkecil overhead (pemrosesan tambahan seperti: menelusuri pesan untuk mencari ujung dari sebuah pesan) atau jika berukuran besar dapat disimpan dalam sebuah file. Alternatifnya ialah dengan menyediakan fasilitas prioritas pada pesan atau membolehkan penerima pesan memeriksa antrian untuk mengambil pesan.5 Format Pesan Format pesan amat bergantung pada fasilitas pertukaran pesan dan jumlah komputer yang terlibat dalam pertukaran pesan. 4.6 Aturan Antrian Aturan antrian yang paling sederhana adalah FIFO (first in first out) tetapi mungkin tidak cukup jika terdapat beberapa pesan yang penting dan perlu untuk segera disampaikan dibandingkan pesan-pesan lainnya.3. Pesan dapat dibagi menjadi bagian kepala (header) yang berisi informasi tentang pesan dan badan (body) tempat menampung isi pesan sebenarnya.Politeknik Telkom Sistem Operasi 4.

Pada komputer yang menjalankan multiprogramming prosesproses dijalankan bergantian dengan cepat oleh prosesor sehinga tampak seolah-olah berjalan bergantian. multiprosesing dan distributed prosesing. sinkronisasi aktivitas proses-proses.Politeknik Telkom Sistem Operasi Rangkuman Hal mendasar yang perlu diperhatikan ketika menangani banyak proses yang berjalan bersama-sama (konkurensi) adalah masalah-masalah seperti: bagaimana komunikasi antar proses-proses tersebut. Apa yang harus diperhatikan dalam hal konkurensi 2. Fitur-fitur utama dari sistem operasi modern yang paling menonjol adalah kemampuan sistem operasi untuk melakukan Multiprogramming. Soal Latihan 1. message passing dalam hal konkurensi 4. 70 Sistem Operasi . dan alokasi prosesor. Apa yang dimaksud dengan semaphore. membagi pakai dan terjadinya kompetisi untuk sumber daya komputer. Sebutkan menurut yang anda ketahui tentang algoritma antrian. Apa yang dimaksud dengan konkurensi dan sebutkan contoh dari konkurensi 3. sinkronisasi. Jelaskan persyaratan untuk mutual exclusion 5.

Politeknik Telkom Sistem Operasi 5 Penjadwalan Overview Sebelum memulai mempelajari sistem operasi penting bagi kita untuk mengetahui komponen-komponen yang menjadi bagian dari sebuah sistem komputer disertai cara kerjanya. Tujuan 1. Mahasiswa mengetahui Sistem Operasi komponen-komponen yang 71 . Hal ini disebabkan nantinya sistem operasi bekerja untuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi.

Apakah masih akan menerima program baru client untuk masuk ke pool process? Ini disebut long-term scheduling. Tujuan dari penjadwalan Prosesor adalah untuk memberikan prosesor pada setiap process sepanjang waktu sedemikian hingga memenuhi tujuan sistem : rata-rata response time yang cepat. 5. yang mana yang akan dijalankan oleh Prosesor? Ini disebut short-term scheduling. program akan dijalankan bergantian. Dari process-process yang menunda permintaan IO yang mana yang akan ditangani oleh piranti IO yang tersedia? Ini disebut I/O scheduling. Dari program-program yang ada di memori utama. New Long term Read y/ suspe nd Blocke d/ suspen d Long term Medium Read term y Medium term Runnin g Exit Sistem Operasi Block ed 72 . 2. Mahasiswa mengetahui bagaimana komponenkomponen itu bekerja dan saling bekerja sama untuk memenuhi kebutuhan aplikasi dan pengguna akhir. Apakah program di pool process akan dimasukkan ke memori? Ini disebut medium-term scheduling. 5. dan efisiensi Prosesor. Yang mana yang dijalankan terlebih dahulu? Masalah ini yang ditangani penjadwalan. 3.Politeknik Telkom Sistem Operasi membangun sebuah sistem komputer 2. Apakah semuanya akan dijalankan dalam waktu yang bersamaan? Tidak.2 Tipe penjadwalan Prosesor Aktivitas penjadwalan dapat dirinci sebagai berikut: 1. lebih banyak program dapat diselesaikan (throughput).1 Pendahuluan Dalam sistem multiprogramming beberapa program menempati memori utama sekaligus.

algoritma dapat dipilih berdasarkan parameter berikut : a. Turnaround time : waktu sejak process dikirim hingga selesai. d. apakah sistem memberlakukan setiap process dengan ‘perhatian’ yang sama. Fairness.3 Kriteria Penjadwalan Ada beberapa cara untuk menjadwalkan process. Algoritma dapat dipilih berdasarkan parameter berikut : a. Throughput : jumlah process yang dapat diselesaikan dalam satuan waktu. Dari sudut pandang sistem. diinginkan efektivitas dan efisiensi penggunaan Prosesor. b.Politeknik Telkom Sistem Operasi Medium term Gambar 5-8 Penjadwalan dan Perpindahan Status Process 5. Dari sudut pandang pengguna. apakah dari sudut pandang pengguna atau dari sudut pandang sistem. b. Carilah algoritma yang membuat Prosesor sangat sibuk. Deadline. Carilah algoritma yang memberikan jumlah process selesai terbanyak. Predictability : apakah perilaku (hasil) algoritma dapat diprediksi. Carilah algoritma yang memberikan rata-rata response time terpendek. c. Pilihlah algoritma yang memberikan kepastian dijalankannya program pengguna. Pilih algoritma yang paling adil. Ada kriteria pemilihannya. c. waktu terakhir process harus selesai dikerjakan. Response time : waktu sejak process dikirim hingga mendapat respon pertama kali. Prosesor utilization : berapa persen Prosesor sibuk. Sistem Operasi 73 . Pilih algoritma yang memaksimalkan jumlah process yang dapat diselesaikan sebelum atau dalam waktu deadline-nya. Carilah algoritma yang memberikan rata-rata turnaround time terpendek.

5. 4. Jika belum selesai diantrikan lagi di level berikutnya. process di antrian level 1 dikerjakan mirip Round Robin. Shortest Process Next (SPN). 2. First Come First Served (FCFS). atau makin lama makin besar. Jika belum selesai diantrikan di level 2. apakah algoritma mendukungnya. Round Robin. dilayani dalam waktu yang terbatas. 3. kuantum waktu atau time slice. jika belum selesai diantrikan lagi.4 Algoritma Penjadwalan Bagaimana memilih program di memori utama yang akan dijalankan oleh Prosesor? Ada beberapa algoritma : 1. process dengan rasio respon tertinggi akan dipilih. Highest Response Ratio Next (HRRN). dilayani dalam waktu yang terbatas (dikenal dengan istilah time quantum. program yang pertama kali datang pertama kali dilayani hingga selesai. Balancing resources : apakah algoritma memberikan resource pada process-process yang membutuhkan secara seimbang. Rasio respon adalah : (waktu tunggu + prediksi waktu servis) / (prediksi waktu servis) 6. potongan waktu). dilayani hingga selesai. mirip SPN. Demikian seterusnya hingga level terendah. 5.1 Tabel 5-3 Contoh Penjadwalan Proses Process A B 74 Waktu kedatangan 0 2 Waktu layan 3 6 Sistem Operasi . dikenal juga sebagai Multilevel feedback. Shortest Remaining Time (SRT). Perhatikan contoh kasus di Tabel 5. Enforcing priorities : jika sistem memberlakukan prioritas. jika belum selesai diantrikan lagi. Feedback. Kuantum waktu di setiap level dapat dibuat sama.Politeknik Telkom Sistem Operasi d. mirip FCFS. disebut juga Shortest Job First (SJF). process dengan prediksi waktu eksekusi terpendek akan dipilih.

Politeknik Telkom Sistem Operasi C 4 4 D 6 5 E 8 2 Urutan eksekusi process-process ini pada masing-masing algoritma di atas ditunjukkan dalam Gambar 5-2 0 5 10 15 20 FCFS A B C D E Round Robin A (q=1) B C D E 0 20 Round Robin (q=4) A B C D E 5 10 15 Shortest Process A Next (SPN) B C D E Shortest Remaining A Time (SRT) B q=1 C D E 0 20 Highest Response A Ratio Next B Sistem Operasi 5 10 15 75 .

Politeknik Telkom Sistem Operasi (HRRN) C D E Gambar 5-9 Perbandingan Algoritma Penjadwalan 20 Feedback q=1 0 A B C D E A B C D E 5 10 15 Feedback q=2i Gambar 5-10 Perbandingan Algoritma Penjadwalan (lanjutan) Dari kasus yang ditunjukkan pada Tabel 5-1. dan turnaround time-nya. dan urutan eksekusi process yang ditunjukkan pada Gambar 5-2 dapat dihitung waktu selesai. seperti ditunjukkan pada Tabel 5-3 76 Sistem Operasi . TAT.

50 11 3 1.preemptive : process yang sedang dijalankan dapat dihentikan di tengah jalan.71 10.nonpreemptive : process yang sedang dijalankan tidak dapat dihentikan di tengah jalan.5 11 3 1.5 9 7 1.50 18 12 2.50 10 2 1.00 17 15 2.00 3 3 1.25 17 13 3.17 15 13 2.33 4 4 1.00 18 14 3. .71 7.17 18 16 2.63 RR.59 8.60 1.25 16 12 3.Politeknik Telkom Sistem Operasi Tabel 5-4 Perbandingan Turnaround time beragam algoritma Proces s Waktu datang Waktu -layan (Ts) Selesai TAT TAT/Ts Selesai TAT TAT/Ts Selesai TAT TAT/Ts Selesai TAT TAT/Ts Selesai TAT TAT/Ts Selesai TAT TAT/Ts Selesai TAT TAT/Ts Selesai TAT TAT/Ts A 0 3 B 2 6 C 4 4 D 6 5 E 8 2 Rata2 3 3 9 7 1. Hal tersebut disebut mode keputusan: .00 3 3 1.60 2.17 9 7 1.60 2.80 20 14 2.00 Algorit ma FCFS 1.60 20 14 2.80 20 14 2.75 8 4 1.33 8. Sistem Operasi 77 .80 2.50 19 11 5.5 14 6 3.80 20 14 2.00 2.25 11 7 1.00 15 7 3.00 3 3 1.17 20 18 3.84 7.33 3 3 1.00 13 9 2.80 20 14 2. q=1 RR. q=4 SPN SRT HRRN FB. q=1 FB.29 10.40 20 14 2. Dibutuhkan usaha yang lebih agar sistem dapat mendukung aktivitas preemptive.20 1.80 20 12 6.00 4 4 1.80 19 13 2.56 10.14 10.60 2.00 4 4 1.75 15 11 2.67 17 15 2.00 2.00 15 7 3. q=2^i Pada algoritma di atas ada situasi dimana process yang sedang dikerjakan dapat atau tidak dapat dihentikan di tengah jalan.50 13 9 2.

yang besar mendapat kuantum waktu yang lebih besar dan yang kecil mendapatkan kuantum waktu yang kecil. kelompok.5 Penjadwalan Fair-Share Algoritma-algoritma yang dibahas di atas berlaku pada process-process yang mandiri. berbagi yang lebih adil. Dalam pemrograman berorientasi objek dimungkinkan satu program terdiri dari beberapa thread. Program-program dari suatu kelompok biasanya saling terkait. Pengguna membutuhkan penjadwalan yang fairshare. process dari pengguna yang satu tidak terkait dengan process pengguna lain. Tabel 5-5 Karakteristik beragam algoritma penjadwalan Algoritm a Fungsi seleksi Mode keputusa n FCFS max[w] Nonpreemptive RR consta nt Preemptiv e (pada kuantu m waktu) Kecil jika quant um waktu kecil Bagus untuk proces sproces s pende SPN min[s] Nonpr eemptiv e SRT min[s-e] Preemptive (saat kedatang an) Tinggi HRRN max((w+s )/s) Nonpreemptive Feedba ck Lihat text Preemptiv e (pada kuantu m waktu) Tidak dapat dinyata -kan Tidak dapat dinyata -kan Throughp ut Tidak dapat dinyatakan Mungki n tinggi jika waktu eksekus i bervaria Tinggi Tinggi Respons e Time Bagus untuk proces sproces s pende Bagus Bagus 78 Sistem Operasi .Politeknik Telkom Sistem Operasi Karakteristik enam algoritma penjadwalan secara keseluruhan ditunjukkan dalam Tabel 5-3 5. Dalam sistem multiuser para pengguna dapat membentuk group. Dari sudut pandang pengguna ada kebutuhan sekumpulan process yang lebih besar lebih diperhatikan oleh sistem.

Politeknik Telkom si Kecil Process pendek atau yang menung gu I/O bisa lama. selama ini s = total service time. waktu layan total 5. Banyak proses tak terkait (N/A) 79 Sistem Operasi . Tabel 5-6 Synchronization Granularity dan Process Ukuran Grain Fine Medium Coarse Very coarse Independ ent Deskripsi Interval Sinkronisas i (Instruksi) < 20 20 – 200 200-2000 2000-1M Paralelisme ada di dalam stream instruksi tunggal Pemrosesan paralel atau multitasking dalam suatu aplikasi tunggal Multiprocessing dari proses-proses konkuren dalam lingkungan multiprogramming Pemrosesan tersebar sepanjang node-node jaringan untuk membentuk lingkungan komputasi tunggal. Seberapa sering sinkronisasi process-process dalam Prosesor-Prosesor itu dilakukan disebut synchronization granularity. waktu eksekusi.6 Penjadwalan Multiprosesor Ada banyak Prosesor dalam sistem multiProsesor. Ada lima kategori paralelisme yang berbeda derajat granularity-nya. Tidak k Kecil Adil k Dapat tinggi Proces s panja ng bisa lama Sistem Operasi Overhea d Efek pada process Dapat tinggi Process panjang bisa lama Dapat tinggi Seimbang Dapat tinggi Bisa utamak an process terkait I/O Bisa Penunda Tidak Bisa Bisa Tidak an tanpa batas w = waiting time . waktu tunggu e = executing time.

Prosesornya banyak. Bagaimana menjalankan program-program pengguna dalam komputer multiProsesor? Bagaimana jika programnya sendiri terdiri dari beberapa thread? Ada empat pendekatan dapat dipilih : 1. semua program diantrikan dalam antrian. 80 Sistem Operasi . Prosesor yang menganggur akan mengambil antrian terdepan dan menjalankannya. Prosesornya dua. Dalam sistem multiProsesor. dedicated Prosesor assignment : pada sebuah program diberikan sejumlah Prosesor sebanyak thread yang ada dalam program itu. 3. satu thread satu Prosesor. gang scheduling : sekumpulan thread yang saling terkait diantrikan pada sekumpulan Prosesor pada saat yang sama. dynamic scheduling : jumlah thread yang diaktifkan dari suatu program dapat diubah-ubah.Politeknik Telkom Sistem Operasi Dalam komputer dual-core. 4. 2. load sharing : berbagi beban.

preemptive smallest number of threads first : mirip sebelumnya. Pada saat dijalankan. tugas yang sedang dijalankan dapat dihentikan. jika ada tugas dengan prioritas lebih tinggi. Bagaimana menjadwal program-program dalam sistem seperti ini? Ada beberapa pilihan : • static table-driven approaches : disini dijalankan analisis statis dari tugas-tugas mana yang antri. • static priority-driven preemptive approaches : tugas-tugas diprioritaskan berdasarkan batasan waktu mereka. deadline mana yang terdekat. Prosesor menganggur akan memanggil thread terdepan.Politeknik Telkom Sistem Operasi Dalam pendekatan load sharing. smallest number of threads first : Ada antrian sesuai prioritas. jika tidak ada keharusan selesai dalam deadline.7 Penjadwalan Real-Time Komputasi real time adalah tipe komputasi yang kebenarannya tidak hanya ditentukan oleh hasil lojik komputasi tetapi juga waktu hasil itu diperoleh. jika tugas harus selesai dalam deadline. Program baru. 5. first come first served (FCFS) : thread-thread dari job yang datang diantrikan dalam antrian bersama. jika datang pada saat jadwal dijalankan. itu yang dijadwal duluan. jika sebelumnya dikerjakan sampai selesai. Prioritas tertinggi diberikan pada program dengan jumlah thread terkecil. disini dapat dihentikan dulu untuk melayani program baru dengan jumlah thread lebih sedikit. ada pilihan berikut : 1. Disebut soft real time. Disebut hard real time. Sistem Operasi 81 . akan diperhatikan untuk jadwal berikutnya. 2.

batalkan. apakah ia terdiri dari sub-sub tugas (subtask structure). maka akan diterima untuk dijalankan. berapa lama waktu eksekusi (processing time). kapan harus selesai (completion deadline). dynamic best effort approaches : jalankan semua tugas yang datang. • Tugas yang akan dijadwalkan musti dilengkapi dengan data : kapan siap dijalankan (ready time). 0 25 50 75 100 A1 A2 A3 A4 A5 Earliest deadline A scheduling B 82 Sistem Operasi .Politeknik Telkom Sistem Operasi • dynamic planning-based approaches : tugas-tugas sudah direncanakan untuk dijalankan. apa saja yang dibutuhkan (resource requirement). jika deadline tidak terpenuhi. tingkat prioritas (priority).4. Perhatikan kasus pada table di bawah Tabel 5-7 Dua tugas periodik pada sistem real-time Tug as A(1) A(2) A(3) A(4) A(5) … B(1) B(2) … Waktu Datang 0 20 40 60 80 0 50 Waktu Eksekusi 10 10 10 10 10 25 25 Deadli ne 20 40 60 80 100 50 100 Dengan memperhatikan kapan harus selesai. hanya jika ada tugas baru datang dan memungkinkan untuk dijalankan. tugas-tugas ini akan dijadwalkan seperti pada Gambar 5. kapan harus mulai dikerjakan (starting deadline).

Apa beda turnaround time dengan response time? 3. Apa beda penjadwalan preemptive dengan nonpreemptive? 4. Tidak hanya menjadwal eksekusi program di memori utama yang ditangani dalam penjadwalan Prosesor. aperiodic. Soal Latihan 1. Penjadwalan dapat dilakukan berdasarkan kapan tugas itu harus mulai dikerjakan. tidak dikerjakan sampai selesai. tetapi hanya sebatas kuantum waktu. Sebutkan yang lain. Program dijalankan dari yang pertama datang. 2. Apa nama penjadwalan ini? Sistem Operasi 83 . atau kapan tugas itu harus selesai.Politeknik Telkom Sistem Operasi B1’ A1 Fixed-priority scheduling: diprioritaskan A B2’ gagal A B B1’ A2 B1’ B2’ A3 B1’ A4 B2’ B2’ A5 B2’ A4 B1’ gagal A1 gagal A2 A3 A5 Fixed-priority A scheduling: B diprioritaskan B B1 B2 Gambar 5-11 Penjadwalan tugas real time Kasus lain yang mungkin terjadi adalah tugas-tugas datang dalam jangka waktu yang tidak tentu.

3. tetapi hanya sebatas kuantum waktu.Politeknik Telkom Sistem Operasi 5. Perhatikan kumpulan process berikut. pada ukuran grain termasuk dalam level …. Pemrosesan paralel atau multitasking dalam suatu aplikasi tunggal. Apa beda tugas periodic dan aperiodic dalam sistem real time? 9. Program dijalankan dari yang memiliki prediksi waktu eksekusi terpendek. Apa nama penjadwalan ini? 6. 8. Yang mirip dengan penjadwalan Shortest Process Next pada versi load sharing adalah …. Process 84 Sistem Operasi . Waktu Waktu kedatangan layan A 0 3 B 1 5 C 3 2 D 9 5 E 12 5 Lakukan analisa seperti pada Gambar 5.2 dan Tabel 5. 7. tidak dikerjakan sampai selesai.

3. Proce Waktu Waktu Ending ss kedatangan eksekusi Deadline A(1) 0 10 20 A(2) 20 10 40 … B(1) 0 10 50 B(2) 50 10 100 … C(1) 0 15 50 C(2) 50 15 100 Sistem Operasi 85 . lakukan seperti Gambar 5.Politeknik Telkom Sistem Operasi 10. Tunjukkan penjadwalan tugas real time berikut.

Mahasiswa mengetahui teknik pembagian memori utama oleh sistem operasi.Politeknik Telkom Sistem Operasi 6 Manajemen Memori Overview Memori komputer adalah salah satu sumber daya komputer yang paling berharga yang perlu dikelola dengan baik oleh sistem operasi dikarenakan jumlahnya yang terbatas. Mahasiswa mengetahui bagaimana sistem operasi memanajemen memori utama. 2. Kerumitan pengelolaan pada sistem operasi modern bertambah seiring dengan adanya fitur multiprogramming dan multitasking di mana lokasi memori tidak hanya diakses oleh satu proses tetapi juga dibagi pakai dengan prosesproses lainnya yang berjalan secara konkuren. 3. Tujuan 1. Mahasiswa mengerti konsep memori maya (virtual 86 Sistem Operasi .

bagian kedua untuk program yang sedang dijalankan. Ada kebutuhan untuk menempatkan di tempat lain. ia tidak akan langsung dijalankan. 6. Hal ini disebut relocation. dibawa kembali ke disk. Ketika tiba gilirannya dijalankan. bagian kedua akan dibagi-bagi lagi untuk menampung banyak process.2 Kebutuhan Manajemen Memori Memori utama perlu dikelola untuk memenuhi lima kebutuhan berikut: . Dalam sistem multiprogramming. Setiap process yang berada di memori utama harus aman dari interferensi process lain. ia akan dibawa ke memori utama. Tugas membagi ini dilakukan secara dinamis oleh sistem operasi dan dikenal sebagai manajemen memori.Politeknik Telkom Sistem Operasi memory). ia diantrikan di disk. Ketika ia menunggu aktivitas I/O.relocation protection sharing logical organization physical organization Saat program pengguna dating. ia akan di-block. memori utama dibagi ke dalam dua bagian: bagian pertama untuk sistem operasi.1 Pendahuluan Dalam sistem uniprogramming. Hal Sistem Operasi 87 . Ketika aktivitas I/O selesai dan ia siap dijalankan lagi. 6. maka tidak harus ia ditempatkan di memori utama di tempat semula. sengaja atau tidak sengaja.

Hampir semua sistem multiprogramming modern menggunakan teknik virtual memory. 6 M. Untuk memori utama berukuran 64 M. program pengguna tidak boleh mengakses bagian memori untuk sistem operasi.3 Pemartisian Memori Prinsip manajemen memori adalah bagaimana menyimpan banyak program dalam memori utama. modul mana yang diaktifkan dulu yang mana yang berikutnya merupakan kebutuhan phyisical organization. 7 bagian yang lain untuk program pengguna. Meski penyimpanan di memori utama. ukuran partisi mungkin sama: 8 x 8M. 4 M. 6. atau mengambilnya ke memori utama adalah tugas sistem operasi. Hal ini yang disebut logical organization. perlu diketahui teknik yang lebih sederhana : fixed partitioning dan dynamic partitioning. 12 M dan 16 M untuk program pengguna. Juga. Disimpan di lokasi disk yang mana. 88 Sistem Operasi . namun tidak menutup kemungkinan bagi process-process untuk berbagi memori utama. dilakukan secara linier. mungkin sama.3. memori utama (selain yang digunakan untuk sistem operasi) dibagi dalam ukuran yang sudah disediakan. lokasi yang sama diakses oleh semua. 6. namun ada kebutuhan bagi program untuk (dibuat dan) disimpan dalam bentuk modul-modul. Namun sebelum membahasnya. urutan byte atau word.Politeknik Telkom Sistem Operasi ini disebut protection. bukan software sistem operasi. mungkin berbeda.1 Fixed Partitioning Pada fixed partitioning. dan 2 M. Ukuran partisi mungkin bervariasi : 8 M untuk sistem operasi. 1 bagian untuk sistem operasi. Hal ini disebut sharing. tetapi lojik modular. 8 M. juga di memori sekunder. Meskipun ada tuntutan proteksi. Fisik boleh linier. Program pengguna harus lebih kecil atau sama dengan ukuran partisi itu. 8 M. Dan sebaiknya proteksi ini dilakukan oleh hardware. Tugas mengantrikan program pengguna di memori sekunder.

P3 masing-masing berukuran 20 M. 6. Bagaimana menempatkan program dalam partisi fix yang ukurannya bervariasi? Pilihlah ukuran partisi terkecil yang sanggup menampung program.3. dan masuk P4 dengan ukuran 8 M. butuh waktu. Kemudian P2 habis jatah waktunya. Bagaimana mengatasi masalah banyaknya lubang ini? Salah satu cara adalah compaction. Borosnya ruang partisi yang tak terpakai akibat ukuran program terlalu kecil ini disebut internal fragmentation.1 Awal-awalnya bagus. jumlah partisi dan ukurannya bervariasi. sedemikian hingga hanya ada satu lubang. Jika kasus lubang pada fix partition disebut internal fragmentation. Cara lain diusulkan agar penempatan program dapat dilakukan dengan Sistem Operasi 89 . Bagaimana perjalanan keadaan memori ditunjukkan pada Gambar 6. Apakah tidak butuh waktu untuk menggeser programprogram di bawah lubang? Ya. dan P2 harus dijalankan lagi. pada dynamic partition disebut external fragmentation. itulah lemahnya. Misalkan ukuran memori utama 64 M. dengan 8 M dipakai untuk sistem operasi. Kemudian P1 selesai. P2.Politeknik Telkom Sistem Operasi Bagaimana jika ukuran program lebih besar daripada ukuran memori yang disediakan? Program harus dipecah-pecah ke dalam modul berukuran tidak lebih besar dari ukuran partisi. Tiga program P1. 14 M dan 18 M. Dan masalah ini diselesaikan dengan membuat ukuran partisi yang bervariasi. Bagaimana jika ukuran program terlalu kecil? Ya.2 Dynamic Partitioning Dalam dynamic partitioning. namun makin lama akan makin banyak lubang kecil dalam memori. Modul yang dibutuhkan akan dibawa ke partisi terkait dan menghapus (overlay) apapun yang ada di partisi itu. atau antrian tunggal untuk semua partisi. program-program di bawah lubang digeser ke atas agar berhimpitan dengan program sebelumnya. fragmentasi terjadi karena pengaruh luar. Program diberi ruang memori utama sebanyak yang ia butuhkan. Untuk antrian programnya ada pilihan: dibuatkan antrian sebanyak partisi. di lokasi paling bawah.

carilah lubang dengan ukuran terkecil terdekat dengan ukuran program baru. alamat dan ukurannya. carilah lubang pertama di antrian (pencarian dari awal antrian) yang mampu menampung program baru.Politeknik Telkom Sistem Operasi cepat : biarkan lubang apa adanya. Jika ada program baru masuk. Operating System (8 M) Process P1 (20 M) Process P2 (14 M) Operating Free : 56 M System (8 M) Process P1 (20 M) Process P4 (8 M) Free : 6 M Process P3 (18 M) Free : 4 M Operating Process (8 M) System P3 (18 M) Free : 20 M Free : 4 M Process P4 (8 M) Free : 6 M Process P3 (18 M) Free : 4 M Free : 4 M Operating System (8 M) Process P1 (20 M) Free : 14 M Operating Process (8 M) System P3 (18 M) Process P2 Free : 4 M (14M) Free : 6 M Process P4 (8 M) Free : 6 M Process P3 (18 M) - Operating System (8 M) 90 Sistem Operasi . carilah lubang pertama di antrian (pencarian dari posisi cursor saat ini) yang mampu menampung program baru. cara ini disebut first fit. cara ini disebut best fit. ada pilihan : . buatlah daftar lubang. cara ini disebut next fit.

Ada program baru masuk berukuran 23 M. Ukuran power of 2 terdekat dengan 100K adalah 128K. dimana ditempatkan? L1 L2 L3 L4 L5 L6 L7 L8 : : : : : : : : 8M 12M 22M 18M 24M 6M 14M 36M L1 : 8M L2 : 12M L3 : 22M L4 : 18M L5 : 1M L6 : 6M L7 : 14M L8 : 36M Program 16 M dimana? First Fit : L3. di L5. Ketika sebuah process sudah melepaskan memori. ukuran partisi tidak mengikuti ukuran program. Jika ada program baru berukuran 16 M masuk. Process A meminta 100Kb. akan diperiksa apakah memori yang dibebaskan berdekatan dengan tetangganya untuk digabung. pada sistem ini ukuran partisi merupakan bilangan power of 2 terdekat dengan ukuran program. untuk mendapatkan ukuran yang lebih besar lagi. 256K pertama dipecah menjadi 128K + 128K. ada daftar lubang memori seperti pada Gambar 6-2. Process B berukuran 240K diberi memori berukuran 256K. Di mana ditempatkan? Ya. Memori 1Mb akan dipecah menjadi 512K + 512K. Process A diberi memori berukuran 128K pertama. Lihat contoh kasus pada Gambar 6. Best Fit : L4. Semula ukuran memori 1Mbyte.3. Sistem Operasi 91 . setelah Program 23 M masuk Gambar 6-13 Contoh alokasi memori pada partisi dinamis Buddy System Mirip partisi dinamis.Politeknik Telkom Sistem Operasi Gambar 6-12 Pengaruh Partisi Dinamis Contoh kasus. 512K pertama dipecah menjadi 256K + 256K.

Pada dynamic partitioning juga dimungkinkan terjadi. process P2 dapat menempati lokasi yang berbeda untuk kedua kalinya. program dapat direlokasi. lihat Gambar 6. alamat 92 Sistem Operasi . pada antrian tunggal partisi berukuran tidak sama. hal itu dimungkinkan terjadi. program tidak harus menempati lokasi yang sama dengan lokasi ketika ia dikeluarkan dari memori utama.4 Relokasi Di depan disebutkan ada kebutuhan kesanggupan relokasi program di memori utama. Pada fix partition berukuran sama. Pada metoda compaction juga.1.Politeknik Telkom Sistem Operasi 6. 1M 1 Mbyte block A request 100K A B request 240K A C request 64K A 128K 128K C 64K C 64K C 64K 256K B B B 256K 256K 256K 256K 512K 512K 512K D D D D D D request 256K A Release B Release A E request 75K Release C Release E Release D 256K A 256K 128K C 64K 256K E C 64K 256K E 256K 128K 256K 512K 1M D Gambar 6-14 Contoh Buddy System Bagaimana agar relokasi program mudah dilakukan? Setiap lokasi di memori utama memiliki physical address.

4 Relative address Process control block Adder Base register Absolute Bounds register Comparator address Program Interupsi ke S. Data dan kode program mungkin ditandai dengan relative address. alamat relatif masing-masing terhadap alamat awal.O. Data Sebuah program di memori utama Sebuah program di memori utama Gambar 6-15 Dukungan hardware untuk relokasi Stack Sistem Operasi 93 . Data-data dan kode program itu diberi logical address. Sebuah program biasanya terdiri dari data-data yang ia olah dan kode program untuk menjalankannya. alamat lojik yang masih harus diterjemahkan ke dalam alamat fisik ketika akan di-load ke memori.Politeknik Telkom Sistem Operasi fisik. Dukungan hardware untuk relokasi ditunjukkan pada Gambar 6.

5. nomor offsetnya 0111011110 (decimal 478). assembler dan linker. program C 4 page masuk. Disini. Alamat lojik setara identik dengan alamat relatif. ada sisa 6 bit (dari 16 bit) untuk nomor page. nomor offset keduanya sama. Jadi.Politeknik Telkom Sistem Operasi 6. yang disebut frame. Page-page ini kemudian di-load ke potongan memori utama tadi. Menggunakan ukuran page sebagai bilangan power of 2 punya dua keuntungan. Sebuah lokasi di memori fisik akan ditunjukkan dengan dua nomor : nomor frame dan nomor offset. Ada sisa 4 page di bawah. Program A terdiri dari 4 page masuk. apakah akan ditahan dulu? Tidak. Untuk page 1024 butuh 10 bit untuk alamat offset. (Suatu program diharapkan punya page tidak lebih dari 26 = 64 page). program juga dipotong-potong dalam ukuran yang sama. maka konversi cukup dilakukan pada nomor page ke nomor frame. skema alamat lojik jelas bagi programmer.5. Sistem mendaftar frame-frame yang bebas. program B 3 page masuk. tabel frame-frame yang dipakai page program. disebut pages. Dengan menggunakan bilangan ini relative address dan logical address akan sama. maka akan diberikan. relatif masalah mudah 94 Sistem Operasi . lihat contoh di Gambar 6. Kemudian misalnya page ini akan ditempatkan di memori fisik di alamat frame 6 (000110).11 dan 12. alamat relatif 0000010111011110. Kedua. Program B kemudian keluar. fragmentasi hanya akan terjadi pada frame terakhir. Agar paging berjalan nyaman. Sistem juga mengelola page table.6. ukuran page dan frame sebaiknya menggunakan bilangan power of 2. Program D disimpan di frame 4. Misal alamat relatif 1502 menggunakan 16 bit : 0000010111011110. Pertama. ukuran page 1K = 1024 byte. meninggalkan 3 page bebas. Terapan konsep ini ditunjukkan pada Gambar 6.6 Jika jumlah frame bebas cukup untuk menampung page program baru. Jika program D 5 page akan masuk. nomor page-nya 000001 (decimal 1).5 Paging Untuk mengatasi fragmentasi internal atau fragmentasi eksternal ada usaha memori utama dipartisi ke dalam sejumlah besar potongan berukuran kecil yang sama.

3 A.3 4 B.0 5 B.2 3 A. No Memori Memori Memori Frame 0 A.1 2 A.1 6 B.2 A.1 A.Politeknik Telkom Sistem Operasi untuk mengimplementasikan fungsi penterjemahan alamat dinamis ke dalam hardware.0 A.0 1 A.2 7 8 9 10 11 12 13 14 A masuk B masuk Sistem Operasi 95 .

2 C.3 C masuk B keluar D masuk Gambar 6-16 Pengisian page process ke frame memori 0 1 2 3 0 1 2 3 Table Page Proses A 0 1 2 3 0 1 2 3 Daftar frame bebas 0 1 2 Table Page Proses B 0 1 2 3 7 8 9 10 Table Page Proses C 0 1 2 3 4 4 5 6 11 12 Table Page Proses D Gambar 6-17 Tabel page setiap process terkait Gambar 6-5 96 Sistem Operasi .0 A.1 D.3 D.2 A.0 C.1 C.1 C.2 C.2 C.4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 C.1 A.3 D.0 A.0 C.0 D.0 B.2 A.2 A.3 D.3 Memori A.3 B.2 C.Politeknik Telkom Sistem Operasi No Frame Memori A.1 B.0 A.2 C.1 C.1 A.3 Memori A.1 A.0 C.

Program dan data sendiri dapat dipecah ke dalam beberapa segment.Politeknik Telkom Sistem Operasi 6. Setiap isian tabel ini akan berisi alamat awal dan panjang segment untuk memproteksi lokasi memori dari pengguna lain. alamat di tabel segment ini akan di-load ke register khusus. Konsep segmentasi ini mirip dengan dynamic partitioning. Hanya memang ada panjang segment maksimum. Fragmentasi internal tidak ada. Sebuah lokasi akan diidentifikasi dengan dua nomor : nomor segment dan nomor offset. Sistem Operasi 97 . Programmer biasanya tahu segment untuk program atau segment untuk data yang disediakan sistem. namun fragmentasi eksternal mungkin terjadi.6 Segmentasi Selain dengan paging. program dapat dipecah ke dalam sejumlah segment. Bedanya. Hanya. Saat akan dieksekusi. Sistem akan mengelola segment table untuk setiap process dan daftar lokasi bebas di memori utama. programmer tidak dapat menggunakan lokasi melebihi batas maksimum ukuran segment. dengan ukuran tidak harus sama. dan tidak harus berdampingan. di segmentasi ini sebuah program boleh menempati lebih dari satu partisi.

Apa kelebihan cara ini dibanding cara best-fit. Dimana program baru ini akan ditempatkan jika menggunakan algoritma penempatan: a. Tiga program baru masing-masing berukuran 40M. first-fit dan next-fit. pilih lokasi memori terbesar untuk program baru. 10M. 40M. Berturut-turut ada permintaan berikut : A 70Kb.Politeknik Telkom Sistem Operasi Soal Latihan 1. 20M. 60M. Next-fit (pointer ada di awal memori) d. D bebas. 30M. Apa keuntungan partisi yang ukurannya tidak sama dalam fix partition? 4. Apa perbedaaan alamat logik. 40M. First-fit b. Apa perbedaan fragmentasi internal dan fragmentasi eksternal? 5. Apa perbedaan page dan segment? 8. C 80Kb. dan 10M akan masuk. B bebas. Best-fit c. Kebutuhan apa saja yang harus dipenuhi pada manajemen memori? 2. Cara lain algoritma penempatan program dalam partisi dinamis adalah worst-fit. Worst-fit 10. D 60Kb. Diketahui daftar lokasi bebas di memori untuk partisi dinamis sebagai berikut : 20M. alamat relatif dan alamat fisik? 6. Memori 1Mb dipakai untuk buddy system. B 35Kb. C bebas. 9. Mengapa dua atau lebih program diijinkan untuk berbagi memori bersama? 3. 98 Sistem Operasi . Apa perbedaan page dan frame? 7. A bebas.

Sistem Operasi 99 .Politeknik Telkom Sistem Operasi 7 Manajemen Perangkat I/O Overview Segala hal tentang overview.

Tujuan 1 4. salah satu tujuan utama dari suatu sistem operasi ialah mengatur semua perangkat M/K (Masukan/Keluaran) atau I/O (Input/Output) komputer. Beberapa konsep yang umum digunakan ialah port. Alamat-alamat yang dimiliki oleh perangkat akan digunakan oleh direct I/O instruction dan memory-mapped I/O. Secara umum. perangkat transmisi (network card. dan pengendali (host adapter). Sistem operasi harus dapat memberikan perintah ke perangkat-perangkat itu. modem). Antarmuka itu harus sama untuk semua perangkat (device independent). mouse). keyboard. menangkap dan menangani interupsi. terdapat beberapa jenis perangkat M/K. Sistem operasi juga harus menyediakan antarmuka antara sistem operasi itu sendiri dengan keseluruhan sistem itu yang sederhana dan mudah digunakan. Perangkat tersebut dikendalikan oleh instruksi M/K. tape). dan menangani error yang terjadi. Tujuan 2 7. Bus ialah koneksi yang menghubungkan beberapa perangkat menggunakan kabel100 Sistem Operasi .Politeknik Telkom Sistem Operasi Tujuan 3. al. seperti perangkat penyimpanan (disk. agar dapat dikembangkan.1 Pendahuluan Menurut Silberschatz et. Port ialah koneksi yang digunakan oleh perangkat untuk berkomunikasi dengan mesin. [Silberschatz2002]. dan perangkat antarmuka dengan pengguna (screen. bus (daisy chain/shared direct access).

bus. peralatan yang sesuai untuk komunikasi dengan peralatan jarak jauh (remote device) seperti remote control.Politeknik Telkom Sistem Operasi kabel. dapat dikategorikan sebagai berikut: 1. Sistem Operasi 101 . Pengendali mengeset busy ketika sedang mengerjakan sesuatu. peralatan yang sesuai untuk komunikasi dengan user computer seperti monitor. dan error. dan perangkat. mouse. Data rate. Kuantitas pengiriman data (satuan). Kompleksitas pengendali. keyboard. dan kontroller 3. Application. Menurut William Stalling. dan men-clear busy ketika telah siap untuk menerima perintah selanjutnya. penggunaan sebuah peralatan mempengaruhi penggunaan perangkat lunak dan aturan dalam system operasi dan penggunaan utilitas lainnya 3. Host mengeset command-ready ketika perintah telah siap untuk dieksekusi oleh pengendali. Data dapat ditransfer sebaga aliran byte atau karakter atau dalam bentuk blok yang lebih besar. busy. peralatan yang sesuai untuk komunikasi dengan peralatan elektronik seperti sensor. & printer 2. Pengendali ialah alat-alat elektronik yang berfungsi untuk mengoperasikan port. Machine Readable. Perangkat eksternal (I/O) yang dapat berhubungan dengan sistem komputer. Langkah yang ditentukan untuk perangkat ialah commandready. Human Readable. & modem Antar perangkat I/O saling mempunyai perbedaan berdasar pada: 1. Error diset ketika terjadi kesalahan. membuat perbedaan system operasi dalam menanganinya 4. Communication. kompleksitas modul I/O dalam mengontrol peralatan. terdapat perbedaan urutan pokok antar perhitungan transfer data masing-masing peralatan 2.

kabel-kabel. dan memiliki alamat masing-masing. Perbedaan Skema Encoding data membuat perbedaan peralatan yang digunakan Penanganan error. dan tidak memiliki kemampuan mencari (seek). fungsi yang dikerjakannya. Perangkat M/K dapat dibagi secara umum menjadi dua kategori. cara melaporkan kesalahan dan segala konsekuensinya membedakan respon dari peralatan satu dengan yang lain. Tipe ini tidak memiliki alamat. tanpa menghiraukan struktur blok. Contohnya: clock yang tidak memiliki alamat dan juga tidak mengirim dan menerima barisan karakter.perintah yang diterima perangkat keras.2 Perangkat M/K (I/O Device) Pendapat orang-orang mengenai M/K berbeda-beda. 102 Sistem Operasi . Tipe lain perangkat M/K ialah perangkat karakter. kesalahan.Politeknik Telkom Sistem Operasi 5. 7. Perangkat blok menyimpan informasi dalam sebuah blok yang ukurannya tertentu. Umumnya blok berukuran antara 512 bytes sampai 32. Disk merupakan contoh perangkat blok yang paling banyak digunakan. Yang ia lakukan hanya menimbulkan interupsi dalam jangka waktu tertentu. catu daya. Representasi data. dan komponen fisik lainnya yang membangun perangkat keras ini. Beberapa perangkat tidak memenuhi kriteria tersebut.768 bytes. dan error yang ditimbulkan. yaitu: perangkat blok (block devices). Seorang insinyur mungkin akan memandang perangkat keras M/K sebagai kumpulan chip-chip. Printer dan antarmuka jaringan merupakan contoh perangkat jenis ini. Pembagian ini tidaklah sempurna. dan perangkat karakter (character devices). Keuntungan dari perangkat blok ini ialah mampu membaca atau menulis setiap blok secara independen. Perangkat karakter mengirim atau menerima sebarisan karakter. Seorang programer akan memandangnya sebagai antarmuka yang disediakan oleh perangkat lunak -.

Sedangkan mainframe yang berukuran besar umumnya menggunakan Sistem Operasi 103 . Prosesor mengirimkan sebuah request pada mekanisme transfer sebuah blok data ke modul DMA dan diinterupsi hanya setelah semua blok data telah ditransfer. Direct Memory Access (DMA). Terdapat sebuah modul DMA yang mengontrol erubahan data antara main memori dan modul I/O. 7. degan meneruskan eksekusi aliran instruki dan dapat diintrupsi oleh modul I/O sehingga suatu proses untuk sementara dalam keadaan suspend dan kemudian dapat dilanjut kembali sampai selesai. Komponen elektronis ini disebut pengendali perangkat (device controllers) atau adapter. 2. Pada komputer personal (PC). Interrupt-driven I/O. Sistem operasi hampir selalu berhubungan dengan pengendali. Kartu pengendali biasanya memiliki sebuah penghubung.3 Organisasi Fungsi I/O Terdapat teknik pada pemrograman I/O yaitu: 1. Programmed I/O. atau bahkan delapan perangkat yang sejenis. Sebagian besar komputer yang berukuran kecil menggunakan model bus tunggal seperti pada Gambar “Model Bus Tunggal” untuk berkomunikasi antara CPU dan pengendali. dimana proses-proses itu kemudian beroperasi dengan cara busy-wait sebelum melakukan proses sampai selesai eksekusi.Politeknik Telkom Sistem Operasi 7. komponen ini biasanya berupa kartu sirkuit yang dapat dimasukkan ke dalam slot pada motherboard komputer. empat. bukan dengan perangkat secara langsung. Prosesor mengurusi perintah I/O dalam perilaku proses ang mengerjakan modul I/O . Beberapa pengendali dapat menangani dua.1 Pengendali Perangkat Unit M/K mengandung komponen mekanis dan elektronis. Perangkat mekanis berupa perangkat itu sendiri.3. prosesor mengurusi perintah I/O dalam perilaku proses.

CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai keadaan terkini CPU--contohnya nilai instruksi pointer. karena CPU processing yang tersisa belum selesai.3. memori. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping.2 Polling Busy-waiting/polling ialah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear. Pada dasarnya polling dapat dikatakan efisien. hanya menemukan sedikit perangkat yang siap untuk menservis. pengendali.3 Interupsi 7. dan perangkat M/K 7.3. dengan bus yang banyak dan I/O channels. Gambar 7-18 Sebuah model untuk menghubungkan CPU.3.3. 104 Sistem Operasi .Politeknik Telkom Sistem Operasi model yang berbeda.1 Mekanisme Dasar Interupsi Ketika CPU mendeteksi bahwa sebuah pengendali telah mengirimkan sebuah sinyal ke interrupt request line (membangkitkan sebuah interupsi). 7. dan memanggil interrupt handler agar handler tersebut dapat melayani pengendali atau alat yang mengirim interupsi tersebut.

yaitu nonmaskable interrupt dan maskable interrupt.3. tiga fitur disediakan oleh CPU dan pengendali interupsi (pada perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus. interrupt jenis ini digunakan oleh pengendali perangkat untuk meminta pelayanan CPU.Politeknik Telkom Sistem Operasi Gambar 7-19 Contoh proses polling yang tipikal 7. kebanyakan CPU memiliki dua macam interrupt request line. Fitur-fitur ini antara lain ialah kemampuan menghambat sebuah proses penanganan interupsi selama proses berada dalam critical state.2 Fitur Tambahan pada Komputer Modern Pada arsitektur komputer modern. pada Sistem Operasi 105 .3. Interrupt Vector dan Interrupt Chaining Sebuah mekanisme interupsi akan menerima alamat interrupt handling routine yang spesifik dari sebuah set. dan fitur yang ketiga ialah adanya sebuah konsep interupsi multilevel sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system). Biasanya. Interrupt Request Line Pada peranti keras CPU terdapat kabel yang disebut interrupt request line. efisiensi penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari perangkat yang mengirimkan interupsi. Maskable interrupt dapat dimatikan/dihentikan oleh CPU sebelum pengeksekusian deretan critical instruction (critical instruction sequence) yang tidak boleh diinterupsi.

overhead yang dihasilkan oleh besarnya ukuran tabel dan inefisiensi dari penggunaan sebuah interrupt handler (fitur pada CPU yang telah disebutkan sebelumnya) dapat dikurangi. page fault. 106 Sistem Operasi . Tabel ini menyimpan alamat-alamat interrupt handler spesifik di dalam memori. vektor interupsi memiliki hambatan karena pada kenyataannya. digunakan teknik interrupt chaining setiap elemen dari vektor interupsi menunjuk pada elemen pertama dari sebuah daftar interrupt handler.Politeknik Telkom Sistem Operasi kebanyakan arsitektur komputer yang ada sekarang ini. contohnya pembagian dengan 0 (nol). alamat ini biasanya berupa sekumpulan bilangan yang menyatakan offset pada sebuah tabel (biasa disebut vektor interupsi). Penyebab Interupsi Interupsi dapat disebabkan berbagai hal. Akan tetapi. Keuntungan dari pemakaian vektor ialah untuk mengurangi kebutuhan akan sebuah interrupt handler yang harus mencari semua kemungkinan sumber interupsi untuk menemukan pengirim interupsi. Karena itulah. 7. interupsi yang dikirimkan oleh pengendali perangkat. dan lain-lain. pengaksesan alamat memori yang restricted atau bahkan tidak valid. dan system call. Dengan teknik ini. antara lain exception. komputer yang ada memiliki perangkat (dan interrupt handler) yang lebih banyak dibandingkan dengan jumlah alamat pada vektor interupsi. Exception ialah suatu kondisi dimana terjadi sesuatu. sehingga keduanya menjadi kurang lebih seimbang. atau dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih.4 Direct Memory Access (DMA) DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program M/K (PIO). System call ialah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa interupsi perangkat lunak atau trap.

Politeknik Telkom Sistem Operasi Untuk memulai sebuah transfer DMA. pointer yang menunjuk ke tujuan transfer. Sistem Operasi 107 . ke memori. dan jumlah byte yang ditransfer. CPU kemudian menuliskan alamat command block ini ke pengendali DMA. host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer. sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamat-alamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.

mengikut-sertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Cycle stealing DMA lebih kompleks untuk diimplementasikan dibandingkan HALT DMA. Selagi transfer masih dalam prosres. sampai seluruh blok sudah di transfer.Politeknik Telkom Sistem Operasi Tiga langkah dalam transfer DMA: 1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat. Bus tunggal. Metode DMA ini disebut cycle stealing mode. DMA mempunyai dua metode yang berbeda dalam mentransfer data. yaitu: 1. dan banyaknya byte yang ditransfer. menyediakan alamat. Menurut Stalling terdapat 3 kemunginan konfigurasi DMA. Tipe operasi DMA seperti ini ada pada kebanyakan komputer. 3. Pengendali DMA memulai operasi (menyiapkan bus. sistem mikroprosessor di-set idle. Pada dasarnya. DMA terintegrasi dengan I/O 3. 2. Metode yang kedua. karena pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst. alamat memori yang menjadi sumber dan tujuan data. operasi yang akan ditampilkan. dimana selanjutnya akan ditentukan tindakan berikutnya. Bus tunggal. DMA terhubung 2. menulis dan membaca data). atau Burst Mode DMA. Pengendali DMA meng-interupsi prosesor. karena pengendali DMA harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka. tidak melakukan instruksi operasi untuk menjaga internal register. Bus I/O 108 Sistem Operasi . Metode yang pertama ialah metode yang sangat baku dan sederhana disebut HALT.

Hal ini kemudian akan mengakibatkan pengendali DMA memasukkan alamat-alamat yang dinginkan ke kabel alamat memori.Politeknik Telkom Sistem Operasi 7. Gambar 7-20 kemungkinan konfigurasi DMA Sistem Operasi 109 . dan mengirimkan sinyal melalui kabel DMA-acknowledge. DMA terintegrasi dengan I /O Bus Sistem CPU Modul DMA Memori Bus I/O I/O c. Pengendali perangkat mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word. CPU Modul DMA CPU I/O Memori a.4. Bus Tunggal. Bus Tunggal. Bus I/O I/O I/O pengendali perangkat mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request. Setelah sinyal melalui kabel DMA-acknowledge diterima.1 Handshaking Proses handshaking antara pengendali DMA dan pengendali perangkat dilakukan melalui sepasang kabel yang disebut DMA-request dan DMA-acknowledge. DMA terhubung CPU Modul DMA I/O I/O Modul DMA Memori I/O b.

enkapsulasi. yang walaupun memperlambat komputasi CPU. maka akan lebih mudah bagi fungsi-fungsi standar (antarmuka) untuk mengaksesnya. sistem operasi melakukan standarisasi pengaksesan pada perangkat M/K. Pendekatan inilah yang dinamakan aplikasi antarmuka M/K. tidak menurunkan kinerja karena memindahkan pekerjaan data transfer ke pengendali DMA meningkatkan performa sistem secara keseluruhan 7. Abstraksi dilakukan dengan membagi-bagi detail perangkat-perangkat M/K ke dalam kelas-kelas yang lebih umum.5. CPU sementara tidak dapat mengakses memori (dihalangi). Seperti layaknya permasalahan dari software-engineering yang rumit lainnya.4. Hal ini disebut cycle stealing.1 Aplikasi Antarmuka M/K Bagian ini akan membahas bagaimana teknik dan struktur antarmuka yang memungkinkan M/K (I/O) diperlakukan secara seragam. Dengan adanya kelas-kelas yang umum ini. Untuk mempermudah pengaksesan. walaupun masih dapat mengaksees data pada cache primer dan sekunder. Keuntungan dari DVMA ialah dapat mendukung transfer antara dua memori mapped device tanpa intervensi CPU 7. 110 Sistem Operasi .Politeknik Telkom Sistem Operasi Hal ini berlangsung berulang-ulang sehingga disebut handshaking. aplikasi antarmuka M/K melibatkan abstraksi. hal ini disebut Direct Virtual-Memory Address atau DVMA. dan software layering.5 Subsistem Masukan/Keluaran Kernel 7. Pada saat pengendali DMA mengambil alih memori.2 Cara-cara Implementasi DMA Dalam pelaksanaannya. beberapa komputer menggunakan memori fisik untuk proses DMA sedangkan jenis komputer lain menggunakan alamat virtual dengan melalui tahap "penerjemahan" dari alamat memori virtual menjadi alamat memori fisik. Salah satu contohnya adalah ketika suatu aplikasi ingin membuka data yang ada dalam suatu disk tanpa mengetahui jenis disk apa yang akan diaksesnya.

Character-stream atau block: Sebuah stream karakter memindahkan per satu bytes. subsistem M/K dapat bersifat mandiri dari perangkat keras. masingmasing sistem operasi memiliki standarnya sendiri untuk device driver antarmukanya. Hal ini sangat menguntungkan dari segi pengembangan perangkat keras. beberapa yang dapat membedakannya adalah dari segi. 2.Politeknik Telkom Sistem Operasi Selanjutnya. Dengan demikian. Gambar 7-21 Struktur kernel. Tujuan dari adanya lapisan device driver ini adalah untuk menyembunyikan perbedaan-perbedaan yang ada pada pengendali perangkat dari subsistem M/K yang terdapat dalam kernel. Gambar ini diadaptasi dari [Silberschatz2002. Sequential atau Random-access: Sebuah perangkat yang sekuensial memindahkan data dalam Sistem Operasi 111 . keberadaan device driver pada masing-masing peralatan M/K akan berfungsi meng-enkapsulasi perbedaanperbedaan yang ada dari setiap anggota kelas-kelas yang umum tadi. karena tidak perlu menunggu vendor sistem operasi untuk mengeluarkan support code untuk perangkat-perangkat keras baru yang akan dikeluarkan oleh para vendor perangkat keras tersebut Sayangnya untuk manufaktur perangkat keras. sedangkan blok memindahkan sekumpulan bytes dalam 1 unit. halaman 467] 1. Karakteristik dari perangkatperangkat tersebut sangat bervariasi.

Speed of operation: Rentangan kecepatan perangkat dari beberapa bytes per detik sampai beberapa gigabytes per detik. Pada umumnya sistem operasi juga memiliki sebuah "escape" atau "pintu belakang" yang secara terbuka mengirim perintah yang arbitrary dari sebuah aplikasi ke device driver. atau write only: Beberapa perangkat memungkinkan baik input-output dua arah. 4. yang memungkinkan aplikasi dan driver berkomunikasi dengan data dan mengendalikan informasi data.Politeknik Telkom Sistem Operasi 3. Ke-tiga. Synchronous atau asynchronous: perangkat yang synchronous menampilkan data-data transfer dengan waktu reaksi yang dapat diduga. susunan yang sudah pasti seperti yang ditentukan oleh perangkat. 112 Sistem Operasi . sedangkan perangkat yang dedicatedtidak dapat. ioctl() ini mempunyai tiga argumen dan yang pertama adalah sebuah pendeskripsi berkas yang menghubungkan aplikasi ke driver dengan menunjuk perangkat keras yang diatur oleh driver tersebut. Sharable atau dedicated: perangkat yang dapat dibagi dapat digunakan secara bersamaan oleh beberapa prosesor atau thread. Dalam UNIX. sedangkan pengguna akses random dapat meminta perangkat untuk mencari ke seluruh lokasi penyimpanan data yang tersedia. 6. Read-write. Ke-dua adalah sebuah integer yang memilih satu perintah yang terimplementasi di dalam driver. 5. ada ioctl() yang memungkinkan aplikasi mengakses seluruh fungsi yang tersedia di device driver tanpa perlu membuat sebuah sistem call yang baru. read only. sebuah pointer ke struktur data arbitrary di memori. tapi beberapa lainnya hanya menunjang data satu arah. sedangkan perangkat yang asynchronous menampilkan waktu reaksi yang tidak dapat diduga.

memberi informasi waktu saat ini. kita dapat membuat library yang dapat mengakses data/pesan baris demi baris 7. Kemudian pada pengembangan lanjutannya. maka komunikasi antar komputer dapat dilakukan. dan menghubungkannya ke remote socket. System call dasar dari antarmuka ini d apat membuat sebuah aplikasi mengerti tentang bagaimana cara untuk mengambil dan menuliskan sebuah karakter. sebagai trigger untuk suatu operasi pada suatu waktu. memenuhi/mengerti perintah baca. 7. memberi informasi lamanya waktu sebuah proses.8 Jam dan Timer Adanya jam dan timer pada perangkat keras komputer. Fungsifungsi ini sering digunakan oleh sistem operasi. Dengan menghubungkan komputer ke socket.Politeknik Telkom Sistem Operasi 7. Sayangnya. Socket berfungsi untuk menghubungkan komputer ke jaringan. Salah satu yang banyak digunakan pada sistem operasi adalah socket interface. System call pada socket interface dapat memudahkan suatu aplikasi untuk membuat local socket. setidaknya memiliki tiga fungsi. tulis dan juga perintah pencarian data pada peralatan yang memiliki sifat random-access. Sistem Operasi 113 .7 Peralatan Jaringan Karena adanya perbedaan dalam kinerja dan pengalamatan dari jaringan M/K.6 Peralatan Blok dan Karakter Peralatan blok diharapkan dapat memenuhi kebutuhan akses pada berbagai macam disk drive dan juga peralatan blok lainnya. maka biasanya sistem operasi memiliki antarmuka M/K yang berbeda dari baca. Keyboard adalah salah satu contoh alat yang dapat mengakses stream-karakter. tulis dan pencarian pada disk.

aplikasi tersebut dikembalikan ke run queue. buffering. maka kernel atau device driver mengatur daftar dari interupsi dengan urutan yang pertama kali datang akan dilayani terlebih dahulu. Akan tetapi. Sistem operasi dapat mendukung lebih dari banyak timer request daripada banyaknya jumlah timer hardware. banyak sistem operasi yang bersifat blocking.9. error handling. Pada bagian ini.1 Penjadualan M/K Kernel menyediakan banyak layanan yang berhubungan dengan M/K. dan kita akan membahas bagaimana caranya membuat infrastruktur perangkat keras dan device driver. Dengan kondisi seperti ini. 7. dimana dia akan melakukan interupsi yang akan memberhentikan suatu proses pada akhir dari bagian waktunya. Perangkat keras yang mengukur waktu dan melakukan operasi trigger dinamakan programmable interval timer. sehingga pengeksekusiannya akan dilanjutkan. 7. Dia dapat diatur untuk menunggu waktu tertentu dan kemudian melakukan interupsi. Layananlayanan yang akan kita bahas adalah penjadualan M/K. spooling. caching. hal ini terjadi karena blocking application lebih mudah dimengerti dari pada nonblocking application. kita akan mendeskripsikan beberapa layanan yang disediakan oleh subsistem kernel M/K. Contoh penerapannya ada pada scheduler. eksekusi aplikasi itu akan dihentikan sementara lalu dipindahkan ke wait queue. reservasi perangkat.9 Blocking dan Nonblocking I/O Ketika suatu aplikasi menggunakan sebuah blocking system call. Physical action dari peralatan M/K biasanya bersifat asynchronous. Setelah system call tersebut selesai.Politeknik Telkom Sistem Operasi system call untuk pemanggilan fungsi ini tidak distandarisasi antar sistem operasi. 114 Sistem Operasi .

Politeknik Telkom

Sistem Operasi

Menjadwal sekumpulan permintaan M/K sama dengan menentukan urutan yang sesuai untuk mengeksekusi permintaan tersebut. Penjadualan dapat meningkatkan performa sistem secara keseluruhan, dapat membagi perangkat secara adil di antara proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk menyelesaikan operasi M/K. Berikut adalah contoh sederhana untuk menggambarkan definisi di atas. Jika sebuah arm disk terletak di dekat permulaan disk, dan ada tiga aplikasi yang memblokir panggilan untuk membaca disk tersebut. Aplikasi pertama meminta sebuah blok dekat akhir disk, aplikasi kedua meminta blok yang dekat dengan awal, dan aplikasi tiga meminta bagian tengah dari disk. Sistem operasi dapat mengurangi jarak yang harus ditempuh oleh arm disk dengan melayani aplikasi tersebut dengan urutan 2, 3, 1. Pengaturan urutan pekerjaan kembali seperti ini merupakan inti dari penjadualan M/K. Pengembang sistem operasi mengimplementasikan penjadualan dengan mengatur antrian permintaan untuk tiap perangkat. Ketika sebuah aplikasi meminta sebuah blocking sistem M/K, permintaan tersebut dimasukkan ke dalam antrian untuk perangkat tersebut. Scheduler M/K mengurutkan kembali antrian untuk meningkatkan efisiensi dari sistem dan waktu respon rata-rata yang harus dialami oleh aplikasi. Sistem operasi juga mencoba untuk bertindak secara adil agar tidak ada aplikasi yang menerima layanan yang lebih sedikit, atau dapat memberikan prioritas layanan untuk permintaan penting yang ditunda. Contohnya, pemintaan dari sub sistem mungkin akan mendapatkan prioritas lebih tinggi daripada permintaan dari aplikasi. Beberapa algoritma penjadualan untuk I/O disk akan dijelaskan pada bagian Penjadualan Disk. Salah satu cara untuk meningkatkan efisiensi M/K sub sistem dari sebuah komputer adalah dengan mengatur operasi M/K tersebut. Cara lain adalah dengan menggunakan tempat
Sistem Operasi 115

Politeknik Telkom

Sistem Operasi

penyimpanan pada memori utama atau pada disk, melalui teknik yang disebut buffering, caching, dan spooling. 7.9.2 Buffering Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua perangkat atau antara perangkat dan aplikasi.

116

Sistem Operasi

Politeknik Telkom

Sistem Operasi

Tiga alasan melakukan buffering: 1. Mengatasi perbedaan kecepatan antara produsen dengan konsumen dari sebuah stream data. Contoh, sebuah berkas sedang diterima melalui modem dan akan disimpan di hard disk. Kecepatan modem tersebut ribuan kali lebih lambat daripada hard disk, sehingga buffer dibuat di dalam memori utama untuk mengumpulkan jumlah byte yang diterima dari modem. Ketika keseluruhan data di buffer sudah sampai, buffer tersebut dapat ditulis ke disk dengan operasi tunggal. Karena penulisan disk tidak terjadi dengan seketika dan modem masih memerlukan tempat untuk menyimpan data yang berdatangan, maka dua buah buffer digunakan untuk melakukan operasi ini. Setelah modem memenuhi buffer pertama, akan terjadi permintaan untuk menulis di disk. Modem kemudian mulai memenuhi buffer kedua sementara buffer pertama dipakai untuk penulisan ke disk. Seiring modem sudah memenuhi buffer kedua, penulisan ke disk dari buffer pertama seharusnya sudah selesai, jadi modem akan berganti kembali memenuhi buffer pertama sedangkan buffer kedua dipakai untuk menulis. Metode double buffering ini membuat pasangan ganda antara produsen dan konsumen sekaligus mengurangi kebutuhan waktu diantara mereka. 2. Untuk menyesuaikan perangkat-perangkat yang mempunyai perbedaan dalam ukuran transfer data. Hal ini sangat umum terjadi pada jaringan komputer, dimana buffer dipakai secara luas untuk fragmentasi dan pengaturan kembali pesan-pesan yang diterima.
Sistem Operasi 117

Politeknik Telkom

Sistem Operasi

Pada bagian pengirim, sebuah pesan yang besar akan dipecah ke dalam paket-paket kecil. Paket-paket tersebut dikirim melalui jaringan, dan penerima akan meletakkan mereka di dalam buffer untuk disusun kembali. 3. Untuk mendukung copy semantics untuk aplikasi M/K. Sebuah contoh akan menjelaskan apa arti dari copy semantics. Jika ada sebuah aplikasi yang buffer data yang ingin dituliskan ke disk, aplikasi tersebut akan memanggil sistem penulisan, menyediakan pointer ke buffer, dan sebuah integer untuk menunjukkan ukuran bytes yang ingin ditulis. Setelah pemanggilan tersebut, apakah yang akan terjadi jika aplikasi tersebut merubah isi dari buffer? Dengan copy semantics, versi data yang ingin ditulis sama dengan versi data waktu aplikasi ini memanggil sistem untuk menulis, tidak tergantung dengan perubahan yang terjadi pada buffer. Sebuah cara sederhana untuk sistem operasi untuk menjamin copy semantics adalah membiarkan sistem penulisan untuk menyalin data aplikasi ke dalam buffer kernel sebelum mengembalikan kontrol kepada aplikasi. Jadi penulisan ke disk dilakukan pada buffer kernel, sehingga perubahan yang terjadi pada buffer aplikasi tidak akan membawa dampak apa-apa. Menyalin data antara buffer kernel data aplikasi merupakan sesuatu yang umum pada sistem operasi, kecuali overhead yang terjadi karena operasi clean semantics. Kita dapat memperoleh efek yang sama yang lebih efisien dengan memanfaatkan pemetaan virtualmemori dan proteksi copy-on-wire dengan lebih pintar. 7.9.3 Caching Sebuah cache adalah daerah memori yang cepat yang berisikan data salinan. Akses ke sebuah salinan yang dicached lebih efisien daripada akses ke data asli. Sebagai contoh, instruksi-instruksi dari proses yang sedang dijalankan disimpan ke dalam disk, dan ter-cached di dalam memori
118 Sistem Operasi

Politeknik Telkom

Sistem Operasi

fisik, dan kemudian dikopi lagi ke dalam cache secondary and primary dari CPU. Perbedaan antara sebuah buffer dan cache adalah buffer dapat menyimpan satu-satunya informasi data sedangkan sebuah cache secara definisi hanya menyimpan sebuah data dari sebuah tempat untuk dapat diakses lebih cepat. Caching dan buffering adalah dua fungsi yang berbeda, tetapi terkadang sebuah daerah memori dapat digunakan untuk keduanya. sebagai contoh, untuk menghemat copy semantics dan membuat penjadualan M/K menjadi efisien, sistem operasi menggunakan buffer pada memori utama untuk menyimpan data. Buffer ini juga digunakan sebagai cache, untuk meningkatkan efisiensi IO untuk berkas yang digunakan secara bersamasama oleh beberapa aplikasi, atau yang sedang dibaca dan ditulis secara berulang-ulang. Ketika kernel menerima sebuah permintaan berkas M/K, kernel tersebut mengakses buffer cache untuk melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. Jika sudah tersedia, sebuah physical disk I/O dapat dihindari atau bahkan tidak dipakai. Penulisan disk juga terakumulasi ke dalam buffer cache selama beberapa detik, jadi transfer yang besar akan dikumpulkan untuk mengefisiensikan jadual penulisan. Cara ini akan menunda penulisan untuk meningkatkan efisiensi M/K akan dibahas pada bagian Remote File Access.

7.10 Spooling dan Reservasi Perangkat

Sistem Operasi

119

Pada sistem operasi yang lain. Di dalam beberapa sistem operasi. Untuk mencetak sebuah berkas. sistem ini ditangani oleh in-kernel thread. untuk mengenyahkan antrian-antrian yang tidak diinginkan sebelum mulai dicetak. Pada kedua penanganan tersebut. Sistem operasi akan menyelesaikan masalah ini dengan meng-intercept semua keluaran kepada printer. Sebuah spool adalah sebuah buffer yang menyimpan keluaran untuk sebuah perangkat yang tidak dapat menerima interleaved data streams. Spooling memungkinkan keluaran mereka tercetak satu per satu.Politeknik Telkom Sistem Operasi Gambar 7-22 Gambar Spooling Spooling adalah proses yang sangat berguna saat berurusan dengan perangkat M/K dalam sistem multiprogram. Ketika sebuah aplikasi selesai mencetak. namun beberapa aplikasi dapat meminta printer untuk mencetak. Printer hanya dapat melayani satu pekerjaan pada waktu tertentu. 120 Sistem Operasi . Salah satu perangkat spool yang paling umum adalah printer. sistem operasi menyediakan antarmuka kontrol yang membuat users and sistem administrator dapat menampilkan antrian tersebut. sistem spooling akan melanjutkan ke antrian berikutnya. Tiap keluaran aplikasi sudah di-spooled ke disk berkas yang berbeda. pertama-tama sebuah proses mengeneralisasi berkas secara keseluruhan untuk di cetak dan ditempatkan pada spooling directory. spooling ditangani oleh sebuah sistem proses daemon. tidak tercampur.

Untuk mengirim berkas ke suatu tempat. tidak dapat me-multiplex permintaan M/K dari beberapa aplikasi. sistem operasi pada umumnya tidak akan dapat mengembalikan situasi seperti semula. Sistem Operasi 121 . user menempatkan berkas tersebut dalam spooling directory jaringan.Politeknik Telkom Sistem Operasi Contoh lain adalah penggunaan spooling pada transfer berkas melalui jaringan yang biasanya menggunakan daemon jaringan. daemon jaringan akan mengambilnya dan mentransmisikannya. Selain dengan spooling. dapat juga diatasi dengan cara lain. Perangkat dan transfer M/K dapat gagal dalam banyak cara.11 Error Handling Sebuah sistem operasi yang menggunakan protected memory dapat menjaga banyak kemungkinan error akibat perangkat keras maupun aplikasi. Beberapa sistem operasi menyediakan dukungan untuk akses perangkat secara eksklusif. Keseluruhan sistem untuk mail ini berlangsung di luar sistem operasi. Akan tetapi untuk kesalahan permanen. Salah satu bentuk nyata penggunaan spooling jaringan adalah sistim email via Internet. Sistem operasi seringkali dapat mengkompensasikan untuk kesalahan transient. dengan mengalokasikan proses ke device idle dan membuang perangkat yang sudah tidak diperlukan lagi. 7. maupun alasan permanen yang seperti kerusakan yang terjadi pada disk controller. Banyak sistem operasi menyediakan fungsi yang membuat proses untuk menangani koordinat exclusive akses diantara mereka sendiri. Beberapa perangkat. Seperti. Selanjutnya. sebuah kesalahan baca pada disk akan mengakibatkan pembacaan ulang kembali dan sebuah kesalahan pengiriman pada jaringan akan mengakibatkan pengiriman ulang apabila protokolnya diketahui. seperti drive tape dan printer. Sistem operasi lainnya memaksakan limit suatu berkas untuk menangani perangkat ini. dapat karena alasan transient. yaitu dengan membagi koordinasi untuk multiple concurrent ini. seperti overloaded pada jaringan.

yaitu sebuah sistem M/K akan mengembalikan satu bit informasi tentang status panggilan tersebut.Politeknik Telkom Sistem Operasi Sebuah ketentuan umum. Kernel menggunakan banyak struktur yang mirip untuk melacak koneksi jaringan. semantiknya berbeda untuk tiap entiti. seperti kesalahan parameter atau kesalahan self-test. kernel perlu untuk memastikan bahwa ukuran permintaan adalah kelipatan dari ukuran sektor disk. dan alamat tempat proses. UNIX 122 Sistem Operasi . kernel perlu memeriksa buffer cache sebelum memutuskan apakah akan melaksanakan I/O disk. cukup perlu untuk mengkopi data ke dalam memori. dan masih terdapat di dalam batas sektor. sebuah additional sense code yang mengkategorikan kesalahan yang muncul. Untuk memproses citra. raw devices. seperti parameter yang error. dan sebuah additional sense code qualifier yang memberitahukan kesalahan secara lebih mendalam dan mendetil. Sistem operasi pada UNIX menggunakan integer tambahan yang dinamakan ERRNO untuk mengembalikan kode kesalahan sekitar 1 dari 100 nilai yang mengindikasikan sebab dari kesalahan tersebut. komunikasi perangkat karakter. beberapa perangkat keras dapat menyediakan informasi kesalahan yang detail. Untuk membaca sebuah raw disk. Sebagai contoh. walaupun banyak sistem operasi yang tidak mendukung fasilitas ini. Walaupun tiap entiti ini didukung sebuah operasi baca. dan aktivitas M/K lainnya.12 Struktur Data Kernel Kernel membutuhkan informasi keadaan tentang penggunakan komponen M/K. Seperti untuk membaca berkas pengguna. 7. yang akan menandakan apakah proses tersebut berhasil atau gagal. Sebaliknya. kesalahan pada perangkat SCSI dilaporkan oleh protokol SCSI dalam bentuk sense key yang mengindentifikasi kesalahan yang umum seperti error pada perangkat keras atau permintaan yang ilegal. seperti berkas pengguna. UNIX menyediakan akses sistem berkas untuk beberapa entiti.

5. Sebagai contoh. Kontrol operasi.13 Penanganan Permintaan M/K Di bagian sebelumnya. 6. Kontrol akses untuk berkas dan perangkat.Politeknik Telkom Sistem Operasi mengkapsulasikan perbedaan-perbedaan ini di dalam struktur yang seragam dengan menggunakan teknik object oriented. subsistem M/K mengkoordinasi kumpulankumpulan service yang banyak sekali. Buffering. Subsistem M/K mengawasi: 1. yang tersedia dari aplikasi maupun bagian lain dari kernel. 2. Penjadualan M/K 8. 4. caching. tetapi akan mennyederhanakan struktur dan design dari sistem M/K tersebut dan menambah fleksibilitas. spooling. Managemen nama untuk berkas dan perangkat. Pendekatan message-passing ini dapat menambah overhead. Untuk output. Beberapa sistem operasi bahkan menggunakan metode object oriented secara lebih ekstensif. dengan perbandingan dengan teknik prosedural yang membagi struktur data. Konfigurasi dan utilisasi driver device 7. 7. tapi kita tidak menjelaskan bagaimana Sistem Operasi menyambungkan Sistem Operasi 123 . Alokasi tempat sistem berkas. isi message adalah data yang akan ditulis. error handling. kita mendeskripsikan handshaking antara device driver dan pengendali perangkat. 3. Mengawasi status perangkat. Windows NT menggunakan implementasi message-passing untuk M/K. contoh: model yang tidak dapat dikenali. dan kesalahan dalam recovery. yang masing-masing dapat mengubah isi pesan. Untuk input. Alokasi perangkat. Kesimpulannya. message berisikan buffer untuk menerima data. Sebuah permintaan I/O akan dikonversikan ke sebuah pesan yang dikirim melalui kernel kepada M/K manager dan kemudian ke device driver. 9.

Pada waktu boot. Modules dapat didorong ke stream untuk menambah fungsionalitas di sebuah layered fashion. dan nol atau lebih stream modules di antara mereka. Sebuah proses mengeluarkan sebuah blocking read system call ke sebuah berkas deskriptor dari berkas yang telah dibuka sebelumnya. yang membolehkan aplikasi untuk menassemble pipeline dari kode driver secara dinamis. Kita dapat mengenalkan perangkat dan driver baru ke komputer tanpa harus meng-compile ulang kernelnya. Sebagai gambaran sederhana. Sebuah stream adalah sebuah koneksi full duplex antara sebuah device driver dan sebuah proses user-level. sebuah driver end yang mengontrol perangkat. menyiapkan jaringan menuju Sistem Operasi yang modern mendapatkan fleksibilitas yang signifikan dari tahapan-tahapan tabel lookup di jalur diantara permintaan dan pengendali perangkat physical. Kode system-call di kernel mengecek parameter untuk kebenaran. Sebagai fakta. di Sistem V. sistem mula-mula meminta bus perangkat keras untuk menentukan perangkat apa yang ada. mekanisme soket diimplementasikan dengan stream. baik sesegera mungkin. sebuah proses dapat membuka sebuah alat port serial melalui sebuah stream. yang disebut streams. Stream dapat digunakan untuk interproses dan komunikasi jaringan. dan dapat mendorong ke sebuah modul untuk memegang edit input. kemudian sistem me-load ke dalam driver yang sesuai. Stream terdiri atas sebuah stream head yang merupakan antarmuka dengan user process. Sistem V UNIX mempunyai mekanisme yang menarik.Politeknik Telkom Sistem Operasi permintaan aplikasi untuk sektor disk yang spesifik. ada beberapa sistem operasi yang mampu untuk me-load device drivers yang diinginkan. Faktanya. 2. jika data telah siap di 124 Sistem Operasi . Berikut dideskripsikan sebuah lifecycle yang tipikal dari sebuah permintaan pembacaan blok: 1. maupun ketika diperlukan oleh sebuah permintaan M/K. Dalam kasus input.

dan memindahkan proses dari antrian tunggu kembali ke antrian siap. permintaan dikirimkan melalui call subrutin atau melalui pesan inkernel. sehingga proses akan dikeluarkan dari antrian jalan (run queue) dan diletakkan di antrian tunggu (wait queue) untuk alat. data akan dikembalikan ke proses dan permintaan M/K diselesaikan. 6. dan kembali dari interupsi. yang menggunakan interupsi ketika transfer selesai. driver mengirim perintah ke pengendali perangkat dengan menulis ke register device control. Kita mengasumsikan bahwa transfer diatur oleh sebuah DMA controller. menandai device driver. Pada akhirnya. Device driver mengalokasikan ruang buffer pada kernel untuk menerima data. subsistem M/K mengirimkan permintaan ke device driver. menyimpan sejumlah data yang dibutuhkan. buffer cache. Proses tidak diblok ketika dipindahkan ke antrian siap. Pada akhirnya. Pengendali perangkat mengoperasikan perangkat keras perangkat untuk melakukan transfer data. dan permintaan M/K pun dijadualkan. Interrupt handler yang sesuai menerima interupsi melalui tabel vektor-interupsi. 5.Politeknik Telkom Sistem Operasi 3. Driver dapat menerima status dan data. menganalisa permintaan M/K mana yang telah diselesaikan. Device driver menerima tanda. 8. Jika data tidak berada dalam buffer cache. Kernel mentransfer data atau mengembalikan kode ke ruang alamat dari proses permintaan. Bergantung pada sistem operasi. proses meneruskan eksekusi pada penyelesaian dari system call. dan menandai subsistem M/K kernel yang permintaannya telah terselesaikan. Sistem Operasi 125 . 9. sebuah physical M/K akan bekerja. menganalisa status permintaan. atau dapat menyiapkan transfer DMA ke memori kernel. Ketika penjadual (scheduler) mengembalikan proses ke CPU. 7. 4. dan menjadualkan M/K.

stream head yang berhubungan langsung dengan proses. driver ends yang mengatur peranti-peranti 3.14 I/O Streams I/O stream adalah suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari proses ke peranti (begitu pula sebaliknya). 126 Sistem Operasi .Politeknik Telkom Sistem Operasi 7. I/O Stream terdiri dari: 1. 2. stream modules yang berada di antara stream head dan driver end. Untuk memasukkan ke dalam stream digunakan ioctl() system call. sedangkan untuk menuliskan data ke peranti digunakan write()/ putmsg() system calls. maupun menyampaikan data ke proses melalui read queue dengan cara message passing. dan untuk membaca data dari peranti digunakan read()/ getmsg() system calls. yang bertugas menyampaikan data ke driver end melalui write queue.

Mengkopi dengan semua permintaan ini adalah salah satu kekhawatiran dalam arsitektur komputer. namun penanganan interupsi adalah pekerjaan yang sulit. mengeksekusi interrupt handler lalu mengembalikan statusnya kembali. M/K sering meminta CPU untuk mengeksekusi device-driver code dan menjadual proses secara efisien sewaktu memblock dan unblock. M/K juga memberitahukan ketidakefisienan mekanisme penanganan interupsi dalam kernel. dan juga saat copy antara kernel buffers dan application data space.Politeknik Telkom Sistem Operasi Gambar 7-23 Struktur Stream 7.15 Kinerja MK M/K adalah faktor penting dalam kinerja sistem. Hasil context switch men-stress ke CPU dan hardware cache-nya. M/K yang terprogram Sistem Operasi 127 . dan M/K me-load down memory bus saat data copy antara pengendali dan memori fisik. Setiap interupsi mengakibatkan sistem melakukan perubahan status. Walaupun komputer modern dapat menangani beribu-ribu interupsi per detik.

Setiap karakter yang diketikkan pada local machine harus dikirim ke remote machine. Biasanya. menuju ke lapisan-lapisan network yang membuat paket network. “Gambar Komunikasi Interkomputer”). ada context switch dan state switch (lihat Gambar. lalu ke network device driver. M/K yang sudah selesai biasanya meng-unblock sebuah proses lalu membawanya ke full overhead of context switch. Coba diperhatikan. Pada local machine karakter akan diketikkan. dan mengirim paket ke subdaemon yang sesuai untuk session itu. Network traffic juga dapat menyebabkan high context-switch rate. penerima mengirim kembali karakter ke pengirim. Interupsi kemudian dikembalikan ke kernel supaya I/O system call dapat selesai. Network device driver mengirim paket itu ke network controller. dan karakter melewati interrupt handler menuju device-driver lalu ke kernel. Sekarang remote system's network hardware sudah menerima paket. Karakter lalu melewati local kernel. Melalui alur ini. misalnya sebuah remote login dari sebuah mesin ke mesin lainnya.Politeknik Telkom Sistem Operasi dapat lebih efisien dibanding interrupt-driven I/O. jika waktu cycle yang dibutuhkan untuk busy-waiting tidak berlebihan. lalu keyboard interrupt dibuat. Karakter di-unpack dari network protocol dan dikirim ke network daemon yang sesuai. dan interupsi dibuat. Network daemon mengidentifikasi remote login session mana yang terlibat. 128 Sistem Operasi . setelah itu ke proses. Proses memanggil network I/O system call untuk mengirim karakter ke remote machine. yang mengirim karakter dan membuat interupsi.

sehingga main CPU dapat bebas memproses data.Politeknik Telkom Sistem Operasi Gambar 7-24 Gambar Komunikasi Interkomputer Gambar ini diadaptasi dari [Silberschatz2002. Sistem Operasi 129 . halaman 484]. supaya mengurangi beban interupsi pada main CPU. Sebuah I/O channel adalah sebuah CPU yang memiliki tujuan khusus yang ditemukan pada mainframe dan pada sistem high-end lainnya. smart controller. sebuah terminal concentrator dapat mengirim sinyal secara bersamaan dari beratus-ratus terminal ke satu port di large computer. Misalnya. Sun memperkirakan bahwa perkembangan ini akan menambah jumlah maksimum network logins dari beberapa ratus hingga beberapa ribu (pada server besar). Mengurangi jumlah interupsi dengan menggunakan transfer besar-besaran. Kegunaan dari I/O channel adalah untuk meng-offload I/O work dari main CPU. Developer Solaris mengimplementasikan kembali telnet daemon menggunakan kernel-thread untuk menghilangkan context switch yang terlibat dalam pemindahan karakter dari daemon ke kernel. Mengurangi context switch. Kita dapat menggunakan beberapa prinsip untuk menambah efisiensi M/K: 1. dan polling (jika busy-waiting dapat diminimalisir). Sistem lain menggunakan front-end processor yang terpisah untuk terminal M/K. 2. Prinsipnya adalah channel tersebut menjaga supaya lalu lintas data lancar. sebuah channel dapat memproses program-program yang umum dan kompleks. 3. jadi channel dapat digunakan untuk workload tertentu. Mengurangi jumlah pengsalinan data dalam memori sewaktu pengiriman antara peranti dan aplikasi. Seperti device controller dan DMA controller yang ada pada smaller computer.

Kompleksitas peranti berbeda-beda. fungsionalitas yang disediakan NT disk device driver sangatlah kompleks. dan application bug tidak membuat sistem crash. Kapan fungsionalitas M/K dapat diimplementasikan? Pada device hardware.Politeknik Telkom Sistem Operasi 4. karena sebuah overload pada salah satu area akan menyebabkan keterlambatan pada yang lain. supaya operasi pada device controller konkuren dengan CPU dan operasi bus. Memindahkan processing primitives ke perangkat keras. NT disk device driver mengubah read atau pun write request dari aplikasi menjadi coordinated set of disk I/O operations. Pergerakan mouse dan button click diubah menjadi nilai numerik yang dikirim dari perangkat keras (melalui mouse device driver) menuju aplikasinya. kita dapat menghindari reboot atau pun reload device driver setiap mengganti kode. device driver. Mouse adalah peranti yang sederhana. lalu mengambil langkah-langkah untuk mengoptimalkan kinerja disk. misalnya mouse. 130 Sistem Operasi . Kebalikan dari mouse. Bagaimana pun juga sebuah implementasi pada application level dapat tidak efisien. karena kinerja penyimpanan sekunder adalah hal penting untuk keseluruhan kinerja sistem. memory subsystem. 5. Terlebih lagi dengan mengembangkan kode pada application level. 6. Terlebih lagi. tapi juga mengimplementasikan RAID array. NT disk device driver tidak hanya mengatur individual disk. Untuk dapat melakukannya. bus dan kinerja M/K. NT disk device driver mengimplementasikan penanganan error dan algoritma datarecovery. Keseimbangan antara CPU. karena application code lebih fleksibel. atau pada aplikasi perangkat lunak? Mula-mula kita implementasikan eksperimen algoritma M/K pada application level. Menambah konkurensi dengan menggunakan pengendali atau channel DMA yang sudah diketahui untuk meng-offload kopi data sederhana dari CPU.

dan locking yang efisien). sebuah hardware RAID controller mungkin saja tidak memberikan izin kepada kernel untuk mempengaruhi urutan atau pun lokasi dari individual block reads and writes. sehingga dapat menambah kinerja.Politeknik Telkom Sistem Operasi karena overhead of context switch. Akan tetapi. usaha pengembangan sulit dilakukan karena sistem operasi kernel adalah sistem perangkat lunak yang besar dan kompleks. dan karena aplikasi tidak dapat menerima kemudahan dari internal kernel data structure dan fungsionalitas kernel (seperti internal kernel messaging. baik dalam peranti atau pun pengendali. Terlebih lagi. Kinerja tertinggi dapat didapatkan dengan cara implementasi spesial dalam perangkat keras. dalam pengimplementasian internal kernel harus di-debug secara hati-hati untuk menghindari data corrupt dan sistem crash. walaupun kernel memiliki informasi tertentu tentang workload yang mampu membuat kernel meningkatkan kinerja M/K. Ketika algoritma application level memperlihatkan kegunaannya. dan bertambahnya development time (dalam satuan bulan. bukan hari). Kerugian dari implementasi perangkat keras termasuk kesulitan dan pengorbanan dari membuat kemajuan atau dari pembetulan bug. kita dapat mengimplementasikan kembali kernel. Misalnya. dan berkurangnya fleksibilitas. threading. Rangkuman Sistem Operasi 131 .

Politeknik Telkom

Sistem Operasi

Subsistem kernel M/K menyediakan layanan yang berhubungan langsung dengan perangkat keras. Layanan Penjadualan M/K mengurutkan antrian permintaan pada tiap perangkat dengan tujuan untuk meningkatkan efisiensi dari sistem dan waktu respon rata-rata yang harus dialami oleh aplikasi. Ada tiga alasan melakukan layanan Buffering, yaitu menyangkut perbedaan kecepatan produsen-konsumen, perbedaan ukuran transfer data dan dukungan copy semantics untuk aplikasi M/K. Fungsi buffering dan caching memiliki perbedaan dalam hal tujuan. Caching menyimpan salinan data asli pada area memori dengan tujuan agar bisa diakses lebih cepat, sedangkan buffering menyalin data asli agar dapat menyimpan satu-satunya informasi data. Subsistem M/K mengkoordinasi kumpulan-kumpulan sevice yang banyak sekali, yang tersedia dari aplikasi atau bagian lain dari kernel. Penanganan permintaan M/K dilakukan dengan suatu mekanisme yang dideskripsikan sebagai sebuah life cycle. Layanan I/O Streams menggunakan suatu mekanisme pengiriman data secara bertahap dan terus menerus melalui suatu aliran data dari piranti ke proses

132

Sistem Operasi

Politeknik Telkom

Sistem Operasi

Latihan

1. Apa yang dimaksud dengan DMA dan RAID 2. Jelaskan mekanisme dasar interupsi 3. Sebutkan dan jelaskan teknik pemrograman I/O yang anda ketahui 4. Apa yang dimaksud dengan buffer dan buffering 5. Apa yang dimaksud dengan kernel

Sistem Operasi

133

Politeknik Telkom

Sistem Operasi

8 Manajemen Disk

Overview

Sebelum memulai mempelajari sistem operasi penting bagi kita untuk mengetahui komponen-komponen yang menjadi bagian dari sebuah disk disertai cara kerjanya. Hal ini disebabkan nantinya disk bekerja untuk mengatur komponenkomponen tersebut.

Tujuan

134

Sistem Operasi

Politeknik Telkom

Sistem Operasi

1. Mahasiswa mengetahui struktur dari disk 2. Mahasiswa mengetahui penjadwalan yang terjadi pada suatu disk

8.1 Struktur Disk
Struktur disk merupakan suatu hal yang penting bagi penyimpanan informasi. Sistem komputer modern menggunakan Disk sebagai media penyimpanan sekunder. Dulu pita magnetik digunakan sebelum penggunaan disk sebagai media penyimpanan, sekunder yang memiliki waktu akses yang lebih lambat dari disk. Sejak digunakan disk, tape digunakan untuk backup, untuk menyimpan informasi yang tidak sering digunakan, sebagai media untuk memindahkan informasi dari satu sistem ke sistem lain, dan untuk menyimpan data yang cukup besar bagi sistem disk. Bentuk penulisan Disk drive modern adalah array blok logika satu dimensi yang besar. Blok logika merupakan satuan unit terkecil dari transfer. Ukuran blok logika umumnya sebesar 512 bytes walaupun disk dapat diformat di level rendah (low level formatted) sehingga ukuran blok logika dapat ditentukan, misalnya 1024 bytes. Array adalah blok logika satu dimensi yang dipetakan ke sektor dari disk secara sekuensial. Sektor 0 merupakan sektor pertama dari track pertama yang terletak di silinder paling luar (outermost cylinder). Proses pemetaan dilakukan secara berurut dari Sektor 0, lalu ke seluruh track dari silinder tersebut, lalu ke seluruh silinder mulai dari silinder terluar sampai silinder terdalam. Kita dapat mengubah sebuah nomor blok logika dengan pemetaan menjadi sebuah alamat disk yang terdiri atas nomor silinder, nomor track di silinder tersebut, dan nomor sektor dari track tersebut. Dalam prakteknya, sulit untuk menerapkan pengubahan tersebut karena ada dua alasan. Pertama, kebanyakan disk memiliki sejumlah sektor yang rusak, tetapi pemetaan menyembunyikan hal ini dengan
Sistem Operasi 135

Politeknik Telkom

Sistem Operasi

mensubstitusikan dengan sektor lain yang diambil dari suatu tempat di disk. Kedua, jumlah dari sektor tidak track tidak konstan. Pada media yang menggunakan ketentuan Constant Linear Velocity (CLV) kepadatan bit tiap track sama, jadi semakin jauh sebuah track dari tengah disk, semakin besar panjangnya, dan juga semakin banyak sektor yang dimilikinya. Trek di zona terluar memiliki 40% sektor lebih banyak dibandingkan dengan track di zona terdalam. Untuk menjamin aliran data yang sama, sebuah drive menaikan kecepatan putarannya ketika disk head bergerak dari zona luar ke zona dalam. Metode ini digunakan dalam CD-ROM dan DVD-ROM. Metode lain yang digunakan agar rotasi tetap konstan dan aliran data juga konstan dikenal dengan metode CAV (Constant Angular Velocity). CAV memungkinkan aliran data yang konstan karena kepadatan bit dari zona terdalam ke zona terluar semakin berkurang, sehingga dengan kecepatan rotasi yang konstan diperoleh aliran data yang konstan.

8.2 Penjadwalan Disk
Penjadualan disk merupakan salah satu hal yang sangat penting dalam mencapai efisiensi perangkat keras. Bagi disk drives, efisiensi dipengaruhi oleh kecepatan waktu akses dan besarnya disk bandwith. Waktu akses memiliki dua komponen utama yaitu waktu pencarian dan waktu rotasi disk (rotational latency). Waktu pencarian adalah waktu yang dibutuhkan disk arm untuk menggerakkan head ke bagian silinder disk yang mengandung sektor yang diinginkan. Waktu rotasi disk adalah waktu tambahan yang dibutuhkan untuk menunggu perputaran disk agar head dapat berada di atas sektor yang diinginkan. Disk bandwith adalah total jumlah bytes yang ditransfer dibagi dengan total waktu dari awal permintaan transfer sampai transfer selesai. Kita dapat meningkatkan waktu akses dan bandwidth dengan menjadualkan permintaan dari M/K dalam urutan tertentu. Apabila suatu proses membutuhkan pelayanan M/K dari atau menuju disk, maka proses tersebut akan melakukan system
136 Sistem Operasi

45. Secara umum algoritma FCFS ini sangat adil walaupun ada kelemahan dalam algoritma ini dalam hal kecepatannya yang lambat. kemudian 45. 48. setelah selesai baru melayani permintaan 48.1 Penjadwalan FCFS Penjadualan disk FCFS melayani permintaan sesuai dengan antrian dari banyak proses yang meminta layanan. Alamat disk untuk proses tersebut. 88. antara lain: 1. Permintaan beberapa informasi. maka pergerakan total Sistem Operasi 137 . 25. 88. 5 dan terakhir 20. 5. 60. 70. tersebut membawa Apakah operasi input atau output. 78.3 Macam-macam Penjadwalan Disk 8. Jika permintaan terhadap silinder 88 dapat dilayani setelah permintaan 78. maka semua permintaan yang memerlukan pelayanan disk tersebut akan diletakkan pada suatu antrian permintaan untuk disk tersebut. 37.Politeknik Telkom Sistem Operasi call ke sistem operasi. 56. 8. Sebagai contoh. 2. 4. Alamat memori untuk proses tersebut Jumlah bytes yang akan ditransfer Pelayanan akan dilayani pada suatu proses apabila disk drive beserta pengendali tersedia untuk proses tersebut. 25. dengan total pergerakan head sebesar 362 silinder. 70. Jika head pada awalnya berada pada 50. 3. jika suatu permintaan telah dilayani. Dengan demikian. Dari contoh diatas. antrian permintaan pelayanan disk untuk proses M/K pada blok dalam silinder adalah sebagai berikut: 10.3. 60. maka head akan bergerak dulu dari 50 ke 10. 48. 56. 37. maka sistem operasi melayani permintaan dari antrian berikutnya. kita dapat melihat permasalahan dengan menggunakan penjadualan jenis ini yaitu pergerakan dari 78 ke 48 dan kembali lagi ke 88. 78. Apabila disk drive dan pengendali sedang sibuk melayani proses lain. 20.

25. 78. 20. 60. 10. Jika kita penuhi permintaan 48. Dari 45. 70. maka SSTF memilih permintaan yang paling dekat posisinya di disk terhadap posisi head terakhir.3. 5. sehingga pendayagunaan akan meningkat. 37. halaman 494]. Karena waktu pencarian meningkat seiring dengan jumlah silinder yang dilewati oleh head. Perhatikan contoh antrian permintaan yang kita sajikan pada penjadualan FCFS. 88. dengan demikian Gambar 8-25 Penjadwalan FCFS (Gambar ini diadaptasi dari [Silberschatz2002.Politeknik Telkom Sistem Operasi head dapat dikurangi. maka yang terdekat berikutnya adalah silinder 45.2 Penjadwalan SSTF Shortest-Seek-Time-First (SSTF) merupakan algoritma yang melayani permintaan berdasarkan waktu pencarian atau waktu pencarian paling kecil dari posisi head terakhir. Pergerakan dari contoh diatas yaitu 50 ke 48. 56. silinder 37 letaknya lebih dekat ke 45 138 Sistem Operasi . lalu ke 45. permintaan paling dekat dengan posisi head saat itu (50) adalah silinder 48.) 8.

namun untuk keadilan layanan SSTF lebih buruk dari penjadualan FCFS. dilanjutkan ke silinder 25. dan karena itu maka penjadualan SSTF juga dapat mengakibatkan starvation pada suatu saat tertentu. 60.Politeknik Telkom Sistem Operasi dibandingkan silinder 56. 20. Sistem Operasi 139 .kira-kira sepertiga dari yang dihasilkan penjadualan FCFS. Hal ini dapat terjadi bila ada permintaan untuk mengakses bagian yang berada di silinder terdalam. 56. 5. 78 dan terakhir adalah 88. 10. 70. Selanjutnya. Metode penjadualan ini hanya menghasilkan total pergerakan head sebesar 128 silinder -. Walaupun algoritma SSTF jauh lebih cepat dibandingkan dengan FCFS.jadi 37 dilayani duluan. Algoritma SSTF ini memberikan peningkatan yang cukup signifikan dalam hal pendayagunaan atau kinerja sistem. Jika kemudian berdatangan lagi permintaan-permintaan yang letaknya lebih dekat dengan permintaan terakhir yang dilayani maka permintaan dari silinder terluar akan menunggu lama dan sebaliknya. Penjadualan SSTF merupakan salah satu bentuk dari penjadualan shortest-job-first (SJF).

disk arm akan berbalik arah geraknya menuju ke silinder paling ujung lainnya.Gambar ini diadaptasi dari [Silberschatz2002. halaman 494] 8. yaitu lift akan melayani orang-orang yang akan naik ke atas dulu. Dalam pergerakannya yang seperti lift itu. baru lift akan berbalik arah geraknya untuk melayani orang-orang yang akan turun. Bila ada permintaan yang berada di belakang arah geraknya. kemudian setelah sampai di silinder paling ujung. yaitu 2 kali dari jumlah total silinder pada disk. permintaan tersebut harus menunggu sampai disk arm mencapai salah satu silinder paling ujung dari disk. Tetapi di samping itu masih ada beberapa kelemahan yang dimiliki oleh algoritma ini. Maka setelah disk arm berbalik arah gerak. Contoh: (lihat Gambar. “Penjadualan SCAN”) Jika disk head sedang berada di silinder 50. permintaan di silinder 45 baru dapat dilayani. setelah sampai di lantai tertinggi. kemudian berbalik arah geraknya untuk melayani permintaan tersebut.3. Begitu seterusnya disk arm melayani permintaan yang berada di depannya sampai disk arm mencapai silinder 99 dan berbalik arah gerak menuju ke silinder 0. maka permintaan yang dapat dilayani berikutnya adalah yang terdekat dengan silinder 50. disk arm hanya dapat melayani permintaan-permintaan yang berada di depan arah geraknya terlebih dahulu. yaitu: silinder 56. Keunggulan dari algoritma SCAN adalah total pergerakan disk arm memiliki batas atas. dan sedang bergerak menuju silinder 99. 140 Sistem Operasi .3 Penjadwalan SCAN Pada algoritma ini disk arm bergerak menuju ke silinder paling ujung dari disk. Algoritma SCAN disebut juga Algoritma lift/ elevator karena algoritma ini cara kerjanya sama seperti algoritma yang umum dipakai oleh lift untuk melayani penggunanya. tetapi masih berada di depan arah geraknya.Politeknik Telkom Sistem Operasi Gambar 8-26 Penjadwalan SSTF .

Gambar 8-27 Penjadwalan SCAN Sistem Operasi 141 . sedangkan silinder-silinder yang dekat dengan silinder 0 sudah lama menunggu untuk dilayani. sehingga permintaan-permintaan yang dekat dengan silinder 0 akan semakin "lapar". baru kemudian dapat berbalik arah geraknya. “Penjadualan SCAN” terlihat salah satu kelemahan algoritma SCAN: permintaan di silinder 88 sebenarnya sudah merupakan permintaan yang paling ujung. Bukankah hal seperti itu sangat tidak efisien? Mengapa disk arm tidak langsung berbalik arah geraknya sesudah sampai di silinder 88? Kelemahan ini akan dijawab oleh algoritma LOOK yang akan dibahas pada sub-bab berikutnya. yaitu C-SCAN yang akan kita bahas berikutnya. maka permintaan-permintaan baru itulah yang akan dilayani. Karena kelemahan yang kedua inilah muncul modifikasi dari algoritma SCAN. tetapi disk arm harus bergerak sampai silinder 99 dulu. maka silinder yang berada dekat di depan arah gerak disk arm baru saja dilayani. Kelemahan lain dari algoritma SCAN yaitu dapat menyebabkan terjadinya starvation.Politeknik Telkom Sistem Operasi Dari contoh Gambar. Bila kemudian bermunculan permintaan-permintaan baru yang dekat dengan silinder 99 lagi. Begitu disk arm berbalik arah geraknya dari silinder 99.

Contoh: (lihat Gambar. “Penjadualan C-SCAN”) Setelah sampai di silinder 99. 142 Sistem Operasi .3. seolah-olah disk arm hanya bergerak 1 arah dalam melayani permintaan. disk arm akan bergerak dengan cepat ke silinder 0 tanpa melayani permintaan selama dalam perjalanannya.Politeknik Telkom Sistem Operasi 8. Perbedaan C-SCAN dengan SCAN hanya pada bagaimana pergerakan disk arm setelah sampai ke salah satu silinder paling ujung. disk arm akan berbalik arah menuju ke silinder paling ujung yang lain sambil tetap melayani permintaan yang berada di depan arah pergerakan disk arm. Dengan pergerakan yang seperti demikian. Pada algoritma SCAN. Kemudian setelah sampai di silinder 0. maka disk arm akan bergerak cepat ke silinder paling ujung lainnya tanpa melayani permintaan. Tetapi dalam algoritma C-SCAN masih terkandung kelemahan yang juga dimiliki oleh algoritma SCAN. sedangkan pada algoritma C-SCAN sesudah mencapai silinder paling ujung.4 Penjadwalan C-SCAN Algoritma Circular SCAN (C-SCAN) merupakan hasil modifikasi algoritma SCAN untuk mengurangi kemungkinan starvation yang dapat terjadi pada SCAN. baru disk arm akan bergerak ke arah silinder 99 lagi sambil melayani permintaan. Untuk itulah dibuat algoritma LOOK yang akan kita bahas berikutnya. yaitu disk arm harus sampai di silinder 99 atau silinder 0 terlebih dahulu sebelum dapat berbalik arah.

Penjadualan LOOK seperti SCAN yang lebih "pintar". Bila tidak ada lagi permintaan di depannya. algoritma ini seolah-olah seperti dapat "melihat". Oleh karena itulah dibuat lagi suatu Sistem Operasi 143 . “Penjadualan LOOK”).5 Penjadwalan LOOK Sesuai dengan namanya. disk arm dapat langsung berbalik arah geraknya.3. Ketika disk head sudah selesai melayani permintaan di silinder 88. Kelemahan algoritma ini sama seperti kelemahan algoritma SCAN bahwa dapat terjadi starvation untuk situasi yang sama pula dengan yang menyebabkan terjadinya starvationpada algoritma SCAN. algoritma ini akan "melihat" bahwa ternyata di depan arah pegerakannya sudah tidak ada lagi permintaan yang harus dilayani. Oleh karena itu disk arm dapat langsung berbalik arah geraknya sehingga permintaan yang menunggu untuk dilayani dapat mendapatkan pelayanan lebih cepat. Contoh: (lihat Gambar.Politeknik Telkom Sistem Operasi Gambar 8-28 Penjadwalan C-SCAN 8. Algoritma ini memperbaiki kelemahan SCAN dan C-SCAN dengan cara melihat apakah di depan arah pergerakannya masih ada permintaan lagi atau tidak.

yaitu pada cara pergerakan disk arm setelah mencapai silinder yang paling ujung.Politeknik Telkom Sistem Operasi algoritma yang lebih baik untuk memperbaiki algoritma ini. Gambar 8-29 Penjadwalan LOOK 8.3.6 Penjadwalan C-LOOK Algoritma ini berhasil memperbaiki kelemahan-kelemahan algoritma SCAN. C-SCAN. 144 Sistem Operasi . Algoritma C-LOOK memperbaiki kelemahan LOOK sama seperti algoritma CSCAN memperbaiki kelemahan SCAN. dan LOOK. yaitu: C-LOOK.

SSTF dan LOOK sering dipakai sebagai algoritma dasar pada sistem operasi.4 Pemilihan Algoritma Penjadwalan Disk Dari seluruh algoritma yang sudah kita bahas di atas. SSTF lebih umum dan memiliki prilaku yang lazim kita temui. tidak ada algoritma yang terbaik untuk semua keadaan yang terjadi. 8. setelah melayani permintaan di silinder 88. algoritma ini dapat mengurangi terjadinya starvation. dengan tetap menjaga efektifitas pergerakan disk arm.Politeknik Telkom Sistem Operasi Gambar 8-30 Penjadwalan C-LOOK Contoh: (lihat Gambar. Sistem Operasi 145 . karena algoritma tersebut memiliki masalah starvation yang paling sedikit. disk arm akan bergerak dengan cepat ke silinder 5. “Penjadualan C-LOOK”) dengan memiliki kemampuan "melihat" algoritma LOOK. yaitu permintaan di silinder yang terletak paling dekat dengan silinder 0. SCAN dan C-SCAN memperlihatkan kemampuan yang lebih baik bagi sistem yang menempatkan beban pekerjaan yang berat kepada disk. Dengan cara pergerakan disk arm yang mengadaptasi keunggulan dari C-SCAN dan LOOK.

misalnya kita hanya memiliki satu permintaan. sehingga kalau hanya kinerja M/K yang diperhatikan. maka semua algoritma penjadualan akan dipaksa bertindak sama. jadi dapat saling mengganti dengan algoritma lain jika diperlukan. kinerja sistem sangat tergantung pada jumlah dan tipe permintaan. maka algoritma penjadualan disk harus ditulis dalam modul terpisah dari sistem operasi. Array adalah blok logika satu dimensi yang dipetakan dari disk ke sektor secara bertahap dan berurut. sedangkan untuk disk modern. rotational latency dari disk sangat menentukan. Sebagai contoh. Terdapat dua aturan pemetaan. Oleh karena itu para produsen disk telah mengurangi masalah ini dengan mengimplementasikan algoritma penjadualan disk di dalam pengendali perangkat keras. Constant Linear Velocity (CLV) 146 Sistem Operasi .Politeknik Telkom Sistem Operasi Dengan algoritma penjadualan yang mana pun. Tetapi sangatlah sulit jika sistem operasi harus memperhitungkan algoritma untuk mengurangi rotational latency karena disk modern tidak memperlihatkan lokasi fisik dari blok-blok logikanya. Sedangkan permintaan sangat dipengaruhi oleh metode penempatan berkas. Ukuran blok logika dapat bermacam-macam. Rangkuman Bentuk penulisan disk drive modern adalah array blok logika satu dimensi yang besar. yaitu: 1. Namun perlu diingat bahwa algoritma-algoritma di atas hanya mempertimbangkan jarak pencarian. Karena kerumitan inilah. maka sistem operasi dapat menyerahkan algoritma penjadualan disk pada perangkat keras itu sendiri.

Efisiensi penggunaan disk terkait dengan kecepatan waktu akses dan besarnya disk bandwith. yaitu: 1. 6. 2. 3. FCFS (First Come First Serve) SSTF (Shortest-Seek-Time-First) SCAN C-SCAN (Circular SCAN) LOOK C-LOOK (Circular LOOK) Latihan 1.Politeknik Telkom Sistem Operasi Kepadatan bit setiap track sama. 2. Untuk meningkatkan efisiensi tersebut dibutuhkan algoritma penjadualan yang tepat dalam penggunaan disk. Constant Angular Velocity (CAV) Kepadatan bit dari zona terdalam ke zona terluar semakin berkurang. 5. Terdapat berbagai macam algoritma penjadualan disk. semakin jauh sebuah track dari tengah disk. Yang dimaksud dengan array? Sistem Operasi 147 . Digunakan pada CD-ROM dan DVD-ROM. kecepatan rotasi konstan sehingga aliran data pun konstan. maka semakin besar panjangnya. Penjadualan disk sangat penting dalam hal meningkatkan efisiensi penggunaan perangkat keras. Sebutkan dan jelaskan macam-macam penjadwalan disk 2. dan juga semakin banyak sektor yang dimilikinya. Apa yang dimaksud metode CAV (Constant Angular Velocity) 3. 4.

9 Manajemen File 148 Sistem Operasi . Bagaimana memilih metode penjadwalan yang terbaik.Politeknik Telkom Sistem Operasi 4.

9.1 Pendahuluan Berkas adalah sebuah unit tempat menyimpan informasi.Politeknik Telkom Sistem Operasi Overview Penting bagi kita untuk mengetahui tentang apa itu file. Hal ini disebabkan nantinya dalam sistem operasi bekerja terdapat fileuntuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi. dapat dibaca. Tujuan 1. dan bahkan menulis yang baru. Informasi yang disimpan dalam berkas harus persisten. Berkas-berkas ini diatur oleh sistem Sistem Operasi 149 . Mahasiswa mengetahui manajemen file dalam sistem berkas. Berkas ini dapat diakses lebih dari satu proses. Mahasiswa mengetahui apa yang disebut dengan File 2. dalam artian tidak hilang sewaktu proses berhenti.

Bagian dari sistem operasi yang mengatur masalah-masalah ini disebut sistem berkas. aksesnya. Secara relasional DBMS merupakan kumpulan relasional. DBMS dalam berhubungan dengan level fisik berinteraksi dengan sistem pengelolaan file yaitu File Management System (FMS) untuk transformasi informasi level logik ke level fisik. Untuk mengetahui suatu database itu kita dibantu dengan adanya Database Management System (DBMS) dan File Management System (FMS). penggunaannya.2 Database Suatu database merupakan data-data yang berelasi atau berkaitan untuk membentuk suatu entitas tertentu. Dengan DBMS. Untuk kebanyakan pengguna. dan implementasinya. Dia menyediakan mekanisme untuk penyimpanan online dan akses ke data dan program. sistem berkas adalah aspek yang paling terlihat dari sebuah sistem operasi. 9. Sebagai pemakai kita tidak langsung berinteraksi dengan penyimpan fisik. kita dapat penyederhanaan dan pemberian fasilitas yang nyaman untuk akses data. Sistem berkas terbagi menjadi dua bagian yang jelas. dimana yang membantu dalam pengelolaan. namanya. Sekarang marilah kita memperdalam konsep dari berkas tersebut. penyimpanan dan manipulasi suatu informasi. perlindungannya. DBMS adalah suatu program yang mengelola suatu basisdata. koleksi berkas (masing-masing menyimpan data yang berkaitan) dan struktur direktori (mengatur dan menyediakan informasi mengenai semua berkas yang berada di sistem). bagaimana strukturnya. 150 Sistem Operasi .Politeknik Telkom Sistem Operasi operasi.

Biasanya sebuah berkas merepresentasikan data atau program. 3. 2. dan lain-lain. ukuran berkas. Kita akan sebut informasi-informasi ekstra ini atribut.3 Konsep Berkas Berkas adalah sebuah koleksi informasi berkaitan yang diberi nama dan disimpan di dalam secondary storage. Source file: yaitu urutan dari berbagai subroutine dan fungsi yang masing-masing kemudian diatur sebagai deklarasi-deklarasi diikuti oleh pernyataan-pernyataan yang dapat diexecute. Object file: yaitu urutan dari byte-byte yang diatur menjadi blok-blok yang dapat dipahami oleh penghubung system. File Data Kamus Data File Indeks Data Statistik 9. Setiap sistem mempunyai sistem atribusi yang berbeda-beda.Politeknik Telkom Sistem Operasi Implementasi dari DBMS adalah : 1. o Executable file: adalah kumpulan dari bagian-bagian kode yang dapat dibawa ke memori dan dijalankan oleh loader.4 Atribut Berkas Selain nama dan data. seperti kapan berkas itu dibuat. Ada pun jenis-jenis dari berkas: o o Text file: yaitu urutan dari karakter-karakter yang diatur menjadi barisan dan mungkin halaman. 9. 4. sebuah berkas dikaitkan dengan informasi-informasi tertentu yang juga penting untuk dilihat pengguna. namun pada dasarnya memiliki atribut-atribut dasar seperti berikut ini: Sistem Operasi 151 .

yang didapat biasanya adalah sampah. words. dan monitoring penggunaan. tidak dapat dibaca oleh pengguna. Apabila sistem operasi dapat mengenali. Jenis: informasi ini diperlukan untuk sistem-sistem yang mendukung jenis berkas yang berbeda. write.5 Jenis Berkas Salah satu atribut dari sebuah berkas yang cukup penting adalah jenis berkas. modifikasi terakhir. keamanan. 9. apabila kita hendak mengeprint bentuk binaryobject dari sebuah program. atau blocks) dan mungkin ukuran maksimum dimasukkan dalam atribut ini juga. Ukuran: ukuran dari sebuah berkas (dalam bytes. Identifier: tanda unik ini yang biasanya merupakan sebuah angka. Saat kita mendesain sebuah sistem berkas. kita perlu mempertimbangkan bagaimana operating sistem akan mengenali berkas-berkas dengan jenis yang berbeda. Data-data ini dapat berguna untuk proteksi. Waktu dan identifikasi pengguna: informasi ini dapat disimpan untuk pembuatan berkas. mengenali berkas didalam sebuah sistem berkas. maka menjalankan berkas tersebut bukan suatu masalah. Lokasi: informasi ini adalah sebuah penunjuk pada sebuah device dan pada lokasi berkas pada device tersebut.Politeknik Telkom Sistem Operasi o o o o o o Nama: nama berkas simbolik ini adalah informasi satusatunya yang disimpan dalam format yang dapat dibaca oleh pengguna. Nama berkas dibagi menjadi 152 Sistem Operasi . Cara yang paling umum untuk mengimplementasikan jenis berkas tersebut adalah dengan memasukkan jenis berkas tersebut ke dalam nama berkas. execute. namun hal ini dapat dihindari apabila sistem operasi telah diberitahu akan adanya jenis berkas tersebut. Seperti contohnya. dan lainnya. dan penggunaan terakhir. Proteksi: informasi yang menentukan siapa yang dapat melakukan read.

Dalam proses ini ada beberapa operasi yang dapat dilakukan berkas.Politeknik Telkom Sistem Operasi dua bagian. Kedua. kita melepaskan semua spasi berkas sehingga dapat digunakan kembali oleh berkas-berkas lainnya dan menghapus entry direktori.txt.6 Operasi Berkas Fungsi dari berkas adalah untuk menyimpan data dan mengizinkan kita membacanya. Membaca Sebuah berkas (Read): Untuk membaca sebuah berkas menggunakan sebuah system call yang menyebut nama berkas yang dimana dalam blok memori berikutnya dari sebuah berkas harus diposisikan. Kedua nama ini biasanya dipisahkan dengan tanda '. Memposisikan Sebuah Berkas (Reposition): Direktori dicari untuk entri yang sesuai dan currentfile-position diberi sebuah nilai. yaitu: o Membuat Berkas (Create): Kita perlu dua langkah untuk membuat suatu berkas. Operasi ini di dalam berkas tidak perlu melibatkan M/K. kita harus temukan tempat didalam sistem berkas. Setelah ditemukan. contoh: berkas. atau biasa disebut extention adalah jenis dari berkas tersebut. Menulis sebuah berkas (Write): Untuk menulis sebuah berkas. 9.'. selain itu juga diketahui sebagai file seek. Ada pun operasi-operasi dasar yang dilakukan berkas. kita membuat sebuah system call yang menyebutkan nama berkas dan informasi yang akan di-nulis kedalam berkas. Pertama. 153 o o o o Sistem Operasi . dan yang kedua. sebuah entri untuk berkas yang baru harus dibuat dalam direktori. Menghapus Berkas (Delete): Untuk menghapus sebuah berkas kita mencari dalam direktori untuk nama berkas tersebut. Entri dalam direktori tersebut merekam nama dari berkas dan lokasinya dalam sistem berkas. Bagian pertama adalah nama dari berkas tersebut.

read untuk membaca berkas yang lama. masing-masing dengan beberapa struktur internal. namun menyimpan atributnya. dan write untuk menulisnya pada berkas yang baru. adalah menggunakan sebuah tree. Cara berikutnya. Keenam operasi diatas merupakan operasi-operasi dasar dari sebuah berkas yang nantinya dapat dikombinasikan untuk membentuk operasi-operasi baru lainnya. sebuah berkas adalah sebuah urutan dari rekamanrekaman yang telah ditentukan panjangnya. Cara yang pertama adalah sebuah urutan bytes yang tidak terstruktur. Tree ini disort dalam field key dan mengizinkan pencarian yang cepat untuk sebuah key tertentu. Daripada memaksa pengguna untuk menghapus berkas tersebut dan membuatnya kembali. Akibatnya sistem operasi tidak tahu atau peduli apa yang ada dalam berkas. Ini menyediakan fleksibilitas yang maksimum.Politeknik Telkom Sistem Operasi Menghapus Sebagian Isi Berkas (Truncate): User mungkin mau menghapus isi dari sebuah berkas. User dapat menaruh apa pun yang mereka mau dalam berkas. Struktur berkas yang ketiga. namun tidak juga menghalangi. tetapi masing-masing memiliki sebuah field key dalam posisi yang telah ditetapkan dalam rekaman tersebut.7 Struktur Berkas Berkas dapat di struktur dalam beberapa cara. Contohnya apabila kita ingin menyalin sebuah berkas. dan sistem operasi tidak membantu. 154 Sistem Operasi . Artinya adalah bahwa sebuah operasi read membalikan sebuah rekaman dan operasi write menimpa atau menambahkan suatu rekaman. Dalam model ini. yang dilihatnya hanya bytes. Dalam struktur ini sebuah berkas terdiri dari sebuah tree dari rekaman-rekaman tidak perlu dalam panjang yang sama. kecuali panjang berkas dan mendefinisikan ulang panjang berkas tersebut menjadi nol. o 9. fungsi ini tidak akan mengganti atribut. maka kita memakai operasi create untuk membuat berkas baru. adalah dengan record sequence.

Sebagai contoh.8 Metode Akses Berkas menyimpan informasi. Field Record File Sistem Operasi Field 155 . yang mengizinkan program untuk membaca dan menulis rekaman secara cepat tanpa urutan tertentu. Informasi dalam berkas dapat diakses dengan beberapa cara. Record 3. o 9.9 Struktur Penyimpanan Terdapat konsep-konsep pada penyimpanan secara fisik di Secondary Storage: 1. Informasi di dalam berkas diproses secara berurutan. o Akses Langsung Metode berikutnya adalah akses langsung atau dapat disebut relative access. Sebuah berkas dibuat dari rekaman-rekaman logical yang panjangnya sudah ditentukan.Politeknik Telkom Sistem Operasi 9. File 2. Berikut adalah beberapa caranya: Akses Sekuensial Akses ini merupakan yang paling sederhana dan paling umum digunakan. Apabila sedang digunakan informasi ini harus diakses dan dibaca melalui memori komputer. editor dan kompilator biasanya mengakses berkas dengan cara ini.

Size  mempunyai ukuran relatif lebih besar daripada Main Memory Karakterisrik khusus 1.Politeknik Telkom Sistem Operasi 9. Pengambilan record 156 Sistem Operasi .10 File Karakteristik Umum 1. tiap user memiliki direktori sendiri. Akses terhadap File 1.karena untuk dapat diakses di perangkat dalam 1 sistem 4. Persistance (bertahan lama)  kemampuan masa datang 2. Sharability  dapat digunakan secara bersama oleh beragam user dan program 3. File mempunyai terdapat parameter banyak perangkat. File mempunyai parameter user dan direktori Dalam sistem Multiuser. File dapat diciptakan dan dihapus 2. File mempunyai nama yang unik 3.

NIP) dan dinamis (Nilai ujian) 2. Penambahan record ke file 4. Berisi info acuan terdiri dari sifat statis (Nama. File tidak aktif selama kurun waktu tertentu b. Digunakan untuk memperbarui Master File 3. Transaction File ( File terbentuk akibat terjadinya transaksi ) a.Politeknik Telkom Sistem Operasi 2. History File ( File hasil pengolahan masa lalu ) a. Dapat diperbarui ( sering terjadi) b. Pembaruan record -> update. Tak boleh diperbarui selama proses b. Data tersimpan secara kompak/padat c. delete record 3. Selalu digunakan/diacu di siklus proses c. Bersifat Temporary c. Kecepatan akses tidak terlalu penting Sistem Operasi 157 . Master File (File induk yang menjadi acuan utama proses) a. Reorganisasi file -> rekonstruksi file u/ meningkatkan kinerjanya Pengelompokan File • Berdasarkan kegiatan : 1.

Fixed Length Field -> menyebabkan rekord berukuran tetap 2.13 Organisasi File dan Akses 9.11 Record 1. Variable Length record -> menyebabkan rekord berukuran beragam. Re dundansi yang kecil (Little Redundancy ) 2.13. Pe ngaksesan yang cepat ( Rapid Acces ) 3.1Kriteria Umum Kriteria umum kinerja struktur file (organizing data) menurut Wiederhold adl: 1. Reference File ( File berisi data acuan ) -> Relatif bersifat statis (jarang diperbarui) • Berdasarkan Kebutuhan Pemrosesan Data 1.12 Field 1.Politeknik Telkom Sistem Operasi 4. Untuk penunjang proses 9. File I/O 2. 9. 9. Pe meliharaan yang sederhana ( Simple maintenance ) 5. File Kerja (temporary) -> transaction file 3. Variable Length record -> field di record mempunyai panjang beda-beda. Ke handalan yang tinggi (High Reliability ) 158 Sistem Operasi . File Pustaka. Fixed Length Record -> punya panjang field yang tetap 2. Dump File. untuk security 4. Ke mudahan dalam memperbarui (Easy of update ) 4.

alternatif dan semua yang lain memp tujuan yang sama. harus memilih sesuatu itu yang paling sederhana. 2. Rule-rule tersebut adalah : 1. Tapi kita biasanya tak dapat menjamin kehandalan atau kebenaran program. Storage Requirements or time complexity Batasan-batasan penyimpanan yang sudah dibatasi untuk memilih teknik.13.Politeknik Telkom Sistem Operasi Dalam memenuhi 1 kriteria dapat mengorbankan kriteria lain dan kriteria-kriteria tersebut dapat saling bertentangan. Programmability (Pemrograman) Suatu program harus dapat memprogram algoritma proses dalam sejumlah waktu yang layak. Reliability (Kehandalan) Berhubungan dengan fungsi-fungsi dari sesuatu dan yang berkenaan dengan pengeluaran saat terjadi kegagalan pemakaian.2Metriks Merupakan suatu alat ukur (aturan atau rule) untuk mengevaluasi suatu struktur file agar memenuhi tujuan/hasil harapan yang diinginkan. dapat dimodifikasi atau di-update secara mudah. diperlukan akses yang cepat tapi berakibat operasi update lebih rumit dan pemeliharaan lebih kompleks. 9. Simplicity (Kesederhanaan) Jika sesuatu memp. kadang-kadang mengabaikan ketika suatu pekerjaan dilakukan dalam keadaan terburuburu. pilih teknik lain. Jika tak dapat memenuhi. Dalam pemilihan sebuah struktur file atau teknik proses. Contoh : Redundansi yang besar . 3. Sistem Operasi 159 . 5. 4. kita ingin siap yang bekerja di bawah kendali keadaan. Walaupun hal ini terlihat jelas. Kita membuat pemilihan kehandalan yang setaraf dgn aplikasi. Maintanability (Pemeliharaan) Sewaktu teknik diprogram.

Multiring File 9.15 Pile Karakteristik dari Pile adalah : 1. Komponen PILE adalah file yang berisi data. 4. record dan blok. Indexed SF 4.14 Struktur File Dasar Terdapat 6 struktur file dasar yaitu : 1. 160 Sistem Operasi . 5.  Kompleksitas komputasional dari sebuah algoritma mengukur berapa waktu proses yang akan dibutuhkan ketika algoritma itu dijalankan sejumlah data. Tak ada keterkaitan antara ukuran file. Jadi Record terdiri dari sepasang nama field dan nilainya. Sequential File (SF) 3. ( Tak cuma nilai atributnya). 9. Data tersusun berdasarkan kedatangannya/ kronologis. Pile 2. Yang berguna untuk melakukan pemilihan struktur file membuat rekayasa perangkat lunak sebagai Saintis bukan seniman. Computational or time complexity. 2.Politeknik Telkom Sistem Operasi 6. Directed Hashed File 6. Indexed File (File berindeks majemuk) 5. Record-record dapatr variable Length dan tak perlu memiliki sekupulan elemen data yang sama 3.  Performansi merupakan salah satu batasan yang paling berperan dalam suatu sistem softwaredan suatu kekurangan adalah penyebab utama dari kegagalan . Data harus disimpan secara lengkap beserta nama atributnya. Kompleksitas komputasi dan ruang merupakan pengukuran kuantitatif.

Apa yang dimaksud dengan akses sekuensial dan akses langsung.Politeknik Telkom Sistem Operasi Rangkuman Berkas adalah sebuah unit tempat menyimpan informasi. dapat dibaca. Sebutkan dan jelaskan rule yang harus dilaksanakan dalam untuk mengevaluasi suatu struktur file agar memenuhi tujuan/hasil harapan yang diinginkan? 2. Fungsi dari berkas ? 4. bagaimana strukturnya. dan implementasinya. Berkas-berkas ini diatur oleh sistem operasi. 5. Berkas ini dapat diakses lebih dari satu proses. Informasi yang disimpan dalam berkas harus persisten. perlindungannya. Sebutkan karakter khusus dari sebuah file Sistem Operasi 161 . namanya. Bagian dari sistem operasi yang mengatur masalah-masalah ini disebut sistem berkas. Latihan 1. dalam artian tidak hilang sewaktu proses berhenti. Sebutkan dan jelaskan kriteria umum kinerja suatu struktur file 3. dan bahkan menulis yang baru. aksesnya. penggunaannya.

Mahasiswa mengetahui operasi – operasi di dalam direktori 2. sehingga diperlukan suatu struktur pengorganisasian data-data agar lebih mudah diatur. 162 Sistem Operasi . Makah hal itu yang sering disebut dengan direktori Tujuan 1.Politeknik Telkom Sistem Operasi 10 Direktori Overview Beberapa sistem komputer menyimpan banyak sekali berkasberkas dalam disk. Mahasiswa mengetahui struktur dari direktori.

Akses Sistem berkas 163 o o o o o Sistem Operasi . berkas tsb perlu dihapus dari direktori.1 Operasi Direktori Silberschatz. Oleh karena itu. nama berkas harus dapat diubah-ubah ketika isi dan kegunaannya sudah berubah atau tidak sesuai lagi. Menampillkan isi direktori Menampilkan daftar berkas-berkas yang ada di direktori. Mengubah nama berkas Nama berkas mencerminkan isi berkas terhadap pengguna. mengindikasikan adanya keterkaitan diantara berkasberkas tersebut. Galvin dan Gagne mengkategorikan operasioperasi terhadap direktori sebagai berikut: o Mencari Berkas Mencari lewat struktur direktori untuk dapat menemukan entri untuk suatu berkas tertentu. Mengubah nama berkas memungkinkan posisinya berpindah dalam struktur direktori. Membuat berkas berkas-berkas baru perlu untuk dibuat dan ditambahkan ke dalam direktori. dan semua isi direktori dari berkas-berkas dalam daftar tsb. tentunya perlu suatu cara untuk menemukan semua berkas yang benarbenar memenuhi kriteria khusus yang diminta.Politeknik Telkom Sistem Operasi 10. Menghapus berkas Saat suatu berkas tidak diperlukan lagi. berkasberkas dengan nama yang simbolik dan mirip. Oleh karena itu.

Sedangkan Tanenbaum juga menambahkan hal-hal berikut sebagai operasi yang dapat dilakukan terhadap direktori tersebut: o o o o o o Membuka direktori Menutup direktori Menambah direktori Mengubah nama direktori Menghubungkan berkas-berkas di direktori berbeda. 10. Semua berkas disimpan dalam direktori yang sama.1Direktori Satu Tingkat Direktori Satu Tingkat (Single Level Directory) ini merupakan struktur direktori yang paling sederhana. Menyimpan juga dapat berarti menyalin seluruh berkas ke pita magnetik.2 Jenis Direktori 10. Sangatlah dianjurkan untuk menyimpan isi dan stuktur dari keseluruhan sistem berkas setiap jangka waktu tertentu. Menghapus hubungan berkas-berkas di direktori berbeda.Politeknik Telkom Sistem Operasi Mengakses tiap direktori dan tiap berkas dalam struktur direktori. Teknik ini membuat suatu cadangan salinan dari berkas tersebut jika terjadi kegagalan sistem atau jika berkas itu tidak diperlukan lagi.2. 164 Sistem Operasi .

2. Maka. Meski pun begitu.2Direktori Dua Tingkat Direktori Dua Tingkat (Two Level Directory) membuat direktori yang terpisah untuk tiap pengguna. struktur ini masih memiliki kerugian. Ketika pengguna login. pengguna boleh memiliki nama berkas yang sama dengan berkas lain. Hal ini disebabkan karena tiap berkas harus memiliki nama yang unik. yaitu bila berkas bertambah banyak atau bila sistem memiliki lebih dari satu pengguna. MFD memiliki indeks berdasarkan nama pengguna dan setiap entri menunjuk pada UFD pengguna tersebut.Politeknik Telkom Sistem Operasi Gambar 10-31 Direktori satu tingkat Direktori satu tingkat memiliki keterbatasan. master directory berkas dipanggil. yang disebut User File Directory (UFD). terutama bila beberapa pengguna ingin mengerjakan tugas secara kerjasama dan ingin mengakses berkas dari salah satu pengguna lain. 10. Beberapa sistem secara sederhana tidak mengizinkan berkas seorang pengguna diakses oleh pengguna lain Sistem Operasi 165 .

tiap pengguna memiliki apa yang disebut direktori saat ini. setiap pengguna dapat membuat subdirektori sendiri dan mengorganisasikan berkas-berkasnya. Lintasan relatif adalah lintasan yang dimulai dari direktori saat ini.3Direktori dengan Struktur Tree Pada direktori dengan Struktur Tree (Tree-Structured Directory). Dalam penggunaan normal. 166 Sistem Operasi . sedangkan lintasan mutlak adalah path yang dimulai dari root directory. Direktori saat ini mengandung berkas-berkas yang baru-baru ini digunakan oleh pengguna. Terdapat dua istilah. path (lintasan) relatif dan lintasan mutlak.2.Politeknik Telkom Sistem Operasi Gambar 10-32 Direktori Dua Tingkat 10.

maka struktur ini menyediakan fasilitas sharing. Oleh karena itu.Politeknik Telkom Sistem Operasi Gambar 10-33 Tree Structured Directory 10. Jika ada berkas yang ingin diakses oleh dua pengguna atau lebih. struktur graf asiklik (AcyclicStructured Directory) memperbolehkan direktori untuk berbagi berkas atau subdirektori. Sistem Operasi 167 .4Direktori dengan Struktur Graf Asiklik Direktori dengan struktur tree melarang pembagian berkas/direktori.2.

tentunya kita tidak ingin mencari sebuah berkas 2 kali. Algoritma yang tidak baik akan menghasilkan infinite loop dan tidak pernah berakhir. Sangatlah mudah untuk mempertahankan sifat pohon. 168 Sistem Operasi .5Direktori dengan Struktur Graf Umum Masalah yang timbul dalam penggunaan struktur graf asiklik adalah meyakinkan apakah tidak ada siklus. bila kita tambahkan sambungan pada direktori dengan struktur pohon. maka kita akan mendapatkan struktur direktori tree. Oleh karena itu diperlukan skema pengumpulan sampah (garbage-collection scheme). Bila siklus diperbolehkan dalam direktori. Bila kita mulai dengan struktur direktori tingkat dua dan memperbolehkan pengguna untuk membuat subdirektori.Politeknik Telkom Sistem Operasi Gambar 10-34 Acyclic-Structured Directory 10.2. maka sifat pohon akan musnah dan menghasilkan struktur graf sederhana. akan tetapi.

Kemudian mengumpulkan apa pun yang tidak ditandai pada tempat yang kosong. Gambar 10-35 General Graph Directory 10.Politeknik Telkom Sistem Operasi Skema ini menyangkut memeriksa seluruh sistem berkas dengan menandai tiap berkas yang dapat diakses.1Metode Blocking  Record adalah unit u/ penyimpanan data di level logik atau file  Ukuran Record (R) terdiri dari Fixed record danVariable Record  Blocking Factor ( Bfr) adalah jumlah record yang diterapkan dapat ditampung dalam 1 blok Sistem Operasi 169 . Hal ini tentunya dapat menghabiskan banyak waktu.3 Record Blocking 10.3.

3. P = Pointer blok Keuntungan : 2.2Macam Metode Blocking  Berdasar ukuran dan rentangan record.Politeknik Telkom Sistem Operasi 10. Panjang variabel. Fleksibel bagi user 3. Jika 1 record tak dapat dimuat di 1 blok. Blocking dibagi 3 metode : 1. Variable Length Unspanned Blocking  Record-record memp. Sederhana 3.3. Meningkatkan akses acak Kerugian : Terjadi pemborosan di tiap blok 2. Sulit diimplementasikan shg sulit dalam pemrograman 2. Mahal dalam operasi pencarian record dan sulit diperbarui. Panjang tak tetap  Setiap record harus dimuat di satu blok (Tak dipotong-potong/direntangkan ke blok lain) Bfr = (B -1/2R)/(R+P)  Efektifitas Pengaksesan Acak -> ditentukan jumlah data yang dapat diakses 170 Sistem Operasi . Variable Length Spanned Blocking  berisi record-record yang memp. Fixed Blocking  berisi record yang memp panjang tetap Bfr =  B/R  Keuntungan : 2. Ukuran Record tak dibatasi ukuran Blok 4. sebagian record disimpan di blok lain Bfr = (B – P)/( R + P ) . Tak terjadi pemborosan di tiap blok Kerugian : 1.

dua tingkat. Tetapi secara detail direktori mempunyai tingkatan-tingkatan. direktori yang biasa kita ketahui adalah hanya suatu wadah untuk menyimpan file. Terdapat suatu metode dalam memblocked suatu record yang semuanya talah dijelaskan pada bab ini. Diharapkan mahasiswa dapat mengetahui lebih jelas apa yang dimaksud dengan direktori. byte/ word  IBG a. IBG mengurangi kapasitas penyimpanan yang sebenarnya c.Politeknik Telkom Sistem Operasi  Track 1. seperti dengan satu tingka. berupa tree maupun berupa graf. Penggunaan Track yaitu IF 1 track = 1 blok THEN panjang track = blok terbesar yang dimungkinkan ELSE panjang track = jumlah blok * ukuran blok/track 2. Blok berukuran kecil meningkatkan jumlah gap (boros)  P (Blok Pointer)  Diidentifikasi o/ perangkat Rangkuman Kita sering mendengar tentang direktori. IBG u/ mekanisme penyimpan akses berikutnya b. Ukuran track = bit. Latihan Sistem Operasi 171 .

Sebutkan dan jelaskan metode blocking 11 Implementasi Sistem Berkas Overview Disk yang merupakan tempat terdapatnya sistem berkas 172 Sistem Operasi . 2. Jelaskan apa yang dimaksud dengan direktori satu dan dua tingkat.Politeknik Telkom Sistem Operasi 1.

hal ini memungkinkan untuk membaca. Tujuan Mahasiswa mengetahui implementasi dari system berkas di dunia nyata 2. Hal ini memudahkan untuk mengakses setiap berkas baik secara berurut maupun tidak berurut. memodifikasi. Dapat diakses langsung ke setiap blok di disk. Disk memiliki dua karakteristik penting yang menjadikan disk sebagai media yang tepat untuk menyimpan berbagai macam berkas. Disk memiliki dua karakteristik penting yang menjadikan disk sebagai media yang tepat untuk menyimpan berbagai macam berkas.Politeknik Telkom Sistem Operasi menyediakan sebagian besar tempat penyimpanan dimana sistem berkas akan dikelola. Mahasiswa memahami kinerja dari sistem berkas 11. dan menulis di disk tersebut. yaitu: o o Data dapat ditulis ulang di disk tersebut. 173 Sistem Operasi . dan berpindah dari satu berkas ke berkas lain dengan hanya mengangkat head disk dan menunggu disk berputar.1 Struktur Sistem Berkas Disk yang merupakan tempat terdapatnya sistem berkas menyediakan sebagian besar tempat penyimpanan dimana sistem berkas akan dikelola.

Hal ini mencakup definisi berkas dan atributnya. operasi ke berkas. biasanya berukuran 512 bytes. diletakkan dan diambil kembali dengan mudah. Terdapat dua masalah desain dalam membangun suatu sistem berkas. Setiap blok merupakan satu atau lebih sektor. dan struktur direktori dalam mengorganisasikan berkas-berkas. Masalah pertama adalah definisi dari sistem berkas. Sistem operasi menyediakan sistem berkas agar data mudah disimpan. Setiap disk memiliki ukuran yang berbeda-beda. pengiriman data antara memori dan disk dilakukan dalam setiap blok.Politeknik Telkom Sistem Operasi Gambar 11-36 Disk Organization Untuk meningkatkan efisiensi I/O. Masalah kedua adalah 174 Sistem Operasi .

Hal ini memungkinkan untuk mendukung lebih dari satu implementasi sistem berkas. Keuntungan struktur berlapis ini adalah fleksibilitas yang dimilikinya. Gambar 11-37 Layer File System Sistem berkas dari sistem operasi yang sudah modern diimplementasikan dengan menggunakan struktur berlapis. terutama pada I/O Control dan tingkatan organisasi berkas.Politeknik Telkom Sistem Operasi membuat algoritma dan struktur data yang memetakan struktur logikal sistem berkas ke tempat penyimpanan sekunder. Penggunaan dari struktur berlapis ini memungkinkan adanya implementasi yang lebih dari satu secara bersamaan. Sistem Operasi 175 .

izin dan lokasi isi berkas. Input didalamnya berisikan perintah tingkat tinggi seperti "ambil blok 133". instruksi spesifik perangkat keras yang digunakan oleh controller perangkat keras. tingkat ini berisi informasi tentang simbol nama berkas. sedangkan output-nya adalah perintah tingkat rendah. o Logical file-system. 1024) akan membaca section sebesar 1 Kb dari disk dan menempatkannya ke variabel input. yaitu (dari yang terendah): I/O control. dan proteksi dan sekuriti dari berkas tersebut. informasi tentang alamat logika dan alamat fisik dari berkas tersebut. System call merupakan software interrupt. struktur dari direktori. Urutan langkahnya: o 1. Sebuah File Control Block (FCB) menyimpan informasi tentang berkas. Driver device adalah perantara komunikasi antara sistem operasi dengan perangkat keras. Di bawah ini merupakan contoh dari kerja struktur berlapis ini ketika suatu program mau membaca informasi dari disk. o File-organization module. interrupt handler sistem operasi akan memeriksa 176 Sistem Operasi . Modul ini juga mengatur sisa disk dengan melacak alamat yang belum dialokasikan dan menyediakan alamat tersebut saat pengguna ingin menulis berkas ke dalam disk. diperlukan untuk mengeluarkan perintah generic ke device driver untuk read dan write pada suatu blok dalam disk. o Basic file system. Di dalam File-organization module juga terdapat freespace manager. input. terdiri atas driver device dan interrupt handler. Application program memanggil sistem berkas dengan system call. Diteruskan ke system call interface. Jadi.Politeknik Telkom Sistem Operasi Lapisan struktur sistem berkas menghubungkan antara perangkat keras dengan aplikasi program yang ada. 2. Contoh: read (fd. termasuk kepemilikan.

surface. Basic file system ini juga memiliki kemampuan tambahan seperti buffering dan caching.Politeknik Telkom Sistem Operasi apakah system call yang menginterupsi. Sistem Operasi 177 . Interrupt handler akan meneruskan system call. operasi yang akan dilakukan dan jenis berkas. Memasuki lapisan sistem berkas. disk drive. Windows NT menggunakan format NTFS. 5. Linux menggunakan EXT2. cylinder. 4. Pada contoh di atas. 3. track. Hal ini merupakan tanggung-jawab basic file system. Lapisan ini menyediakan system call. Contoh: Misalkan kita menggunakan LINUX dan berkas yang diminta ada di Windows 95. Modul ini menterjemahkan nama berkas yang ingin dibaca ke lokasi fisik yang biasanya terdiri dari disk antarmuka. Sistem berkas yang berbeda memiliki organisasi yang berbeda. Yang perlu ditentukan selanjutnya adalah file organization module yang akan meneruskan permintaan ini. sector. Diteruskan ke basic file system. File organization module yang mengetahui pengaturan (organisasi) direktori dan berkas pada disk. logical file system telah meneruskan permintaan ke file organization module VFAT32. Diteruskan ke file organization module. Interrupt handler ini akan memutuskan bagian dari sistem operasi yang bertanggung-jawab untuk menangani system call. Dengan adanya lokasi fisik. Windows 95 menggunakan VFAT-32. Sistem operasi yang paling modern memiliki beberapa file organization module sehingga dapat membaca format yang berbeda. Diteruskan ke logical file system. File organization module yang akan digunakan tergantung dari jenis sistem berkas dari berkas yang diminta. kita dapat memberikan perintah ke piranti keras yang dibutuhkan. Lapisan logical file system akan meneruskan permintaan ke file organization module dari Windows 95.

Di dalam kasus ini. sebuah akses menuju blok ke-i harus membutuhkan pembacaan disk ke-i. I/O Control Tingkatan yang paling rendah ini yang memiliki cara untuk memerintah/memberitahu piranti keras yang diperlukan. Jika blok indeks sudah ada dimemori. Bagaimana pun. 6. kita dapat menghitung alamat disk dari blok ke-i (atau blok selanjutnya) dengan cepat dan membacanya dengan langsung. sistem operasi harus mempunyai struktur data yang tepat dan algoritma untuk mendukung kedua metode alokasi. Masalah ini menunjukkan mengapa alokasi yang berurutan tidak digunakan untuk aplikasi yang membutuhkan akses langsung. Untuk linked allocation.Politeknik Telkom Sistem Operasi Contoh: Sektor tertentu yang dipakai untuk memenuhi permintaan mungkin saja berada dalam buffers atau caches yang diatur oleh basic file system. kita butuh untuk menentukan bagaimana sistem ini akan digunakan. Indexed allocation lebih komplek. menyimpan blok indeks tersebut di memori 178 Sistem Operasi . Untuk beberapa tipe akses. beberapa sistem mendukung berkas-barkas yang diakses langsung dengan menggunakan contiguous allocation dan yang diakses berurutan dengan linked allocation. kita juga dapat menyimpan alamat dari blok selanjutnya di memori dan membacanya dengan langsung. 11.2 Kinerja Sistem Berkas Keefisiensian penyimpanan dan waktu akses blok data adalah kriteria yang penting dalam memilih metode yang cocok untuk sistem operasi untuk mengimplementasikan sesuatu. untuk akses langsung. contiguous allocation membutuhkan hanya satu akses untuk mendapatkan sebuah blok disk. akses dapat dibuat secara langsung. Metode ini bagus untuk akses secara berurutan. maka informasi akan didapatkan secara otomatis tanpa perlu membaca lagi dari disk. Sejak kita dapat dengan mudah menyimpan alamat inisial dari sebuah berkas di memori. Jika terjadi hal seperti ini. bagaimana pun. Sebagai hasilnya. Sebelum memilih sebuah metode alokasi.

Politeknik Telkom Sistem Operasi membutuhkan tempat yang dapat ditolerir. dan secara otomatis mengganti ke indexed allocation jika berkas bertambah besar. struktur direktori. jumlah blok. dan posisi dari blok yang diinginkan. Struktur ini bervariasi tergantung pada sistem operasi dan sistem berkas. tetapi beberapa prinsip dasar harus tetap diterapkan.3 Implementasi Pemberkasan Untuk mengimplementasikan suatu sistem berkas biasanya digunakan beberapa struktur on-disk dan in-memory. 11. Beberapa sistem menggabungkan contiguous allocation dengan indexed allocation dengan menggunakan contiguous allocation untuk berkas-berkas yang kecil (diatas tiga atau empat berkas). kinerja dari indexed allocation tergantung dari struktur indeks. sistem berkas mengandung informasi tentang bagaimana mem-boot sistem operasi yang disimpan. Pada struktur on-disk. Sistem Operasi 179 . ukuran file. Dalam UPS disebut boot block. Dalam NTFS disebut partition boot sector. jumlah dan lokasi blok yang masih kosong. Struktur on-disk: o Boot Control Block Informasi yang digunakan untuk menjalankan mesin mulai dari partisi yang diinginkan untuk menjalankan mesin mulai dari partisi yang diinginkan. Dengan begitu. dan berkas individu.

Struktur direktori Mengatur berkas-berkas. modus akses o 1 2 Untuk membuat suatu berkas baru. ukuran blok. proteksi. Di NTFS. ukuran blok. dan lokasi file blocks. logical file system akan mengalokasikan FCB. Tabel per-process open-file 0 menyimpan pointer ke entri yang benar dalam tabel open. Untuk membuat berkas baru. Di UPS disebut inode.Politeknik Telkom Sistem Operasi o o o Partition Block Control Spesifikasi atau detil-detil dari partisi (jumlah blok dalam partisi.file menyimpan posisi pointer pada saat itu dalam berkas. waktu akses. File Control Block (FCB) Detil-detil berkas yang spesifik. Dalam UPS disebut superblock. Logical file system mengetahui format dari struktur direktori. Struktur Direktori in-memory Menyimpan informasi direktori tentang direktori yang paling sering diakses. dsb). Struktur in-memory: o o o Tabel Partisi in-memory Informasi tentang partisi yang di-mount. memperbaharui dengan 180 Sistem Operasi . program aplikasi memanggil logical file system. dsb). membaca direktori yang benar ke memori. 2 Tabel ini digunakan bersama-sama oleh seluruh proses. Dalam NTFS disebut tabel master file. Tabel system-wide open-file 0 menyimpan open count (informasi jumlah proses yang membuka berkas tsb) 1 menyimpan atribut berkas (pemilik. informasi ini disimpan di dalam tabel Master File.

Seluruh operasi pada berkas akan diarahkan melalui penunjuk ini. Beberapa sistem operasi. entri dibuat di tabel per-process open-file dengan penunjuk ke entri di dalam tabel system-wide open-file. Logical file system dapat memanggil file-organization module untuk memetakan direktori I/O ke disk-block numbers. yang dikirimkan ke sistem berkas dasar dan I/O control system.4 Partisi dan Mounting Setiap partisi dapat merupakan raw atau cooked.organization module juga mengalokasikan blok untuk penyimpanan data-data berkas. Informasi boot dapat disimpan di partisi yang berbeda. struktur direktori mencari nama berkas yang diinginkan. File.Politeknik Telkom Sistem Operasi nama berkas dan FCB yang baru dan menulisnya kembali ke dalam disk. Perintah open dikirim nama berkas ke sistem berkas. Ketika berkas ditemukan. Sistem operasi Windows NT mengimplementasi beberapa system calls untuk berkas dan direktori. Raw disk juga dapat menyimpan informasi yang dibutuhkan oleh sistem disk RAID dan database kecil yang menyimpan informasi konfigurasi RAID. Windows NT memperlakukan direktori sebagai sebuah kesatuan yang berbeda dengan berkas. FCD disalin ke ke tabel system-wide open-file pada memori. Setelah berkas selesai dibuat. 11. Raw adalah partisi yang tidak memiliki sistem berkas dan cooked sebaliknya. termasuk UNIX. mula-mula harus dibuka terlebih dahulu. Tabel ini juga mempunyai entri untuk jumlah proses yang membuka berkas tersebut. Semuanya mempunyai formatnya masing-masing karena Sistem Operasi 181 . Raw disk digunakan jika tidak ada sistem berkas yang tepat. Selanjutnya. Ketika sebuah berkas dibuka. memperlakukan berkas sebagai direktori.

menggunakan teknik berorientasi objek untuk menyederhakan. sistem tidak punya sistem berkas dari perangkat keras dan tidak dapat memahami sistem berkas. Root partition yang mengandung kernel sistem operasi dan sistem berkas yang lain.Politeknik Telkom Sistem Operasi pada saat boot. Pada UNIX. Penggunaan metode ini memungkinkan berkas-berkas yang berbeda jenisnya diimplementasikan dalam struktur yang sama. Implementasi sistem berkas terdiri dari 3 lapisan utama: 182 Sistem Operasi . Sistem operasi pada umumnya. Ini diimplementasikan dengan mengatur flag di salinan in-memory dari jenis direktori itu. mengorganisir dan mengelompokkannya sesuai dengan implementasinya. Sistem operasi menyimpan dalam struktur tabel mount dimana sistem berkas di-mount dan jenis dari sistem berkas. Partisi yang lain di-mount secara otomatis atau manual (tergantung sistem operasi). sistem berkas dapat di-mount di direktori mana pun. Flag itu mengindikasikan bahwa direktori adalah puncak mount. Untuk menyatukan berkas-berkas tersebut digunakan metode implementasi beberapa jenis sistem berkas dengan menulis di direktori dan file routine untuk setiap jenis. di-mount saat boot. Sistem operasi harus dapat menyatukan berkas-berkas berbeda itu di dalam suatu struktur direktori.5 Sistem Berkas Virtual Suatu direktori biasanya menyimpan beberapa berkas dengan jenis-jenis yang berbeda. Implementasi spesifiknya menggunakan struktur data dan prosedur untuk mengisolasi fungsi dasar dari system call. termasuk UNIX. 11.

VFS didasarkan pada struktur filerepresentation yang dinamakan vnode. Virtual File System(VFS) Virtual file system adalah suatu lapisan perangkat lunak dalam kernel yang menyediakan antar muka sistem berkas untuk program userspace. VFS juga menyediakan suatu abstraksi dalam kernel yang mengijinkan implementasi sistem berkas yang berbeda untuk muncul. write. Sistem berkas lokal dan sistem berkas remote untuk jaringan.Politeknik Telkom Sistem Operasi • • Interface sistem berkas: perintah open. read. close dan file descriptor. yang terdiri dari designator numerik untuk berkas unik network-wide. Sistem Operasi 183 . VFS ini memiliki 2 fungsi yang penting yaitu: o o Memisahkan operasi berkas generic dari implementasinya dengan mendefinisikan VFS antar muka yang masih baru.

dimana kebanyakan sistem menggunakannya. Kemungkinan paling nyata adalah menyimpan secara langsung di dalam direktori entri. 184 Sistem Operasi . Saat berkas tersebut dibuka. kemungkinan lain adalah menyimpan atribut ke dalam inode. atau nomor dari inode. Untuk sistem yang menggunakan inodes. nomor dari blok yang pertama (kedua skema linked list). Tergantung dari sistem tersebut. fungsi utama dari direktori entri adalah untuk memetakan nama ASCII dari berkas yang bersangkutan kepada informasi yang dibutuhkan untuk mengalokasikan data. performa dan kehandalan. informasi ini dapat berupa alamat disk dari berkas yang bersangkutan (contiguous allocation). sistem operasi menggunakan path name yang dimasukkan oleh pengguna untuk mengalokasikan direktori entri yang menyediakan informasi yang dibutuhkan untuk menemukan block disk tempat berkas itu berada. Ada beberapa macam algoritma yang dapat digunakan. Cara pengalokasian direktori dan pengaturan direktori dapat meningkatkan efisiensi. Cara yang terakhir ini mempunyai keuntungan lebih dibandingkan menyimpan dalam direktori entri.Politeknik Telkom Sistem Operasi Gambar 11-38 Schematic View of Virtual File System 11. Masalah berikutnya yang kemudian muncul adalah dimana atribut yang dimaksud akan disimpan. berkas tersebut harus dibuka terlebih dahulu.6 Implementasi Direktori Sebelum sebuah berkas dapat dibaca. selain dari direktori entri. Dalam semua kasus.

Menghapus (mencari berkas dalam direktori melepaskan tempat yang dialokasikan). Menggunakan nama berkas dengan penunjuk ke data blok. Proses: • • • Mencari (tidak ada nama berkas yang sama). Menambah berkas baru pada akhir direktori.6. Sistem Operasi 185 . tetapi sruktur data hash juga digunakan. Solusi:Linked list dan Software Cache 11.2Algoritma Hash Table Linear List menyimpan direktori entri. Kelemahan: Pencarian secara linier (linier search) untuk mencari sebuah berkas.Politeknik Telkom Sistem Operasi 11.6. sehingga implementasi sangat lambat saat mengakses dan mengeksekusi berkas. dan Penggunaan suatu berkas: Memberi tanda atau menambahkan pada daftar direktori bebas.1Algoritma Linear List Metode paling sederhana.

program aplikasi yang berbeda dapat dimulai oleh setiap program dengan membuat direktori dalam direktori root. tergantung dari hirarki sistem berkas. Mempunyai panjang 32 bytes. semua blok dapat ditemukan. 186 Sistem Operasi . Kelemahan: • • Ukuran tetap: Adanya ketergantungan fungsi hash dengan ukuran hash table Alternatif: Chained-overflow hash table yaitu setiap hash table mempunyai linked list dari nilai individual dan crash dapat diatasi dengan menambah tempat pada linked list tersebut. 11. Dalam MS-DOS.Politeknik Telkom Sistem Operasi Prose Hash table mengambil nilai yang dihitung dari nama berkas dan mengembalikan sebuah penunjuk ke nama berkas yang ada di linier list. atribut. Jadi antar aplikasi yang berbeda tidak dapat terjadi konflik. yang mencakup nama berkas. dan nomor dari block disk yang pertama.3Direktori pada MS-DOS Merupakan sistem dengan tree hierarchy directory. Namun penambahan ini dapat memperlambat. dan menempatkan semua berkas yang bersangkutan di dalam sana.6. Dengan sistem rantai. Nomor dari block disk yang pertama digunakan sebagai indeks dari tabel MS-DOS direktori entri. Dalam MS-DOS. direktori dapat berisi direktori lain.

UNIX melihat komponen pertama dari path. Inode untuk berkas ini kemudian dibaca ke dalam memori dan disimpan disana sampai berkas tersebut ditutup. Dari inode ini. sebagai contoh. nama path /usr/ast/mbox dicari. dia dapat menemukan direktorinya dan melihat mbox. Seperti yang terdapat dalam gambar direktori entri dalam UNIX.tetapi pada beberapa kasus. Kemudian. sistem mengalokasikan direktori untuk /usr dan melihat komponen berikutnya. Pertama. Sistem UNIX terkadang mempunyai penampakan yang berbeda. setiap entri berisi nama berkas dan nomor inode yang bersangkutan. dia sudah mempunyai inode untuk direktori /ust/ast. sistem berkas mengalokasikan direktori root. tetapi algoritma yang digunakan secara dasar sama dengan semua hirarki sistem direktori sistem. sistem berkas harus mengambil nama berkas dan mengalokasikan block disk yang bersangkutan. Mengalokasikan sebuah nomor inode adalah secara straight-forward. Dari inode ini. Semua informasi dari jenis. dan kita menggunakan UNIX sebagai contoh. direktori entri biasanya hanya string ASCII dan nomor inode. serta block disk yang berisi inode. sejak setiap inode mempunyai lokasi yang tetap dalam disk. Saat dia menemukan entri untuk ast. Dalam UNIX inode yang bersangkutan ditempatkan dalam tempat yang sudah tertentu dalam disk. waktu dan kepemilikan. Gambar 11-39 Unix Directory Entry Saat berkas dibuka. dst. Sistem Operasi 187 .Politeknik Telkom Sistem Operasi 11. kapasitas. usr dalam direktori root menemukan nomor inode dari direktori /usr.7 Direktori pada UNIX Struktur direktori yang digunakan dalam UNIX adalah struktur direktori tradisional.

Sejauh masih didalam sistem direktori. Direktori pada UNIX merupakan struktur direktori tradisional Latihan 188 Sistem Operasi .Politeknik Telkom Sistem Operasi Nama path dilihat dengan cara yang relatif sama dengan yang absolut./dick/prog. mereka hanya merupakan ASCII string yang biasa.'' dalam direktori yang bekerja.. Sebagai implementasi direktori yang merupakan implementasi dari Implementasi Sistem Berkas. dan ''.'' kemudian melihat . Dimulai dari direktori yang bekerja sebagai pengganti root directory.c hanya melihat tanda ''.'' mempunyai nomor inode yang menunjuk ke direktori di atasnya/orangtua (parent). dengan menemukan nomor inode dalam direktori di atasnya/parent dan mencari direktori disk. Setiap direktori mempunyai entri untuk. ''. Direktori pada MS/Dos merupakan sistem dengan direktori hirarki tree. Direktori pada UNIX merupakan struktur direktori tradisional.'' yang dimasukkan ke dalam saat direktori dibuat.. Entri ''. Direktori pada MS/Dos merupakan sistem dengan direktori hirarki tree. Tidak ada mekanisme spesial yang dibutukan untuk mengatasi masalah nama ini. Rangkuman Sebagai implementasi direktori yang merupakan implementasi dari Implementasi Sistem Berkas.. implementasi direktori memiliki algoritma seperti Linear List dan Hashtable. implementasi direktori memiliki algoritma seperti Linear List dan Hashtable.

Jelaskan algoritma Linear List dan Hash table dan sebutkan aplikasi dari kedua algoritma tersebut di dunia nyata. Sebutkan struktur yang terdapat di disk 4. juga terdapat Sistem Operasi 189 . Jelaskan urutan langkah dalam membaca suatu data oleh suatu disk 3.Politeknik Telkom Sistem Operasi 1. Sebutkan da jelaskan bagian dari sebuah disk 2. 12 Manajemen Penyimpan Sekunder Overview Selain kita mengetahui penyimpanan primer. 5. Apa yang di maksd partisi dan mounting.

Metode-metode yang akan dibahas lebih lanjut dalam buku ini adalah contiguous allocation. agar kita dapat mengakses berkas-berkas dengan cepat dan memaksimalisasikan ruang yang ada di disk tersebut.Politeknik Telkom Sistem Operasi tentang penyimpan sekunder. dan indexed allocation. linked allocation. Oleh karena itu. 12. Biasanya sistem operasi memilih satu dari metode diatas untuk mengatur keseluruhan berkas. Mahasiswa dapat membedakan manajemen penyimpan primer dan sekunder 2. Metodemetode tersebut memiliki beberapa kelebihan dan juga kekurangan. jadi sebuah berkas didenifinikan oleh alamat disk blok pertama dan panjangnya dengan satuan blok atau 190 Sistem Operasi . maka lahirlah metode-metode untuk mengalokasikan berkas ke disk. karena sifat disk akan mempertahankan berkas walaupun tidak ada arus listrik.1 Metode Alokasi Kegunaan penyimpanan sekunder yang utama adalah menyimpan berkas-berkas yang kita buat. Dalam bab ini akan dijelaskan mengenai manajemen penyimpan sekunder.1. diharapkan mahasiswa dapat membedakan dengan penyimpan yang primer Tujuan 1. Mahasiswa dapat mengetahui metode yang digunakan untuk manajemen penyimpan sekunder 12.1Contiguous Allocation Metode ini akan mengalokasikan satu berkas kedalam blokblok disk yang berkesinambungan atau berurutan secara linier dari disk.

Politeknik Telkom Sistem Operasi berapa blok yang diperlukannya. bila kita menentukannya terlalu kecil maka ada saatnya berkas tersebut tidak dapat dikembangkan. karena bila ingin mengakses blok ke i berarti kita akan mengakses blok a + i. Bila suatu berkas memerlukan n buah blok dan blok awalnya adalah a.. jika diperlukan pemindahan head. Untuk masalah mencari ruang untuk berkas baru. berarti berkas tersebut disimpan dalam blok dialamat a. Untuk penentuan ruang kita tidak boleh terlalu kecil atau terlalu besar. a + 2. Hal tersebut menjadikan metode ini mendukung pengaksesan secara berurutan. a + 1. bila berkas pertama blok pertamanya itu di 1 dan memerlukan 9 blok untuk pengalokasiannya dan berkas kedua blok pertamanya di 11 dan memerlukan 5 blok untuk Sistem Operasi 191 . Direktori mengindentifikasi setiap berkas hanya dengan alamat blok pertama berkas tersebut disimpan yang dalam contoh di atas adalah a. a + n .. maka head tersebut akan hanya akan berpindah satu track.1. Berkas yang dialokasikan dengan metode ini akan mudah diakses. dan banyaknya blok yang diperlukan untuk mengalokasikan berkas tersebut yang dalam contoh di atas adalah n.. karena pengaksesan alamat a + 1 setelah alamat a tidak diperlukan perpindahan head. akan di implementasikan oleh managemen ruang kosong. tapi bila terlalu besar maka akan ada ruang yang sia-sia bila berkas tersebut hanya memerlukan ruang yang kecil. tapi metode ini juga mendukung pengaksesan secara langsung. a + 3. Metode contiguous allocation juga mempunyai beberapa masalah. Metode ini dapat menimbulkan fragmentasi eksternal disaat ruang kosong yang ada diantara berkas-berkas yang sudah terisi tidak cukup untuk mengisi berkas baru. menentukan seberapa besar ruang yang diperlukan untuk sebuah berkas. Hal ini terjadi karena blok pertama dari suatu berkas itu ditentukan oleh sistem operasi. . Diantaranya adalah mencari ruang untuk berkas baru.

Politeknik Telkom Sistem Operasi pengalokasiannya. Dalam metode ini setiap berkas diidentifikasikan dengan linked list dari blok-blok.2Linked Allocation Metode ini dapat mengatasi masalah yang terjadi pada metode contiguous allocation. yaitu dialamat 10. berarti ruang-kosong diantara berkas tersebut ada 1 blok. jadi blokblok tersebut tidak harus berkesinambungan dengan blok yang lain.1. Blok tersebut dapat untuk menyimpan berkas. tetapi hanya berkas yang berukuran 1 blok yang dapat disimpan di blok tersebut Gambar 12-40Contiguous Allocation 12. Direktori hanya menyimpan alamat blok pertama 192 Sistem Operasi .

Gambar 12-41 Linked Allocation Metode linked allocation memiliki beberapa kerugian. metode ini hanya mendukung pengaksesan secara berurutan. karena petunjuk ke blok berikutnya memerlukan ruang. Bila ukuran petunjuknya 4 byte dari blok yang ukurannya 512 byte. Sistem Operasi 193 . maka harus melihat alamatnya di blok pertama dan begitu seterusnya. Hal ini dapat diminimalisasikan dengan menggunakan cluster yang menggabungkan 4 blok dalam satu cluster. Oleh karena itu. Jika kita ingin mengaksess blok kedua. jadi jumlah petunjuknya akan berkurang dari yang tidak memakai cluster.Politeknik Telkom Sistem Operasi dan alamat blok terakhir.78% dari ruang disk hanya digunakan untuk petunjuk saja. berarti 0.

Tetapi bagaimana pun ini belum dapat mendukung pengaksesan secara langsung. dengan cara menyatukan semua petunjuk kedalam blok indeks yang dimiliki oleh setiap berkas. Alamat terakhir berisi hal yang unik. direktori hanya menyimpan alamat dari blok pertama saja. direktori hanya menyimpan alamat dari blok indeks tersebut. tapi ada juga yang menuliskannya EOF (End Of File). Dengan menggunakan FAT kita dapat melihat alamat blok selanjutnya disaat kita masih menuju blok yang dimaksud. Untuk berkas yang baru dibuat. karena kita hanya mencari angka 0 yang pertama dari isi tabel tersebut. berarti kita harus ke satu blok tertentu dahulu dan baru diketahui alamat blok selanjutnya. sebagai contoh ada yang menuliskan -1.Politeknik Telkom Sistem Operasi Paling penting dalam metode ini adalah menggunakan fileallocation table (FAT). Jadi. Dan bila kita ingin mengembangkan berkas sebelumnya carilah alamat terakhirnya yang memiliki ciri tertentu dan ubahlah isi dari tabel tersebut dengan alamat blok penambahan. Metode linked allocation yang menggunakan FAT akan mempersingkat waktu yang diperlukan untuk mencari sebuah berkas.3Indexed Allocation Metode yang satu ini memecahkan masalah fragmentasi eksternal dari metode contiguous allocation dan ruang yang cuma-cuma untuk petunjuk pada metode linked allocation. akan menyebabkan mudahnya untuk membuat berkas baru atau mengembangkan berkas sebelumnya. Jadi. Karena bila tidak menggunakan FAT. Jika kita memakai metode ini. maka blok indeksnya di set dengan null. 194 Sistem Operasi . Mencari tempat kosong untuk berkas baru lebih mudah. 12.1. dan blok indeks tersebut yang menyimpan alamat dimana blok-blok berkas berada. Tabel tersebut menyimpan setiap blok yang ada di disk dan diberi nomor sesuai dengan nomor blok. dan untuk selanjutnya dilihat dari tabel tersebut yang menunjukkan ke blok berikutnya.

kecuali bila satu berkas tersebut hanya memerlukan satu atau dua blok saja. karena dibandingkan dengan metode linked allocation. Mekanisme-mekanisme itu adalah: Sistem Operasi 195 . Gambar 12-42 Indexed Allocation Metode ini juga memiliki masalah. Masalah itu timbul disaat berkas berkembang menjadi besar dan blok indeks tidak dapat menampung petunjuk-petunjuknya itu dalam satu blok. maka kita hanya mencari isi dari blok indeks tersebut yang ke-i untuk dapatkan alamat blok tersebut. Salah satu mekanisme dibawah ini dapat dipakai untuk memecahkan masalah yang tersebut.Politeknik Telkom Sistem Operasi Metode ini mendukung pengaksesan secara langsung. Metode indexed allocation tidak menyia-nyiakan ruang disk untuk petunjuk. bila kita ingin mengakses blok ke-i. maka metode ini lebih efektif.

tetapi pada indirect block akan menunjukkan blok indeks terlebih dahulu seperti dalam mekanisme indeks bertingkat.048. bila berkas tersebut berkas besar. . Direct block akan langsung menunjukkan alamat dari blok berkas. bila berkas kita masih berukuran kecil. tapi bila dibutuhkan dapat dilanjutkan kelevel ketiga dan keempat tergantung dengan ukuran berkas tersebut. yaitu 1. Combined scheme: Mekanisme ini menggabungkan direct block dan indirect block.Politeknik Telkom Sistem Operasi 12. dan blok indeks pada tingkat kedua menunjukkan alamat-alamat dari blok berkas. Yang hanya mendukung 32 bit petunjuk berkas berarti akan hanya mencapai 4 GB. dan begitu seterusnya. namun yang mendukung 64 bit petunjuk berkas dapat mengalokasikan berkas berukuran sampai Sistem Operasi satuan terabyte. dan triple indirect block akan menunjukkan blok indeks 3 level. Jadi. double indirect block akan menunjukkan suatu blok yang bersifat sama dengan blok indeks 2 level. Indeks bertingkat: Pada mekanisme ini blok indeks itu bertingkat-tingkat. Dimisalkan ada 15 petunjuk dari mekanisme ini. Single indirect block akan menunjukkan ke blok indeks yang akan menunjukkan alamat dari blok berkas.2 Managemen Ruang Kosong o o o 196 Linked scheme: Untuk mengatasi petunjuk untuk berkas yang berukuran besar mekanisme ini menggunakan tempat terakhir dari blok indeks untuk alamat ke blok indeks selanjutnya. maka isi dari tempat yang terakhir dari blok indeks berkas tersebut adalah null.576 blok berkas. Untuk blok indeks 2 level dengan ukuran blok 4.096 byte dan petunjuk yang berukuran 4 byte. 3 petunjuk berikutnya adalah indirect block yang berurutan dari single indirect block sampai triple indirect block. dapat mengalokasikan berkas hingga 4 GB. jadi bila ukuran blok 4 byte berarti berkas yang dapat diakses secara langsung didukung sampai ukurannya 48 KB. maka tempat terakhir itu berisikan alamat untuk ke blok indeks selanjutnya. Namun. 12 pertama dari petunjuk tersebut adalah direct block. blok indeks pada tingkat pertama akan menunjukkan blok-blok indeks pada tingkat kedua.

3.Politeknik Telkom Sistem Operasi Sejak ruang disk terbatas. Menyimpan vektor tersebut di memori utama memungkinkan untuk disk-disk yang kecil. dan 27 kosong. dan seterusnya. kita butuh menggunakan lagi ruang tersebut dari berkas yang sudah dihapus menjadi berkas yang baru. seperti pada microcomputers. 8. 12. Daftar ruang-kosong tersebut merekam semua blok-blok disk yang kosong itu semua tidak dialokasikan di beberapa berkas atau direktori. Bit map dari ruang-kosong yaitu 00111100111111000110000011100000. Untuk menyimpan track dari ruang disk yang kosong. Sayangnya. 5. 26. atau blok-blok kosong n yang berurutan di dalam disk.2. jika memungkinkan. dan sisa dari blok-blok tersebut ditempati. Setiap blok direpresentasikan dengan 1 bit. Sebagai contoh. 4. bit vectors tidak efisien kecuali seluruh vektor disimpan di memori utama (dan ditulis ke disk secara rutin untuk kebutuhan recovery.2Linked List Pendekatan yang lainnya untuk managemen ruang-kosong adalah menghubungkan semua blok-blok disk kosong. 10. sistem membuat daftar ruang-kosong. sebagai blok Sistem Operasi 197 . 25.2. 12. 11. 17. 13. tetapi tidak untuk disk-disk yang besar.. 18. 12. bitnya adalah 1. daftar ruang yang kosong diimplementasikan sebagai sebuah bit map atau bit vector.. menyimpan sebuah penunjuk ke blok kosong yang pertama di lokasi yang khusus di disk dan menyimpannya di memori. Jika bloknya kosong.1Bit Vector Seringkali. bitnya adalah 0. mepertimbangkan sebuah disk dimana blokblok 2. Keuntungan utama dari pendekatan ini adalah relatif sederhana dan keefisiensian dalam menemukan blok kosong yang pertama. kita akan menyimpan sebuah penunjuk ke blok 2. Blok pertama ini mengandung sebuah penunjuk ke blok disk kosong selanjutnya. jika bloknya ditempati. Sebagai contoh. 9.

Politeknik Telkom Sistem Operasi kosong pertama. Bagaimana pun. dan seterusnya. yang membutuhkan tambahan waktu M/K. sistem operasi tersebut membutuhkan sebuah blok kosong supaya sistem operasi dapat mengalokasikan blok tersebut ke berkas. kita harus membaca setiap blok. Untungnya. lalu blok yang pertama di daftar kosong digunakan. Biasanya. yang akan menunjuk ke blok 5. mengakses daftar kosong tersebut itu tidak eksekusi yang teratur. 198 Sistem Operasi . skema ini tidak efisien untuk mengakses daftar tersebut. Blok 2 mengandung sebuah penunjuk ke blok 3. yang akan menunjuk ke blok4. yang akan menunjuk ke blok 8.

Politeknik Telkom Sistem Operasi Gambar 12-43 Ruang Kosong Linked List 12.3 Grouping Sebuah modifikasi dari pendekatan daftar-kosong adalah menyimpan alamat-alamat dari n blok-blok kosong di blok kosong yang pertama. n-1 pertama dari blok-blok ini Sistem Operasi 199 .

kita dapat menyimpan alamat dari blok kosong yang pertama tersebut dan angka n dari blok contiguous kosong yang diikuti blok yang pertama. dan seterusnya. Blok terakhir mengandung alamat-alamat dari n blok kosong lainnya.Politeknik Telkom Sistem Operasi sebenarnya kosong. selama jumlahnya rata-rata lebih besar daripada 1. Setiap masukan di daftar ruang-kosong lalu mengandung sebuah alamat disk dan sebuah jumlah. daftar kesemuanya akan lebih pendek. Pentingnya implementasi ini adalah alamat-alamat dari blok-blok kosong yang banyak dapat ditemukan secara cepat. kita mendiskusikan tentang bermacam-macam teknik yang digunakan untuk mengembangkan efisiensi dan kinerja dari penyimpanan kedua. Sebagai contoh. Di bagian ini. Meski pun setiap masukan membutuhkan ruang lebih daripada alamat-alamat disk yang sederhana. UNIX mengembangakan kinerjanya dengan mencoba untuk menyimpan sebuah blok data berkas dekat dengan blok inode berkas untuk mengurangi waktu pencarian. 12. Tipe dari data normalnya disimpan di masukan direktori berkas (atau inode) juga membutuhkan pertimbangan.5 Efisiensi dan Kinerja Kita sekarang dapat mempertimbangkan mengenai efek dari alokasi blok dan manajeman direktori dalam kinerja dan penggunanan disk yang efisien. Biasanya.5. tanggal terakhir penulisan direkam untuk memberikan informasi kepada pengguna dan untuk 200 Sistem Operasi .4 Counting Daripada menyimpan daftar dari n alamat-alamat disk kosong. 12. tidak seperti di pendekatan linked-list yang standard.1Efisiensi Penggunaan yang efisien dari ruang disk sangat tergantung pada alokasi disk dan algoritma direktori yang digunakan. 12.

Prasyarat ini dapat tidak efisien untuk pengaksesan berkas yang berkala. adalah rencana untuk efek dari teknologi yang berubah. supaya seorang pengguna dapat menentukan kapan berkas terakhir dibaca. atau juga ukuran alokasi yang tetap diantara sistem operasi. Sebagai contoh. dan membuat metode alokasi dan managemen ruang-kosong menggunakan ruang disk yang lebih. penunjuk-penunjuk membutuhkan ruang lebih untuk disimpan. Beberapa sistem juga menyimpan sebiuah "last access date".2Kinerja Sekali algoritma sistem berkas dipilih. Umumnya setiap persatuan data yang berhubungan dengan berkas membutuhkan untuk dipertimbangkan efeknya pada efisiensi dan kinerja. Sistem Operasi 201 .Politeknik Telkom Sistem Operasi menentukan jika berkas ingin di back up. 12. Kebanyakan dari disk controller mempunyai memori lokal untuk membuat on-board cache yang cukup besar untuk menyimpan seluruh tracks dengan sekejap. Hasil dari menyimpan informasi ini adalah ketika berkas sedang dibaca. kita tetap dapat mengembangkan kinerja dengan beberapa cara. sebuah field di struktur direktori harus ditulisi. Satu dari kesulitan memilih ukuran penunjuk. mempertimbangkan bagaimana efisiensi dipengaruhi oleh ukuran penunjuk-penunjuk yang digunakan untuk mengakses data.5. Bagaimana pun.

Page cache tersebut menggunakan teknik memori virtual untuk menyimpan data berkas sebagai halaman-halaman daripada sebagai blok-blok file-system-oriented. 202 Sistem Operasi . Menyimpan data berkas menggunakan alamat-alamat virtual jauh lebih efisien daripada menyimpannya melalui blok disk fisik. kita mempunyai situasi panggilan mapping memori butuh menggunakan dua cache. isi dari berkas di dalam buffer cache harus diduplikat ke page cache. dimana blok-blok disimpan dengan asumsi mereka akan digunakan lagi dengan secepatnya.Politeknik Telkom Sistem Operasi Gambar 12-44 Menggunakan Unified Cached Buffer Beberapa sistem membuat seksi yang terpisah dari memori utama untuk digunakan sebagai disk cache. page cache dan buffer cache. Sebuah unified buffer cache mempunyai keuntungan menghindari double caching dan menunjuk sistem memori virtual untuk mengatur data sistem berkas. Tidak hanya membuang-buang memori. Ini dikenal sebagai unified virtual memory. tetapi ini membuang CPU dan perputaran M/K dikerenakan perubahan data ekstra diantara memori sistem. Juga dapat menyebabkan korupsi berkas. Karena sistem memori virtual tidak dapat menggunakan dengan buffer cache. Sistem lainnya menyimpan data berkas menggunakan sebuah page cache. Situasi ini dikenal dengan double caching dan membutuhkan menyimpan data sistem-berkas dua kali. Sebagian sistem operasi menyediakan sebuah unified buffer cache. Tanpa sebuah unified buffer cache.

agar kita dapat mengakses berkas-berkas dengan cepat dan memaksimalisasikan ruang yang ada di disk tersebut. karena sifat disk akan mempertahankan berkas walaupun tidak ada arus listrik. Sistem Operasi 203 . dan indexed allocation. Oleh karena itu. Metode-metode yang akan dibahas lebih lanjut dalam buku ini adalah contiguous allocation. linked allocation. maka lahirlah metode-metode untuk mengalokasikan berkas ke disk.Politeknik Telkom Sistem Operasi Gambar 12-45 Tanpa Unified Cache Buffer Rangkuman Kegunaan penyimpanan sekunder yang utama adalah menyimpan berkas-berkas yang kita buat.

kita butuh menggunakan lagi ruang tersebut dari berkas yang sudah dihapus menjadi berkas yang baru. Jelaskan apa yang dimaksud dengan Bit Vector 4. Tujuan dari Grouping dan Counting ? 13 Recovery 204 Sistem Operasi . jika memungkinkan. Apa yang dimaksud dengan efisiensi dan kinerja 3. Sebutkan dan jelaskan metode alokasi yang anda ketahui 2. kita mendiskusikan tentang bermacam-macam teknik yang digunakan untuk mengembangkan efisiensi dan kinerja dari penyimpanan kedua. sistem membuat daftar ruang-kosong. Daftar ruang-kosong tersebut merekam semua blok-blok disk yang kosong itu semua tidak dialokasikan di beberapa berkas atau direktori. Di bagian ini. Kita sekarang dapat mempertimbangkan mengenai efek dari alokasi blok dan manajeman direktori dalam kinerja dan penggunanan disk yang efisien. Latihan 1. Untuk menyimpan track dari ruang disk yang kosong.Politeknik Telkom Sistem Operasi Sejak ruang disk terbatas.

1 Pengecekan Rutin Informasi di direktori di memori utama biasanya lebih baru daripada informasi yang ada di disk. 13. perawatan harus dilakukan untuk memastikan kegagalan sistem tidak terjadi di kehilangan data atau di tidakkonsistennya data. Tujuan 1. Mahasiswa mengetahui cara mengamankan suatu data. karena penulisan dari informasi direktori yang disimpan ke disk tidak terlalu Sistem Operasi 205 .Politeknik Telkom Sistem Operasi Overview Sejak berkas-berkas dan direktori-direktori dua-duanya disimpan di memori utama dan pada disk.

tape magnetik. mungkin menjadi masalah dari restoring data dari backup. Untuk meminimalis kebutuhan untuk menduplikat. Mempertimbangkan efek yang memungkinkan terjadinya crash pada komputer.Politeknik Telkom Sistem Operasi dibutuhkan secepat terjadinya pembaharuan. Oleh karena itu. program khusus akan dijalankan pada saat waktu reboot untuk mengecek dan mengoreksi disk yang tidak konsisten. kita dapat menggunakan inforamsi dari. jika program backup mengetahui kapan backup terakhir dari berkas telah selesai. Gambar 13-46 Macam – macam lokasi Disk caching 13. Recovery dari kehilangan sebuah berkas individu. atau disk optikal. Secara berkala. program sistem dapat digunakan untuk back up data dari disk menuju ke media penyimpanan yang lainnya. dan mencoba untuk memperbaiki ketidakkonsistenan yang ditemukan. Sebagai contoh. masing-masing masukan direktori. Pemerikasaan rutin membandingkan data yang ada di struktur direktori dengan blok data pada disk. seperti sebuah floppy disk. atau seluruh disk.2 Backup dan Restore Dikarenakan disk magnetik kadang-kadang gagal. perawatan harus dijalankan untuk memastikan data tidak hilang selamanya. dan tanggal terakhir berkas di direktori menunjukkan bahwa berkas 206 Sistem Operasi .

Pemanggilan kembali yang mengenai struktur data sistem berkas pada disk--seperti struktur-struktur direktori. Keuntungan tambahan dari perputaran backup ini adalah kita dapat menyimpan berkas apa saja yang tidak sengaja terhapus selama perputaran dengan mengakses berkas yang terhapus dari backup hari sebelumnya. lalu berkas tersebut tidak perlu diduplikat lagi. penunjuk-penunjuk blok-kosong. o Day 2: o Menduplikat ke medium lainnya semua berkas yang dirubah sejak hari pertama. o o 13. tentu saja memerlukan tape atau disk yang lebih untuk dibaca untuk penyimpanan yang lengkap. o Day 3: o Menduplikat ke medium lainnya semua berkas yang dirubah sejak hari ke-2. Hasil dari implementasinya dikenal dengan log-based transactionoriented (atau journaling sistem berkas). Ini disebut sebuah full backup. N yang terbesar. o Day N: o Menduplikat ke medium lainnya semua berkas yang dirubah sejak hari ke N-1. penunjuk-penunjuk FCB Sistem Operasi 207 . Ini adalah incremental backup.3 Log-structured File System Algoritma logging sudah dilakukan dengan sukses untuk manangani masalah dari pemeriksaan rutin.Politeknik Telkom Sistem Operasi tersebut tidak dirubah sejak tanggal tersebut. Sebuah tipe jadual backup yaitu sebagai berikut: Day 1: Menduplikat ke sebuah medium back up semua berkas ke disk. Perputaran baru dapat mempunyai backupnya ditulis ke semua set sebelumnya. atau ke set yang baru dari media backup.

4 Sistem Berkas Linux Virtual Obyek dasar dalam layer-layer virtual file system 1. yang hasilnya kehilangan berkas dan mungkin seluruh direktori. tidak akan ada atau ada kelebihan transactions di berkas log. Masing-masing set dari operasi-operasi yang manampilakan tugas yang spesifik adalah sebuah transaction. jadi harus dilengkapi. Solusinya adalah memakai teknik log-based-recovery pada sistem berkas metadata yang terbaru. Virtual file sistem tidak memiliki perbedaan yang jelas di antara obyek. 13. semua perubahan metadata ditulis secara berurutan di sebuah log. Keuntungan yang lain adalah prosesproses pembaharuan akan lebih cepat daripada saat dipakai langsung ke struktur data pada disk. 2. Jika sistemnya crashes. Perubahan-perubahan tersebut dapat diinterupsi oleh crash. Sebelum penggunaan dari teknik log-based di sisitem operasi. Salah satunya adalah ketidakkonsistenan tidak dapat diperbaiki. Penempatan pada memori tersebut sesuai dengan konsep file deskriptor yang dimiliki unix. direktori. File File adalah sesuatu yang dapat dibaca dan ditulis. tetapi 208 Sistem Operasi . Inode bisa saja file biasa. perubahan biasanya dipakaikan pada struktur ini. File ditempatkan pada memori. simbolik link dan lain sebagainya.Politeknik Telkom Sistem Operasi kosong--dapat menjadi tidak konsisten dikarenakan adanya system crash. Inode Inode merepresentasikan obyek dasar dalam file sistem. Ada beberapa masalah dengan adanya pendekatan dari menunjuk struktur untuk memechkan dan memperbaikinya pada recovery. Pada dasarnya. Transactions tersebut tidak akan pernah lengkap ke sistem berkas walaupun dimasukkan oleh sistem operasi. dengan hasil strukturnya tidak konsisten. Pemeriksaan rutin mungkin tidak dapat untuk recover struktur tersebut.

Ada sesuatu yang memiliki inode tetapi tidak memiliki file. Inode lainnya diakses mulai dari root inode dan pencarian nama file untuk menuju ke inode lainnya. ini berarti jika sembarang inode dari file terdapat di dalam cache. Nama inode Semua inode dalam file sistem diakses melalui namanya. contohnya adalah simbolik link. virtual file sistem pada linux tetap memantau cache dan nama inode yang baru saja terpakai agar kinerja meningkat. 4.Politeknik Telkom Sistem Operasi mengacu kepada implementasi file sistem yang menyediakan perilaku yang sesuai. Salah satu yang terpenting adalah blocksize. Ada juga file yang tidak memiliki inode seperti pipes dan socket. akan diakses file sistem secara langsung. maka parent dari inode tersebut juga terdapat di dalam cache. Ada pengecualian pada target dari simbolik link. Cache terdapat di memori sebagai tree. File sistem File system adalah kumpulan dari inode-inode dengan satu inode pembeda yaitu root. Walaupun pencarian nama inode bisa menjadi terlalu berat untuk beberapa sistem. Virtual file system layer menangani semua pengaturan nama path dari file dan mengubahnya menjadi masukan di dalam cache sebelum mengizinkan file sistem untuk mengaksesnya. File dan inode hampir mirip diantara keduanya. File sistem diharapkan untuk menginterpretasikannya. Tetapi terdapat perbedaan yang penting diantara keduanya. 3. Sistem Operasi 209 . Kernel tingkat tinggi menangani obyek yang berbeda secara tidak sama. File sistem mempunyai beberapa karakteristik yang mencakup seluruh inode dalam file sistem.

Algoritma logging sudah dilakukan dengan sukses untuk manangani masalah dari pemeriksaan rutin. program sistem dapat digunakan untuk back up data dari disk menuju ke media penyimpanan yang lainnya. atau disk optikal. Sebutkan dan jelaskan objek dasar dalam layer virtual file system 2. mungkin menjadi masalah dari restoring data dari backup. Apa yang dimaksud dengan teknik log-based-recovery. Hasil dari implementasinya dikenal dengan log-based transaction-oriented (atau journaling sistem berkas Latihan 1. 210 Sistem Operasi . Dikarenakan disk magnetik kadang-kadang gagal. Mengapa perlu adanya recovery dan backup 3. perawatan harus dijalankan untuk memastikan data tidak hilang selamanya.Politeknik Telkom Sistem Operasi Rangkuman Informasi di direktori di memori utama biasanya lebih baru daripada informasi yang ada di disk. atau seluruh disk. karena penulisan dari informasi direktori yang disimpan ke disk tidak terlalu dibutuhkan secepat terjadinya pembaharuan. Recovery dari kehilangan sebuah berkas individu. tape magnetik. seperti sebuah floppy disk. Oleh karena itu.

Politeknik Telkom Sistem Operasi 14 Sistem Operasi Tersebar 1 Overview Sebelum memulai mempelajari sistem operasi penting bagi kita untuk mengetahui komponen-komponen yang menjadi bagian dari sebuah sistem komputer disertai cara kerjanya. Sistem Operasi 211 . Hal ini disebabkan nantinya sistem operasi bekerja untuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi.

2 Konsep Dasar Sistem Tersebar / Terdistribusi Sistem Tersebar/terdistribusi berasal dari dua kata. konsumen.Politeknik Telkom Sistem Operasi Tujuan 1. Tujuan 2 14.1 Pendahuluan Pada saat ini semakin berkembangannya dunia Teknologi Informasi yang dimiliki perusahaan mengikuti kebutuhan terhadap pelayanan terhadap pelanggan. teknologi multimedia dan teknologi telekomunikasi. Ketiga komponennya melatarbelakangi lahirnya pengembagan Jaringan komputer pada tingkat lebih lanjut. Tujuan 1 2. Tersebar/terdistribusi berasal dari kata “sebar/distribusi” yang merupakan kebalikan dari kata 212 Sistem Operasi . Dalam satu dekade terakhir perkembangan dunia Teknologi Informasi telah berkembang dengan terintegrasinya teknologi komputer. Hal ini diawali dengan memberikan unit komputer untuk setiap karyawannya agar proses pembuatan surat dan pelayanan administrasi menjadi lebih cepat dan kapabilitas citra perusahaan semakin baik. Sistem merupakan sekumpulan elemen yang saling tergantung satu sama lain dan membentuk suatu kesatuan untuk menyelesaikan suatu tujuan secara spesifik menjalankan suatu fungsi. Sistem dan Tersebar. Beberapa diantaranya bahkan sudah jauh lebih baik dengan membangun sistem terotomatisasi beberpa prosedur kerja yang bersifat rutin dan berkapasitas data yang besar. 14. Proses ini diterapka di beberapa perwakilan perusahaan yang semuanya terintegrasi dengan komputer pusat. Dalam penjelasan berikutnya dikenal sebagai sistem tersebar atau sistem terdistribusi.

Berbagi pakai sumber daya. dan dan kegagalan reintegrasi lokasi. yang artinya penyebaran. c. Reliability. untuk mempercepat proses komputasi. Mengatasi bottleneck. b. proses pengiriman. Jadi sistem tersebar merupakan sekumpulan komputer otonom (elemen-elemen) yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data. informasi. melakukan proses penanganan dalam mendeteksi dan menangani kesalahan pada lokasi tertentu. penyerahan pembagian menjadi bagian-bagian yang lebih kecil.Politeknik Telkom Sistem Operasi “sentralisasi”. proses. sirkulasi. objek dan layanan dari dan kepada pengguna yang terkait didalamnya sehingga menghasilkan satu fasilitas komputasi terpadu. Sistem Operasi 213 . akses terhadap sumber daya jarak jauh sama dengan sumber daya lokal. Gambar 14-47 Sistem Tersebar Beberapa alasan diterapkan Sistem Terdistribusi antara lain: a. • Berbagi pakai printer dan file dari jarak jauh (remote site) • Pemrosesan informasi dalam sistem basis data tersebar • Melakukan prose remote terhadap perangkat tertentu.

Mentrasfer data dari remote mesin ke lokal mesin. melalui mekanisme File Transfer Protocol (FTP) mechanism 14. Misalkan jika terdapat satu clock disuatu lokasi. 2. tidak dapat diperolehnya clock global tersinkronisasi secara sempurna. Pengguna Sadar dengan multiplisitas perangkat Akses terhadap sumber daya jarak jauh sama dengan sumber daya lokal. 4. Sistem Operasi Tersebar 14. Remote login ke perangakat jauh yang sesuai (telnet. dengan SisTer memungkinan mampu melakukan proses pengiriman pesan jauh lebih baik.Politeknik Telkom Sistem Operasi d. Network Operating System b. 14. 14. Dengan tidak adanya memori bersama mengakibatkan state sistem terbaru tidak tersedia untuk setiap proses.4. maka proses-proses lain akan mendapatkan nilai clock pada waktu berbeda karena waktu tunda transmisi pesan berbeda.4. 2. Remote Desktop (Microsoft Windows).3 Properti dan Karakteristik Sistem Tersebar Sistem Tersebar memiliki dua batasan pokok. yaitu: 1.2Sistem Operasi Tersebar Penerapan sistem operasi tersebar dilatarbelakangi oleh: 214 Sistem Operasi .4 Tipe Sistem Tersebar Sistem Tersebar memiliki dua tipe : a.Tidak clock global. Hal ini latar belakangi oleh: 1. Komunikasi. ssh) 3.Tidak ada memori bersama.1Network Operating System Penggunaan sistem operasi jaringan diperlukan dalam sistem operasi tersebar.

Misalnya penambahan program sistem layanan bank tidak harus dilakukan oleh orang yang Sistem Operasi 215 . 4. 3. Migrasi Data dengan memindahkan seluruh data atau hanya mentransfer file yang diperlukan untuk task langsung. 2.5 Karakteristik Sistem Tersebar Beberapa karakteristik sistem operasi tersebar antara lain: 1. e) Data access – proses yang berjalan secara remote. Contoh: Akses ke Sumber jarak jauh (remote Acces) sama halnya ke Sumber lokal (local resources). Pengguna tidak sadar akan multiplisitas perangkat. Artinya penambahan komponen baru dapat dilakukan oleh programer yang berbeda-beda. Process Migration: Mengeksekusi seluruh proses atau sebagian daripadanya pada situs/tempat yang berbeda. maka pemakaian sumber daya bersama digunakan secara efektif. a) Load balancing – proses distribusi melalui jaringan agar meratakan beban proses kerja b) Computation speedup – subprocesses dapat berjalan pada saat yang bersama di lokasi yang berbeda. 2. memindahkan komputasi bukannya data. melalui sistem.Politeknik Telkom Sistem Operasi 1. proses yang d) Software preference – software yang dibutuhkan hanya pada lokasi tertentu. 14. Resource Sharing Setiap sumber daya dapat diakses dan di manipulasi dengan handal dan konsisten. Computation Migration. Openness(keterbukaan) Kemampuan untuk memperluas sistem dengan berbagai cara dengan mudah. c) Hardware preference – eksekusi membutuhkan jenis prosesor tertentu.

Misal seorang karyawan dapat mencetak dokumennya secara paralel di lokal printer maupun remote printer dalam lingkungan SisTer sehingga pencetakan dokumen dapat diselesaikan. Transparency meliputi : a. Pengguna melihat sistem sebagai uniprosesor maya tunggal. Access Transparency (penyembunyian akses) Seseorang yang bekerja dilingkungan sistem dapat mengakses lingkungan tersebut untuk penyelesaian pekerjaannya. Perubahan dilakukan dari segi jumlah pengguna maupun dari segi kekuatan perangkat keras komputer-komputer dalam SisTer itu sendiri. menciptakan program tersebut. dan tidak memperngaruhi kinerja sistem secara keseluruhan. 5. tapi dapat dilakukan oleh programmer yang lain. Misalnya mesin ATM dapat dikurangi tanpa mempengaruhi kinerja sistem layanan bank. Fault-Tolerance SisTer diharapkan dapat bertahan terhadap kegagalan. Transparency(penyembunyian) Hal yang menjadi pokok utama dalam SisTer adalah transparency. membutuhkan sinkronisasi dalam mengakses sumber daya bersama serta dapat salaing bekerja sama. bukan kumpulan mesin terpisah. 216 Sistem Operasi . 6. 4. Concurency (kebersamaan) Banyak proses yang bisa dieksekusi secara bersama. Scalability Sistem Tersebar dapat diubah dan tetap berjalan dengan baik.Politeknik Telkom Sistem Operasi 3. Penggunaan banyak pemroses dan data remote tidak terlhat oleh pengguna.

Pengguna tidak terpengaruh apakah ia mengakses data orsinil atau replikasi. Replication Transparency Memungkinkan banyak informasi yang digunakan untuk meningkatkan kehandalan dan kinerja tanpa program. Begitupula saat akan mengakses dari mana saja sejauh memiliki fasilitas untuk mengakses ke objek yang di tuju. Database pada lokasi tertentu user Gambar 14-49 Location Transparency c.Politeknik Telkom Sistem Operasi Rem Printer ote Local printer user Gambar 14-48 Access Transparency b. Location Transparency (penyembunyian lokasi) Memungkinkan pengaksesan objek tanpa harus tahu lokasinya. Sistem Operasi 217 .

Politeknik Telkom Sistem Operasi SisTer Bandung SisTer Jakarta Gambar 14-50 Replication Transparency d. Scalling Transparancy Memungkinkan sistem dan aplikasi diperluas (upgrade) tanpa merubah struktur sistem atau program aplikasi. Performance Transparancy Memungkinkan sistem mengkonfigurasi ulang sendiri untuk meningkatkan kinerja ketika beban kerja bertambah. Migration Transparancy Memungkinkan perpindahan objek di sistem tanpa mempengaruhi operasi program f. SisTer Bandung SisTer Jakarta Gambar 14-51 Failure Tranparancy e. g. Failure Tranparancy Memungkinkan program atau pemakai menyelesaikan tugasnya tanpa terganggu atau mengetahui terjadinya kegagalan komponen hardware dan software. 218 Sistem Operasi .

yaitu penyaji dari tampilan aplikasi data yang diakses dari server.org/wiki/Distributed_system): 1.Politeknik Telkom Sistem Operasi Dengan demikian sistem operasi tersebar adalah program yang mengelola sumber daya-sumber daya di sistem tersebar dan menyediakan antarmuka yang familiar dengan pengguna yang berisi komputerkomputer otonom yang dihubungkan dengan jaringan komunikasi sehingga terlihat seperti satu sistem uniprosesor tunggal. serta mampu menyediakan spesifikasi dari komponen-komponen sistem dan hubungannya di dalam sistem.wikipedia. Beberapa arsitektur sistem tersebar antara lain (http://en. dimana rancangan tersebut mengidentifikasi komponen beserta fungsi masing-masing komponen. kemudian memformat dan menampilkan pada pengguna. konektivitas/hubungan antar komponen. 14. Arsitektur ini terdiri dari : a. Sistem Operasi 219 . 2-tier architecture – Arsitektur ini menutupi kekurangan dari single tier yaitu dalam hal grafis yang membutuhkan lebih banyak dukungan komputasional dari pada sekedar dumb terminal sederhana.6 Arsitektur Sistem Terdistribusi Arsitektur didefinisikan sebagai suatu rancangan untuk penyusunan dan operasi komponen komponen suatu sistem. Client-server — client menghubungi server untuk mendapatkan data. Arsitektur ini terbagi kedalam 2 macam jenis : Thin Client-Thick Server – Client menjalankan satu fungsi. dan mendeskripsikan pemetaan fungsionalitas ke dalam komponen. Ini berarti beban server lebih tinggi di bandingkan client. Arsitektur 2-tier ini sebenarnya adalah Client Server itu sendiri. Dengan demikian arsitektur ini dapat memberikan gambaran fisik dan logikal dari sistem.

Politeknik Telkom Sistem Operasi Gambar 14-52 Thin Client-Thick Server secara fisik Gambar 14-53 Thin Client-Thick Server secara logik Thick Client-Thin Server .Arsitektur ini berfungsi sedikitnya memberi dua peran bagi client. sementara server hanya mengelola data saja sehingga beban client jadi bertambah. Gambar 14-54 Thick Client-Thin Server secara fisik 220 Sistem Operasi . dimana client tidak hanya berperan sebagai penyaji interface saja. Melainkan juga berfungsi mengoperasikan aplikasi.

Untuk membangun sistem bisnis berbasis web. 3-tier architecture — Arsitektur ini terus dikembangkan seiring dengan perkembangan perusahaan. Data management tier merupakan server yang dikhususkan untuk menangani pengelolaan basis data Sistem Operasi 221 . Yang melakukan proses adalah server.Politeknik Telkom Sistem Operasi Gambar 14-55 Thick Client-Thin Server secara logical Host-Based – Client hanya berfungsi sebagai terminat input dan output saja. Gambar 14-57 Cooperative b. perlu dilakukan pemisahan peran server yang menangani aplikasi dan basis data agar kinerja server dapat optimal. Middle Tier dan Presentation Layer dengan penjelasan sebagai berikut: i. Three tier ini merupakan arsitektur Client Server yang memisahkan antara Data Management Tier . Gambar 14-56 Host Based Cooperative – Proses menangani dua sisi yaitu client dan server. Lebih komplek tetapi efissien.

222 Sistem Operasi . N-tier menunjukan banyaknya lapisan yang ada dalam sebuah aplikasi. N-tier architecture — Aplikasi client-server dibagi kedalam beberapa layer. mengajukan layanan ke server.Politeknik Telkom Sistem Operasi ii. iii. Lapisan tersebut antara lain : Presentation layer. dan melihat hasilnya Gambar 14-58 3-tier architecture c. Presentation tier merupakan kompter client yang menjadi interface bagi pengguna untuk memasukan data.berhubungan dengan antarmuka dengan pengguna aplikasi. Middle tier merupakan komputer server yang dikhususkan untuk menangani aplikasi-aplikasi dimana peosedur-prosedur dan perhitunganperhitungan yang kompleks dieksekusi. Data layer – lapisan ini berbentuk satu atau lebih server basis data yang lokasinya tersebar di berbagai tempat. Application layer atau business logic layer – lapisan ini berisi inti dari aplikasi tersebut dan menyimpan data yang digunakan oleh aplikasi tersebut.

Untuk membedakan anatara P2P dengan client server. Middleware : merupakan komponen perantara yang memungkinkan client dan server saling terhubung dan berkomunikasi satu sama lain. Komponen dasar yang membentuk arsitektur client server : 1. atau Web. jalur komunikasi (communication Network). menerjemahkan hasil proses dari server dan mengirimkan hasil proses yang telah diterjemahkan kembali ke client. ponsel. Server Object. Server : Merupakan pihak yang menyediakan layanan. 3. menunggu proses dan melihat visualisasi hasil prosesnya. client dapat mengirimkan pesan atau permintaan ke server. Middleware memiliki per8an yang strategis .MYSQL. Printer (printer server).robot. Monitor TP.7 Client Server Model konektivitas pada jaringan yang membedakan fungsi komputer apakah sebagai client atau server. Server groupware. sedangankan client akan mengirimkan permintaan ke server. Server dapat bertugas untuk berbagi pakai berkas (file server). Client dapat berupa PC. Midleware dapat berupa Transaction Monitor (TP).Politeknik Telkom Sistem Operasi 14. Client : merupakan terminal yang digunakan oleh pengguna untuk meminta layanan tertentu yang dibutuhkan. yaitu: Sistem Operasi 223 . televisi. dan peraltan lain yang membutuhkan informasi 2. Ada beberapa tipe jaringan client server yang sudah umum dikenal. Server dapat berupa basis data SQL. memproses dan memberikan hasilnya kepada client. Pada model ini server dapat berfungsi sebagai client (server non-dedicated). Arsitektur ini menempatkan sebuah komputer sebagai server yang bertugas memberikan layanan kepada terminal-terminal lain (client) yang terhubung dalam sistem jaringan itu. prinsip kerjanya adalah server menunggu permintaan dari client. komukator. Remote Procedure Calling (RPC) atau Object Request Broker (ORB).

Gambar 14-60 Database Server 3. Perbedaan dengan tipe sebelumnya ada pada server transaksi yang memproses sekelompok perintah terstruktur dari client. P erm intaan ` C lie nt S erver B erkas Berkas Gambar 14-59 File Server 2. Server transaksi (Transaction Server) . baik aplikasi atau berkas yang dihasilkan oleh aplikasi tersebut. Tipe ini memiliki kelemahan yaitu adanya kepadatan lalu lintas jaringan. Server basis data (Database Server) – Sistem jaringan dimana layanan yang diberikan oleh server berupa pengolahan dan penyajian data berdasarkan perintah terstruktur yang diberikan client.Sistem jaringan dimana layanan yang diberikan oleh server adalah berupa hasil proses dari sekelompok perintah terstruktur yang diberikan oleh client. Server berkas (File Server) – Sistem jaringan dimana layanan yang diberikan oleh server adalah berkas. 224 Sistem Operasi .Politeknik Telkom Sistem Operasi 1.

Politeknik Telkom Sistem Operasi Aplikasi Perintah Terstruktur ` Client Hasil Proses Gambar 14-61 Transaction Server 4. Server groupware (Groupware Server) .Sistem jaringan dimana layanan yang diberikan oleh server adalah berupa fasilitas pemakaian bersama informasi semi-terstruktur diantara pengguna jaringan. Aplikasi Informasi ` Client1 Server Groupware Permintaan ` Client2 Aplikasi Gambar 14-62 Server Groupware Sistem Operasi 225 .

Client dan server berkomunikasi melalui objek-objek. Sumber daya yang terdapat dalam komputer disebut lokal Keterangan: 226 Sistem Operasi . Server objek (Object server) .Merupakan sistem jaringan dimana layanan yang diberikan server berbentuk objek. ORB merupakan middleware yang memungkinkan objek client dan server untuk berinteraksi satu sama lain tanpa harus menyesuaikan perangkat keras atau sistem operasi kedua belah pihak Gambar 14-63 Object Server Remote berarti sumber daya yang tidak terhubung secara langsung dengan komputer. Objek merupakan entitas tersendiri yang berisikan sekumpulan data dan fungsi untuk memanipulasi data tersebut.Politeknik Telkom Sistem Operasi 5.

6. ORB lokal mendeteksi bahwa proses memerlukan objek remote sehingga ia mengirimkan objek ke ORB remote c. ORB remote menghasilkan suatu metoda yang berisikan sekumpulan objek yang diperlukan dengan berdasar pada objek yang dikirimkan ORB lokal. e.Merupakan jaringan dimana layanan yang diberikan server berupa pengelolaan dan pemakaian data bersama dokumendokumen yang saling terhubung. Setelah proses selesai. Server memanggil objek-objek yang diperlukan oleh metoda yang dikirim oleh ORB remote dan menjalankan metoda tersebut. f. Client mengirimkan permintaan berupa objek yang diterima oleh objek local b. ORB lokal menghasilkan suatu metoda berdasarkan objek yang dikirimkan oleh server.Politeknik Telkom Sistem Operasi a. Metoda tersebut kemudian dikirim ORB melalui remote ke server. Server Web (Web Server) . g. Gambar 14-64 Server Web Keterangan : Sistem Operasi 227 . ORB remote mengirimkan objek hasil proses kembali ke ORB lokal dari client yang meminta layanan. d. objek hasil proses kembali ke ORB remote.

Client meminta layanan ke server melalui protokol tertentu b. f. Hasil proses diterjemahkan protokol kemudian dikirim kembali ke client 14. dan lainlain. 228 Sistem Operasi . mengirimkan hasil terjemahan ke setelah menerima permintaan client. server yang lain memakai mysql. Server satu memakai database oracle. Protokol kembali menerjemahkan hasil proses dari server.Politeknik Telkom Sistem Operasi a.8 Arsitektur Middleware Middleware adalah sebuah aplikasi yang secara logic berada diantara lapisan aplikasi (application layer) dan lapisan data dari sebuah arsitektur layer-layer TCP/IP. Dengan middleware maka seluruh server yang terhubung akan dijadikan sebagai objek. Contohnya: server satu memakai redhat(variannya linux). server memproses dan mengirimkan hasilnya ke client melalui protokol yang sama e. Sedangkan server yang meminta akan berubah status menjadi peminta/perequest. Middleware bisa juga disebut protokol. Biasanya program middleware menyediakan layanan pesan (messaging services ) sehingga aplikasiaplikasi yang berbeda-beda itu dapat berkomunikasi. Maka antar server dapat dihubungkan dengan middleware ini. Kapan status server berubah?. Protokol server d. sedang server yang lain memakai sistem operasi windowsNT (variannya windows) dan Machintosh. Dari "Minta" tadi maka server yang satu menjadi pelayan (tetap sebagai objek dan tetap sebagai server). Protokol tersebut menerjemahkan permintaan client agar dapat dimengerti client c. yaitu ketika server yang satu meminta ke server yang lain. Sistem middleware mengikat aplikasi-aplikasi yang terpisah.

Nah terjadilah hubungan. user interface. database. Open Network Computing (ONC) merupakan prototipe pertama yang diperkenalkan awal tahun 70-an. Menyediakan lingkungan pemrograman aplikasi yang umum yang mencakup berbagai komputer dan sistim operasi. 2. UNIX OLTP lainnya seperti: Encina. Perangkat lunak middleware adalah perangkat lunak yang terletak diantara program aplikasi dan pelayanan-pelayanan yang ada di sistim operasi. dan system administration. b. sehingga dapat mendistribusikan data antar server. menyediakan fasilitas jaringan secara transparan. kemudian diadopsi oleh IBM hingga kini dikenal sebagai proses OLTP. serta DIGITAL CICS untuk UNIX yang memperkenalkan konsep dowsizing ke pasar.Politeknik Telkom Sistem Operasi Kedudukan yang semula objek akan berubah menjadi subjek. Adapun fungsi dari middleware adalah: 1. Remote Procedure Call (RPC). Perkembangan middleware dari waktu ke waktu dapat dikatagorikan sebagai berikut : a. inilah yang menjadi konsep Sistem Tersebar. seperti dalam hal: networking. DIGITAL ACMS merupakan contoh lainnya yang sukses pada tahun 70-an dan 80-an. 3. Tuxedo pada era 80an. merupakan perkembangan awal dari koneksi antar remote database. Sun unggul dalam hal ini dengan mengeluarkan suatu standar untuk koneksi ke internet. Mengisi kekurangan yang terdapat antara sistem operasi dengan aplikasi. dan server seolah-olah menjadi client bagi server yang lain. On Line Transaction Processing (OLTP). Distributed Computing Environment (DCE) yang dikeluarkan oleh Open Systems Foundation (OSF) Sistem Operasi 229 . Pertama kali ditemukan tahun 1969 oleh seorang engineer di Ford. security. Menyediakan lingkungan pemrograman aplilasi sederhana yang menyembunyikan penggunaan secara detail pelayanan-pelayanan yang ada pada sistem operasi.

Politeknik Telkom Sistem Operasi menyediakan fungsi-fungsi ONC yang cukup kompleks dan tidak mudah untuk sistem administrasinya. Gambar 14-65 Middleware 230 Sistem Operasi .

teknologi multimedia dan teknologi telekomunikasi. Dalam penjelasan berikutnya dikenal sebagai sistem tersebar atau sistem terdistribusi sistem tersebar merupakan sekumpulan komputer otonom (elemen-elemen) yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data. Ketiga komponennya melatarbelakangi lahirnya pengembagan Jaringan komputer pada tingkat lebih lanjut. Jelaskan sistem tersebar menurut bahasa anda Sistem Operasi 231 . Sistem Tersebar dapat dilihat dengan jelas pada aplikasi jaringan dan dunia internet dengan adanya koneksi antara client dan server. informasi.Politeknik Telkom Sistem Operasi Rangkuman Dalam satu dekade terakhir perkembangan dunia Teknologi Informasi telah berkembang dengan terintegrasinya teknologi komputer. 3-tier. Dan berkembang dengan adanya OLTP dan RPC. Sering kita mendengar tentang one-iter. Apa yang anda ketahui tentang RPC dan OLTP 2. objek dan layanan dari dan kepada pengguna yang terkait didalamnya sehingga menghasilkan satu fasilitas komputasi terpadu Perangkat lunak middleware adalah perangkat lunak yang terletak diantara program aplikasi dan pelayanan-pelayanan yang ada di sistim operasi. Apa maksudnya? 4. Apa yang dimaksud dengan middleware 3. Latihan 1. proses.

232 Sistem Operasi . 15 Sistem Tersebar 2 Overview Sebelum memulai mempelajari sistem tersebar 2 penting bagi kita untuk mengetahui komponen-komponen yang menjadi bagian dari sebuah sistem tersebar disertai cara kerjanya. Implementasi dari system tersebar di dunia jaringan computer banyak sekali telah teraplikasi.Politeknik Telkom Sistem Operasi 5. Hal ini disebabkan nantinya sistem operasi bekerja untuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi. Sebutkan yang anda ketahui.

Send – mengirim pesan ke proses tujuan menggunakan protokol jaringan.1Model Message Passing Proses-proses di Sistem Tersebar yang terhubung dengan jaringan secara explisit berkomunikasi lewat pengiriman dan penerimaan pesan lewat hubungan jaringan. Model message passing b. antara lain: a. Ketika pesan tiba di kopi ke buffer proses. Model remote procedure call 15. 2. Mahasiswa mengetahui lebih jelas tentang sistem tersebar 4.1 Komunikasi Sistem Tersebar Komunikasi yang terjadi pada Sistem tersebar bersifat dua arah. Receive – menyebabkan pemanggil menunggu pesan dari alamat sumber. Layanan pada model message passing di bagi menjadi dua system call : 1. 3. Reliable/Unreliable • Mengetahui kesalahan yang terjadi ke pengirim Sistem Operasi 233 . Masalah : Hilangnya pesan di jaringan Authentication. menjamin komunikasi benar-benar di otorisasi Kinerja bila pesan di terapkan pada proses-proses di mesin sama. Mahasiswa mengetahui tentang RPC dan message 15.Politeknik Telkom Sistem Operasi Tujuan 3.1.

Pada proses pengirim i. Non-Blocking – setelah mengirim maka proses terus melanjutkan eksekusi instruksi-instruksi berikutnya. kemudian di kembalikan (sebelum pesan terkirim) • Blocking – menunggu proses kirim Masalah-masalah perancangan sistem Message Passing : 1. Bloking – setelah mengirim maka proses diblok menunggu jawaban proses yang dikirimi. b. Proses pengirim ii. maka aplikasi menangani acknowledgements 4. Pada proses penerima 234 Sistem Operasi . Masalah sinkronisaxsi a.Politeknik Telkom Sistem Operasi • Jika proses pengirimnya tidak mendapat jaminan akses. Masalah pengalamatan (addressing). alternatif a. Proses penerima. Blocking/Nonblocking • Nonblocking – Call mengkopi pesan . memiliki alternatif • • Pengalamatan eksplisit Pengalamatan implisit b. ii. Pengalamatan langsung i. Pengalamatan tidak langsung 2.

antara lain memilki kemampuan transparan sistem komputer. Masalah format pesan a. Pemogram menulis program seperti biasa tapa harus tahu apakah prosedur akan dijalankan di pemroses setempat atau di pemroses jauh. RPC memungkinkan proses di satu sistem memanggil prosedur di proses lain di mesin lain. Bloking – setelah menyatakan maka proses-proses di blok menunggu kiriman pesan dari proses yang dikirimkan. Masalah pada penerima adalah cara implementasi pemeriksaan kedatangan pesan.Politeknik Telkom Sistem Operasi i. ii. Masalah Buffering 4. Masalah kehandalan 5.1. baik untuk uniprosessor maupun multi processor dengan memori bersama atau sistem tersebar. Sistem Operasi 235 . Masalah disiplin antrian Message passing memiliki keunggulan. Panjang pesan 6.2Remote Procedure Call Tujuan RPC adalah pemanggilan prosedur jauh seperti pemanggilan prosedur lokal. Isi pesan b. Karena tidak ada memori global bersama seperti di satu proses maka dilakukan transfer informasi melalui parameter pada panggilan RPC. Prosedur pemanggil dan yang dipanggil dapat berada di mesin terpisah dengan ruang alamat memori terpisah. 15. 3. Non-Blocking – setelah menyatakan menerima maka proses terus melanjutkan eksekusi instruksi-instruksi berikutnya.

Panggilan ke prosedur-prosedur di mesin lain diterjemahkan menjadi pengirim pesan.Receive (Remote Process.Send (Remote Process. InputParameter) .Politeknik Telkom Sistem Operasi RPC biasanya diimplementasikan pada sistem message passing. OutputParameter) 236 Sistem Operasi . yaitu : .

Politeknik Telkom Sistem Operasi Langkah-langkah RPC meliputi 10 langkah : 1. 1 Client 10 9 5 Client Stub 2 4 Server Stub 6 7 Entitas Transport Server Entitas Transport 3 8 Gambar 15-66 Skema RPC Sistem Operasi 237 . Stub client mengepak parameter-parameter menjadi parameter marshaling. Prameter-parameter dilewatkan seperti melakukan panggilan lokal. Program (prosedur) client memanggil stub yang di-link di ruang alamat program.

Hanya stub yang mengetahui. prosedur client. Masalah : a. Pada banyak sistem. Karena prosedur pemanggil dan yang dipanggil di mesinmesin yang berbeda. 3. client dan server harus memperhatikan rincian socket dan jaringan lainnya. Jawaban ditangani di stub client 10. Pesan dilewatkan ke lapisan transport untuk transmisi. Parameter dan hasil harus dilewatkan melalui jaringan. entitas transport melewatkan ke stub server yang membongkar (unmarshaling) pesan menjadi parameter-parameter.Politeknik Telkom Sistem Operasi 2. Stub server me-marshall hasil sebagai pesan dan melepas ke lapisan transport dengan panggilan sistem seperti langkah 2. Server dapat mengirim hasil ke pemanggil. lebih rumit apabila mesin-mesin tidak sama 238 Sistem Operasi . langkah 2 merupakan jebakan (trap) ke sistem operasi. Prosedur server tidak mengetahui sedang diaktifkan secara remote karena pemanggil mematuhi aturan standar prosedur lokal. Stub client kembali ke pemanggil. entitas transport hanya mengkaitkan header ke pesan dan meletakan ke jaringan. Setelah menyelesaikan kerja. Client tidak mengetahui bahwa yang melayaninya adalah server jauh. mempermudah penulisan aplikasi tersebar. 7. Stub server memanggil prosedur server. Pada LAN offline. prosedur-prosedur dieksekusi di ruang alamat yang berbeda b. RPC menyembunyikan semua komunikasi jaringan di prosedur stub. 6. 4. 8. Ketika pesan tiba di server. melewatkan parameter-parameter secara standar. 5. prosedur server selesai seperti prosedur lain selesai. Cara ini melindungi program aplikasi. Jawaban tiba di mesin client 9. suatu nilai yang dikirim server di langkah 6 di berikan ke client Tujuan dari RPC adalah memberi ilusi ke prosedur client tidak dalam melakukan panggilan ke server jauh (remote server).

Namun dewasa ini mulai umum. jika sebuat sistem komputer memiliki lebih dari satu prosesor (multi-procesor). Sementara itu dalam ASMP setiap prosesor diberikan suatu tugas yang spesifik. maka proses yang terjadi masih dapat berjalan dengan baik karena tugas prosesor yang terganggu diambil alih oleh prosesor lain. Prosesor-prosesor terdapat dalam satu komputer dan dapat membagi peripheral (ekonomis) seperti disk dan catu daya listrik. Sistem Operasi Jamak memiliki beberapa keunggulan [Silbeschatz 2004]: a. yaitu Symmetric MultiProcessing (SMP) dan Asymmetric MultiProcessing (ASMP). c. Sistem Operasi 239 . Sebuah prosesor bertindak sebagai Master processor yang bertugas menjadwalkan dan mengalokasikan pekerjaan pada prosesor lain yang disebut slave processors.Politeknik Telkom Sistem Operasi Mesin dimana prosedur pemanggil dan yang dipanggil dijalankan dapat crash dan kegagalan dapat menyebabkan masalah-masalah yang rumit. Dalam SMP setiap prosesor menjalankan salinan identik dari sistem operasi dan banyak job yang dapat berjalan di suatu waktu tanpa pengurangan kinerja. Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya.2 Sistem Prosesor Jamak Pada umumnya. b. Umumnya ASMP digunakan pada sistem yang besar. Peningkatan Kehandalan: Jika satu prossor mengalami suatu gangguan. Economy of Scale: Ekonomis dalam peralatan yang dibagi bersama. Hal ini dikenal dengan istilah Graceful Degradation. Peningkatan throughput karena lebih banyak proses/thread yang dapat dijalankan sekaligus. 15. setiap komputer dilengkapi dengan satu buah prosesor (CPU). Sistemnya sendiri dikenal bersifat fault tolerant atau fail-soft system. Terdapat dua jenis sistem prosesor jamak. Yang meningkat ialah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu.

Pada sebuah jaringan akan didapatkan: file server. yaitu memungkinkan komunikasi antar komputer. time server. printer server. Komunikasi terjadi melalui bus atau jalur telepon. c. yaitu adanya pembagian sumber daya dan komputasi lebih cepat. Kedua. b. ialah NetOS/Distributed OS. Contoh penerapan Distributed System: 240 Sistem Operasi . a. Terdapat sekurangnya tiga model dalam sistem terdistribusi ini. Sistem operasi tersebut di atas. Hanya saja komputasinya bersifat loosely coupled system yaitu setiap prosesor mempunyai memori lokal sendiri. serta sumber daya lainnya. directory server. Pertama. data. Namun.3 Sistem Terdistribusi dan Terkluster Melaksanakan komputasi secara terdistribusi diantara beberapa prosesor. Namun. keduanya berbagi keunggulan yang serupa seperti dibahas sebelum ini. padadistributed system juga terdapat keuntungan lain. yaitu beberapa sistem komputer yang digabungkan untuk mendapatkan derajat kehandalan yang lebih baik. Sistem terdistribusi merupakan kebalikan dari Sistem Operasi Prosesor Jamak. Terakhir sistem terkluster. Kumpulan prosesornya saling berinteraksi melalui saluran komunikasi seperti LAN dan WAN menggunakan protokol standar seperti TCP/IP. dan seterusnya. Keuntungannya hampir sama dengan prosesor jamak (multi-processor). sistem client/server yang membagi jaringan berdasarkan pemberi dan penerima jasa layanan. sistem point to point dimana sistem dapat sekaligus berfungsi sebagai client maupun server. kumpulan prosesor tersebut mampu saling berbagi beban kerja. setiap prosesor memiliki memori lokal tersendiri. Pada sistem tersebut. Karena saling berkomunikasi.Politeknik Telkom Sistem Operasi 15.

Dalam hal jaringan.Small Area Network (SAN) b. Mesin yang khusus bertindak pengawas ini tidak diterapkan dalam model simetris. dan saling terhubung dalam jaringan lokal (Local Area Network). Jika mesin itu masalah maka pengawas akan segera mengambil alih tugasnya. Kedua model ini berbeda dalam hal pengawasan mesin yang sedang bekerja. Sistem kluster memiliki persamaan dengan sistem paralel dalam hal menggabungkan beberapa CPU untuk meningkatkan kinerja komputasi. Sebagai gantinya. Mesin lain akan mengambil alih tugas mesin yang sedang mengalami masalah. d. sistem kluster memiliki beberapa model dalam pelaksanaannya: asimetris dan simetris. mesin-mesin yang melakukan komputasi saling mengawasi keadaan mereka. jika jaringan pada sistem terdistribusi melingkupi komputer-komputer yang lokasinya tersebar maka jaringan pada sistem kluster menghubungkan banyak komputer yang dikumpulkan dalam satu tempat. Jika dilihat dari segi efisiensi penggunaan mesin. Hal ini disebabkan terdapat mesin yang tidak melakukan kegiatan Sistem Operasi 241 . Bedanya. Pengawasan dalam model asimetris menempatkan suatu mesin yang tidak melakukan kegiatan apa pun selain bersiap-siaga mengawasi mesin yang bekerja.Service (OL)/Outernet f.Metropolitan Area Network (MAN). sistem kluster mirip dengan sistem terdistribusi (distributed system). Dalam ruang lingkup jaringan lokal.Online e. model simetris lebih unggul daripada model asimetris. sistem akan lebih andal dan fault tolerant dalam melakukan komputasi.Wide Area Network (WAN)/Internet. saling berbagi tempat penyimpanan data (storage). Dengan demikian.Local Area Network (LAN) c.Politeknik Telkom Sistem Operasi a. Sistem kluster ialah gabungan dari beberapa sistem individual (komputer) yang dikumpulkan pada suatu lokasi. Jika salah satu mesin mengalami masalah dalam menjalankan tugas maka mesin lain dapat mengambil alih pelaksanaan tugas itu.

sistim kluster diharapkan tidak lagi terbatas pada sekumpulan mesin pada satu lokasi yang terhubung dalam jaringan lokal. Berbagai software khusus dikembangkan untuk mendukung kemampuan itu karena kebanyakan sistem operasi tidak menyediakan fasilitas yang memadai. 242 Sistem Operasi . Mesin yang 'menganggur' ini dimanfaatkan untuk melakukan komputasi pada model simetris. Digunakan super computer untuk melakukan komputasinya. Pada model ini komputasi dikembangkan melalui pc-farm. Isu yang menarik tentang sistem kluster ialah bagaimana mengatur mesin-mesin penyusun sistem dalam berbagi tempat penyimpanan data (storage). Komputasi model terbaru ini juga berbasis jaringan dengan clustered system. Untuk saat ini.Politeknik Telkom Sistem Operasi apa pun selain mengawasi mesin lain pada model asimetris. Inilah yang membuat model simetris lebih efisien. Hal penting yang berkaitan dengan penerapan sistem kluster secara paralel ialah kemampuan mesin-mesin penyusun sistem untuk mengakses data di storage secara serentak. Isu di atas juga berkembang menjadi bagaimana menerapkan sistem kluster secara paralel atau dalam jaringan yang lebih luas (Wide Area Network). Perbedaan yang nyata dengan komputasi berbasis jaringan ialah bahwa komputasi berbasis grid dilakukan bersama-sama seperti sebuah multiprocessor dan tidak hanya melakukan pertukaran data seperti pada komputasi berbasis jaringan. biasanya sistem kluster hanya terdiri dari dua hingga empat mesin berhubung kerumitan dalam mengatur akses mesin-mesin ini ke tempat penyimpanan data. Salah satu contoh perangkat-lunak-nya-nya ialah Oracle Parallel Server yang khusus didesain untuk sistem kluster paralel. Riset dan penelitian sedang dilakukan agar pada suatu saat sistem kluster dapat melingkupi berbagai mesin yang tersebar di seluruh belahan dunia. Seiring dengan perkembangan pesat teknologi kluster.

Apa yang anda ketahui tentang RPC dan RMI dan sebutkan perbedaanya 2. Apa yang dimaksud dengan sistem prosesor jamak. Sebutkan teknologi cluster yang anda ketahui 3. Carilah di internet tentang Beowulf dan Open Mosix Sistem Operasi 243 . 4.Politeknik Telkom Sistem Operasi Rangkuman Di dalam system tersebar telah mengalami sebuah kemajuan yang cukup signifikan dalam pencapaian cara mendistribusikan suatu aliran data missal kita ketahui mengenai system cluster yang memanfaatkan beberapa source yang saling bekerja sama dalam menyelesaikan suatu masalah sehingga akan dihasilkan solusi yang cepat dari sisi waktu dan tepat yaitu hasil yang sesuai diharapkan dan benar menurut kaidah keilmuan. Isu di atas juga berkembang menjadi bagaimana menerapkan sistem kluster secara paralel atau dalam jaringan yang lebih luas (Wide Area Network). Hal ini sudah terimplementasikan di dunia jaringan computer. Latihan 1. dan cukup diminati oleh peniliti untuk meneliti dan mungkin menemukan system komputasi cluster yang lebih baik daripada yang sekarang.

tetapi perlu juga diperhatikan keamanan terhadap suau system yang kita pakai. Tujuan 1. Mahasiswa dapat mengetahui ancaman yang terdapat 244 Sistem Operasi .Politeknik Telkom Sistem Operasi 16 Keamanan Sistem Operasi Overview Keamanan bukan saja terdapat dalam level aplikasi. misalnya keamanan terhadapa virus yang sekarang ini merupakan suatu ancaman yang sangat meresahkan.

Saluran Komunikasi . Tetapi karena peran sistem operasi mengendalikan pengaksesan ke sumber daya. Pengamanan sistem operasi berarti kecil jika setiap orang dapat berjalan melenggang di ruang sistem komputer.Jaringan Komputer Sistem Operasi 245 . 16. Proteksi dan pengamanan terhadap perangkat keras dan sistem operasi sama pentingnya.Software . Mahasiswa mengetahui aset-aset komputer. Pengamanan secara fisik dengan membatasi pengaksesan secara langsung dengan fasilitas sistem komputer harus dilakukan juga.Politeknik Telkom Sistem Operasi dalam sistem operasi 2.Hardware . implementasi pengamanan sangat penting untuk menjamin sistem tidak diinterupsi dan diganggu.1 Pendahuluan Saat ini.2 Aset Sistem Komputer Keamanan system operasi meliputi keamanan terhadap asset-aset komputer dengan pengelompokan sebagai berikut : . Sistem operasi hanya satu porsi kecil dari seluruh perangkat lunak di suatu sistem. Intrusi dan pendektesianya. dimana perangkat lunak lain meminta pengaksesan sumber daya lewat sistem operasi maka sistem operasi menempati posisi yang penting dalam pengamanan sistem.Data . Perlu diingat bahwa perangkat lunak aplikasi juga member resiko keamanan. 16. Kemanan sistem operasi merupakan bagian masalah kemanan sistem komputer secara total tapi telah menjadi bagian yang meningkat kepentingannya. enkripsi dan perangkat lunak perusak. Pengamanan perangkat lunak cenderung memfouskan pada pengamanan sistem operasi.

3. Aset Tabel 16-8 Aset sistem Secrecy dan jenis keamanannya Availability Integrity komputer Hardware Pencurian Alat Software Program Dibuat copy Program yang dihapus software sedang berjalan illegal dimodifikasi Data File dihapus Pembacaan data secara illegal Saluran Message Message Message Komunik dihapus dibaca oleh dimodifikasi. 2.Politeknik Telkom Sistem Operasi 16. asi pihak yang delayed.4 Jenis Keamanan Jenis keamanan komputer dapat dikelompokan menjadi 3 (tiga) macam : 1. Keamanan Eksternal 246 Sistem Operasi . Ketersediaan (availability): Ketersediaan adalah keterjaminan sumber daya sistem computer tersedia bagi pihak-pihak yang diotorisasi saat diperlukan.atau duplikasi 16. Kerahasiaan (secrecy): Kerahasiaan adalah keterjaminan bahwa informasi di system computer hanya dapat diakses oleh pihakpihak yang diotorisasi dan memodifikasi tetap menjaga konsistensi dan keutuhan data di sistem. tidak berhak recorded.3 Tujuan Security Kebutuhan keamanan sistem komputer dikategorikan menjadi 3 (tiga) aspek yaitu : 1. Integritas (integrity): Integritas adalah keterjaminan bahwa sumber data sistem komputer hanya dapat dimodifikasi oleh pihakpihak yang diotorisasi.

Politeknik Telkom Sistem Operasi Keamanan eksternal berkaitan dengan pengamanan fasilitas computer dari penyusup dan bencana seperti kebakaran dan kebanjiran. . 3. Interupsi Sumber daya sistem computer dihancurkan atau menjadi tidak tersedia atau tak berguna.Pemotongan kabel komunikasi.Penghancuran bagian perangkat keras. S me u br In rm s fo a i T ju n u a In rm s fo a i Gambar 16-67 Aliran Normal Sistem Operasi 247 . seperti harddisk. Contoh : . Keamanan Interface Pemakai Keamanan Interface pemakai berkaitan dengan identifikasi pemakai sebelum pemakai diijinkan mengakses program dan data yang disimpan. Keamanan Internal Keamanan internal berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan sistem operasi yang menjamin operasi yang handal dan tak terkorupsi untuk menjaga integritas program dan data. 16.5 Tipe Ancaman 1. Interupsi adalah ancaman terhadap aset sistem menjadi tidak dapat digunakan (ancaman terhadap availability) atau hilang. 2.

Intersepsi adalah ancaman terhadap kerahasiaan. Intersepsi Pihak yang tidak berhak melakukan akses terhadap aset sistem (ancaman terhadap secrecy). Modifikasi Pihak yang tidak berhak tidak hanya melakukan akses terhadap aset sistem tetapi juga melakukan modifikasi 248 Sistem Operasi . Pihak tak diotorisasi dapat berupa orang atau program computer.Penyadapan untuk mengambil data rahasia. Gambar 16-69 Intersepsi 3.Politeknik Telkom Sistem Operasi S me u br In rm s fo a i T ju n u a In rm s fo a i Gambar 16-68 Aliran Interupsi 2. Contoh : . S me u br Inoms f r ai T ju n u a Inoms f r ai T ju n u a Inoms f r ai - Mengkopi file tanpa diotorisasi.

Fabrikasi merupakan ancaman terhadao integritas. Fabrikasi Pihak yang tidak berhak menyisipkan objek tertentu pada sistem (ancaman terhadap integrity) ).Politeknik Telkom Sistem Operasi (ancaman terhadap integrity).Memodifikasi pesan-pesan yang ditransmisikan S me u br I f r ai noms T ju n u a I f r ai noms T ju n u a Inoms f r ai pada jaringan. Gambar 16-70 Modifikasi 4.Mengubah nilai-nilai file data.Mengubah program sehingga bertindak secara berbeda. Sistem Operasi 249 .Memasukan pesan-pesan palsu ke jaringan. . Contoh : .Penambahan record ke file. . . Modifikasi merupakan ancaman terhadao integritas. Contoh : .

Jika mekanisme tidak mudah digunakan maka tidak akan digunakan atau digunakan secara tidak benar. Dapat diterima. Banyak sistem memeriksa ijin ketika file 250 Sistem Operasi . Keamanan sistem seharusnya tidak bergantung pada kerahasiaan rancangan mekanisme pengamanan. yaitu : 1. Pemeriksaan Otoritas saat itu. Rancangan sistem seharusnya publik. 2.Politeknik Telkom Sistem Operasi S me u br Ino ms f r ai T ju n u a In r a i fo ms T ju n u a In r a i fo ms Gambar 16-71 Fabrikasi 16. 3. Mekanisme proteksi seharusnya tidak mengganggu kerja pemakai dan memenuhi kebutuhan otorisasi pengaksesan. Sistem tidak seharusnya memeriksa ijin dan menyatakan pengaksesan diijinkan. Skema yang dipilih harus dapat diterima secara psikologis. serta kemudian menetapkan terus informasi ini untuk penggunaan selanjutnya. Mengasumsikan penyusup tidak akan mengetahui cara kerja sistem pengamanan hanya menipu/memperdaya perancang sehingga tidak membuat mekanisme proteksi yang bagus.6 Petunjuk Pengamanan Sistem Saltzer dan Schrooder (1975) member petunjuk mengenai prinsip-prinsip pengamanan sistem komputer.

5. Default sistem yang digunakan harus tidak ada akses sama sekali. seperti printer.7 Metode dan Komputer Mekanisme Proteksi Sistem Pada sistem komputer ada banyak objek yang perlu diproteksi. seperti disk. Kewenangan Serendah Mungkin. 4.Perangkat I/O yang digunakan bersama. misalnya perbedaan waktu eksekusi Sistem Operasi 251 . Proteksi seharusnya dibangun di lapisan terbawah. sesederhana mungkin dan seragam sehingga memudahkan verifikasi.Data yang digunakan bersama.Perangkat I/O serially reusable.Memori. seperti: . . Pemakai yang membuka file dan lupa menutup file akan terus dapat di walau pemilik file telah mengubah atribut proteksi file. yaitu penggunaan objek yang berbeda – Pemisahan temporer. Mekanisme yang Ekonimis Mekanisme proteksi seharusnya sekecil.Program dan subprogram yang digunakan bersama. 16. Metode proteksi yang digunakan untuk melindungi objekobjek tersebut meliputi hal-hal sebagai berikut: . Program atau pemakai sistem seharusnya beroperasi dengan kumpulan wewenang serendah mungkin yang diperlukan untuk menyelesaikan tugasnya. . Proteksi merupakan bagian integral rancangan sistem. . tape drive.Dasar dari proteksi adalah pemisahan .Politeknik Telkom Sistem Operasi dibuka dan setelah itu (operasi-operasi lain) tidak diperiksa. bukan mekanisme yang ditambahkan pada rangcangan telah ada. .Beberapa teknik pemisahan: – Pemisahan fisik.

byte. field. pengembang. file. volume – 16. komputasi) tdk dapat dimengerti oleh pihak yang tidak berkepentingan Tingkatan proteksi yang disediakan OS: – Tidak ada proteksi – Isolasi – Share semua atau tidak di-share sama sekali – Share dgn batasan akses – Share melalui kapabilitas – Batasi penggunaan objek Granularitas kontrol – Bit.Politeknik Telkom Sistem Operasi - - Pemisahan lojik. record. word. terutama instruksi istimewa Password dan mekanisme otentikasi user Mekanisme proteksi Objek-objek di atas diakses oleh subjek-subjek seperti: user. dan mencabut hak akses jika terjadi pelanggaran Sistem Operasi . atau pihak lain yang mencoba menggunakan mereka. objek (data. Perlindungan tersebut bertujuan untuk: – – 252 Memberikan hak akses seminimal dan sesedikit mungkin objek yang diperlukan Memeriksa setiap akses. program. membuat ilusi seolah tidak proses lain yang beroperasi selain proses user – Pemisahan kriptografi. misalnya Stack Tabel pada sistem operasi Instruksi.8 Mekanisme Proteksi Objek Sistem operasi dalam memanajemen sumber daya komputer juga melakukan perlindungan terhadap objek-objek sumber daya komputer sebagai berikut: – – – – – – – – – – Memori File atau data set pada perangkat penyimpanan Program yang sedang dieksekusi di memori Direktori file Perangkat keras Struktur data.

8. di antaranya: – Ukuran list terlalu besar jika user memiliki akses terhadap banyak file – Pencabutan akses terhadap beberapa user menjadi sulit – Pseudonym: akses terhadap file bernama sama yang dimiliki 2 user berbeda Sistem Operasi 253 . Setiap user memiliki sebuah direktori file yang mencatat daftar file yang dapat diakses user beserta izin aksesnya. User tidak bisa langsung menulis direktori file tersebut melainkan harus melalui mekanisme yang disediakan oleh sistem operasi. Proteksi dengan cara ini mudah diimplementasikan namun memiliki beberapa kekurangan. mencabut) hak akses.1Proteksi Objek Direktori Proteksi objek direktori menggunakan direktori file yang berisi daftar file yang memiliki user yang mengontrol (memberi.Politeknik Telkom Sistem Operasi – Verifikasi penggunaan akses 16.

Hal ini memudahkan menajemen hak akses terhadap objek tertentu. Gambar 16-73 Proteksi objek ACL 16. Metode ini dapat dijelaskan melalui sparse matrix berikut ini. Tabel 16-9 Sparse matrix diagram ACM 254 Sistem Operasi . Dibandingkan dengan metode direktori file sebelumnya dalam ACL setiap objek memiliki daftar user atau subjek yang memiliki hak akses terhadap objek tersebut.2Proteksi Objek ACL Access Control List (ACL) merupakan metode di mana terdapat sebuah direktori berisi list semua objek dan subjek yang bisa mengakses objek tersebut.3Proteksi Objek ACM Access Control Matrix (ACM) merupakan metode proteksi dengan menggunakan tabel di mana baris merepresentasikan subjek dan kolom merepresentasikan objek.Politeknik Telkom Sistem Operasi 16.8.8. Sel dalam matriks berisikan hak akses subjek terhadap objek bersangkutan.

8.4Proteksi Objek Capability Pada metode proteksi object capability digunakan token atau tanda yang memberi subjek akses tertentu terhadap objek. Token ini mirip dengan tiket atau kartu identitas dan dapat dipindahkan atau dialihkan. x. d).8. satu user tidak bisa ada di 2/lebih grup – Multiple personalities. 16.Politeknik Telkom Sistem Operasi User A User B User S User T Sys_mgr User_svc s BIBLG ORW R RW - TEMP ORW - F ORW R - SYS_CLK R R R R ORW R PRINT W W W W O W LINKER X X X X OX X 16. default: read-only – Kekurangan: – Afiliasi grup. w.5Proteksi File • Proteksi All-None Prinsip proteksi: trust + ignorance Default: file bersifat publik Beberapa file penting diproteksi dgn password Kekurangan: • Rendahnya kepercayaan (trust) • All or nothing • Meningkatnya penggunaan sistem time-sharing • Penggunaan password untuk akses file meningkatkan kompleksitas • Adanya fasilitas file listing • Proteksi Grup – User dikelompokkan dalam grup – Basis: kebutuhan untuk sharing – 3 kategori: user. other – User mendefinisikan hak akses untuk tiap file (r. grup. user memiliki bbrp account – – – – Sistem Operasi 255 .

atau semua akses) menggunakan password – Kelemahan:  Password hilang  Penyebaran password  Pencabutan akses harus merubah password • Izin Temporer – User memperoleh akses terhadap file hanya selama eksekusi program – Contoh: izin suid (set userid) pada Unix 16.8.9 Enkripsi Enkripsi merupakan suatu cara untuk menjaga data tetap aman di lingkungan yang tidak aman. utk sharing per file 16. mis.7Proteksi File per-objek dan per-user Kekurangan: – Tidak ada semantik grup  hak akses dispesifikasikan utk tiap user • Contoh: – VAX SE-MS • User membuat ACL (Access Control List) utk tiap file • ACL bisa digunakan juga utk perangkat atau tipe perangkat tertentu – IBM RACF.8. ACF2 • Membuat proteksi default untuk file. dan kemudian dibedakan berdasarkan user • 16.6Proteksi Izin Tunggal • Password atau Token Lainnya – Akses terhadap file (write. Enkripsi digunakan untuk proteksi: 256 Sistem Operasi .Politeknik Telkom Sistem Operasi – User bisa mengakses file yang ada di semua grupnya – Keterbatasan sharing.

pn). p2.Politeknik Telkom Sistem Operasi • Program • Basis data • Jaringan • Komunikasi elektronik Namun enkripsi yang lemah hanya memberi ilusi proteksi karena dapat dengan mudah didekripsi. E merupakan algoritma enkripsi – Dekripsi: P = D(C). Terminologi enkripsi meliputi hal-hal sebagai berikut : • Jika S (Sender) mengirim pesan ke R (Receiver) via T maka T disebut media transmisi • Jika O (Outsider) menginginkan pesan tsb dan mencoba mengaksesnya maka O disebut interceptor/intruder • O mencoba mengakses pesan melalui: – Pemblokiran – Intersepsi – Modifikasi – Fabrikasi • Enkripsi: proses pengkodean pesan sehingga maknanya menjadi tidak jelas • Dekripsi: proses membalikkan pesan terenkripsi kembali ke bentuk normal • Plaintext (P): bentuk awal dari pesan • Ciphertext (C): bentuk terenkripsi dari pesan Notasi: – P = (p1. cn) • Transformasi: – Enkripsi: C = E(P). …. C = (c1. P)) Sistem Operasi 257 . c2. E(K. C) • Kunci memungkinkan enkripsi yang berbeda untuk pesan yang sama hanya dgn merubah kunci • Enkripsi simetrik menggunakan kunci enkripsi dan dekripsi yang sama – P = D(K. …. P) dan P = D(K. D merupakan algoritma dekripsi • Ada algoritma enkripsi yang menggunakan kunci K – C = E(K.

Kita berurusan dengan program aplikasi begitu juga program utilitas seperti editor dan kompilatir. 16. kriptoanalis bekerja utk tujuan ilegal • Kriptologi merupakan kegiatan penelitian dan kajian mengenai enkripsi dan dekripsi.11 Program-program Jahat Ancaman-ancaman canggih terhadap sistem komputer adalah program yang mengeksploitasi kelemahan sistem komputasi.10 Karakteristik Intrusi Komputer Prinsip penetrasi termudah adalah intruder menggunakan berbagai cara intrusi yang mungkin dan bukan melalui celah yang mudah ditebak. P)) • Kriptografi merupakan cara penggunaan enkripsi untuk menyembunyikan teks • Kriptoanalis mempelajari enkripsi dan pesan terenkripsi dgn tujuan menemukan makna tersembunyi dari pesan • Kriptografer bekerja secara legal. yaitu : 258 Sistem Operasi . E(KE. Ancaman-ancaman itu dapat dibagi menjadi dua kategori. Gambar 13-7 menunjukan taksonomi yang diberikan oleh Bowles. Bowles [Bow-92] memberikan taksonomi ancaman perangkat lunak atau klasifikasi program jahat (malicious program).Politeknik Telkom Sistem Operasi • Enkripsi asimetrik menggunakan kunci enkripsi dan dekripsi yang berbeda – P = D(KD. atau celah di mana telah dibangun Intruder sendiri lebih sering dikenal dengan sebutan hacker/cracker. 16. pertahanan terhadap intrusi sangat ketat Pada praktiknya pertahanan pertama sistem terhadap intruder adalah sistem password dan file tempat menyimpan password diproteksi dengan cara password yang disimpan sudah dienkripsi dan membatasi akses terhadap file password. Tujuan mereka adalah untuk mendapatkan akses ke sebuah sistem atau meningkatkan jangkauan dari hak-hak yang dapat diaksesnya pada suatu sistem.

Politeknik Telkom Sistem Operasi 1. program utilitas atau program sistem. Bacteria Bacteria adalah program yang mengkonsumsi sumber daya sistem dengan mereplikasi dirinya sendiri. Program sendiri yang dapat dijadwalkan dan dijalankan oleh sistem operasi. Sistem Operasi 259 . Program-program yang tidak memerlukan program inang. Pembagian atau taksonomi Bowles menghasilkan tipe-tipe program jahat sebagai berikut : 1. Bacteria 2. Worm Program Jahat Perlu Program Inang Independen Trapdoor Logic bomb Trojan horse Virus Bacteria Worm Gambar 16-74 Taksonomi Program Jahat 1. Trojan horse 5. Logic bomb 3. 2. Virus 6. Fragmen program tidak dapat mandiri secara independen dari suatu program aplikasi. Program-program yang memerlukan program inang (host program). Trapdoor 4.

hari tertentu dari minggu atau tanggal. Begitu terpicu. Program bacteria yang sederhana bias hanya mengeksekusi dua salinan dirinya secara simultan pada sistem multiprogramming atau menciptakan dua file baru. Debugging dan testing biasanya dilakukan pemrograman saat mengembangkan aplikasi. Ketika kondisi-kondisi yang dimaksud ditemuai. dengan cepat mengambil alih seluruh kapasitas pemroses. atau mengerjakan perusakan lain 3. bomb mengubah atau menghapus data atau seluruh file. Contoh kondisi-kondisi untuk memicu logic bomb adalah ada atau tidak adanya file-file tertentu. Untuk program yang mempunyai prosedur otentifikasi atau setup lama atau memerlukan pemakai memasukan nilai-nilai berbeda untuk menjalankan aplikasi maka 260 Sistem Operasi . Trapdoor telah dipakai secara benar selama bertahun-tahun oleh pemrogram untuk mencari kesalahan program. Kedua salinan ini kemudian mengkopi dua kali. Bacteria berproduksi secara eksponensial. masing-masing adalah salinan file program bacteria. Logic Bomb Logic Bomb adalah logic yang ditempelkan pada program komputer agar memeriksa suatau kumpulan kondisi di sistem. memori atau ruang disk.Politeknik Telkom Sistem Operasi Bacteria tidak secara eksplisit merusak file. dan seterusnya. Trapdoor Trapdoor adalah titik masuk tak terdokumentasi rahasia di satu program untuk memberikan akses tanpa metode-metode otentifikasi normal. menyebabkan mesin berhenti. Tujuan program ini hanya satu yaitu mereplikasi dirinya. Logic Bomb menempel pada suatu program resmi yang di-set “meledak” ketika kondisi-kondisi tertentu dipenuhi. mengakibatkan penolakan pengaksesan pemakaian ke sumber daya 2. atau pemakai menjalankan aplikasi tertentu. logika mengeksekusi suatu fungsi yang menghasilkan aksi-aksi tak diotorisasi.

pengembang membuat kewenangan khusus atau menghilangkan keperluan setup dan otentifikasi.Politeknik Telkom Sistem Operasi debugging akan lama bila harus melewati prosedurprosedur tersebut. Contoh Trapdoor (a) Kode normal (b) Kode dengan tambahan trapdoor 4. Trapdoor adalah kode yang menerima suatu barisan masukan khusus atau dipicu dengan menjalankan ID pemakai tertentu atau barisan kejadian tertentu. Program yang berguna mengandung kode tersebunyi yang ketika dijalankan melakukan suatu fungsi yang akan Sistem Operasi 261 . auditor perangkat lunak (“pemeriksa perangkat lunak”) dapat menemukan trapdoor pada produk perangkat lunak dimana nama pencipta perangkat lunak berlaku sebagai password yang memintas proteksi perangkat lunak yang dibuatnya. Trojan Horse Trojan Horse adalah rutin tak terdokumentasi rahasia ditempelkan dalam satu program berguna. Pada kasus nyata. Trapdoor menjadi ancaman ketika digunakan pemrogram jahat untuk memperoleh pengaksesan tak diotorisasi. Adalah sulit mengimplementasikan kendali-kendali perangkat lunak untuk Trapdoor. Untuk debug program jenis ini.

Program muncul sebagai melakukan fungsifungsi berguna (seperti kalkulator). Program-program Trojan Horse digunakan untuk melakukan fungsi-fungsi secara tidak langsung dimana pemakai tak diotorisasi tidak dapat melakukannya secara langsung. untuk dapat mengakses filefile pemakai lain pada sistem dipakai bersama. Program “menginfeksi” program-program lain dengan 262 Sistem Operasi . Kode menciptakan Trapdoor pada program login yang mengijinkan pencipta log ke system menggunakan password khusus. dan sebagainnya. Fasilitas file-file tautan yang dikirimkan bersama surat elektronik (e-mail) sering digunakan untuk menyebarkan aplikasi-aplikasi atau dokumen yang ternyata adalah trojan. Virus Virus adalah kode yang ditempelkan dalam suatu program yang menyebabkan pengsalinan dirinya disisipkan ke satu program lain atau lebih. 5. Motivasi lain dari Trojan Horse adalah menghancurkan data. Trojan Horse biasa ditempelkan pada program-program atau rutinrutin yang diambil dari BBS. Contoh. pemakai dapat menciptakan program Trojan Horse. Program Trojan Horse yang sulit dideteksi adalah kompilator yang dimodifikasi sehingga menyisipkan kode tambahan ke program-program tertentu setelah dikompilasi. Pencipta program dapat menyebarkan ke pemakaipemakai dengan mendapatkan program didirektori bersama dan menamai programnya sedemikian rupa sehingga disangka sebagai program utilitas yang berguna. seperti program login. Trojan Horse seperti ini tidak akan ditemukan jika hanya membaca program sumber. internet. Eksekusi program menyebabkan eksekusi rutin rahasia ini. tapi juga secara diam-diam menghapus file-file pemakai.Politeknik Telkom Sistem Operasi diinginkan. Trojan Horse ini ketika program dieksekusi akan mengubah ijin-ijin file sehingga file-file dapat dibaca oleh sembarang pemakai.

kemampuan mengakses aplikasi dan layanan-layanan computer lain merupakan fasilitas sempurna penyebaran virus.Politeknik Telkom Sistem Operasi memodifikasi program-program itu. Inveksi dapat menyebar dari komputer ke komputer melalui pemakai-pemakai yang menukarkan disk atau mengirim program melalui jaringan. Selain hanya propagasi. Ketika computer yang terinfeksi berhubungan (kontak) dengan perangkat lunak yang belum terinfeksi. Pada lingkungan jaringan jaringan. virus komputer terdapat kode instruksi yang dapat membuat salinan sempurna dirinya. virus biasanya melakukan fungsi yang tidak diinginkan. Seperti virus biologis. Gambar 16-75 Virus Menginfeksi Sistem Operasi 263 . Modifikasi ini termasuk memasukan salinan program virus yang kemudian dapat “menginfeksi” program-program lain. salinan virus memasuki program baru.

Worm 264 Sistem Operasi .Politeknik Telkom Sistem Operasi Gambar 16-76 Virus Signature Gambar 16-77 Virus memperoleh Kontrol 6.

yaitu worm mengirimkan salinan dirinya ke sistem-sistem lain. network worm dapat berlaku seperti virus atau bacteria. yaitu worm log pada sistem jauh sebagai pemakai dan kemudian menggunakan perintah untuk mengkopi dirinya dari satu sistem ke sistem lain. seperti : • Fasilitas surat elektronik (electronic mail facility). • Kemampuan eksekusi jarak jauh (remote login capability).Politeknik Telkom Sistem Operasi Worm adalah program yang dapat mereplikasi dirinya dan mengirim salinan-salinan dari komputer ke komputer lewat hubungan jaringan. yaitu worm mengeksekusi salinan dirinya di sistem lain. atau menempelkan program Trojan horse atau melakukan sejumlah aksi menjengkelkan atau menghancurkan. Network Worm juga berusaha menentukan apakah sistem sebelumnya telah diinfeksi sebelum mengirim salinan dirinya ke sistem itu. Selain hanya propagasi. network worm menggunakan suatu layanan jaringan. Salinan program worm yang baru kemudian dijalankan di sistem jauh dan melakukan fungsi-fungsi lain yang dilakukan di sistem itu. Sekali aktif di suatu sistem. worm biasanya melakukan fungsi yang tak diinginkan. Network Worm menggunakan hubungan jaringan untuk menyebar dari sistem ke sistem lain. worm diaktifkan untuk mereplikasi dan propagasi kembali. worm terus menyebar dengan cara yang sama. Begitu tiba. • Untuk mereplikasi dirinya. • Kemampuan login jarak jauh (remote login capability). Sistem Operasi 265 .

Politeknik Telkom Sistem Operasi 16. yaitu : 1. 2. atau kapasitas disk yang melewati batas. Kloning virus itu dapat kembali memasuki fase propagasi. partisi disk. Masalah yang ditimbulkan virus adalah virus sering merusak sistem komputer seperti menghapus file. 4. Program yang terinfeksi virus akan mempunyai cloning virus. Perbedaan dengan program lain adalah virus dapat menempelkan dirinya ke program lain dan mengeksekusi kodenya secara rahasia setiap kali program inang berjalan. atau mengacaukan program. Fase Tidur (dormant phase) Virus dalam keadaan menganggur. Virus akan tiba-tiba aktif oleh suatu kejadian seperti tibanya tanggal tertentu. Fase Fase Fase Fase Tidur (dormant phase) propagasi (propagation phase) pemicu (triggering phase) Eksekusi (execution phase) 1.1 Siklus Hidup Virus Virus adalah sama dengan program komputer lain. 2. 3.12 Virus dan Anti Virus 16. Virus mengalami siklus hidup empat fase (tahap).12. Tidak semua virus mempunyai tahapan ini. Fase propagasi (propagation phase) Virus menempatkan salinan dirinya ke program lain atau daerah sistem tertentu di disk. kehadiran program atau file tertentu. 266 Sistem Operasi .

12. Kebanyakan virus melakukan kerjanya untuk suatu sistem operasi tertentu.3 Tipe-tipe virus Saat ini perkembangan virus masih berlanjut. Fase Eksekusi (execution phase) Virus menjalankan fungsinya. Parasitic virus 2. Fase pemicu (triggering phase) Virus diaktifkan untuk melakukan fungsi tertentu. Disk berisi virus pun dapat terdapat di disk yang dikirim produsen aplikasi.Politeknik Telkom Sistem Operasi 3. Kebanyakan virus mengawali infeksinya pengsalinan disk yang telah terinfeksi virus. Hanya sejumlah kecil infeksi virus yang dimulai dari hubungan jaringan.12. Begitu satu tipe dikembangkan antivirus-nya. Pencegahan ini sangat luar biasa sulit karena virus dapat menjadi bagian program di luar sistem. fase pemicuan dapat disebabkan beragam kejadian sistem termasuk penghitungan jumlah salinan dirinya. tipe virus yang lain muncul. 4. Infeksi virus dapat sepenuhnya dihindari dengan mencegah virus masuk sistem. Fungsinya mungkin sepele seperti sekedar menampilkan pesan dilayar atau merusak program dan file-file data. Seperti pada fase tidur. 16. lebih spesifik lagi pada platform perangkat keras tertentu. Virus-virus dirancang memanfaatkan rincianrincian dan kelemahan-kelamahan sistem tertentu. terjadi perlombaan antara penulis virus dan pembuat virus. 16. dan sebagainya. Klasifikasi virus adalah sebagai berikut : 1. Banyak disk berisi game atau utilitas di rumah dikopikan ke mesin kantor.2 Infeksi Virus Sekali virus telah memasuki sistem dengan menginfeksi satu program. Memory-resident virus Sistem Operasi 267 . virus berada dalam posisi menginfeksi beberapa atau semua file berekstensi exe lain di sistem itu saat program yang terinfeksi dieksekusi.

Stealth virus 5.Politeknik Telkom Sistem Operasi 3. Boot Sector Virus 4. Polymorphic virus 268 Sistem Operasi .

Dengan alat bantu ini penciptaan virus baru dapat dilakukan dengan sangat cepat. Identifikasi Sistem Operasi 269 . Deteksi dengan “penandaan” virus tersebut tidak dimungkinkan. Sasaran ini. Setelah pencegahan terhadap masuknya virus. o Boot Sector Virus o Virus menginfeksi master boot record atau boot record dan menyebar saat sistem di boot dari disk yang berisi virus. Deteksi 2. o Stealth Virus Virus yang bentuknya telah dirancang agar dapat menyembunyikan diri dari deteksi perangkat lunak antivirus. tak mungkin dilaksanakan sepenuhnya. Penulis virus dapat melengkapi dengan alat-alat bantu penciptaan virus baru (virus-creation toolkit yaitu rutin-rutin untuk menciptakan virus-virus baru). Jangan ijinkan virus masuk ke sistem. Tipe ini menempelkan dirinya ke file exe. o Memory-resident virus Virus memuatkan diri ke memori utama sebagai bagian program yang menetap. Pencegahan dapat mereduksi sejumlah serangan virus. maka pendekatan berikutnya adalah : 1.Politeknik Telkom Sistem Operasi Parasitic Virus Merupakan virus tradisional dan bentuk virus yang paling sering. Virus menginfekasi setiap program yang dieksekusi. Virus-virus yang diciptakan dengan alat bantu biasanya kurang canggih disbanding virus-virus yang dirancang dari awal. o Polymorphic Virus Virus bermutasi setiap kali melakukan inveksi. o 16.13 Anti Virus Solusi ideal terhadap ancaman virus adalah pencegahan. Virus mereplikasi dirinya ketika program yang terinfeksi dieksekusi dengan mencari file-file exe lain untuk diinfeksi.

yaitu: 1. maka alternative yang dilakukan adalah hapus program yang terinfeksi dan kopi kembali backup program yang masih bersih. Penghilangan Begitu virus dapat diidentifikasi maka hilangkan semua jejak virus dari program yang terinfeksi dan program dikembalikan ke semula (sebelum terinfeksi). Saat ini program antivirus semakin kompleks dan canggih.Generasi ketiga : jebakan-jebakan aktivasi (activity trap) : jebakan-jebakan aktivasi (activity trap) 4. Penghilangan 1.Generasi keempat : proteksi penuh (full-featured protection) : proteksi penuh (full-featured protection) 1. Deteksi Begitu infeksi telah terjadi. begitu juga paket perangkat lunak antivirus.Generasi pertama : Sekedar scanner sederhana : Sekedar scanner sederhana 2. 2. 3.14 Generasi Anti virus Sebagaimana virus berkembang dari yang sederhana menjadi semakin canggih. Jika edentifikasi sukses dilakukan.Generasi kedua : Scanner yang pintar (heuristic scanner) : Scanner yang pintar (heuristic scanner) 3. Perkembangan program antivirus dapat diperiode menjadi empat generasi. tapi identifikasi atau penghilangan tidak dapat dilakukan. 16. Identifikasi Begitu virus terdeteksi maka identifikasi virus yang menginfeksi program. Generasi Pertama: sekedar scanner sederhana 270 Sistem Operasi . tentukan apakah infeksi memang telah terjadi dan cari lokasi virus.Politeknik Telkom Sistem Operasi 3.

Teknik ini terbatas untuk diteksi virusvirus yang telah dikenal. fungsi hash ter-enkripsi digunakan. 3. Walaupun virus mungkin berisi “karakter-karakter varian” tapi secara esensi mempunyai struktur dan pola bit yang sama dengan salinannya. Teknik yang dipakai misalnya mencari fragmen-fragmen kode yang sering merupakan bagian virus. Jika virus menginfeksi program tanpa mengubah checksum. Generasi Ke-dua: scanner yang pintar (heuristic scanner) Antivirus men-scan tidak bergantung pada penanda spesifik.Politeknik Telkom Sistem Operasi Antivirus men-scan program untuk menentukan penanda (signature) virus. maka pemerikasaan integritas akan menemukan perubahan itu. Tipe lain antivirus generasi pertama adalah mengelola rekaman panjang (ukuran) program dan memeriksa perubahan panjang program. antivirus mencari awal loop enkripsi yang digunakan polymorphic virus dan menemukan kunci enkripsi. Untuk menanggulangi virus canggih yang mampu mengubah checksum saat menginfeksi program. Checksum dapat ditambahkan di tiap program. Generasi Ke-tiga: jebakan-jebakan aktivasi (activity trap) Sistem Operasi 271 . antivirus dapat men-deskripsi virus untuk identifikasi dan kemudian menghilangkan infeksi virus. Teknik lain adalah pemeriksa integritas. Contohnya. Dengan menggunakan fungsi hash bukan checksum sederhana maka mencegah virus menyesuaikan program yang menghasilkan kode hash yang sama seperti sebelumnya. 2. Bagitu kunci ditemukan. Antivirus menggunakan aturan-aturan pintar (heuristic scanner) untuk mencari kemungkinan terinvekasi virus. Kunci enkripsi disimpan secara terpisah dari program sehingga program tidak dapat menghasilkan kode hash dan meng-enkripsinya.

4. 272 Sistem Operasi . Program ini mengidentifikasi virus melalui aksi-aksinya bukan dari struktur program yang diinfeksi. Dengan cara ini yang diperlukan adalah mengidentifikasi kumpulan instruksi yang berjumlah sedikit yang mengidentifikasi adanya usaha infeksi. penulis virus-pun masih berlanjut menulis virus yang dapat melewati barikade-barikade yang dibuat penulis antivirus.Politeknik Telkom Sistem Operasi Program antivirus merupakan program yang menetap di memori (memory resident program). Antivirus juga mempunyai senarai kapabilitas pengaksesan yang membatasi kemampuan virus memasuki sistem dan membatasi kemampuan virus memodifikasi file untuk menginfeksi file. Pertempuran antara penulis virus dan pembuat antivirus masih berlanjut. program antivirus segera mengintervensi. Untuk pengaman sistem komputer. Kalau muncul kejadian ini. Teknik-teknik ini meliputi scanning dan jebakan-jebakan aktivitas. Generasi Ke-empat: proteksi penuh (full-featured protection) Antivirus generasi ini menggunakan beragam teknik antivirus secara bersamaan. sebaiknya pengaksesan dan pemakaian komputer diawasi dengan seksama sehingga tidak menjalankan program atau memakai disk yang belum terjamin kebersihannya dari infeksi virus. Dengan anticirus semacam ini tak perlu mengembangkan penandapenanda dan aturan-aturan pintar untuk beragam virus yang sangat banyak. Walau beragam strategi lebih lengkap telah dibuat untuk menghalangi virus. Pencegahan terbaik terhadap ancaman virus adalah mencegah virus memasuki sistem saat yang pertama.

Latihan 1. Apa perbedaan antara worm dan virus? 3. Dalam bahasan di bab ini terdapat tujuh proteksi objek yang masingmasing mempunyai karakteristik yang berbeda. Trojan horse dll. seperti worm. Teradapat banyak mekanisme proteksi objek. Suatu password digunakan untuk seorang user dan sebuah anti virus untuk berbagai virus yang kemungkinan menyerang system kita. Sebutkan algoritma enkripsi yang anda ketahui? 4. Untuk mengatasi hal itu maka dibuatlah suatu pencegahan. hal apakah yang anda lakukan terhadap jaringan dan system yang anda kelola dalam hal pencegahan terhadap ancaman yang mungkin Sistem Operasi 273 . Ada sebuah kasus misalnya anda seorang administrator jaringan.Politeknik Telkom Sistem Operasi Rangkuman Kemanan sistem operasi merupakan bagian masalah kemanan sistem komputer secara total tapi telah menjadi bagian yang meningkat kepentingannya. Teradapat program selain virus yang dibuat oleh manusia. Sebutkan dan jelaskan tujuan dari security atau keamanan.? 2. Pengamanan sistem operasi berarti kecil jika setiap orang dapat berjalan melenggang di ruang sistem komputer. Pengamanan secara fisik dengan membatasi pengaksesan secara langsung dengan fasilitas sistem komputer harus dilakukan juga. Maka perlu diketahui apa karakter dari ancaman tersebut dengan mengulasnya dalam bab ini. Ancaman dapat diterima dari seorang user ataupun suatu program.

Silberschatz. Andrew. William Stalling.Politeknik Telkom Sistem Operasi membahayakan bagi system dan jaringan kompter yang anda tangani? 5. Operating System. Sebutkan dan jelaskan tipe virus?Juga sebutkan nama virus terkini yang anda ketahui DAFTAR PUSTAKA Tanembaum. 274 Sistem Operasi .