P. 1
Sistem Operasi

Sistem Operasi

|Views: 261|Likes:
Published by Kadek Jelek
system operation
system operation

More info:

Published by: Kadek Jelek on Apr 24, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

04/24/2012

pdf

text

original

Sistem Operasi Sistem berlapis Sistem operasi dibagi menjadi beberapa lapisan.

Lapisan terbawah (layer 0) adalah hardware dan yang tertinggi (layer N) adalah user interface. Lapisan N memberi layanan untuk lapisan N+1 sedangkan proses-proses di lapisan N dapat meminta layanan lapisan N-1 untuk membangun layanan lapisan N+1. Lapisan N dapat meminta layanan lapisan N-1 namun lapisan N tidak dapat meminta layanan lapisan N+1. Masing-masing berjalan pada lapisannya sendiri.

Lapisan Sistem Operasi Menurut Tanenbaum dan Woodhull, sistem terlapis terdiri dari enam lapisan, yaitu: Lapisan 0. Mengatur alokasi prosesor, pertukaran antar proses ketika interupsi terjadi atau waktu habis dan lapisan ini mendukung dasar multi-programming pada CPU. Lapisan 1. Mengalokasikan ruang untuk proses di memori utama dan pada 512 kilo word drum yang digUnakan untuk menahan bagian proses ketika tidak ada ruang di memori utama. Lapisan 2. Menangani komunikasi antara masing-masing proses dan operator console. Lapisan ini masing-masing proses secara efektif memiliki operator console sendiri. Lapisan 3. Mengatur peranti I/O dan menampung informasi yang mengalir dari/ke proses tersebut. Lapisan 4. Tempat program pengguna. Pengguna tidak perlu memikirkan tentang proses, memori, console, atau manajemen I/O. Lapisan 5. Merupakan operator sistem. Contoh sistem operasi yang menggunakan pendekatan berlapis adalah THE yang dibuat oleh Djikstra dan mahasiswa-mahasiswanya, serta sistem operasi MULTICS.

Kelemahan struktur ini adalah fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati. Sedangkan keunggulannya adalah memeliki semua kelebihan rancangan modular, yaitu sistem dibagi menjadi beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode dan diuji secara independen. Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi. Sistem Operasi mempunyai empat komponen utama, yaitu: 1) Managemen proses, Proses adalah sebuah program yang sedang dieksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat Masukan/Keluaran. Sistem operasi

mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mendapatkan kembali semua sumber daya yang bisa digunakan kembali. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti: • Membuat dan menghapus proses pengguna dan sistem proses. • Menunda atau melanjutkan proses. • Menyediakan mekanisme untuk proses sinkronisasi. • Menyediakan mekanisme untuk proses komunikasi. • Menyediakan mekanisme untuk penanganan deadlock. 2) Masukan/Keluaran Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi Masukan/Keluaran dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CDROM dan floppy disk. Komponen Sistem Operasi untuk sistem Masukan/Keluaran: • Penyangga: menampung sementara data dari/ke perangkat Masukan/Keluaran.

• Spooling: melakukan penjadualan pemakaian Masukan/Keluaran sistem supaya lebih efisien (antrian dsb.). • Menyediakan driver: untuk dapat melakukan operasi rinci untuk perangkat keras Masukan/Keluaran tertentu. 3) Managemen Memori, dan Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi/data yang akses datanya digunakan oleh CPU dan perangkat Masukan/Keluaran. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile – tidak permanen -- yaitu data akan hilang kalau komputer dimatikan. Sistem operasi bertanggungjawab atas aktivitas-aktivitas yang berkaitan dengan managemen memori seperti: • Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya. • Memilih program yang akan di-load ke memori. 4) Sistem Berkas. Berkas adalah kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuat berkas tersebut. Umumnya berkas merepresentasikan program dan data. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi mengimplementasikan konsep abstrak dari berkas dengan mengatur media penyimpanan massa, misalnya tapes dan disk. Sistem operasi bertanggung-jawab dalam aktivitas yang berhubungan dengan managemen berkas: • Pembuatan dan penghapusan berkas. • Pembuatan dan penghapusan direktori. • Mendukung manipulasi berkas dan direktori.

• Memetakan berkas ke secondary-storage. • Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile). Selain daripada itu terdapat pula : Penyimpanan Sekunder Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karena itu, untuk menyimpan keseluruhan data dan program komputer dibutuhkan penyimpanan sekunder yang bersifat permanen dan mampu menampung banyak data, sebagai back-up dari memori utama. Contoh dari penyimpanan sekunder adalah hard-disk, disket, dll. Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan managemen disk seperti: • free-space management. • alokasi penyimpanan. • penjadualan disk. Sistem Proteksi Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus: • Membedakan antara penggunaan yang sudah diberi izin dan yang belum. • Menspesifikasi kontrol untuk dibebankan/diberi tugas. • Menyediakan alat untuk pemberlakuan sistem. Jaringan Sistem terdistribusi adalah sekumpulan prosesor yang tidak berbagi memori, atau clock. Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-

daya sistem. Akses tersebut menyebabkan peningkatan kecepatan komputasi dan meningkatkan kemampuan penyediaan data. Command-Interpreter System Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter dan terkadang dikenal sebagai shell. Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi perangkat Masukan/Keluaran yang ada. Contohnya: CLI, Windows, Penbased (touch), dan lain-lain. Layanan Sistem Operasi Layanan sistem operasi dirancang untuk membuat pemrograman menjadi lebih mudah. 1. Pembuatan Program Sistim operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat program seperti editor. Walaupun bukan bagian dari sistim operasi, tapi layanan ini diakses melalui sistim operasi. 2. Eksekusi Program Sistem harus bisa me-load program ke memori, dan menjalankan program tersebut. Program harus bisa menghentikan pengeksekusiannya baik secara normal maupun tidak (ada error). 3. Operasi Masukan/Keluaran Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur peranti Masukan/Keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi Masukan/Keluaran. 4. Manipulasi Sistem Berkas

Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.

5. Komunikasi Kadang kala sebuah proses memerlukan informasi dari proses yang lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda, tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau

messagepassing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi. 6. Deteksi Error Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, Masukan/Keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahankan jalannya proses komputasi. Misalnya dengan menghentikan jalannya program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya. Disamping pelayanan di atas, sistem operasi juga menyediakan layanan lain. Layanan ini bukan untuk membantu pengguna tapi lebih pada mempertahankan efisiensi sistem itu sendiri. Layanan tambahan itu yaitu: 1. Alokasi Sumber Daya Ketika beberapa pengguna menggunakan sistem atau beberapa program dijalankan secara bersamaan, sumber daya harus dialokasikan bagi masing-masing pengguna dan program tersebut. 2. Accounting

Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya, dan jenis sumber daya yang digunakan selalu terjaga. Untuk itu maka diperlukan suatu perhitungan dan statistik. Perhitungan ini diperlukan bagi seseorang yang ingin merubah konfigurasi sistem untuk meningkatkan pelayanan.

3. Proteksi Layanan proteksi memastikan bahwa segala akses ke sumber daya terkontrol. Dan tentu saja keamanan terhadap gangguan dari luar sistem tersebut. Keamanan bisa saja dilakukan dengan terlebih dahulu mengidentifikasi pengguna. Ini bisa dilakukan dengan meminta password bila ingin menggunakan sumber daya.

Tipe –Tipe Sistem Operasi Real-time Operating System: Ini adalah sebuah sistem operasi multitasking yang bertujuan untuk menjalankan aplikasi real time. sistem operasi real-time sering menggunakan algoritma penjadwalan khusus sehingga mereka dapat mencapai sifat deterministik perilaku. Adapun tujuan utama dari sistem operasi real-time respon yang cepat dan diprediksi ke acara. Mereka juga memiliki sistem switch-event dan desain time-sharing. Sebuah sistem switch-event antara tugas-tugas berdasarkan prioritas mereka sementara sistem operasi time-sharing beralih pekerjaan berdasarkan interupsi jam. Multi-user dan Single-user Operating System: Sistem operasi jenis ini memungkinkan beberapa pengguna untuk mengakses sistem komputer secara bersamaan. Sistem Time-sharing dapat diklasifikasikan sebagai sistem multi-user karena mereka memungkinkan akses beberapa pengguna ke komputer melalui berbagi waktu. sistem operasi Single-user, sebagai lawan dari sistem operasi multi-user, dapat digunakan oleh satu pengguna pada satu waktu. Bisa punya beberapa account pada sistem operasi Windows tidak membuat sistem multi-user. Sebaliknya, hanya administrator jaringan adalah pengguna yang sebenarnya. Tapi untuk sebuah sistem

operasi mirip Unix, adalah mungkin bagi dua pengguna untuk login pada satu waktu dan ini kemampuan OS membuatnya menjadi sistem operasi multi-user. Multi-tasking dan Single-tasking Operating System : Ketika sebuah program tunggal yang diijinkan untuk dijalankan pada satu waktu, sistem ini dikelompokkan dalam sebuah sistem tunggal-tasking, sedangkan dalam kasus sistem operasi memungkinkan pelaksanaan tugas pada satu waktu, diklasifikasikan sebagai sistem operasi multi-tasking. Multi-tasking dapat dari dua jenis yaitu, pre-emptive atau koperasi. Dalam pre-emptive multitasking, sistem operasi irisan waktu CPU dan mendedikasikan satu slot untuk masing-masing program. Unix-seperti sistem operasi seperti Solaris dan dukungan Linux pre-emptive multitasking. Koperasi multitasking dicapai dengan mengandalkan setiap proses untuk memberi waktu untuk proses lain dengan cara yang ditetapkan. MS Windows sebelum Windows 95 digunakan untuk mendukung multitasking kooperatif. Distributed Operating System: Sistem operasi yang mengelola sekelompok komputer independen dan membuat mereka tampaknya satu komputer dikenal sebagai sistem operasi terdistribusi. Pengembangan jaringan komputer yang dapat dihubungkan dan saling berkomunikasi, memunculkan komputasi terdistribusi. perhitungan terdistribusi dilakukan pada lebih dari satu mesin. Ketika komputer dalam kerja kelompok dalam kerja sama, mereka membuat sistem terdistribusi. Embedded System: sistem operasi ini dirancang untuk digunakan dalam sistem komputer embedded yang dikenal sebagai sistem operasi tertanam. Mereka dirancang untuk beroperasi pada mesin kecil seperti PDA dengan otonomi kurang. Mereka mampu beroperasi dengan jumlah terbatas sumber daya. Mereka sangat kompak dan sangat efisien dengan desain. Windows CE, FreeBSD dan Minix 3 adalah beberapa contoh sistem operasi tertanam. Pengertian Time Sharing Sistem Time sharing atau multitasking adalah pengembangan dari sistem

multiprogram.Beberapa job yang berada pada memory utama dieksekusi oleh CPU secara bergantian.CPU hanya bisa menjalankan program yang berada pada memory utama.

Perpindahanantar job terjadi sangat sering sehingga user dapat berinteraksi dengan setiap programpada saat dijalankan. Suatu job akan dipindahkan dari memori ke disk dan sebaliknya. Sistem time sharing juga disebut dengan sistem komputasi interaktif, dimanasistem komputer menyediakan komunikasi on-line antara user dengan sistem. Usermemberikan instruksi pada sistem operasi atau program secara langsung dan menerimarespon segera. Perangkat input berupa keyboard dan perangkat output berupa displayscreen, seperti cathode-ray tube (CRT) atau monitor. Bila sistem operasi selesaimengeksekusi satu perintah, makan sistem akan mencari pernyataan berikutnya dariuser melalui keyboard. Sistem menyediakan editor interaktif untuk menulis programdan sistem debug untuk membantu melakukan debugging program. Swapping Swapping adalah suatu proses yang dapat dialihkan sementara dari memori ke suatu tempat penyimpanan, dan dipanggil kembali ke memori jika akan melanjutkan eksekusi. Sebuah proses harus berada di memori untuk dieksekusi. Proses juga dapat ditukar (swap) sementara keluar memori ke backing store dan kemudian dibawa kembali ke memori untuk melanjutkan eksekusi. Backing store berupa disk besar dengan kecepatan tinggi yang cukup untuk meletakkan copy dari semua memory image untuk semua user, sistem juga harus menyediakan akses langsung ke memory image tersebut. Jika proses mempunyai prioritas lebih tinggi datang dan meminta layanan, memori akan swap out proses dengan prioritas lebih rendah sehingga proses dengan prioritas lebih tinggi dapat di-load dan dieksekusi. Umumnya sebuah proses yang di-swap out akan menukar kembali ke ruang memori yang sama dengan sebelumnya. Jika proses pengikatan dilakukan pada saat load-time, maka proses tidak dapat dipindah ke lokasi yang berbeda. Tetapi, jika pengikatan pada saat execution-time , maka kemungkinan proses ditukar ke ruang memori yang berbeda, karena alamat fisik dihitung selama waktu eksekusi.

Bila CPU scheduler memutuskan untuk mengeksekusi proses, OS memanggil dispatcher. Dispatcher memeriksa untuk melihat apakah proses selanjutnya pada ready queue ada di memori. Jika tidak dan tidak terdapat cukup memori bebas, maka dispatcher swap out sebuah proses yang ada di memori dan swap in proses tersebut. Kemudian reload register ke keadaan normal. Partisi Partisi berasal dari bahasa inggris yaitu partition. Dalam sistem berkas bisa diartikan sebagai sebuah bagian dari memori atau media penyimpanan yang terpisah secara logis yang berfungsi seolah-olah bagian tersebut terpisah secara fisik. Dengan kata lain, partisi hardisk ini merupakan bagian-bagian dalam hardisk yang bersifat logis. Dan tentunya bisa dikatakan juga bahwa partisi hardisk ini merupakan “daftar isi” dari hardisk. Lantas, seberapa pentingnya sih partisi hardisk ini? Dalam banyak kasus, orang-orang yang menyukai lebih dari 1 sistem operasi di dalam komputernya (catatan : dengan menggunakan satu buah hardisk dan tidak menggunakan software virtualisasi sistem operasi) pasti sangat membutuhkan yang namanya partisi hardisk. Karena untuk menggunakan dua buah sistem operasi yang berbeda dalam satu komputer harus menggunakan minimalnya dua buah hardisk atau menggunakan satu buah hardisk yang telah dipartisi dengan dua buah partisi primary(utama). Mengapa demikian? Karena setiap sistem operasi membutuhkan satu partisi untuk mem-booting sistem operasi tersebut. Memangnya dampaknya apa bila kita tidak begitu tahu jenis partisi hardisk? Pada banyak kasus saat penginstallan sistem operasi (dual sistem operasi), rata-rata orang-orang akan mengalami tidak bisanya diinstallnya sistem operasi yang dimaksud karena mereka hanya tahu bahwa hardisknya telah terpartisi namun tidak mengetahui jenis partisnya apa. Alhasil, mereka harus mempartisi ulang hardisk mereka agar bisa diinstall minimal dua sistem operasi. Disamping itu, pentingnya mempartisi hardisk yaitu merupakan antisipasi penyelamatan data apabila partisi utama yang berisi sitem diserang oleh virus karena dengan dipartisinya hardisk, kita telah belajar mengamankan dengan memisahkan data dari partisi sistem. Primary Partition atau partisi utama, yakni partisi yang dapat digunakan untuk melakukan proses booting sistem operasi dan menyimpan data pengguna. Jumlahnya

hanya empat buah saja dalam satu hard disk. Jika terdapat sebuah partisi tambahan, maka jumlahnya akan berkurang menjadi tiga buah partisi utama. Extended Partition atau partisi tambahan, yakni partisi yang dapat menampung beberapa partisi logis. Partisi ini sebenarnya merupakan salah satu jenis dari partisi utama. Jumlahnya hanya boleh satu buah saja. Logical Partition atau partisi logis, yakni partisi yang tidak dapat digunakan untuk melakukan proses booting sistem operasi, dan hanya dapat menyimpan data pengguna. Jumlahnya tidak dibatasi, artinya dalam satu hard disk boleh terdapat banyak logical partition yang menginduk kepada satu buah partisi tambahan. CPU Scheduling Basic Concepts Konsep dasar dari penjadwalan CPU (CPU Scheduling) adalah memaksimalkan CPU Utilization [1] yang dapat diperoleh dengan sistem multiprogramming, CPU Utilization adalah keadaan dimana CPU tidak boleh menganggur. Selain itu konsep dasar dari penjadwalan adalah CPU – I/O Burst Cycle [2] dimana proses eksekusi terdiri dari siklus eksekusi CPU dan I/O wait, kerja dari CPU adalah memproses sebuah proses dimana pada waktu tertentu proses akan dieksekusi dan pada waktu tertentu juga akan diinterupsi apabila meminta sesuatu dari I/O, perpindahan dari status tersebut harus diatur oleh CPU. Konsep dasar yang lain adalah CPU burst distribution. Dilihat dari 3 konsep dasar tersebut maka bisa dilihat bahwa CPU scheduller adalah memilih salah satu diantara proses yang sedang dalam keadaan ready queue dan memasukkanya kedalam CPU untuk diproses. Penjadwalan dapat terjadi pada keadaan seperti berikut: 1. Perpindahan proses dari running ke waiting state 2. Perpindahan proses dari running ke ready state 3. Perpindahan proses dari waiting ke ready state 4. Terminate

keempat keadaan diatas akan menghasilkan penjadwalan non-preemtive, ada keadaan lain yang juga bisa mempengaruhi penjadwalan yaitu: 1. Consider access to shared data 2. Consider preemption while in kernel mode 3. Consider interrupts occurring during crucial OS activities dimana ketiga keadaan diatas akan menghasilkan penjadwalan preemtive.

Scheduling Criteria 1. CPU utilization - menjaga CPU sesibuk mungkin 2. Throughput - proses yang bisa menyelesaikan eksekusi mereka per satuan waktu 3. Turnaround time - jumlah waktu untuk mengeksekusi proses tertentu 4. Waiting time - jumlah waktu saat proses menunggu di ready queue 5. Response time - jumlah waktu yang diperlukan dari saat permintaan disampaikan sampai tanggapan pertama diberikan. Scheduling Algorithm Optimization Criteria 1. Max CPU utilization 2. Max throughput 3. Min turnaround time 4. Min waiting time 5. Min response time Contoh scheduling : Round Robin Algorima ini merupakan proses

antrian, yang mana proses akan mendapatkan jatah waktu sebesar time quantum. Jika

waktu quantumnya selesai maka prosesnya pun selesai. Proses ini merupakan proses yang adil karena tidak ada proses yang didahulukan, semua proses mendapatkan jatah waktu yang sama yaitu 1/n. Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum. Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma first come first served yang mana yang dating dahulu akan dilayani terlebih dahulu.Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum. Multiple Feedback Queue (MFQ) Algoritma ini merupakan algoritma yang

mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini akan sangat menguntungkan karena akan menggunakan waktu yang sedikit dalam pengerjaan proses-proses tersebut. Demikian pula dengan proses yang menunggu lama maka prose ini akan dinaikkan ke tingkat yang lebih tinggi. Dengan begitu CPU akan bekerja dengan penuh dan M/K dapat terus sibuk. Semakin rendah tingkatnya, panjang CPU burst proses juga semakin panjang. Shortest Remaining First (SRF) Pada algoritma ini setiap proses yang ada di ready queue akan dieksekusi berdasarkan burst time terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal. Contoh: Ada 4 buah proses yang datang berurutan yaitu P1 dengan arrival time pada 0.0 ms dan burst time 7 ms, P2 dengan arrival time pada 2.0 ms dan burst time 4 ms, P3 dengan arrival time

pada 4.0 ms dan burst time 1 ms, P4 dengan arrival time pada 5.0 ms dan burst time 4 ms. Hitunglah waiting time rata-rata dan turnaround time dari keempat proses tersebut dengan mengunakan algoritma SJF. Average waiting time rata-rata untuk ketiga proses tersebut adalah sebesar (0 +6+3+7)/4=4 ms. Higest Ratio Next (HRN) Higest Ratio Next (HRN) Merupakan penjadwalan untuk mengoreksi kelemahan SJF yang berprioritas dinamis. HRN Adalah strategi penjadwalan dengan prioritas proses tidak hanya merupakan fungsi waktu layanan,tetapi juga jumlah waktu tunggu proses. Begitu proses mendapat jatah pemroses, maka proses berjalan sampai selesai. Prioritas dinamis HRN dihitung berdasarkan rumus berikut : Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan. Karena waktu layanan muncul sebagai pembagi, maka job lebih pendek berprioritas lebih baik, karena waktu tunggu sebagai pembilang, maka proses yang telah menunggu lebih lama juga mempunyai kesempatan lebih bagus. Mengapa algoritma ini disebut HRN karena waktu tunggu ditambah waktu layanan adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani. Priority Schedulling (PS) Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing. Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain: 1. 2. 3. 4. Time limit. Memory requirement. Akses file. Perbandingan antara burst M/K dengan CPU burst.

5.

Tingkat kepentingan proses. Priority scheduling juga dapat dijalankan secara preemptive maupun non preemptive.

Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi daripada proses yang sedang dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut. Sementara itu, pada non-preemptive, proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tetapi hanya diletakkan di depan queue. Kelemahan pada priority scheduling adalah dapat terjadinya indefinite blocking( starvation). Suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya. Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap. Contoh: Setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan satu tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa prioritasnya semakin tinggi). Guaranteed Scheduling (GS) Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai, sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU. Untuk mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlah waktu CPU untuk semua proses sejak login dan juga berapa lama pemakai sedang login. Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu CPU. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu. Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang waktu CPU miliki dan rasio 2,0 berarti sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma akan menjalankan proses dengan rasio paling rendah hingga naik ketingkat lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time dan memiliki penjadwalan berprioritas dinamis

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->