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 1.1 PENDAHULUAN.............................................................................................2 1.2 ELEMEN DASAR KOMPUTER..........................................................................2 1.3 PROSESOR...................................................................................................3 1.4 REGISTER....................................................................................................4 1.4.1 Register Data....................................................................................4 1.4.2 Register Alamat................................................................................4 1.4.3 Register untuk Alamat dan Buffer....................................................4 1.4.4 Register untuk Eksekusi Instruksi.....................................................4 1.4.5 Register untuk Informasi Status.......................................................5 1.5 MEMORI.....................................................................................................5 1.6 MODUL I/O................................................................................................6 1.7 INTERKONEKSI ANTAR KOMPONEN..................................................................9 1.8 EKSEKUSI INSTRUKSI...................................................................................10 1.8.1 Mekanisme Eksekusi.......................................................................10 1.8.2 Mode Eksekusi Instruksi.................................................................10 2 PENGENALAN SISTEM OPERASI.......................................................13 2.1 FUNGSI DAN SASARAN SISTEM OPERASI........................................................14 2.2 SISTEM OPERASI SEBAGAI PENGELOLA SUMBER DAYA....................................14 2.3 SISTEM OPERASI SEBAGAI EXTENDED MACHINE/VIRTUAL MACHINE.................16 2.4 SISTEM KOMPUTER DALAM BERAGAM SUDUT PANDANG..................................17 2.5 EVOLUSI SISTEM OPERASI...........................................................................19 3 PROSES DAN THREAD...........................................................................24 3.1 PENGENALAN KONSEP PROSES.....................................................................25 3.2 KONDISI / KEADAAN PROSES.......................................................................26 3.3 DESKRIPSI PROSES......................................................................................33 STRUKTUR KENDALI PROSES.............................................................................35 3.3.1 Lokasi Proses.................................................................................35 3.3.2 Atribut Proses.................................................................................35
v

............3 FASILITAS PERANGKAT LUNAK UNTUK MEWUJUDKAN MUTUAL EXCLUSION...............................4.......4 KENDALI PROSES........................................54 4............66 4.............2....1 PENDAHULUAN..............1 Semaphore........59 4........................................................36 PERGANTIAN PROSES...........37 3....2.........5 Instruksi Test and Set......50 4.....2...1 Kapan Mengganti Eksekusi Proses................79 5......2 TIPE PENJADWALAN PROSESOR...........................3.55 4....................................2................49 4....5 Format Pesan.........................................................................................................................................................................2.........37 3...........55 4........................56 4.......87 6.......................................66 4.................................2 Message Passing............................................................3............................................................1 Persayaratan untuk mutual exclusion..........................................................................................3 KRITERIA PENJADWALAN......6 Instruksi Exchange.................................................................58 4............................................................................................................................................................86 6..........2.3 Interrupt Disabling...........................................3 Sinkronisasi......6 PENJADWALAN MULTIPROSESOR...................................2 Pergantian Mode..............88 vi Sistem Operasi .........................................................................................................5 PENJADWALAN FAIR-SHARE.................5 Kernel Level Thread.................7 PENJADWALAN REAL-TIME.........7 Sifat-sifat Pendekatan Instruksi Mesin...........................................................2 Dukungan Perangkat Keras untuk Mewujudkan Mutual Exclusion ..72 5...2........................69 4........................................69 5 PENJADWALAN ..4 Instruksi-instruksi Mesin Khusus...................................3........................................74 5........................................71 5...........................................................................................................................Politeknik Telkom Sistem Operasi 3.......58 4........................4 ALGORITMA PENJADWALAN.........................44 3........3 PEMARTISIAN MEMORI.....................................78 5....3 Perubahan Kondisi Proses.........51 4....................................................................................................73 5..........................................4.......3.......2 KEBUTUHAN MANAJEMEN MEMORI...........................3....................................67 4..................................................1 PENDAHULUAN.............................................................87 6..........................59 4.....................................................................................4 Pengalamatan (Addressing)..............46 4 KONKURENSI ........4...................6 Aturan Antrian.....................................39 3.72 5.......................81 6 MANAJEMEN MEMORI .....................2 PRINSIP-PRINSIP KONKURENSI............1 PENDAHULUAN................................56 4.................................................................................................4...............................4........................39 3.....................4 User Level Thread...3..................................................................

...............136 8..................3....................................................113 7...................................1 Pengendali Perangkat.....................................5........................................106 7...9....3 Interupsi.....................................................................................................................................89 Buddy System....................100 7....................................................................................................................5 PAGING.....................................................................8 JAM DAN TIMER.............................3...........99 7....................................................................12 STRUKTUR DATA KERNEL...............................................109 7..1 Penjadualan M/K....4 DIRECT MEMORY ACCESS (DMA)...........................................7 PERALATAN JARINGAN.........................................1 Handshaking.....................................................................................................................................................2 Cara-cara Implementasi DMA........................123 7.113 7...........................1 FIXED PARTITIONING..103 7......................................................................14 I/O STREAMS...............................................3 MACAM-MACAM PENJADWALAN DISK............................................................................103 7.............114 7................................................................3........1 Aplikasi Antarmuka M/K..............................94 6.............................................................................102 7...............1 PENDAHULUAN............................................113 7....110 7.........................................................4 RELOKASI...3.................119 7....................15 KINERJA MK.....................Politeknik Telkom Sistem Operasi 6.....................................................3......................................................................................................3.........121 7...............................104 7...........2 Buffering..........3 Caching.......................................10 SPOOLING DAN RESERVASI PERANGKAT.............2 PENJADWALAN DISK..........91 6....................9........137 8..................2 Polling..................................................2 Fitur Tambahan pada Komputer Modern......110 7...........................137 vii .126 7.11 ERROR HANDLING.............................5 SUBSISTEM MASUKAN/KELUARAN KERNEL.............................................................................................116 7................2 PERANGKAT M/K (I/O DEVICE)................97 7 MANAJEMEN PERANGKAT I/O ..............................122 7......................................92 6..............4..........................................................1 Penjadwalan FCFS.........110 7..135 8..1 Mekanisme Dasar Interupsi...........................................9.....................6 PERALATAN BLOK DAN KARAKTER....4..118 7.............................127 8 MANAJEMEN DISK .........................3 ORGANISASI FUNGSI I/O.........................................105 7..................................................................3.......104 7......................................3.........................1 STRUKTUR DISK.........................104 7....88 6.........................................134 8.............2 DYNAMIC PARTITIONING.....................................................114 7...........3...6 SEGMENTASI...................................................13 PENANGANAN PERMINTAAN M/K............9 BLOCKING DAN NONBLOCKING I/O......3.................................................................................

.158 9.....................................................................2................................................................................................149 9............................1 STRUKTUR SISTEM BERKAS...............................................................................................................144 8........................................................................154 9.......158 9.........................2.163 10...............................................................158 9.................13 ORGANISASI FILE DAN AKSES...........3 KONSEP BERKAS..........4 ATRIBUT BERKAS................................................148 9....14 STRUKTUR FILE DASAR......................159 9..........1 OPERASI DIREKTORI......................................................................................2...........................156 9............160 10 DIREKTORI ...............2 Metriks......152 9...............1 Metode Blocking......3 Penjadwalan SCAN......138 8...........................150 9..2 Direktori Dua Tingkat.......151 9..145 9 MANAJEMEN FILE ............................4 Direktori dengan Struktur Graf Asiklik..........172 11...........................................................................................................10 FILE..........140 8..........................................................5 Penjadwalan LOOK...........164 10.............................................................................166 10...........3..............................................170 11 IMPLEMENTASI SISTEM BERKAS ...............................................................................................................165 10.................................1 Direktori Satu Tingkat..........................3............................142 8....155 9..........................4 PEMILIHAN ALGORITMA PENJADWALAN DISK.................169 10........................6 OPERASI BERKAS......6 Penjadwalan C-LOOK.2 Macam Metode Blocking......................................................................167 10........................................................................................................................7 STRUKTUR BERKAS..........................................151 9...................................................168 10............5 JENIS BERKAS........................2 DATABASE......162 10.......158 9.....................9 STRUKTUR PENYIMPANAN............................12 FIELD......................3.........169 10.......2 JENIS DIREKTORI...................................3........................................................................................143 8...........................3 Direktori dengan Struktur Tree.............15 PILE...........................Politeknik Telkom Sistem Operasi 8..............................2 Penjadwalan SSTF................................................3......155 9....................5 Direktori dengan Struktur Graf Umum.......3.....2..............3 RECORD BLOCKING............................................................................................................1 PENDAHULUAN.................11 RECORD..4 Penjadwalan C-SCAN..................................3..........................13..............................................................................2.....................................160 9....................................1 Kriteria Umum.....................................................................8 METODE AKSES...........................................................164 10.....................................13.......153 9..................................................173 viii Sistem Operasi ......................................................................................

................1 Efisiensi................194 12....1 PENGECEKAN RUTIN....................1......212 14..............................................3 Direktori pada MS-DOS..............................7 CLIENT SERVER...................214 14.....185 11....................212 14.................190 12.........................................199 12...............204 13..........4............................6 IMPLEMENTASI DIREKTORI.................................................................2 KONSEP DASAR SISTEM TERSEBAR / TERDISTRIBUSI....................2 Sistem Operasi Tersebar...............................5.........215 14.....2 Linked List......1 Bit Vector...........................223 ix ...............................................................................................1 Network Operating System............200 12..............2......................179 11....205 13........196 12...207 13...................................................214 14....5 SISTEM BERKAS VIRTUAL....................................................................................................................................................................................................................................5 EFISIENSI DAN KINERJA.................................................................................................................................................................................4.......................................................6 ARSITEKTUR SISTEM TERDISTRIBUSI..........214 14............................................................4 PARTISI DAN MOUNTING...................6..............................1.........192 12......3 IMPLEMENTASI PEMBERKASAN................................................................................1.5................................................................1 PENDAHULUAN.........................2.199 12................3 GROUPING..........................2 KINERJA SISTEM BERKAS..........................................6...........................178 11...........6.................184 11.....7 DIREKTORI PADA UNIX.......211 14..................................................2 Kinerja.....181 11........................................2 BACKUP DAN RESTORE...............3 Indexed Allocation........219 14............1 Contiguous Allocation.............................................................................207 14 SISTEM OPERASI TERSEBAR 1 .........187 12 MANAJEMEN PENYIMPAN SEKUNDER ...................190 12.......197 12.........................................3 LOG-STRUCTURED FILE SYSTEM..................................................................................3 PROPERTI DAN KARAKTERISTIK SISTEM TERSEBAR....197 12......................................................................1 Algoritma Linear List..........................2 MANAGEMEN RUANG KOSONG.............182 11..............................................................1 METODE ALOKASI......................................................Politeknik Telkom Sistem Operasi 11...2 Algoritma Hash Table.............214 14..................199 12...205 13......4 TIPE SISTEM TERSEBAR....................................4 COUNTING..186 11..........185 11........................................200 13 RECOVERY................................................................................................................................................................................................5 KARAKTERISTIK SISTEM TERSEBAR......................................................189 12..................2 Linked Allocation.......4 SISTEM BERKAS LINUX VIRTUAL..............................................

............253 16.......256 16...............1 KOMUNIKASI SISTEM TERSEBAR..............274 x Sistem Operasi ..................................................................................................................................246 16.............................................12...............14 GENERASI ANTI VIRUS.....8...258 16.6 Proteksi Izin Tunggal......3 Proteksi Objek ACM.......10 KARAKTERISTIK INTRUSI KOMPUTER........................................................................................................254 16...........................269 16..1 Siklus Hidup Virus................................................................................8...................................4 Proteksi Objek Capability..........3 TUJUAN SECURITY..............................256 16.....1........................................................................................................9 ENKRIPSI...................................................255 16........266 16..................8...2 ASET SISTEM KOMPUTER...............................................................................................................8....................8....................239 15.................246 16..............12.........235 15...............................................................Politeknik Telkom Sistem Operasi 14..........................................................................................................................................................................................................4 JENIS KEAMANAN......3 Tipe-tipe virus.......................7 Proteksi File per-objek dan per-user....233 15.....270 DAFTAR PUSTAKA..........................2 Proteksi Objek ACL.................................................2 SISTEM PROSESOR JAMAK................251 16........................................................................247 16......................244 16..............267 16..........1 PENDAHULUAN..............12 VIRUS DAN ANTI VIRUS........13 ANTI VIRUS.....228 15 SISTEM TERSEBAR 2 ...2 Remote Procedure Call........................................255 16....................................................6 PETUNJUK PENGAMANAN SISTEM.............256 16..........1 Model Message Passing..................1...............................1 Proteksi Objek Direktori...................3 SISTEM TERDISTRIBUSI DAN TERKLUSTER.266 16..................11 PROGRAM-PROGRAM JAHAT.....2 Infeksi Virus............................................................................................240 16 KEAMANAN SISTEM OPERASI .....................................7 METODE DAN MEKANISME PROTEKSI SISTEM KOMPUTER..............................................................252 16............267 16.............5 Proteksi File.....................233 15.254 16........245 16....................................................................................................8 MEKANISME PROTEKSI OBJEK.............................................................8...............245 16..258 16.........................232 15....................................................12...8 ARSITEKTUR MIDDLEWARE.................................................................................5 TIPE ANCAMAN.250 16.........................8..............

2. Tujuan 1. Hal ini disebabkan nantinya sistem operasi bekerja untuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi. Mahasiswa mengetahui bagaimana komponenkomponen itu bekerja dan saling bekerja sama untuk memenuhi kebutuhan aplikasi dan pengguna akhir.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. Sistem Operasi 1 . Mahasiswa mengetahui komponen-komponen yang membangun sebuah sistem komputer.

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

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

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

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

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

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

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

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

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

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. Prosesor berfungsi mengendalikan operasi komputer dan melakukan pemrosesan data. modul I/O dan interkoneksi antar computer. Hal ini dikarenakan sistem operasi mengatur komponen-komponen pendukung sistem komputer seperti memori. 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 berfungsi untuk menyimpan data dan program. Komponen-komponen ini saling berinteraksi untuk menghasilkan fungsi dari tujuan sistem komputer yaitu eksekusi program atau komputasi. memori. 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. Keempat komponen atau elemen struktur utama yaitu prosesor. Di dalam prosesor terdapat sekumpulan register yang berfungsi sebagai memori yang sangat cepat dan kecil kapasitasnya. sebuah komputer terdiri dari empat komponen.

5.Politeknik Telkom Sistem Operasi Soal Latihan 1. 3. 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 . 8. 7. 2. 4. 6.

Tujuan 1. Mahasiswa mengetahui bagaimana komponenkomponen itu bekerja dan saling bekerja sama untuk Sistem Operasi 13 .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. Mahasiswa mengetahui komponen-komponen yang membangun sebuah sistem operasi.

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

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

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

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

Politeknik Telkom Sistem Operasi amat kompleks. Untuk mempermudah pemrogram. sekumpulan fasilitas-fasilitas disediakan sistem operasi. mempermudah pemrogram serta program aplikasi mengakses serta menggunakan fasilitas-fasilitas dan layananlayanan sistem komputer 18 Sistem Operasi . Pemrogram menggunakan fasilitas-fasilitas ini dalam mengembangkan aplikasi. 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. Sistem operasi bertindak sebagai mediator. dan mengendalikan masukan/keluaran. mengelola berkas. tak perlu menulis atau membuatnya sendiri untuk aplikasi-aplikasi yang dibuatnya. Sistem operasi menyembunyikan rincian-rincian pengoperasian perangkat keras dari pemrogram dan menyediakan interface yang nyaman untuk menggunakan perangkat tersebut.

Generasi Pertama (1945 – 1955) Awal dari pengembangan sistem komputasi elektronik. langsung diterima dan data disimpan lebih dulu di memori yang disediakan berupa antrian. menggantikan ide-ide mesin-mesin komputaasi mekanis. 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. Perkembangan sistem operasi dapat dijabarkan sebagai berikut: . Sistem Operasi 19 . Saat terdapat permintaan layanan periperal. Saat satu job menunggu operasi input/output selesai job lain dapat menggunakan prosesor – Spooling.Politeknik Telkom Sistem Operasi 2. Perkembangan sistem komputer melibatkan perkembangan sistem hardware dan software.5 Evolusi Sistem Operasi Sistem Operasi telah berevolusi sejak pertama kali komputer diciptakan. membuat periperal dapat diakses secara simultan. di mana tiap pemakai mempunyai satu terminal on-line dengan prosesor hanya memberi layanan pada pemakai yang aktif. varian dari sistem multiprogramming.Generasi Ke-dua (1955 – 1965) Terdapat Batch System. kemudian dijadwalkan agar secara nyata dilayani oleh periperal – Time Sharing. . yaitu dengan cara menyediakan beberapa partisi memori.

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 .

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. 15 min.

Distributed O/S. Multiprogramming 43% 67% 67% 67% 15 min. dengan user tak perlu menyadari keberadaan komputerkomputer yang terhubung. dimana alokasi kerja sudah secara otomatis dilaksanakan oleh sistem operasi. 22 Sistem Operasi . Sistem operasi untuk jaringan komputer. 6 jobs/hr 18 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.Generasi Ke-empat (1980 – Sekarang) Terdapat : – Network O/S. 12 jobs/hr 10 min. .

yaitu sistem operasi harus dibangun sehingga memungkinkan dan memudahkan pengembangan. Sebutkan layanan system operasi yang harus ada menurut Stalling 2. Sebutkan 3. Jelaskan fungsi dari Sistem operasi sebagai extended machine/virtual machine Sistem Operasi 23 . Pandangan ke Pemakai sistem komputer dapat dikelompokkan menjadi tiga. Sistem operasi harus mampu berevolusi.Politeknik Telkom Sistem Operasi Rangkuman Sistem operasi adalah program yang mengendalikan eksekusi program aplikasi dan bertindak sebagai antarmuka antara pemakai dan perangkat keras komputer. 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 sumber daya pada sistem komputer dan jelaskan 4.

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

Isi dari PCB tersebut antara lain: 1.Politeknik Telkom Sistem Operasi komponen itu bekerja dan saling bekerja sama untuk memenuhi kebutuhan aplikasi dan pengguna akhir. 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. Identifier: tanda identitas yang membedakan suatu proses dengan proses lainnya. Sistem Operasi 25 . 2. 3. 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. Manajemen proses adalah salah satu dari fungsi utama dari sistem operasi terutama pada sistem operasi yang mendukung eksekusi banyak aplikasi pada waktu yang bersamaan. Sebuah proses yang sedang berjalan disimpan di dalam memori utama (RAM) dan dua bagian penting dari sebuah proses adalah: 1. State: kondisi dari proses. Jika proses sedang dieksekusi maka kondisi/statusnya adalah running. Kode program atau instruksi-instruksi program yang harus dieksekusi oleh prosesor (yang dapat dibagi pakai bersama dengan proses lain) dan 2.1 Pengenalan Konsep Proses Proses dalam ruang lingkup sistem operasi dapat dikatakan sebagai sebuah aplikasi/program yang sedang dijalankan.

dll. Hal ini terjadi ketika sebuah program kecil bernama dispatcher yang dieksekusi secara periodik oleh prosesor. file.Politeknik Telkom Sistem Operasi 3. nomor akun. Contex data: adalah data yang ada di register prosesor ketika proses dieksekusi. 8. 4. 26 Sistem Operasi . dll. Urutan eksekusi ini dikendalikan lewat perubahan nilai pada register program counter yang berupa penunjuk ke suatu lokasi yang berisi instruksi dari proses. instruksi 5. Accounting information: dapat terdiri dari waktu prosesor. peralatan I/O. 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. dan blok memori yang dibagipakai bersama proses-proses lain. I/O status information: informasi tentang permintaan I/O. Program counter: alamat memori dari program berikutnya yang akan dieksekusi. Memory pointer: pointer menuju kode program (instruksi program). data yang berhubungan dengan proses. 7. waktu clock yang digunakan.2 Kondisi / Keadaan Proses Dari sudut pandang prosesor eksekusi sebuah proses berarti mengeksekusi instruksi-instruksi dari proses tersebut berdasarkan urutan tertentu. 6. batas waktu. Isi dari program counter ini pada suatu saat bisa berubah menjadi penunjuk ke instruksi yang dimiliki oleh proses lain. Priority: prioritas eksekusi dibandingkan proses-proses lainnya.

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. Model Lima Kondisi Model yang ke-dua adalah model dengan 5 kondisi (5 state). 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 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 .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. 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. 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. 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.

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. Blocked: proses tidak dapat dieksekusi hingga suatu event terjadi atau menunggu suatu proses I/O selesai 4. New: proses baru saja selesai dibuat. Berikut ini adalah daftar 5 kondisi yang ada pada model 5 kondisi: 1. Pada kondisi ini biasanya baru process control block saja yang telah selesai dibuat dan ditaruh di memori utama sedangkan instruksi dan datanya belum 5. 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.Politeknik Telkom Sistem Operasi blocked. 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. 28 Sistem Operasi . Ready: proses siap dieksekusi jika telah mendapat kesempatan 3. Running: proses sedang dieksekusi 2.

contohnya: operasi I/O Sistem Operasi 29 . 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. 6. 2.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. 3. 5. New –> Ready: sistem operasi memindahkan sebuah proses ke kondisi ready dari kondisi new hanya jika sistem operasi tersebut telah siap. Running –> Blocked: proses diblok apabila proses tersebut telah meminta sesuatu yang tidak dapat langsung dipenuhi oleh sistem operasi. Running –> Exit: proses dihentikan eksekusinya dan diterminasi dikarenakan telah selesai atau karena alasan lainnya seperti terjadinya kesalahan atau pembatalan eksekusi oleh pengguna. Prose ini dapat benar-benar baru atau dapat berasal dari proses lain yang telah ada melalui process spawning. Null –> New: sebuah proses baru dibuat. 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. 4. Ready –> Running: proses dipindahkan dari kondisi ready ke kondisi running oleh rutin penjadwalan atau dispatcher dan dieksekusi oleh prosesor.

Pemindahan dari memori virtual ke memori utama dan sebaliknya inilah yang disebut sebagai swapping. 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. 8. Untuk mengimplementasikan konsep memori virtual tersebut perlu dibuat suatu kondisi baru yaitu kondisi ketika proses berada pada dalam memori virtual yaitu kondisi suspended. Hanya proses-proses yang siap dieksekusi saja yang disimpan dalam memori utama. 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. 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. Proses-proses yang ada tidak disimpan dalam memori utama tetapi disimpan dalam media harddisk. Blocked –> Exit: transisi ini penjelasan kondisi ready -> exit. termasuk dalam Model dengan Suspended State Model 2 kondisi dan 5 kondisi sebelumnya berlaku pada sistem operasi yang tidak memerlukan swapping. 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. 9.Politeknik Telkom Sistem Operasi 7. Proses yang berada dalam kondisi blocked dapat dipindahkan dari memori utama ke sebuah antrian proses di memori 30 Sistem Operasi . Konsep memori virtual ini memungkinkan sistem operasi membuat proses dengan jumlah dan ukuran lebih besar dari kapasitas memori utama.

Gambar 3-4 memperlihatkan dua model yang mengakomodir kondisi suspended. Proses-proses tersebut sebelum dipindahkan ke memori utama dapat diletakkan dalam antrian proses yang siap untuk dieksekusi kembali oleh prosesor. 2. antara lain: 1. 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.Politeknik Telkom Sistem Operasi virtual untuk menyediakan ruang kosong bagi proses lain di memori utama. Blocked/Suspend: kondisi di mana proses berada dalam kondisi blocked di dalam memori virtual dan menunggu suatu event. yaitu: 1. yang dipindahkan dari antrian di memori virtual ke memori utama. Oleh karena itu kondisi suspended dibagi lagi menjadi dua kondisi. yang telah mendapatkan event yang dibutuhkan. Pada model pertama diperlihatkan hanya ada satu kondisi suspend seperti yang telah dijelaskan di atas. 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. Ready/Suspend: kondisi di mana proses berada dalam memori virtual tetapi dapat langsung dijalankan ketika telah berada dalam memori utama. Untuk menghemat sumber daya hanya proses-proses yang telah siap dijalankan. Transisi-transisi antar kondisi yang terjadi. Blocked  Blocked/Suspend: transisi ini terjadi ketika sistem operasi membutuhkan tambahan ruang kosong di dalam memori utama untuk proses lain dan Sistem Operasi 31 . 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.

5.Politeknik Telkom Sistem Operasi tidak tersedia ruang kosong dalam memori utama. Blocked/Suspend  Blocked: transisi ini meskipun tampak tidak terlalu baik dari segi disain namun masih mungkin terjadi. 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. Proses tersebut dapat disimpan di dalam antrian memori di memori utama atau diantrikan dalam kondisi ready/suspend di memori virtual. 2. 3. New  Ready/Suspend dan New  Ready: transisi ini terjadi ketika suatu proses baru saja dibuat. 4. 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. Transisi ini juga dapat terjadi apabila proses dalam kondisi ready/suspend memiliki prioritas lebih tinggi dari proses yang berada dalam kondisi ready. 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 . 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.

Politeknik Telkom Sistem Operasi tersebut akan terjadi segera maka transisi ini boleh saja terjadi.3 Deskripsi Proses Seperti yang telah disebutkan sebelumnya sistem operasi bertugas untuk mengelola proses-proses dan sumber daya komputer yang digunakan proses-proses tersebut. antara lain: Sistem Operasi 33 . 6. 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. 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 memori Tabel ini digunakan untuk mengelola memori utama dan memori virtual. Tabel ini berisi. 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. Tabel-tabel tersebut antara lain: 1. 3. Jika hal tersebut diperbolehkan maka semua kondisi dapat segera berubah menjadi kondis exit.

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

Identifikasi proses Setiap proses diberi sebuah bilangan penanda identitas yang unik yang dapat menjadi indeks dalam tabel proses.3. 3. Keseluruhan dari program.3. Hal ini dilakukan Sistem Operasi 35 . Sederhananya process image ini disimpan dalam blok ruang memori yang kontinu di memori utama ataupun di memori virtual. 2. Informasi kondisi prosesor Nilai yang tersimpan dalam register prosesor akan disimpan oleh proses dalam PCB. data. yaitu: 1.2 Atribut Proses Atribut-atribut proses yang dibutuhkan untuk mengatur jalannya proses seperti sudah disebutkan sebelumnya disimpan di dalam process control block. Lokasi dari process image ini bervariasi bergantung kepada kebijakan penggunaan memori yang digunakan oleh sistem operasi.1 Lokasi Proses Secara umum sebuah proses terdiri dari program atau sekumpulan program yang akan dieksekusi disertai data jika diperlukan.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. Di dalamnya terdapat tiga kategori informasi. 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. dan process control block ini dapat disebut sebagai process image. stack. 3. Identitas ini menjadi referensi proses tersebut dalam operasi I/O dan komunikasi dengan proses lainnya.

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. Beberapa hal hanya boleh dilakukan oleh sistem operasi pada mode kernel seperti: menjalankan instruksi-instruksi I/O primitif. menjalankan instruksi-instruksi yang berhubungan dengan manajemen memori. Pembedaan mode ini dilakukan untuk membatasi hak akses proses-proses milik user agar tidak mengganggu jalannya seluruh sistem komputer. Informasi kendali proses ini adalah informasi tambahan yang dibutuhkan oleh sistem operasi untuk mengendalikan dan mengkoordinasi beberapa proses yang aktif. Sebagai tambahan ada beberapa bagian dari memori yang hanya dapat diakses oleh proses yang berjalan pada mode khusus dengan hak istimewa. Langkah-langkah itu antara lain: 36 Sistem Operasi .4 Kendali Proses Mode Eksekusi Kebanyakan prosesor yang dibuat saat ini mendukung dua mode eksekusi. 3. Pada saat proses ini kembali dieksekusi isi regsiter akan dikembalikan ke register prosesor.Politeknik Telkom Sistem Operasi agar ketika proses diinterupsi dari prosesor data yang sedang diproses dalam register tidak hilang tergantikan oleh data proses yang lain. 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. yaitu mode user dan mode kernel atau mode sistem.

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

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

2 Pergantian Mode Interrupt stage merupakan bagian dari siklus eksekusi instruksi. atau Ready/Suspend). Pindahkan PCB proses ke antrian yang tepat (Ready. 3. Sistem Operasi 39 . 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. 4. 3. Blocked on Event. Perbarui PCB dari proses yang dalam kondisi running.4. Pada tahap tersebut prosesor memeriksa ada tidaknya interrupt yang diindikasikan melalui adanya sinyal interupsi. Simpan konteks dari prosesor termasuk program counter dan register lainnya 2. Jika tidak ada sinyal interupsi maka prosesor akan mengambil instruksi berikutnya namun jika terdapat sinyal interupsi maka prosesor akan melakukan hal sebagai berikut: 1.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. Pilih proses lain untuk eksekusi dan perbarui PCB proses yang akan dieksekusi termasuk kondisinya menjadi running.Politeknik Telkom Sistem Operasi 3.3 Perubahan Kondisi Proses Perubahan state atau kondisi proses berbeda dengan perubahan mode eksekusi proses.

1. 3. 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.1 Kepemilikan sumber daya (resource ownership) Masing-masing proses memiliki sumber daya (memory. 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. yaitu: 3. Perbarui struktur data yang digunakan untuk manajemen memori 6. 40 Sistem Operasi .1.Politeknik Telkom Sistem Operasi 5.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. dll) yang dilindungi oleh sistem operasi dari interferensi yang tidak diinginkan oleh proses lain. berkas. Dua karekteristik di atas ternyata bersifat independen sehingga dapat ditangani secara terpisah oleh sistem operasi. saluran I/O.

Sistem operasi yang lebih maju seperti UNIX mendukung adanya beberapa proses yang berjalan bersamaan tetapi setiap proses tetap dianggap sebagai sebuah thread. Pada sebuah lingkungan multithread sebuah proses didefinisikan sebagai satuan alokasi sumber daya dan satuan pengamanan. Sistem operasi modern seperti Microsoft Windows. 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 . Java Runtime Environment adalah contoh sebuah sistem dengan proses yang dapat memiliki beberapa thread. Solaris. Mach. Perbandingan antara singlethread process dan proses dengan multithreaded process dapat dilihat pada gambar. 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.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.

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. menghentikan thread lebih cepat daripada menghentikan proses 3. 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 . waktu untuk pergantian thread lebih cepat dibandingkan pergantian proses 4.Politeknik Telkom Sistem Operasi Gambar 3-6 Thread Keuntungan menggunakan thread dibandingkan proses: 1. membuat thread baru lebih cepat daripada membuat proses baru 2.

Block Ketika thread dihentikan sementara karena menunggu suatu peristiwa (event) processor akan mengeksekusi thread lain yang siap dalam antrian. 2. Struktur program modular Mempermudah implementasi dan desain program dengan berbagai input dan output berbeda Empat operasi terhadap thread berdasarkan status thread: 1. Selain itu membuat program yang menggunakan thread terpisah untuk melakukan Remote Procedure Call akan meningkatkan kecepatan program secara substansial 4. Sistem Operasi 43 . Unblock Thread yang telah mendapatkan event yang diperlukan untuk melanjutkan tugasnya akan dikembalikan ke dalam antrian thread yang siap. 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. 3. multiprogramming memungkinkan eksekusi secara bergantian beberapa thread ketika suatu thread menunggu event atau jatah waktu eksekusinya telah habis. 4. Spawn Pembuatan proses meliputi pembuatan thread proses tersebut dan thread tersebut dapat pula membuat thread baru di dalam thread yang sama.Politeknik Telkom Sistem Operasi melakukan penulisan data dari RAM ke storage sebagai background proses 3. Finish Register dan stack dari thread akan didealokasikan begitu thread selesai Pada processor tunggal.

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.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 . Terminasi dan penahanan proses akan mempengaruhi seluruh thread dalam proses karena mereka berbagi alamat memori yang sama 3.4.

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. 2. Memungkinkan implementasi alogritma penjadwalan thread yang berbeda-beda untuk aplikasi tertentu tanpa mengubah kernel. Kebanyakan sistem operasi melakukan blocking pada saat system call dilakukan yang menyebabkan proses (dan seluruh thread di dalamnya) diblok. jika belum siap maka kendali akan dialihkan ke thread yang lain. Dapat diaplikasikan pada semua sistem operasi karena tidak menyentuh level kernel Kekurangan penggunaan user-level thread: 4. Penggantian thread yang dieksekusi tidak membutuhkan hak istimewa kernel karena struktur data untuk manajemen thread ada pada memori proses. 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. Sistem Operasi 45 . 3. skala prioritas.Politeknik Telkom Sistem Operasi Keuntungan menggunakan user-level thread: 1. dll) untuk bekerja secara optimal. Jacketing adalah cara untuk mengakali blocking saat system call yaitu dengan mengubah blocking system call menjadi non-blocking system call. Aplikasi tertentu membutuhkan penjadwalan tertentu (round robin. 5.

Jumlah kernellevel thread yang digunakan dapat disesuaikan sesuai kebutuhan oleh programmer. Kernel dapat menjadwalkan banyak thread dari satu proses pada banyak processor dan 7. Kentungan penggunaan kernel-level thread: 6.4. 46 Sistem Operasi .Politeknik Telkom Sistem Operasi 3.5 Kernel Level Thread Kernel-level thread merupakan konsep sedemikian sehingga manajemen thread dilakukan oleh kernel dan diakses aplikasi melalui API (Application Programming Interface). 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.

3. 2. Thread dapat berpindah-pindah dari satu proses ke proses lainnya dalam satu mesin atau berpindah mesin dengan membawa informasiinformasi yang diperlukan. 3. ▪ Satu thread dimiliki oleh banyak proses 1. Sebuah proses adalah sebuah virtual address space dan memiliki sebuah control block . 2.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. Domain adalah entitas statis yang memiliki ruang dan port di mana pesan dapat dikirim dan diterima. Sistem Operasi 47 . Thread dapat berpindah-pindah dari satu domain ke domain lainnya. dan informasi penjadwalan. yaitu: ▪ Banyak thread dimiliki oleh banyak proses 1. Melibatkan konsep domain dan thread. 4. status processor. Thread adalah jalur eksekusi tunggal dengan stack eksekusi. Digunakan pada sistem terdistribusi.

detil Rangkuman Proses dalam ruang lingkup sistem operasi dapat dikatakan sebagai sebuah aplikasi/program yang sedang dijalankan. Untuk dapat memanajemen proses sistem operasi minimal harus mengetahui letak dan kondisi dari prosesproses yang ada. Urutan eksekusi ini dikendalikan lewat perubahan nilai pada register program counter yang berupa penunjuk ke suatu lokasi yang berisi instruksi dari proses.Politeknik Telkom Sistem Operasi 4. Dari sudut pandang prosesor eksekusi sebuah proses berarti mengeksekusi instruksi-instruksi dari proses tersebut berdasarkan urutan tertentu. Manajemen proses adalah salah satu dari fungsi utama dari sistem operasi terutama pada sistem operasi yang mendukung eksekusi banyak aplikasi pada waktu yang bersamaan. 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. Soal Latihan 48 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. Sebutkan dan jelaskan 2 bagian terpenting dari sebuah proses 3.Politeknik Telkom Sistem Operasi 1. 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.

50 Sistem Operasi . 2. Distributed Processing (pemrosesan tersebar): kemampuan untuk memanajemen banyak proses yang dieksekusi pada banyak komputer yang tersebar dibeberapa lokasi. sinkronisasi aktivitas proses-proses.1 Pendahuluan Fitur-fitur utama dari sistem operasi modern yang paling menonjol adalah kemampuan sistem operasi untuk melakukan: 1. Mahasiswa mengetahui bagaimana komponenkomponen itu bekerja dan saling bekerja sama untuk memenuhi kebutuhan aplikasi dan pengguna akhir 4. dan alokasi prosesor. 3. Multiprogramming: kemampuan untuk memanajemen banyak proses dengan menggunakan satu prosesor.Politeknik Telkom Sistem Operasi Tujuan 1. Multiprocessing: kemampuan untuk memanajemen banyak proses dengan menggunakan banyak prosesor. membagi pakai dan terjadinya kompetisi untuk sumber daya komputer. Hal mendasar yang perlu diperhatikan ketika menangani banyak proses yang berjalan bersama-sama (konkurensi) adalah masalah-masalah seperti: bagaimana komunikasi antar proses-proses tersebut. Mahasiswa mengetahui komponen-komponen yang membangun sebuah sistem komputer 2.

Politeknik Telkom Sistem Operasi 4. Sulit untuk melacak kesalahan pada program. Sistem Operasi 51 . berbagai pakai variabel global a. 2. Berbagi pakai sumber daya memiliki resiko tinggi. 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. 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. Ketika hal ini dilakukan timbul beberapa masalah. 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.2 Prinsip-prinsip Konkurensi Pada komputer yang menjalankan multiprogramming prosesproses dijalankan bergantian dengan cepat oleh prosesor sehinga tampak seolah-olah berjalan bergantian. 3. Sulit bagi sistem operasi untuk memanajemen alokasi sumber daya komputer secara optimal. Salah satu masalah yang ditimbulkan dari berbagi pakai sumber daya adalah race condition. Sebagai contoh: jika ada dua proses P1 dan P2. yaitu: 1. 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. Hal ini dikarenakan hasil yang sama tidak determinisitik dan sulit diproduksi ulang. Pada contoh ini pihak yang kalah balapan (yang terakhir mengubah nilai variabel a) adalah yang menentukan nilai akhir dari variabel a.

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

Proses-proses saling mengetahui keberadaan proses lain secara tidak langsung. yaitu: Sistem Operasi 53 . 3. Pada jenis interaksi pertama proses-proses yang berjalan berbarengan mengalami konflik ketika mencoba mengakses sumber daya yang sama pada waktu yang bersamaan. 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.Politeknik Telkom Sistem Operasi berdasarkan derajat pengetahuan proses-proses terhadap adanya proses lainnya: 1. 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. Untuk mengendalikan proses-proses yang saling berkompetisi setidaknya ada tiga masalah yang dihadapi. Proses-proses tidak saling mengetahui keberadaan proses lain. 2. Pada kasus ini meski tidak bekerja sama tetapi sangat mungkin terjadi kompetisi untuk mendapatkan sumber daya kompuer tertentu. 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. Proses-proses tersebut dimaksudkan untuk bekerja independen dan tidak dimaksudkan untuk saling bekerja sama.

dll).1 Persayaratan untuk mutual exclusion Untuk menerapkan mutual exclusion sebuah sistem harus memenuhi kebutuhan-kebutuhan sebagai berikut: 1. Starvation Mutual exclusion adalah konsep sedemikian sehingga hanya satu proses yang boleh mengakses/menggunakan sebuah sumber daya yang tidak bisa dipakai berbarengan (contohnya: printer. Mutual exclusion 2. Mutual exclusion harus dapat dipaksakan 54 Sistem Operasi . Instruksi-instruksi yang dieksekusi ketika mengakses sebuah sumber daya disebut sebagai critical section dan sumber daya tersebut dikenal sebagai critical resource.2. Seandainya P1 sedang mengakses R1 dan P2 sedang mengakses R2 maka P1 tidak dapat mengakses R2 dan sebaliknya P2 juga tidak dapat mengakses R1. Penerapan mutual exclusion dapat menyebabkan dua masalah. 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. Saat inilah kedua proses tidak dapat melanjutkan proses eksekusi dan deadlock terjadi. Deadlock 3. Mutual excluision mengharuskan pada suatu saat hanya ada satu proses yang berada pada kondisi critical section. kartu jaringan. 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.Politeknik Telkom Sistem Operasi 1. Misalkan proses P1 dan P2 membutuhkan sumberdaya R1 dan R2 untuk menyelesaikan critical section masing-masing. yaitu deadlock dan starvation.

Sebuah proses dapat memaksakan mutual exclusion dengan cara seperti di bawah ini: while (true) { /* matikan interupsi */. Tidak boleh terjadi sebuah proses tertahan dari memasuki critical section dalam waktu yang tidak pasti: tidak boleh ada deadlock dan starvation 4. /* masuk ke critical section */. Tidak asumsi yang dibuat mengenai kecepatan proses dan jumlah prosesor Sebuah proses berada dalam critical section untuk waktu yang terbatas. Sistem Operasi 55 .2. 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. 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. /* nyalakan interupsi */.2 Dukungan Perangkat Keras untuk Mewujudkan Mutual Exclusion 4.Politeknik Telkom Sistem Operasi 2.3 Interrupt Disabling Apabila sebuah proses yang memasuki critical section dapat diinterupsi eksekusinya maka mutual exclusion menjadi tidak terjamin penerapannya. /* masuk ke non-critical section */.2. Proses yang berhenti sementara pada bagian non critical harus dapat berhenti tanpa mengganggu proses yang lain 3.

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. atau reading dan testing. 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.2. Selain itu solusi ini tidak bekerja pada lingkungan multiprosesor di mana beberapa proses dapat dijalankan bersamaan masing-masing dengan prosesor yang berbeda. Cara ini memiliki biaya yang mahal dikarenakan akan membatasi fleksibilitas prosesor dalam mengubah proses yang dieksekusi.2. Instruksi test and set 2. Dikarenakan critical section tidak dapat diinterupsi maka mutual exclusion menjadi terjamin penerapannya. Instruksi exchange 4. Dua bentuk instruksi yang diimplementasi antara lain: 1.5 Instruksi Test and Set Instruksi test and set dapat didefinisikan seperti di bawah ini: boolean testset (int i) { if(i==0) { i=1.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.4 Instruksi-instruksi Mesin Khusus Interrupt disabling tidak dapat digunakan pada mesin dengan banyak prosesor dikarenakan tidak ada mekanisme untuk melakukan interupsi antar prosesor. return true. 56 Sistem Operasi . 4.

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

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. Setelah proses meninggalkan critical section proses akan menukarkan kembali nilai bolt menjadi 0.2.7 Sifat-sifat Pendekatan Instruksi Mesin Keuntungannya: 1. 4. register=temp. parBegin(P(1). } Sistem Operasi /*lain-lain*/ } } void main() { bolt=0. } Instruksi Test and Set Tabel 4-2 Mutual exclusion dengan dukungan perangkat keras Instruksi Exchange 4. } Instruksi ini menukar nilai dalam sebuah register (lokasi memori dalam prosesor) dengan nilai dalam sebuah lokasi memori.P(2).6 Instruksi Exchange Instruksi exchange dapat didefinisikan seperti di bawah ini: void exchange (int register. memory=register. temp=memory. 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. …. Tabel 4-1 memperlihatkan bagaimana mutual exclusion dapat diimplementasi dengan instruksi ini.Politeknik Telkom } void main() { bolt=0. parBegin(P(1).2. P(n)). dapat digunakan pada lingkungan satu (uni) atau banyak (multi) prosesor yang berbagi pakai main memory 58 Sistem Operasi . …. int memory) { int temp. P(n)).P(2).

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

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

Bentuk semaphore yang pertama sering pula disebut sebagai counting semaphore atau general semaphore. Kebijakan yang digunakan untuk mengeluarkan proses dari antrian proses yang diblok pada semaphore dapat bermacammacam bentuknya. Operasi semWaitB memeriksa nilai semaphore. 3. Bentuk yang paling adil adalah First In First Out (FIFO). Contoh dari mekanisme semaphore dapat dilihat pada gambar 4-1 dengan kondisi awal terdapat proses A.Politeknik Telkom Sistem Operasi 2. dan D dengan keterhubungan sedemikan sehingga proses A. B. Jika nilainya satu maka nilainya diubah menjadi nol dan proses melanjutkan eksekusi. Proses yang paling lama diblok adalah yang keluar paling awal. Urutan kejadian pada gambar dapat dijelaskan sebagai berikut: Sistem Operasi 61 . Juka ada maka proses yang telah diblok oleh operasi semWaitB akan dilepaskan dari status diblok dan nilai dari semaphore diubah menjadi satu. B. Semaphore yang mendefinisikan kebijakan melepas proses dari antrian dikenal sebagai strong semaphore sedangkan yang tidak mendefinisikannya disebut sebagai weak semaphore. Operasi semSignalB memeriksa apakah ada proses yang diblok pada semaphore ini. dan C bergantung pada hasil yang dikeluarkan proses D. 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. Dikarenakan nilai semaphore s menjadi -1 maka proses B akan diblok dan memasuki antrian blocked. Proses C yang memanggil instruksi semWait kemudian diblok dan masuk ke antrian blocked dan nilai semaphore menjadi -1 (tidak tampak di gambar). 6. 7.Politeknik Telkom Sistem Operasi 1. Ketika dieksekusi proses C akan mendapatkan hasil yang dikeluarkan oleh proses D. 4. Proses D yang telah selesai langsung bergabung pada antrian ready dan proses C dieksekusi. B kemudian dieksekusi dan memanggil instruksi semWait. 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. 2. 3. Proses D kembali dijalankan. B. dan D dalam kondisi ready. Selanjutnya proses A dan B juga mengalami hal yang sama dengan proses C. 5. Awalnya A sedang berjalan. Pada putaran berikutanya proses D akan melepaskan proses A dan B dari antrian blocked 62 Sistem Operasi . Pada tahap ini akhirnya nilai semaphore menjadi -3. mengeluarkan hasil baru dan memanggil instruksi semSignal sehingga nilai semaphore menjadi -2 dan proses C keluar dari antrian blocked masuk ke antrian ready. C.

Pada umumnya sistem operasi menyediakan fasilitas untuk strong semaphore. Sistem Operasi 63 . 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.

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 .

Sebuah proses memasuki monitor dengan memanggil salah satu prosedur di dalam monitor tersebut. urutan inisialisasi. Monitor dengan notify dan broadcast Sistem Operasi 65 . Monitor sendiri adalah sebuah modul program yang memiliki satu atau beberapa prosedur. Monitor dengan signal 2. 2. Monitor memiliki karakteristik sebagai berikut: 1. Monitor sendiri memiliki beberapa alternative implementasi seperti: 1. Proses lain yang hendak mengakses pada waktu yang bersamaan harus menunggu proses pertama selesai. Data lokal hanya bisa diakses oleh prosedur yang ada di dalam monitor. Pada satu saat hanya ada satu proses yang bisa menggunakan prosedur di dalam monitor.Politeknik Telkom Sistem Operasi Monitor diajukan sebagai solusi dari masalah yang dimiliki semaphore. dan data lokal. 3. 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. Setelah kondisi terpenuhi dan monitor kembali tersedia proses tadi dapat kembali berjalan pada posisi sebelum ia diblok. Untuk melindungi struktur data yang dibagi pakai bersama data tersebut dapat diletakkan di dalam monitor. Untuk dapat digunakan dalam lingkungan yang konkuren monitor harus menyediakan fasilitas sinkronisasi bagi prosesproses yang menggunakannya.

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

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. Berdasarkan empat kondisi yang telah disebutkan dapat dibuat tiga kombinasi kondisi yang umum digunakan pada sebuah sistem yaitu: 1. Blocking send, blocking receive 2. Nonblocking send, blocking receive 3. Nonblocking send, 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. 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. Saat pesan tidak juga diterima proses dapat menunggu terus tanpa kepastian. Non blocking receive menyelesaikan masalah ini namun sisi buruknya adalah pesan dapat hilang ketika prosedur receive dipanggil sebelum pesan sampai. 4.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. Prosedur receive memerlukan identitas proses yang akan mengirimkan pesan. Konsekuensinya proses yang memanggil receive perlu mengetahui identitas dari proses yang akan mengirimkan pesan. Cara ini
Sistem Operasi 67

Politeknik Telkom

Sistem Operasi

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

68

Sistem Operasi

Politeknik Telkom

Sistem Operasi

4.3.5 Format Pesan Format pesan amat bergantung pada fasilitas pertukaran pesan dan jumlah komputer yang terlibat dalam pertukaran pesan. 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. Pendekatan yang lebih fleksibel adalah menggunakan pesan yang panjangnya tidak tetap. Pesan dapat dibagi menjadi bagian kepala (header) yang berisi informasi tentang pesan dan badan (body) tempat menampung isi pesan sebenarnya. 4.3.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. Alternatifnya ialah dengan menyediakan fasilitas prioritas pada pesan atau membolehkan penerima pesan memeriksa antrian untuk mengambil pesan.

Sistem Operasi

69

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, membagi pakai dan terjadinya kompetisi untuk sumber daya komputer, sinkronisasi aktivitas proses-proses, dan alokasi prosesor. Pada komputer yang menjalankan multiprogramming prosesproses dijalankan bergantian dengan cepat oleh prosesor sehinga tampak seolah-olah berjalan bergantian. Fitur-fitur utama dari sistem operasi modern yang paling menonjol adalah kemampuan sistem operasi untuk melakukan Multiprogramming, multiprosesing dan distributed prosesing.

Soal Latihan

1. Apa yang harus diperhatikan dalam hal konkurensi 2. Apa yang dimaksud dengan konkurensi dan sebutkan contoh dari konkurensi 3. Apa yang dimaksud dengan semaphore, sinkronisasi, message passing dalam hal konkurensi 4. Jelaskan persyaratan untuk mutual exclusion 5. Sebutkan menurut yang anda ketahui tentang algoritma antrian.

70

Sistem Operasi

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. Hal ini disebabkan nantinya sistem operasi bekerja untuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi.

Tujuan

1. Mahasiswa mengetahui
Sistem Operasi

komponen-komponen yang
71

Politeknik Telkom

Sistem Operasi

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

5.1 Pendahuluan
Dalam sistem multiprogramming beberapa program menempati memori utama sekaligus. Apakah semuanya akan dijalankan dalam waktu yang bersamaan? Tidak, program akan dijalankan bergantian. Yang mana yang dijalankan terlebih dahulu? Masalah ini yang ditangani penjadwalan. Tujuan dari penjadwalan Prosesor adalah untuk memberikan prosesor pada setiap process sepanjang waktu sedemikian hingga memenuhi tujuan sistem : rata-rata response time yang cepat, lebih banyak program dapat diselesaikan (throughput), dan efisiensi Prosesor.

5.2 Tipe penjadwalan Prosesor
Aktivitas penjadwalan dapat dirinci sebagai berikut: 1. Apakah masih akan menerima program baru client untuk masuk ke pool process? Ini disebut long-term scheduling. 2. Apakah program di pool process akan dimasukkan ke memori? Ini disebut medium-term scheduling. 3. Dari program-program yang ada di memori utama, yang mana yang akan dijalankan oleh Prosesor? Ini disebut short-term scheduling. Dari process-process yang menunda permintaan IO yang mana yang akan ditangani oleh piranti IO yang tersedia? Ini disebut I/O scheduling.
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

Politeknik Telkom

Sistem Operasi

Medium term

Gambar 5-8 Penjadwalan dan Perpindahan Status Process

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

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

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 .

dan turnaround time-nya.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. TAT. seperti ditunjukkan pada Tabel 5-3 76 Sistem Operasi . dan urutan eksekusi process yang ditunjukkan pada Gambar 5-2 dapat dihitung waktu selesai.

80 20 14 2.80 2.29 10.00 4 4 1. q=4 SPN SRT HRRN FB.67 17 15 2.preemptive : process yang sedang dijalankan dapat dihentikan di tengah jalan. .5 14 6 3. q=1 FB.71 7.00 13 9 2.nonpreemptive : process yang sedang dijalankan tidak dapat dihentikan di tengah jalan.50 19 11 5.80 19 13 2.60 1.5 11 3 1.84 7.50 13 9 2.80 20 14 2.00 2.17 9 7 1.00 15 7 3.50 18 12 2.17 18 16 2.25 16 12 3.80 20 14 2.60 2.75 15 11 2.75 8 4 1.56 10.60 2. Dibutuhkan usaha yang lebih agar sistem dapat mendukung aktivitas preemptive.00 3 3 1.00 18 14 3.50 11 3 1.00 3 3 1.5 9 7 1.17 15 13 2. Sistem Operasi 77 .20 1.50 10 2 1.00 15 7 3.60 20 14 2.63 RR.71 10.17 20 18 3. q=2^i Pada algoritma di atas ada situasi dimana process yang sedang dikerjakan dapat atau tidak dapat dihentikan di tengah jalan.80 20 14 2.33 8.00 4 4 1.33 4 4 1.00 3 3 1.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.33 3 3 1.00 17 15 2.00 2.14 10. q=1 RR.59 8.80 20 12 6.60 2.25 17 13 3. Hal tersebut disebut mode keputusan: .40 20 14 2.25 11 7 1.00 Algorit ma FCFS 1.

kelompok. 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 . 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 Sistem Operasi Karakteristik enam algoritma penjadwalan secara keseluruhan ditunjukkan dalam Tabel 5-3 5. Program-program dari suatu kelompok biasanya saling terkait. yang besar mendapat kuantum waktu yang lebih besar dan yang kecil mendapatkan kuantum waktu yang kecil.5 Penjadwalan Fair-Share Algoritma-algoritma yang dibahas di atas berlaku pada process-process yang mandiri. Dalam pemrograman berorientasi objek dimungkinkan satu program terdiri dari beberapa thread. Pengguna membutuhkan penjadwalan yang fairshare. process dari pengguna yang satu tidak terkait dengan process pengguna lain. berbagi yang lebih adil.

Ada lima kategori paralelisme yang berbeda derajat granularity-nya.Politeknik Telkom si Kecil Process pendek atau yang menung gu I/O bisa lama. waktu eksekusi. waktu tunggu e = executing time. waktu layan total 5. selama ini s = total service time. Seberapa sering sinkronisasi process-process dalam Prosesor-Prosesor itu dilakukan disebut synchronization granularity. 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 .6 Penjadwalan Multiprosesor Ada banyak Prosesor dalam sistem multiProsesor. 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.

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

preemptive smallest number of threads first : mirip sebelumnya. tugas yang sedang dijalankan dapat dihentikan. Prioritas tertinggi diberikan pada program dengan jumlah thread terkecil. jika ada tugas dengan prioritas lebih tinggi. ada pilihan berikut : 1.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. Sistem Operasi 81 . first come first served (FCFS) : thread-thread dari job yang datang diantrikan dalam antrian bersama. jika sebelumnya dikerjakan sampai selesai. Program baru. akan diperhatikan untuk jadwal berikutnya. • static priority-driven preemptive approaches : tugas-tugas diprioritaskan berdasarkan batasan waktu mereka. Pada saat dijalankan. jika datang pada saat jadwal dijalankan.Politeknik Telkom Sistem Operasi Dalam pendekatan load sharing. Prosesor menganggur akan memanggil thread terdepan. disini dapat dihentikan dulu untuk melayani program baru dengan jumlah thread lebih sedikit. smallest number of threads first : Ada antrian sesuai prioritas. 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. deadline mana yang terdekat. Disebut hard real time. jika tidak ada keharusan selesai dalam deadline. itu yang dijadwal duluan. 2. jika tugas harus selesai dalam deadline. Disebut soft real time. 5.

maka akan diterima untuk dijalankan. kapan harus mulai dikerjakan (starting deadline).4.Politeknik Telkom Sistem Operasi • dynamic planning-based approaches : tugas-tugas sudah direncanakan untuk dijalankan. 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. berapa lama waktu eksekusi (processing time). • Tugas yang akan dijadwalkan musti dilengkapi dengan data : kapan siap dijalankan (ready time). jika deadline tidak terpenuhi. apa saja yang dibutuhkan (resource requirement). dynamic best effort approaches : jalankan semua tugas yang datang. tingkat prioritas (priority). apakah ia terdiri dari sub-sub tugas (subtask structure). kapan harus selesai (completion deadline). tugas-tugas ini akan dijadwalkan seperti pada Gambar 5. batalkan. 0 25 50 75 100 A1 A2 A3 A4 A5 Earliest deadline A scheduling B 82 Sistem Operasi . hanya jika ada tugas baru datang dan memungkinkan untuk dijalankan.

Penjadwalan dapat dilakukan berdasarkan kapan tugas itu harus mulai dikerjakan. 2. Sebutkan yang lain. Apa beda penjadwalan preemptive dengan nonpreemptive? 4. aperiodic.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. Apa beda turnaround time dengan response time? 3. atau kapan tugas itu harus selesai. Tidak hanya menjadwal eksekusi program di memori utama yang ditangani dalam penjadwalan Prosesor. Soal Latihan 1. Apa nama penjadwalan ini? Sistem Operasi 83 . Program dijalankan dari yang pertama datang. tetapi hanya sebatas kuantum waktu. tidak dikerjakan sampai selesai.

Perhatikan kumpulan process berikut. Program dijalankan dari yang memiliki prediksi waktu eksekusi terpendek.2 dan Tabel 5. Apa beda tugas periodic dan aperiodic dalam sistem real time? 9.Politeknik Telkom Sistem Operasi 5. Apa nama penjadwalan ini? 6. Process 84 Sistem Operasi . Pemrosesan paralel atau multitasking dalam suatu aplikasi tunggal. 8. Yang mirip dengan penjadwalan Shortest Process Next pada versi load sharing adalah …. pada ukuran grain termasuk dalam level ….3. tidak dikerjakan sampai selesai. 7. 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. tetapi hanya sebatas kuantum waktu.

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.3.Politeknik Telkom Sistem Operasi 10. Tunjukkan penjadwalan tugas real time berikut.

2. 3. Mahasiswa mengetahui teknik pembagian memori utama oleh sistem operasi. Tujuan 1. Mahasiswa mengerti konsep memori maya (virtual 86 Sistem Operasi . Mahasiswa mengetahui bagaimana sistem operasi memanajemen memori utama. 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.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.

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

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

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

carilah lubang pertama di antrian (pencarian dari posisi cursor saat ini) yang mampu menampung program baru. 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 . buatlah daftar lubang. cara ini disebut next fit. cara ini disebut first fit. cara ini disebut best fit.carilah lubang dengan ukuran terkecil terdekat dengan ukuran program baru. Jika ada program baru masuk. 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. ada pilihan : .

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

Politeknik Telkom Sistem Operasi 6. lihat Gambar 6. alamat 92 Sistem Operasi .1. 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. program tidak harus menempati lokasi yang sama dengan lokasi ketika ia dikeluarkan dari memori utama. hal itu dimungkinkan terjadi. Pada metoda compaction juga. Pada dynamic partitioning juga dimungkinkan terjadi.4 Relokasi Di depan disebutkan ada kebutuhan kesanggupan relokasi program di memori utama. pada antrian tunggal partisi berukuran tidak sama. Pada fix partition berukuran sama. program dapat direlokasi. process P2 dapat menempati lokasi yang berbeda untuk kedua kalinya.

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

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

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

0 A.3 D.2 A.3 D.0 C.1 C.Politeknik Telkom Sistem Operasi No Frame Memori A.2 C.1 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 C.0 C.2 C.2 C.0 A.1 D.4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 C.3 B.2 C.3 Memori A.0 B.1 C.2 A.1 A.0 A.3 Memori A.2 C.1 A.1 A.2 A.3 D.0 D.1 B.

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

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

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

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

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

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

Prosesor mengurusi perintah I/O dalam perilaku proses ang mengerjakan modul I/O . Terdapat sebuah modul DMA yang mengontrol erubahan data antara main memori dan modul I/O. Direct Memory Access (DMA). Pada komputer personal (PC).Politeknik Telkom Sistem Operasi 7.3. Sedangkan mainframe yang berukuran besar umumnya menggunakan Sistem Operasi 103 . atau bahkan delapan perangkat yang sejenis.1 Pengendali Perangkat Unit M/K mengandung komponen mekanis dan elektronis. bukan dengan perangkat secara langsung. Interrupt-driven I/O. 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. 7. Programmed I/O. Prosesor mengirimkan sebuah request pada mekanisme transfer sebuah blok data ke modul DMA dan diinterupsi hanya setelah semua blok data telah ditransfer.3 Organisasi Fungsi I/O Terdapat teknik pada pemrograman I/O yaitu: 1. Kartu pengendali biasanya memiliki sebuah penghubung. empat. Beberapa pengendali dapat menangani dua. Komponen elektronis ini disebut pengendali perangkat (device controllers) atau adapter. 2. 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. Perangkat mekanis berupa perangkat itu sendiri. komponen ini biasanya berupa kartu sirkuit yang dapat dimasukkan ke dalam slot pada motherboard komputer. prosesor mengurusi perintah I/O dalam perilaku proses. Sistem operasi hampir selalu berhubungan dengan pengendali.

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

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

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

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

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

Bus I/O I/O I/O pengendali perangkat mengirimkan data yang dimaksud dan mematikan sinyal pada DMA-request. dan mengirimkan sinyal melalui kabel DMA-acknowledge. Gambar 7-20 kemungkinan konfigurasi DMA Sistem Operasi 109 . Bus Tunggal. Bus Tunggal. Pengendali perangkat mengirimkan sinyal melalui DMA-request ketika akan mentransfer data sebanyak satu word.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. Setelah sinyal melalui kabel DMA-acknowledge diterima. DMA terintegrasi dengan I /O Bus Sistem CPU Modul DMA Memori Bus I/O I/O c.4. CPU Modul DMA CPU I/O Memori a.Politeknik Telkom Sistem Operasi 7. Hal ini kemudian akan mengakibatkan pengendali DMA memasukkan alamat-alamat yang dinginkan ke kabel alamat memori.

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

2. 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. Gambar 7-21 Struktur kernel. Karakteristik dari perangkatperangkat tersebut sangat bervariasi. subsistem M/K dapat bersifat mandiri dari perangkat keras. sedangkan blok memindahkan sekumpulan bytes dalam 1 unit. Sequential atau Random-access: Sebuah perangkat yang sekuensial memindahkan data dalam Sistem Operasi 111 . Hal ini sangat menguntungkan dari segi pengembangan perangkat keras. masingmasing sistem operasi memiliki standarnya sendiri untuk device driver antarmukanya. Gambar ini diadaptasi dari [Silberschatz2002. Dengan demikian. keberadaan device driver pada masing-masing peralatan M/K akan berfungsi meng-enkapsulasi perbedaanperbedaan yang ada dari setiap anggota kelas-kelas yang umum tadi. beberapa yang dapat membedakannya adalah dari segi. 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. halaman 467] 1.Politeknik Telkom Sistem Operasi Selanjutnya. Character-stream atau block: Sebuah stream karakter memindahkan per satu bytes.

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

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

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

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

9.Politeknik Telkom Sistem Operasi penyimpanan pada memori utama atau pada disk. dan spooling.2 Buffering Buffer adalah area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua perangkat atau antara perangkat dan aplikasi. 7. caching. melalui teknik yang disebut buffering. 116 Sistem Operasi .

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

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

Penulisan disk juga terakumulasi ke dalam buffer cache selama beberapa detik. Ketika kernel menerima sebuah permintaan berkas M/K. atau yang sedang dibaca dan ditulis secara berulang-ulang.Politeknik Telkom Sistem Operasi fisik. 7. Cara ini akan menunda penulisan untuk meningkatkan efisiensi M/K akan dibahas pada bagian Remote File Access. untuk menghemat copy semantics dan membuat penjadualan M/K menjadi efisien. 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. Buffer ini juga digunakan sebagai cache. jadi transfer yang besar akan dikumpulkan untuk mengefisiensikan jadual penulisan. sebuah physical disk I/O dapat dihindari atau bahkan tidak dipakai. Caching dan buffering adalah dua fungsi yang berbeda. sistem operasi menggunakan buffer pada memori utama untuk menyimpan data. untuk meningkatkan efisiensi IO untuk berkas yang digunakan secara bersamasama oleh beberapa aplikasi. tetapi terkadang sebuah daerah memori dapat digunakan untuk keduanya. Jika sudah tersedia. dan kemudian dikopi lagi ke dalam cache secondary and primary dari CPU.10 Spooling dan Reservasi Perangkat Sistem Operasi 119 . kernel tersebut mengakses buffer cache untuk melihat apakah daerah memori tersebut sudah tersedia dalam memori utama. sebagai contoh.

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

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

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

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

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

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

2. 126 Sistem Operasi . dan untuk membaca data dari peranti digunakan read()/ getmsg() system calls. I/O Stream terdiri dari: 1. stream modules yang berada di antara stream head dan driver end.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). driver ends yang mengatur peranti-peranti 3. maupun menyampaikan data ke proses melalui read queue dengan cara message passing. stream head yang berhubungan langsung dengan proses.Politeknik Telkom Sistem Operasi 7. Untuk memasukkan ke dalam stream digunakan ioctl() system call. yang bertugas menyampaikan data ke driver end melalui write queue. sedangkan untuk menuliskan data ke peranti digunakan write()/ putmsg() system calls.

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

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

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

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

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

yang tersedia dari aplikasi atau bagian lain dari kernel.Politeknik Telkom Sistem Operasi Subsistem kernel M/K menyediakan layanan yang berhubungan langsung dengan perangkat keras. yaitu menyangkut perbedaan kecepatan produsen-konsumen. sedangkan buffering menyalin data asli agar dapat menyimpan satu-satunya informasi data. 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 . Caching menyimpan salinan data asli pada area memori dengan tujuan agar bisa diakses lebih cepat. 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. Fungsi buffering dan caching memiliki perbedaan dalam hal tujuan. Ada tiga alasan melakukan layanan Buffering. perbedaan ukuran transfer data dan dukungan copy semantics untuk aplikasi M/K. Subsistem M/K mengkoordinasi kumpulan-kumpulan sevice yang banyak sekali. Penanganan permintaan M/K dilakukan dengan suatu mekanisme yang dideskripsikan sebagai sebuah life cycle.

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

Hal ini disebabkan nantinya disk bekerja untuk mengatur komponenkomponen tersebut. Tujuan 134 Sistem Operasi .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.

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

efisiensi dipengaruhi oleh kecepatan waktu akses dan besarnya disk bandwith. sebuah drive menaikan kecepatan putarannya ketika disk head bergerak dari zona luar ke zona dalam.Politeknik Telkom Sistem Operasi rusak. Waktu rotasi disk adalah waktu tambahan yang dibutuhkan untuk menunggu perputaran disk agar head dapat berada di atas sektor yang diinginkan. 136 Sistem Operasi . Metode ini digunakan dalam CD-ROM dan DVD-ROM. Trek di zona terluar memiliki 40% sektor lebih banyak dibandingkan dengan track di zona terdalam. Pada media yang menggunakan ketentuan Constant Linear Velocity (CLV) kepadatan bit tiap track sama. semakin besar panjangnya. CAV memungkinkan aliran data yang konstan karena kepadatan bit dari zona terdalam ke zona terluar semakin berkurang. jumlah dari sektor tidak track tidak konstan.2 Penjadwalan Disk Penjadualan disk merupakan salah satu hal yang sangat penting dalam mencapai efisiensi perangkat keras. Waktu pencarian adalah waktu yang dibutuhkan disk arm untuk menggerakkan head ke bagian silinder disk yang mengandung sektor yang diinginkan. dan juga semakin banyak sektor yang dimilikinya. tetapi pemetaan menyembunyikan hal ini dengan mensubstitusikan dengan sektor lain yang diambil dari suatu tempat di disk. sehingga dengan kecepatan rotasi yang konstan diperoleh aliran data yang konstan. Bagi disk drives. 8. Waktu akses memiliki dua komponen utama yaitu waktu pencarian dan waktu rotasi disk (rotational latency). Disk bandwith adalah total jumlah bytes yang ditransfer dibagi dengan total waktu dari awal permintaan transfer sampai transfer selesai. Metode lain yang digunakan agar rotasi tetap konstan dan aliran data juga konstan dikenal dengan metode CAV (Constant Angular Velocity). Kita dapat meningkatkan waktu akses dan bandwidth dengan menjadualkan permintaan dari M/K dalam urutan tertentu. Untuk menjamin aliran data yang sama. jadi semakin jauh sebuah track dari tengah disk. Kedua.

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

88. 20.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. 60. Gambar 8-25 Penjadwalan FCFS (Gambar ini diadaptasi dari [Silberschatz2002. 25. 37. 10. maka SSTF memilih permintaan yang paling dekat posisinya di disk terhadap posisi head terakhir. Pergerakan dari contoh diatas yaitu 50 ke 48.Politeknik Telkom Sistem Operasi silinder 88 dapat dilayani setelah permintaan 78. lalu ke 45. 56.) 8. permintaan paling dekat dengan posisi head saat itu (50) adalah silinder 48. halaman 494]. 70. 78. Jika kita penuhi 138 Sistem Operasi . setelah selesai baru melayani permintaan 48. maka pergerakan total head dapat dikurangi. Perhatikan contoh antrian permintaan yang kita sajikan pada penjadualan FCFS.3. 5. Karena waktu pencarian meningkat seiring dengan jumlah silinder yang dilewati oleh head. sehingga dengan demikian pendayagunaan akan meningkat.

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

Dalam pergerakannya yang seperti lift itu. Algoritma SCAN disebut juga Algoritma lift/ elevator karena algoritma ini cara kerjanya sama seperti algoritma yang umum dipakai oleh lift untuk melayani penggunanya. setelah sampai di lantai tertinggi. kemudian setelah sampai di silinder paling ujung. disk arm hanya dapat melayani permintaan-permintaan yang berada di depan arah geraknya terlebih dahulu. baru lift akan berbalik arah geraknya untuk melayani orang-orang yang akan turun.Politeknik Telkom Sistem Operasi Gambar 8-26 Penjadwalan SSTF . disk arm akan berbalik arah geraknya menuju ke silinder paling ujung lainnya. kemudian berbalik arah geraknya untuk melayani permintaan tersebut.3. permintaan tersebut harus menunggu sampai disk arm mencapai salah satu silinder paling ujung dari disk.3 Penjadwalan SCAN Pada algoritma ini disk arm bergerak menuju ke silinder paling ujung dari disk. 140 Sistem Operasi . Bila ada permintaan yang berada di belakang arah geraknya. halaman 494] 8. yaitu lift akan melayani orang-orang yang akan naik ke atas dulu.Gambar ini diadaptasi dari [Silberschatz2002.

“Penjadualan SCAN”) Jika disk head sedang berada di silinder 50. yaitu C-SCAN yang akan kita bahas berikutnya. Keunggulan dari algoritma SCAN adalah total pergerakan disk arm memiliki batas atas.Politeknik Telkom Sistem Operasi Contoh: (lihat Gambar. yaitu: silinder 56. Karena kelemahan yang kedua inilah muncul modifikasi dari algoritma SCAN. Sistem Operasi 141 . maka permintaan yang dapat dilayani berikutnya adalah yang terdekat dengan silinder 50. Begitu disk arm berbalik arah geraknya dari silinder 99. yaitu 2 kali dari jumlah total silinder pada disk. tetapi disk arm harus bergerak sampai silinder 99 dulu. maka permintaan-permintaan baru itulah yang akan dilayani. maka silinder yang berada dekat di depan arah gerak disk arm baru saja dilayani. baru kemudian dapat berbalik arah geraknya. Tetapi di samping itu masih ada beberapa kelemahan yang dimiliki oleh algoritma ini. Dari contoh Gambar. Maka setelah disk arm berbalik arah gerak. permintaan di silinder 45 baru dapat dilayani. Kelemahan lain dari algoritma SCAN yaitu dapat menyebabkan terjadinya starvation. Bila kemudian bermunculan permintaan-permintaan baru yang dekat dengan silinder 99 lagi. sedangkan silinder-silinder yang dekat dengan silinder 0 sudah lama menunggu untuk dilayani. 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. tetapi masih berada di depan arah geraknya. dan sedang bergerak menuju silinder 99. Begitu seterusnya disk arm melayani permintaan yang berada di depannya sampai disk arm mencapai silinder 99 dan berbalik arah gerak menuju ke silinder 0. “Penjadualan SCAN” terlihat salah satu kelemahan algoritma SCAN: permintaan di silinder 88 sebenarnya sudah merupakan permintaan yang paling ujung. sehingga permintaan-permintaan yang dekat dengan silinder 0 akan semakin "lapar".

Pada algoritma SCAN. Contoh: (lihat Gambar. Perbedaan C-SCAN dengan SCAN hanya pada bagaimana pergerakan disk arm setelah sampai ke salah satu silinder paling ujung. maka disk arm akan bergerak cepat ke silinder paling ujung lainnya tanpa melayani permintaan. Kemudian setelah sampai di silinder 0. “Penjadualan C-SCAN”) Setelah sampai di silinder 99. baru disk arm akan bergerak ke arah silinder 99 lagi sambil melayani permintaan. disk arm akan bergerak dengan cepat ke silinder 0 tanpa melayani permintaan selama dalam perjalanannya.Politeknik Telkom Sistem Operasi Gambar 8-27 Penjadwalan SCAN 8.3. sedangkan pada algoritma C-SCAN sesudah mencapai silinder paling ujung. 142 Sistem Operasi . disk arm akan berbalik arah menuju ke silinder paling ujung yang lain sambil tetap melayani permintaan yang berada di depan arah pergerakan disk arm.4 Penjadwalan C-SCAN Algoritma Circular SCAN (C-SCAN) merupakan hasil modifikasi algoritma SCAN untuk mengurangi kemungkinan starvation yang dapat terjadi pada SCAN.

Oleh karena itu disk arm dapat langsung berbalik Sistem Operasi 143 .Politeknik Telkom Sistem Operasi Dengan pergerakan yang seperti demikian. disk arm dapat langsung berbalik arah geraknya.3. Penjadualan LOOK seperti SCAN yang lebih "pintar". Tetapi dalam algoritma C-SCAN masih terkandung kelemahan yang juga dimiliki oleh algoritma SCAN. seolah-olah disk arm hanya bergerak 1 arah dalam melayani permintaan. Gambar 8-28 Penjadwalan C-SCAN 8. Ketika disk head sudah selesai melayani permintaan di silinder 88. Bila tidak ada lagi permintaan di depannya. algoritma ini akan "melihat" bahwa ternyata di depan arah pegerakannya sudah tidak ada lagi permintaan yang harus dilayani. algoritma ini seolah-olah seperti dapat "melihat". 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”).5 Penjadwalan LOOK Sesuai dengan namanya. Contoh: (lihat Gambar. 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. C-SCAN. dan LOOK. Kelemahan algoritma ini sama seperti kelemahan algoritma SCAN bahwa dapat terjadi starvation untuk situasi yang sama pula dengan yang menyebabkan terjadinya starvationpada algoritma SCAN. Oleh karena itulah dibuat lagi suatu algoritma yang lebih baik untuk memperbaiki algoritma ini.6 Penjadwalan C-LOOK Algoritma ini berhasil memperbaiki kelemahan-kelemahan algoritma SCAN. yaitu: C-LOOK.Politeknik Telkom Sistem Operasi arah geraknya sehingga permintaan yang menunggu untuk dilayani dapat mendapatkan pelayanan lebih cepat. 144 Sistem Operasi . Algoritma C-LOOK memperbaiki kelemahan LOOK sama seperti algoritma CSCAN memperbaiki kelemahan SCAN. Gambar 8-29 Penjadwalan LOOK 8.3.

disk arm akan bergerak dengan cepat ke silinder 5. 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. Dengan cara pergerakan disk arm yang mengadaptasi keunggulan dari C-SCAN dan LOOK.Politeknik Telkom Sistem Operasi Gambar 8-30 Penjadwalan C-LOOK Contoh: (lihat Gambar. tidak ada algoritma yang terbaik untuk semua keadaan yang terjadi. yaitu permintaan di silinder yang terletak paling dekat dengan silinder 0. setelah melayani permintaan di silinder 88. algoritma ini dapat mengurangi terjadinya starvation. dengan tetap menjaga efektifitas pergerakan disk arm. “Penjadualan C-LOOK”) dengan memiliki kemampuan "melihat" algoritma LOOK. Sistem Operasi 145 . 8. karena algoritma tersebut memiliki masalah starvation yang paling sedikit. SCAN dan C-SCAN memperlihatkan kemampuan yang lebih baik bagi sistem yang menempatkan beban pekerjaan yang berat kepada disk.

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

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

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

Politeknik Telkom Sistem Operasi Overview Penting bagi kita untuk mengetahui tentang apa itu file.1 Pendahuluan Berkas adalah sebuah unit tempat menyimpan informasi. 9. Tujuan 1. 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. Informasi yang disimpan dalam berkas harus persisten. Berkas-berkas ini diatur oleh sistem Sistem Operasi 149 . Berkas ini dapat diakses lebih dari satu proses. dalam artian tidak hilang sewaktu proses berhenti. Mahasiswa mengetahui apa yang disebut dengan File 2. dan bahkan menulis yang baru. Mahasiswa mengetahui manajemen file dalam sistem berkas.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Politeknik Telkom

Sistem Operasi

Mengakses tiap direktori dan tiap berkas dalam struktur direktori. Sangatlah dianjurkan untuk menyimpan isi dan stuktur dari keseluruhan sistem berkas setiap jangka waktu tertentu. Menyimpan juga dapat berarti menyalin seluruh berkas ke pita magnetik. Teknik ini membuat suatu cadangan salinan dari berkas tersebut jika terjadi kegagalan sistem atau jika berkas itu tidak diperlukan lagi. 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. Menghapus hubungan berkas-berkas di direktori berbeda.

10.2 Jenis Direktori
10.2.1Direktori Satu Tingkat Direktori Satu Tingkat (Single Level Directory) ini merupakan struktur direktori yang paling sederhana. Semua berkas disimpan dalam direktori yang sama.

164

Sistem Operasi

Politeknik Telkom

Sistem Operasi

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

Sistem Operasi

165

Politeknik Telkom

Sistem Operasi

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

166

Sistem Operasi

Politeknik Telkom

Sistem Operasi

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

Sistem Operasi

167

Politeknik Telkom

Sistem Operasi

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

168

Sistem Operasi

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. Gambar 10-35 General Graph Directory 10.3 Record Blocking 10.3. Kemudian mengumpulkan apa pun yang tidak ditandai pada tempat yang kosong.Politeknik Telkom Sistem Operasi Skema ini menyangkut memeriksa seluruh sistem berkas dengan menandai tiap berkas yang dapat diakses.

Fleksibel bagi user 3. Meningkatkan akses acak Kerugian : Terjadi pemborosan di tiap blok 2.2Macam Metode Blocking  Berdasar ukuran dan rentangan record. Sulit diimplementasikan shg sulit dalam pemrograman 2. Sederhana 3. Panjang variabel. Variable Length Unspanned Blocking  Record-record memp. sebagian record disimpan di blok lain Bfr = (B – P)/( R + P ) .3. Ukuran Record tak dibatasi ukuran Blok 4. Variable Length Spanned Blocking  berisi record-record yang memp. Jika 1 record tak dapat dimuat di 1 blok.Politeknik Telkom Sistem Operasi 10. Mahal dalam operasi pencarian record dan sulit diperbarui. Fixed Blocking  berisi record yang memp panjang tetap Bfr =  B/R  Keuntungan : 2. Tak terjadi pemborosan di tiap blok Kerugian : 1. 3. P = Pointer blok Keuntungan : 2. 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 . Blocking dibagi 3 metode : 1.

Politeknik Telkom Sistem Operasi  Track 1. 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. Terdapat suatu metode dalam memblocked suatu record yang semuanya talah dijelaskan pada bab ini. byte/ word  IBG a. seperti dengan satu tingka. IBG u/ mekanisme penyimpan akses berikutnya b. Tetapi secara detail direktori mempunyai tingkatan-tingkatan. Diharapkan mahasiswa dapat mengetahui lebih jelas apa yang dimaksud dengan direktori. Ukuran track = bit. Latihan Sistem Operasi 171 . berupa tree maupun berupa graf. direktori yang biasa kita ketahui adalah hanya suatu wadah untuk menyimpan file. dua tingkat. IBG mengurangi kapasitas penyimpanan yang sebenarnya c.

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

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

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

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

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

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

menyimpan blok indeks tersebut di memori 178 Sistem Operasi . contiguous allocation membutuhkan hanya satu akses untuk mendapatkan sebuah blok disk.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. untuk akses langsung. Indexed allocation lebih komplek. beberapa sistem mendukung berkas-barkas yang diakses langsung dengan menggunakan contiguous allocation dan yang diakses berurutan dengan linked allocation. Untuk linked allocation. Sebagai hasilnya. Bagaimana pun. kita butuh untuk menentukan bagaimana sistem ini akan digunakan. kita dapat menghitung alamat disk dari blok ke-i (atau blok selanjutnya) dengan cepat dan membacanya dengan langsung. Di dalam kasus ini.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. Metode ini bagus untuk akses secara berurutan. I/O Control Tingkatan yang paling rendah ini yang memiliki cara untuk memerintah/memberitahu piranti keras yang diperlukan. sebuah akses menuju blok ke-i harus membutuhkan pembacaan disk ke-i. Sebelum memilih sebuah metode alokasi. 6. Masalah ini menunjukkan mengapa alokasi yang berurutan tidak digunakan untuk aplikasi yang membutuhkan akses langsung. Untuk beberapa tipe akses. Jika terjadi hal seperti ini. akses dapat dibuat secara langsung. Jika blok indeks sudah ada dimemori. Sejak kita dapat dengan mudah menyimpan alamat inisial dari sebuah berkas di memori. 11. bagaimana pun. sistem operasi harus mempunyai struktur data yang tepat dan algoritma untuk mendukung kedua metode alokasi. maka informasi akan didapatkan secara otomatis tanpa perlu membaca lagi dari disk. kita juga dapat menyimpan alamat dari blok selanjutnya di memori dan membacanya dengan langsung.

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

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

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

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

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

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

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

dan nomor dari block disk yang pertama. atribut. semua blok dapat ditemukan. direktori dapat berisi direktori lain. program aplikasi yang berbeda dapat dimulai oleh setiap program dengan membuat direktori dalam direktori root. 186 Sistem Operasi . yang mencakup nama berkas. Nomor dari block disk yang pertama digunakan sebagai indeks dari tabel MS-DOS direktori entri.3Direktori pada MS-DOS Merupakan sistem dengan tree hierarchy directory. Mempunyai panjang 32 bytes. 11.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.6. Namun penambahan ini dapat memperlambat. Dengan sistem rantai. 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. dan menempatkan semua berkas yang bersangkutan di dalam sana. Dalam MS-DOS. Dalam MS-DOS. tergantung dari hirarki sistem berkas. Jadi antar aplikasi yang berbeda tidak dapat terjadi konflik.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

program sistem dapat digunakan untuk back up data dari disk menuju ke media penyimpanan yang lainnya. Dikarenakan disk magnetik kadang-kadang gagal. 210 Sistem Operasi . Oleh karena itu. Algoritma logging sudah dilakukan dengan sukses untuk manangani masalah dari pemeriksaan rutin. atau seluruh disk. karena penulisan dari informasi direktori yang disimpan ke disk tidak terlalu dibutuhkan secepat terjadinya pembaharuan. seperti sebuah floppy disk. 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. Hasil dari implementasinya dikenal dengan log-based transaction-oriented (atau journaling sistem berkas Latihan 1. tape magnetik. atau disk optikal. Mengapa perlu adanya recovery dan backup 3. mungkin menjadi masalah dari restoring data dari backup. Recovery dari kehilangan sebuah berkas individu. Apa yang dimaksud dengan teknik log-based-recovery. Sebutkan dan jelaskan objek dasar dalam layer virtual file system 2.

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.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.

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

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

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

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

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

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

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

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. 14.org/wiki/Distributed_system): 1. konektivitas/hubungan antar komponen. 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.wikipedia. Arsitektur ini terbagi kedalam 2 macam jenis : Thin Client-Thick Server – Client menjalankan satu fungsi. Arsitektur ini terdiri dari : a. yaitu penyaji dari tampilan aplikasi data yang diakses dari server. 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. Dengan demikian arsitektur ini dapat memberikan gambaran fisik dan logikal dari sistem. Sistem Operasi 219 . kemudian memformat dan menampilkan pada pengguna. dimana rancangan tersebut mengidentifikasi komponen beserta fungsi masing-masing komponen. Client-server — client menghubungi server untuk mendapatkan data. serta mampu menyediakan spesifikasi dari komponen-komponen sistem dan hubungannya di dalam sistem.6 Arsitektur Sistem Terdistribusi Arsitektur didefinisikan sebagai suatu rancangan untuk penyusunan dan operasi komponen komponen suatu sistem. Beberapa arsitektur sistem tersebar antara lain (http://en.

Arsitektur ini berfungsi sedikitnya memberi dua peran bagi client. sementara server hanya mengelola data saja sehingga beban client jadi bertambah. dimana client tidak hanya berperan sebagai penyaji interface saja. Gambar 14-54 Thick Client-Thin Server secara fisik 220 Sistem Operasi . Melainkan juga berfungsi mengoperasikan aplikasi.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 .

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

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

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

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

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

Server objek (Object server) .Politeknik Telkom Sistem Operasi 5. 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.Merupakan sistem jaringan dimana layanan yang diberikan server berbentuk objek. Client dan server berkomunikasi melalui objek-objek. Sumber daya yang terdapat dalam komputer disebut lokal Keterangan: 226 Sistem Operasi . Objek merupakan entitas tersendiri yang berisikan sekumpulan data dan fungsi untuk memanipulasi data tersebut.

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

Biasanya program middleware menyediakan layanan pesan (messaging services ) sehingga aplikasi-aplikasi yang berbeda-beda itu dapat berkomunikasi. server yang lain memakai mysql. Maka antar server dapat dihubungkan dengan middleware ini. Protokol server d. Sistem middleware mengikat aplikasi-aplikasi yang terpisah. server memproses dan mengirimkan hasilnya ke client melalui protokol yang sama e. mengirimkan hasil terjemahan ke setelah menerima permintaan client.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.Politeknik Telkom Sistem Operasi a. Server satu memakai database oracle. dan lainlain. Protokol kembali menerjemahkan hasil proses dari server. Protokol tersebut menerjemahkan permintaan client agar dapat dimengerti client c. f. yaitu ketika server yang satu meminta ke server yang lain. 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). Sedangkan server yang meminta akan berubah status menjadi peminta/perequest. Middleware bisa juga disebut protokol. Client meminta layanan ke server melalui protokol tertentu b. 228 Sistem Operasi . Hasil proses diterjemahkan protokol kemudian dikirim kembali ke client 14. Kapan status server berubah?. Contohnya: server satu memakai redhat(variannya linux).

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

Politeknik Telkom

Sistem Operasi

menyediakan fungsi-fungsi ONC yang cukup kompleks dan tidak mudah untuk sistem administrasinya.

Gambar 14-65 Middleware

230

Sistem Operasi

Politeknik Telkom

Sistem Operasi

Rangkuman
Dalam satu dekade terakhir perkembangan dunia Teknologi Informasi telah berkembang dengan terintegrasinya teknologi komputer, teknologi multimedia dan teknologi telekomunikasi. Ketiga komponennya melatarbelakangi lahirnya pengembagan Jaringan komputer pada tingkat lebih lanjut. 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, informasi, proses, 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. Dan berkembang dengan adanya OLTP dan RPC. Sistem Tersebar dapat dilihat dengan jelas pada aplikasi jaringan dan dunia internet dengan adanya koneksi antara client dan server.

Latihan

1. Apa yang anda ketahui tentang RPC dan OLTP 2. Apa yang dimaksud dengan middleware 3. Sering kita mendengar tentang one-iter, 3-tier. Apa maksudnya? 4. Jelaskan sistem tersebar menurut bahasa anda

Sistem Operasi

231

Politeknik Telkom

Sistem Operasi

5. Implementasi dari system tersebar di dunia jaringan computer banyak sekali telah teraplikasi. Sebutkan yang anda ketahui.

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. Hal ini disebabkan nantinya sistem operasi bekerja untuk mengatur komponen-komponen tersebut dan menyembunyikan kerumitannya bagi pengembang aplikasi dan para pengguna akhir sistem operasi.
232 Sistem Operasi

Politeknik Telkom

Sistem Operasi

Tujuan

3. Mahasiswa mengetahui lebih jelas tentang sistem tersebar 4. Mahasiswa mengetahui tentang RPC dan message

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

Sistem Operasi

233

Politeknik Telkom

Sistem Operasi

• Jika proses pengirimnya tidak mendapat jaminan akses, maka aplikasi menangani acknowledgements 4. Blocking/Nonblocking • Nonblocking – Call mengkopi pesan , kemudian di kembalikan (sebelum pesan terkirim) • Blocking – menunggu proses kirim

Masalah-masalah perancangan sistem Message Passing : 1. Masalah pengalamatan (addressing), alternatif a. Pengalamatan langsung i. Proses pengirim ii. Proses penerima, memiliki alternatif • • Pengalamatan eksplisit Pengalamatan implisit

b. Pengalamatan tidak langsung 2. Masalah sinkronisaxsi a. Pada proses pengirim i. Bloking – setelah mengirim maka proses diblok menunggu jawaban proses yang dikirimi. ii. Non-Blocking – setelah mengirim maka proses terus melanjutkan eksekusi instruksi-instruksi berikutnya. b. Pada proses penerima

234

Sistem Operasi

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

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

Program (prosedur) client memanggil stub yang di-link di ruang alamat program. 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.Politeknik Telkom Sistem Operasi Langkah-langkah RPC meliputi 10 langkah : 1.

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

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

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

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

Mesin yang 'menganggur' ini dimanfaatkan untuk melakukan komputasi pada model simetris. Riset dan penelitian sedang dilakukan agar pada suatu saat sistem kluster dapat melingkupi berbagai mesin yang tersebar di seluruh belahan dunia. Komputasi model terbaru ini juga berbasis jaringan dengan clustered system.Politeknik Telkom Sistem Operasi apa pun selain mengawasi mesin lain pada model asimetris. Inilah yang membuat model simetris lebih efisien. Berbagai software khusus dikembangkan untuk mendukung kemampuan itu karena kebanyakan sistem operasi tidak menyediakan fasilitas yang memadai. biasanya sistem kluster hanya terdiri dari dua hingga empat mesin berhubung kerumitan dalam mengatur akses mesin-mesin ini ke tempat penyimpanan data. 242 Sistem Operasi . Untuk saat ini. Digunakan super computer untuk melakukan komputasinya. Isu yang menarik tentang sistem kluster ialah bagaimana mengatur mesin-mesin penyusun sistem dalam berbagi tempat penyimpanan data (storage). Pada model ini komputasi dikembangkan melalui pc-farm. Salah satu contoh perangkat-lunak-nya-nya ialah Oracle Parallel Server yang khusus didesain untuk sistem kluster paralel. sistim kluster diharapkan tidak lagi terbatas pada sekumpulan mesin pada satu lokasi yang terhubung dalam jaringan lokal. 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. Seiring dengan perkembangan pesat teknologi kluster. 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).

Carilah di internet tentang Beowulf dan Open Mosix Sistem Operasi 243 . Hal ini sudah terimplementasikan di dunia jaringan computer. 4. dan cukup diminati oleh peniliti untuk meneliti dan mungkin menemukan system komputasi cluster yang lebih baik daripada yang sekarang. Sebutkan teknologi cluster yang anda ketahui 3. Apa yang anda ketahui tentang RPC dan RMI dan sebutkan perbedaanya 2.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. Apa yang dimaksud dengan sistem prosesor jamak. Latihan 1. Isu di atas juga berkembang menjadi bagaimana menerapkan sistem kluster secara paralel atau dalam jaringan yang lebih luas (Wide Area Network).

tetapi perlu juga diperhatikan keamanan terhadap suau system yang kita pakai. Tujuan 1.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. Mahasiswa dapat mengetahui ancaman yang terdapat 244 Sistem Operasi .

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

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. Keamanan Eksternal 246 Sistem Operasi . Aset Tabel 16-8 Aset sistem Secrecy dan jenis keamanannya Availability Integrity komputer Hardwar Pencurian e 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.atau duplikasi 16. Integritas (integrity): Integritas adalah keterjaminan bahwa sumber data sistem komputer hanya dapat dimodifikasi oleh pihakpihak yang diotorisasi. asi pihak yang delayed. Ketersediaan (availability): Ketersediaan adalah keterjaminan sumber daya sistem computer tersedia bagi pihak-pihak yang diotorisasi saat diperlukan. 3.4 Jenis Keamanan Jenis keamanan komputer dapat dikelompokan menjadi 3 (tiga) macam : 1.Politeknik Telkom Sistem Operasi 16.3 Tujuan Security Kebutuhan keamanan sistem komputer dikategorikan menjadi 3 (tiga) aspek yaitu : 1.

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. Interupsi adalah ancaman terhadap aset sistem menjadi tidak dapat digunakan (ancaman terhadap availability) atau hilang. seperti harddisk.Pemotongan kabel komunikasi. 16. Interupsi Sumber daya sistem computer dihancurkan atau menjadi tidak tersedia atau tak berguna.Penghancuran bagian perangkat keras. 3. Contoh : . 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 .Politeknik Telkom Sistem Operasi Keamanan eksternal berkaitan dengan pengamanan fasilitas computer dari penyusup dan bencana seperti kebakaran dan kebanjiran.5 Tipe Ancaman 1. . 2.

Intersepsi adalah ancaman terhadap kerahasiaan. Intersepsi Pihak yang tidak berhak melakukan akses terhadap aset sistem (ancaman terhadap secrecy). Pihak tak diotorisasi dapat berupa orang atau program computer. Contoh : .Penyadapan untuk mengambil data rahasia. Gambar 16-69 Intersepsi 3. 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.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. Modifikasi Pihak yang tidak berhak tidak hanya melakukan akses terhadap aset sistem tetapi juga melakukan modifikasi 248 Sistem Operasi .

.Memasukan pesan-pesan palsu ke jaringan.Mengubah program sehingga bertindak secara berbeda.Penambahan record ke file. Fabrikasi merupakan ancaman terhadao integritas.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. Contoh : .Politeknik Telkom Sistem Operasi (ancaman terhadap integrity). . Contoh : . Modifikasi merupakan ancaman terhadao integritas.Mengubah nilai-nilai file data. Fabrikasi Pihak yang tidak berhak menyisipkan objek tertentu pada sistem (ancaman terhadap integrity) ). Sistem Operasi 249 .

Mekanisme proteksi seharusnya tidak mengganggu kerja pemakai dan memenuhi kebutuhan otorisasi pengaksesan. Rancangan sistem seharusnya publik. Dapat diterima. Pemeriksaan Otoritas saat itu. yaitu : 1. Jika mekanisme tidak mudah digunakan maka tidak akan digunakan atau digunakan secara tidak benar. 2. Skema yang dipilih harus dapat diterima secara psikologis. Keamanan sistem seharusnya tidak bergantung pada kerahasiaan rancangan mekanisme pengamanan. Mengasumsikan penyusup tidak akan mengetahui cara kerja sistem pengamanan hanya menipu/memperdaya perancang sehingga tidak membuat mekanisme proteksi yang bagus. Banyak sistem memeriksa ijin ketika file 250 Sistem Operasi .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.6 Petunjuk Pengamanan Sistem Saltzer dan Schrooder (1975) member petunjuk mengenai prinsip-prinsip pengamanan sistem komputer. Sistem tidak seharusnya memeriksa ijin dan menyatakan pengaksesan diijinkan. 3. serta kemudian menetapkan terus informasi ini untuk penggunaan selanjutnya.

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

volume – 16. misalnya Stack Tabel pada sistem operasi Instruksi. 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. field. objek (data. dan mencabut hak akses jika terjadi pelanggaran Sistem Operasi . word. program. pengembang. atau pihak lain yang mencoba menggunakan mereka. file.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. Perlindungan tersebut bertujuan untuk: – – 252 Memberikan hak akses seminimal dan sesedikit mungkin objek yang diperlukan Memeriksa setiap akses.Politeknik Telkom Sistem Operasi - - Pemisahan lojik. terutama instruksi istimewa Password dan mekanisme otentikasi user Mekanisme proteksi Objek-objek di atas diakses oleh subjek-subjek seperti: user. byte. record. membuat ilusi seolah tidak proses lain yang beroperasi selain proses user – Pemisahan kriptografi.

Proteksi dengan cara ini mudah diimplementasikan namun memiliki beberapa kekurangan. Setiap user memiliki sebuah direktori file yang mencatat daftar file yang dapat diakses user beserta izin aksesnya. 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 . 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. User tidak bisa langsung menulis direktori file tersebut melainkan harus melalui mekanisme yang disediakan oleh sistem operasi.8.

Hal ini memudahkan menajemen hak akses terhadap objek tertentu.Politeknik Telkom Sistem Operasi 16. Metode ini dapat dijelaskan melalui sparse matrix berikut ini.3Proteksi Objek ACM Access Control Matrix (ACM) merupakan metode proteksi dengan menggunakan tabel di mana baris merepresentasikan subjek dan kolom merepresentasikan objek. Tabel 16-9 Sparse matrix diagram ACM 254 Sistem Operasi .8.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. Gambar 16-73 Proteksi objek ACL 16. Dibandingkan dengan metode direktori file sebelumnya dalam ACL setiap objek memiliki daftar user atau subjek yang memiliki hak akses terhadap objek tersebut. Sel dalam matriks berisikan hak akses subjek terhadap objek bersangkutan.8.

8.8. w. user memiliki bbrp account – – – – Sistem Operasi 255 . default: read-only – Kekurangan: – Afiliasi grup.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. Token ini mirip dengan tiket atau kartu identitas dan dapat dipindahkan atau dialihkan. satu user tidak bisa ada di 2/lebih grup – Multiple personalities.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. other – User mendefinisikan hak akses untuk tiap file (r. 16. d). grup. x.4Proteksi Objek Capability Pada metode proteksi object capability digunakan token atau tanda yang memberi subjek akses tertentu terhadap objek.

Enkripsi digunakan untuk proteksi: 256 Sistem Operasi . mis.9 Enkripsi Enkripsi merupakan suatu cara untuk menjaga data tetap aman di lingkungan yang tidak aman. 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.Politeknik Telkom Sistem Operasi – User bisa mengakses file yang ada di semua grupnya – Keterbatasan sharing.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.6Proteksi Izin Tunggal • Password atau Token Lainnya – Akses terhadap file (write. ACF2 • Membuat proteksi default untuk file. utk sharing per file 16. dan kemudian dibedakan berdasarkan user • 16.

E merupakan algoritma enkripsi – Dekripsi: P = D(C). cn) • Transformasi: – Enkripsi: C = E(P). c2. ….Politeknik Telkom Sistem Operasi • Program • Basis data • Jaringan • Komunikasi elektronik Namun enkripsi yang lemah hanya memberi ilusi proteksi karena dapat dengan mudah didekripsi. P) dan P = D(K. P)) Sistem Operasi 257 . pn). 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. C = (c1. 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. D merupakan algoritma dekripsi • Ada algoritma enkripsi yang menggunakan kunci K – C = E(K. E(K. …. p2.

Bowles [Bow-92] memberikan taksonomi ancaman perangkat lunak atau klasifikasi program jahat (malicious program). E(KE. atau celah di mana telah dibangun Intruder sendiri lebih sering dikenal dengan sebutan hacker/cracker. 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.10 Karakteristik Intrusi Komputer Prinsip penetrasi termudah adalah intruder menggunakan berbagai cara intrusi yang mungkin dan bukan melalui celah yang mudah ditebak. 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. 16. 16.11 Program-program Jahat Ancaman-ancaman canggih terhadap sistem komputer adalah program yang mengeksploitasi kelemahan sistem komputasi. Gambar 13-7 menunjukan taksonomi yang diberikan oleh Bowles. Kita berurusan dengan program aplikasi begitu juga program utilitas seperti editor dan kompilatir. Tujuan mereka adalah untuk mendapatkan akses ke sebuah sistem atau meningkatkan jangkauan dari hak-hak yang dapat diaksesnya pada suatu sistem. kriptoanalis bekerja utk tujuan ilegal • Kriptologi merupakan kegiatan penelitian dan kajian mengenai enkripsi dan dekripsi. yaitu : 258 Sistem Operasi . Ancaman-ancaman itu dapat dibagi menjadi dua kategori.Politeknik Telkom Sistem Operasi • Enkripsi asimetrik menggunakan kunci enkripsi dan dekripsi yang berbeda – P = D(KD.

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

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

Contoh Trapdoor (a) Kode normal (b) Kode dengan tambahan trapdoor 4. Trapdoor menjadi ancaman ketika digunakan pemrogram jahat untuk memperoleh pengaksesan tak diotorisasi. Trojan Horse Trojan Horse adalah rutin tak terdokumentasi rahasia ditempelkan dalam satu program berguna. Trapdoor adalah kode yang menerima suatu barisan masukan khusus atau dipicu dengan menjalankan ID pemakai tertentu atau barisan kejadian tertentu. pengembang membuat kewenangan khusus atau menghilangkan keperluan setup dan otentifikasi. Adalah sulit mengimplementasikan kendali-kendali perangkat lunak untuk Trapdoor.Politeknik Telkom Sistem Operasi debugging akan lama bila harus melewati prosedurprosedur tersebut. Program yang berguna mengandung kode tersebunyi yang ketika dijalankan melakukan suatu fungsi yang akan Sistem Operasi 261 . Untuk debug program jenis ini. Pada kasus nyata. 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.

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

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

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

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

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

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

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

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

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

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

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. 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. Untuk pengaman sistem komputer. Pertempuran antara penulis virus dan pembuat antivirus masih berlanjut. Walau beragam strategi lebih lengkap telah dibuat untuk menghalangi virus. 4. Kalau muncul kejadian ini. 272 Sistem Operasi . sebaiknya pengaksesan dan pemakaian komputer diawasi dengan seksama sehingga tidak menjalankan program atau memakai disk yang belum terjamin kebersihannya dari infeksi virus. program antivirus segera mengintervensi. Generasi Ke-empat: proteksi penuh (full-featured protection) Antivirus generasi ini menggunakan beragam teknik antivirus secara bersamaan. Teknik-teknik ini meliputi scanning dan jebakan-jebakan aktivitas. Program ini mengidentifikasi virus melalui aksi-aksinya bukan dari struktur program yang diinfeksi. Pencegahan terbaik terhadap ancaman virus adalah mencegah virus memasuki sistem saat yang pertama. Dengan anticirus semacam ini tak perlu mengembangkan penandapenanda dan aturan-aturan pintar untuk beragam virus yang sangat banyak.

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

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