0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
178 tayangan9 halaman
Sistem komputer pokok terdiri atas pemroses, memori utama, perangkat I/O, dan interkoneksi antarkomponen. Sistem operasi modern mengelola proses, memori, penyimpanan sekunder, I/O, berkas, proteksi, dan jaringan. Deadlock terjadi ketika proses menunggu sumber daya yang digunakan proses lain sehingga tidak ada proses yang dapat berjalan.
Sistem komputer pokok terdiri atas pemroses, memori utama, perangkat I/O, dan interkoneksi antarkomponen. Sistem operasi modern mengelola proses, memori, penyimpanan sekunder, I/O, berkas, proteksi, dan jaringan. Deadlock terjadi ketika proses menunggu sumber daya yang digunakan proses lain sehingga tidak ada proses yang dapat berjalan.
Sistem komputer pokok terdiri atas pemroses, memori utama, perangkat I/O, dan interkoneksi antarkomponen. Sistem operasi modern mengelola proses, memori, penyimpanan sekunder, I/O, berkas, proteksi, dan jaringan. Deadlock terjadi ketika proses menunggu sumber daya yang digunakan proses lain sehingga tidak ada proses yang dapat berjalan.
Pemroses (processor) Berfungsi mengendalikan operasi komputer & melakukan fungsi pemrosesan data. Memori utama - Berfungsi menyimpan data & program - Biasanya volatile : tidak dapat mempertahankan data & program yang disimpan bila sumber daya energi (listrik) dihentikan. Perangkat masukan dan keluaran (I/O) Berfungsi memindahkan data antara komputer & lingkungan eksternal yaitu : perangkat penyimpan sekunder, perangkat komunikasi, terminal, dsb Interkoneksi antarkomponen (bus) Adalah struktur & mekanisme untuk menghubungkan pemroses, memori utama, & perangkat masukan/keluaran. (user interface & device controller) 2. BUS dan interkoneksi berkaitan dengan tatacara hubungan antar komponen-komponen sistem komputer. Bus terdiri dari tiga macam, yaitu: Bus alamat (addres bus) Untuk memberikan alamat dari memori atau port yang hendak diakses. Bus data (data bus) Untuk membaca dan mengirim data dari/ke memori atau port. Bus kendali (control bus) Sinyal bus kendali antara lain: Memory Read Memory Write I/O read I/O Write
3. menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne,
umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut: Managemen Proses. Managemen Memori Utama. Managemen Secondary-Storage. Managemen Sistem I/O. Managemen Berkas. Sistem Proteksi. Jaringan. Command-Interpreter system. 4. Diagram state 3 keadaan
Proses baru diciptakan berada pada state ready
Proses dari running menjadi blocked karena sumberdaya yang diminta belum tersedia atau meminta layanan perangkat masukan/ keluaran (I/O) sehingga menunggu kejadian yang muncul. Proses ini dikenal dengan event wait. Proses dari running jadi ready karena penjadwal memutuskan eksekusi proses lain oleh karena jatah waktu telah habis (timeout). Proses dari blocked jadi ready karena sumber daya yang diminta tersedia atau layanan I/O selesai/ terpenuhi. Proses ini dikenal event occur Proses dari ready jadi running
Diagram state 5 keadaan
Penundaan (suspension) adalah operasi penting dan telah
diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat, sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu Suspendedready (Terjadinya suspen pada proses ready oleh proses lain dan transisi dari proses suspendedblocked) dan Suspendedblocked (Terjadinya transisi suspen setelah proses bloked) 5. Mutual Exclusion adalah suatu cara yang menjamin jika ada sebuah proses yang menggunakan variabel atau berkas yang sama (digunakan juga oleh proses lain), maka proses lain akan dikeluarkan dari pekerjaan yang sama. contoh : sumberdaya printer hanya bisa diakses 1 proses, tidak bisa bersamaan -> sumber daya ini disebut sumber daya kritis. Tiga kondisi untuk menentukan mutual Exclusion Tidak ada dua proses yang pada saat bersamaan berada di critical region. Tidak ada proses yang berjalan diluar critical region yang bisa menghambat proses lain Tidak ada proses yang tidak bisa masuk ke critical region 6. Deadlock dalam arti sebenarnya adalah kebuntuan. Jadi Deadlock ialah suatu kondisi dimana proses tidak berjalan lagi atau pun tidak ada komunikasi lagi antar proses. Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain. Dengan kata lain, Deadlock terjadi ketika proses menunggu sumber daya untuk melakukan
suatu kejadian tertentu yang tidak akan
kasus deadlock :
pernah terjadi. Contoh
Gambar di samping menunjukkan
beberapa hal sebagai berikut: 1. P0 meminta sumber daya R0. 2. R0 mengalokasikan sumber dayanya pada P1. 3. P1 meminta sumber daya R1. 4. R1 mengalokasikan sumber dayanya pada P2. 5. P2 meminta sumber daya R2. 6. R2 mengalokasikan sumber dayanya pada P0 dan P1. 7. R3 mengalokasikan sumber dayanya pada P2. Dengan kata lain, tidak ada satu pun dari proses-proses tersebut yang dapat menyelesaikan tugasnya sebab sumber daya yang diperlukan sedang digunakan oleh proses lain. Sedangkan proses lain juga memerlukan sumber daya lain. Semua sumber daya yang diperlukan oleh suatu proses tidak dapat dpenuhi sehingga proses tersebut tidak dapat melepaskan sumber daya yang telah dialokasikan kepadanya. Dan terjadi proses tunggu-menunggu antarproses yang tidak dapat berakhir. Inilah yang dinamakan deadlock. Contoh kasus bukan deadlock : Graf di samping menunjukkan beberapa hal: 1. P0 meminta sumber daya R1. 2. R1 mengalokasikan sumber dayanya pada P2. 3. P2 meminta sumber daya R0. 4. R0 mengalokasikan sumber dayanya pada P3. 5. P3 meminta sumber daya R2. 6. R0 mengalokasikan sumber dayanya pada P3.
7. R1 mengalokasikan sumber dayanya pada P1.
Hal ini tidak menyebabkan deadlock walaupun ada perputaran
sebab semua sumber daya yand diperlukan P1 dapat terpenuhi sehingga P1 dapat melepaskan semua sumber dayanya dan sumber daya tersebut dapat digunakan oleh proses lain. Menurut Coffman dalam bukunya "Operating System" menyebutkan empat syarat bagi terjadinya deadlock, yaitu: i. Mutual Exclusion Suatu kondisi dimana setiap sumber daya diberikan tepat pada satu proses pada suatu waktu ii. Hold and Wait Kondisi yang menyatakan proses-proses yang sedang memakai suatu sumber daya dapat meminta sumber daya yang lain. iii. Non-pre-emptive Kondisi dimana suatu sumber daya yang sedang berada pada suatu proses tidak dapat diambil secara paksa dari proses tersebut,sampai proses itu melepaskannya. iv. Circular Wait Kondisi yang menyatakan bahwa adanya rantai saling meminta sumber daya yang dimiliki oleh suatu proses oleh proses lainnya. Metode Pencegahan Deadlock (Deadlock Prevention): 1. Meniadakan Mutual Exclusion Melakukan spooling perangkat-perangkat yang harus didedikasikan ke suatu proses. Dengan spooling, permintaanpermintaan diantrikan di harddisk. Setiap job di antrian spooler akan dilayani satu per satu. 2. Meniadakan Hold and Wait -Mengalokasikan semua sumber daya atau tidak sama sekali -Hold and release 3. Meniadakan Non-preemption 4. Meniadakan Menunggu Sirkular -Proses hanya diperbolehkan menggenggam satu sumber daya. -Penomoran global semua sumber daya Algoritma pencegahan deadlock (Algoritma Bankir) Algoritma penjadualan ini lebih dikenal dengan nama Algoritma Bankir. Model ini menggunakan suatu kota kecil sebagai
percontohan dengan suatu bank sebagai sistem operasi, pinjaman
sebagai sumber daya dan peminjam sebagai proses yang membutuhkan sumber daya. Deadlock akan terjadi apabila terdapat seorang peminjam yang belum mengembalikan uangnya dan ingin meminjam kembali, padahal uang yang belum dikembalikan tadi dibutuhkan oleh peminjam lain yang juga belum mengembalikan uang pinjamannya. Beberapa kelemahan algoritma Bankir Tanenbaum (1992), Stallings (1995) dan Deitel (1990) adalah sebagai berikut: i. Sulit untuk mengetahui seluruh sumber daya yang dibutuhkan proses pada awal eksekusi. ii. Jumlah proses yang tidak tetap dan berubah-ubah. iii. Sumber daya yang tadinya tersedia dapat saja menjadi tidak tersedia kembali. iv. Proses-proses yang dieksekusi haruslah tidak dibatasi oleh kebutuhan sinkronisasi antar proses v. Algoritma ini menghendaki memberikan semua permintaan selama waktu yang berhingga. 7. Istilah Sistem operasi : GUI (Graphical User Interface), adalah antarmuka pada sistem operasi atau komputer yang menggunakan menu grafis agar mempermudah para pengguna-nya untuk berinteraksi dengan komputer atau sistem operasi. CLI (Command Line Interface), adalah antarmuka pada sistem operasi atau komputer yang menggunakan menu baris perintah atau text atau ketikkan dari keyboard untuk berinteraksi denga sistem operasi atau komputer tersebut. Multitasking adalah istilah yang mengacu kepada sebuah metode dimana banyak pekerjaan atau dikenal juga sebagai proses diolah dengan menggunakan sumberdaya CPU yang sama. System call adalah sistem yang tugasnya menampilkan interface atau antar muka yang sedang berjalan, untuk memperoleh layanan sistem operasi. System call biasanya tersedia dalam bentuk instruksi bahasa assembly. Namun saat ini, banyak bahasa pemrograman yang digunakan untuk mengganti bahasa assembly menjadi bahasa pemrograman sehinga system call dapat langsung dibuat pada bahasa tingkat tinggi seperti contohnya bahasa C dan C++ . Preemptive mempunyai arti kemampuan sistem operasi pada penjadwalan untuk memberhentikan sementara proses yang sedang berjalan untuk memberi ruang kepada proses yang prioritasnya lebih tinggi. Non Preemptive ialah salah satu jenis penjadwalan dimana sistem operasi tidak pernah melakukan context switch dari proses
yang sedang berjalan ke proses yang lain.Dengan kata lain, proses
yang sedang berjalan tidak bisa di- interupt.
8. Sistem paging merupakan program yang harus dimuat di memori
utama. sistem paging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register,base register dan segmen register. Masalah-masalah system paging a)
Working set model
b)
Kebijakan penggantian local vs global
c)
Frekuensi page fault
d)
Ukuran page
9. Segmentasi: adalah manajemen memori yang mengatur
pengalamatan dari memori yang terdiri dari segmen-segmen. logical address space adalah kumpulan dari segmen-segmen yang mana tiap-tiap segmen mempunyai nama dan panjang. alamat tersebut menunjukkan alamat dari segmen tersebut dan offset-nya didalam segmen-segmen tersebut. Pengelolaan Memori Dengan Paging yaitu dimana pengguna hanya menentukan satu buah alamat, dimana pembagian alamat menjadi dua dilakukan oleh perangkat keras. Pengelolaan Memori Tanpa Paging Yaitu manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama eksekusi. Fragmentasi adalah terjadi akibat proses segmentasi pada manajemen memori, ini terjadi ketika semua blok memori yang dapat dapat dialokasikan terlalu sedikit untuk mengakomodasi sebuah segmen. 10.Implementasi virtual memori : Memori virtual diimplementasikan dalam sistem multiprogramming. Misalnya: 10 program dengan ukuran 2 Mb
dapat berjalan di memori berkapasitas 4 Mb. Tiap program
dialokasikan 256 KByte dan bagian-bagian proses di-swap masuk dan keluar memori begitu diperlukan. Dengan demikian, sistem multiprogramming menjadi lebih efisien. Memori virtual dapat dilakukan melalui dua cara: 1. Permintaan pemberian halaman (demand paging). 2. Permintaan segmentasi (demand segmentation). Contoh: IBM OS/2. Algoritma dari permintaan segmentasi lebih kompleks, karenanya jarang diimplementasikan 11.Thrashing dan penyebabnya : Aktivitas yang tinggi dari paging disebut thrashing. Suatu proses dikatakan thrashing jika proses menghabiskan waktu lebih banyak untuk paging daripada eksekusi. Penyebabnya: Penyebab dari thrashing adalah utilisasi CPU yang rendah. Jika utilisasi CPU terlalu rendah, kita menambahkan derajat dari multiprogramming dengan menambahkan proses baru ke system, utilisasi CPU juga bertambah dengan lebih lambat sampai maksimumnya dicapai. Jika derajat dari multiprogramming ditambah terus menerus, utilisasi CPU akan berkurang dengan drastis dan terjadi thrashing 12.Alokasi memori pada linux menggunakan dua buah alokasi yang utama, yaitu algoritma buddy dan slab. Untuk algoritma buddy, setiap rutin pelaksanaan alokasi ini dipanggil, dia memeriksa blok memori berikutnya, jika ditemukan dia dialokasikan, jika tidak maka daftar tingkat berikutnya akan diperiksa. Jika ada blok bebas, maka akan dibagi jadi dua, yang satu dialokasikan dan yang lain dipindahkan ke daftar yang di bawahnya. 13.Alokasi berkas : Contigous Allocation Metode ini menempatkan setiap berkas pada satu himpunan blok yang berurut di dalam disk. Alamat disk menyatakan sebuah urutan linier. Dengan urutan linier ini maka head disk hanya bergerak jika mengakses dari sektor terakhir suatu silinder ke sektor pertama silinder berikutnya. Contoh dari sistem operasi yang menggunakan contiguous allocation adalah IBM VM/ CMS Linked Allocation Metode ini menyelesaikan semua masalah yang terdapat pada contiguous allocation. Dengan metode ini, setiap berkas merupakan linked list dari blok-blok disk, dimana blok-blok disk dapat tersebar di dalam disk. Setiap direktori berisi sebuah penunjuk (pointer) ke awal dan akhir blok sebuah berkas Index Allocation Metode alokasi dengan berangkai dapat menyelesaikan masalah fragmentasi eksternal dan pendeklarasian ukuran dari metode
alokasi berdampingan.. Metode alokasi dengan indeks dengan cara
mengumpulkan semua penunjuk menjadi dalam satu lokasi yang dinamakan blok indeks (index block). Setiap berkas mempunyai blok indeks, yang merupakan sebuah larik array dari alamatalamat disk-blok. 14.Tipe akses pada berkas Di bawah ini adalah beberapa operasi berkas yang dapat diatur aksesnya: 1. Read: Membaca dari berkas 2. Write: Menulis berkas 3. Execute: Meload berkas kedalam memori untuk dieksekusi. 4. Append: Menambahkan informasi kedalam berkas di akhir berkas. 5. Delete: Menghapus berkas. 6. List: Mendaftar properti dari sebuah berkas. 7. Rename: Mengganti nama sebuah berkas. 8. Copy: Menduplikasikan sebuah berkas. 9. Edit: Mengedit sebuah berkas. 15.Reabilitas dari sebuah system Maksud dari reabilitas sistem adalah kemampuan sebuah sistem untuk melindungi informasi yangtelah disimpan agar terhindar dari kerusakan, dalam hal ini adalah perlindungan secara fisik pada sebuah berkas. Proteksi (Perlindungan) terhadap sebuah berkas. Perlindungan terhadap berkas dapat dilakukan dengan berbagai macam cara.