OperasipadaSistemOperasi

advertisement
Operasi pada Sistem Operasi
Avida Endriani 2103141003
|
Reza Gusty Erlangga 2103141020 |
D3 TEKNIK INFORMATIKA A
Definisi dan Bagian dari Sistem Operasi
Apa itu sistem operasi?
Sistem operasi adalah software sistem yang bertugas untuk melakukan kontrol, mengelola hardware,
serta operasi dasar sistem, termasuk menjalankan software aplikasi.
Apa sajakah bagian-bagian dari sistem operasi ?
1.
Mekanisme boot: meletakkan kernel ke dalam memori.
2.
Kernel: inti sebuah sistem operasi.
3.
Command interpreter atau shell: bagian yang bertugas membaca input dari pengguna.
4.
Pustaka (library): menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi
lain.
5.
Driver: komponen untuk berinteraksi antara hardware eksternal sekaligus mengontrolnya.
Fungsi Sistem Operasi
1. Mengelola sumber daya terkait dengan pengendalian perangkat lunak sistem/aplikasi yang
sedang dijalankan.
2. Mempersiapkan agar program aplikasi dapat berinteraksi dengan perangkat keras secara
konsisten dan stabil tanpa harus mengetahui secara detil mengenai perangkat keras.
3. Melakukan pengelolaan proses mencakup penyiapan, penjadwalan, dan pemantauan proses
program yang sedang dijalankan.
4. Melakukan pengelolaan data pengendalian terhadap data masukan/keluaran.
Pembagian Sistem Operasi
Berdasarkan jenis komputer yang dikendalikan dan bentuk aplikasi yang didukung, SO dibagi menjadi:
1.
RTOS (Real Time Operating System)
 mengendalikan perangkat keras untuk tujuan spesifik
2.
Single User, Single Task
 memudahkan menangani pengoperasian komputer sehingga pengguna dapat menjalankan satu
pekerjaan pada saat yang bersamaan
3.
Single User, Multitasking
 Memungkinkan pengguna dapat menjalankan beberapa aplikasi terpisah secara bersamaan
4.
Multi-User
 memungkinkan lebih dari satu pengguna bersama-sama menggunakan sumber daya komputer
secara simultan
Penanganan Sistem Operasi
a. Multi programming
 metode yang memungkinkan dua buah program/lebih dijalankan secara serentak pada sebuah komputer dan
berbagai sumber daya dalam waktu yang berlainan.
b. Time Sharing
 Metode yang dipakai dalam sistem operasi yang memungkinkan sejumlah pemakai dapat berinteraksi dengan
proses yang dibuatnya secara bergantian dengan jumlah waktu yang sama.
c. Penyimpanan virtual
 Metode yang menangani sejumlah program dengan membagi program-program tersebut ke dalam bagian
yang kecil dengan ukuran sama.
d. Multitasking
 Metode yang memungkinkan seorang pemakai menjalankan sejumlah program dalam waktu yang sama.
e. Multiprocessing
 Metode dengan kemampuan sistem operasi yang menjalankan dua atau lebih intruksi secara serentak dengan
menggunakan sejumlah CPU dalam sebuah komputer.
Manajemen File
Manajemen file juga dapat diartikan sebagai pengorganisasian file data dan file program.
 Cut/move, memindahkan file dari suatu direktori ke direktori lain.
Contoh: penggunaan command $mv <nama file> pada linux.
 Copy, menyalin file.
Contoh: $cp <nama file>
 Create file/directory, membuat file baru/direktori baru.
Contoh: create file: $touch <nama file baru>. Create directory: $rmdir <nama direktori baru>
 Delete file/directory, menghapus file/direktori.
Contoh: delete file: $rm <nama file> . Delete directory: $rmdir <nama direktori>
Manajemen Proses
Manajemen proses suatu sistem operasi (khususnya Linux) terdiri dari:
 Foreground, proses yang sedang berjalan ditampilkan saat itu juga.
Contoh: penggunaan command $fg
 Background, proses yang berjalan di balik layar.
Contoh: $bg
 Kill process, menghentikan proses.
Contoh: $kill %<nomor proses> / $kill <nomor PID proses> / $killal -<option>
Manajemen I/O
Penanganan I/O (1)
 Dalam berkomunikasi dengan device controller, terdapat dua cara sistem operasi memberikan perintah dan
data, yaitu: Instruksi I/O. Merupakan instruksi CPU yang khusus menangani transfer byte atau word ke sebuah
port I/O. Cara kerjanya, instruksi tersebut memicu line bus untuk memilih perangkat yang dituju kemudian
mentransfer bit-bit dari atau ke register perangkat.
Penanganan I/O (2)
 I/O Memory-mapped Register-register pengendali perangkat dipetakan keruang alamat prosesor. Operasi
membaca atau pun menulis di alamat tersebut di interpretasikan sebagai perintah untuk perangkat I/O.
Penanganan I/O (3)
 Sebagai contoh, sebuah operasi write di gunakan untuk mengirim data keperangkat I/O dimana data tersebut
diartikan sebagai sebuah perintah. Saat CPU menempatkan alamat dan data tersebut di memori bus, memori
sistem mengacuhkan operasi tersebut karena alamat nya mengindikasikan jatah ruang memori untuk I/O.
Namun, pengendali perangkat melihat operasi tersebut, mengambil data, kemudian men transmisi ke
perangkat sebagai sebuah perintah.
Penjadwalan CPU
Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti. Sehingga untuk memilih algoritma
ini harus dipertimbangkan dulu properti-properti algoritma tersebut. Ada beberapa kriteria yang digunakan untuk
melakukan pembandingan algoritma penjadwalan CPU, antara lain:
 CPU utilization. Diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas CPU dinyatakan dalam bentuk prosen
yaitu 0-100%. Namun dalam kenyataannya hanya berkisar antara 40-90%.
 Throughput. Adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu.
 Turnaround time. Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk
meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O.
 Waiting time. Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak
mempengaruhi eksekusi proses dan penggunaan I/O.
 Response time. Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang
menanggapi permintaan tersebut.
 Fairness. Meyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara
terbuka (fair).
Algoritma Penjadwalan CPU
Penjadwalan CPU menyangkut penentuan proses-proses yang ada dalam ready queue yang akan
dialokasikan pada CPU. Terdapat beberapa algoritma penjadwalan CPU seperti sub bab di bawah ini.
 First-Come First-Served Scheduling (FCFS)
Proses yang pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu. Pada skema
ini, proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama kali.
 Shortest Job First Scheduler (SJF)
Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu. Terdapat dua skema:
 Non preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai.
 Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu
sedang dieksekusi, proses ini ditunda dan diganti dengan proses baru. Skema ini disebut dengan ShortestRemainingTime-First (SRTF).
SJF adalah algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal. Misalnya terdapat
empat proses dengan panjang CPU burst dalam milidetik.
Algoritma Penjadwalan CPU
 Priority Scheduling
Algoritma SJF adalah suatu kasus khusus dari penjadwalan berprioritas. Tiaptiap proses dilengkapi
dengan nomor prioritas (integer). CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi
(nilai integer terkecil biasanya merupakan prioritas terbesar). Jika beberapa proses memilikiprioritas
yang sama, maka akan digunakan algoritma FCFS. Penjadwalan berprioritas terdiri dari dua skema yaitu
non preemptive dan preemptive. Jika ada proses P1 yang datang pada saat P0 sedang berjalan, maka
akan dilihat prioritas P1.Seandainya prioritas P1lebih besar dibanding dengan prioritas P0, maka pada
non-preemptive, algoritma tetap akan menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan
P1pada posisi head queue. Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU ganti
dialokasikan untuk P1.
Algoritma Penjadwalan CPU
 Round-Robin Scheduling
Konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Pada dasarnya algoritma ini sama
dengan FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang disebut dengan waktu
quantum (quantum time) untuk membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses
ditunda dan ditambahkan pada ready queue. Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan
waktu quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera
digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan
dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan
selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya.
Jika terdapat nproses pada ready queue dan waktu quantum q, maka setiap proses mendapatkan 1/ndari waktu CPU
paling banyak qunit waktu pada sekali penjadwalan CPU. Tidak ada proses yang menunggu lebih dari (n-1)qunit
waktu. Performansi algoritma round robin dapat dijelaskan sebagai berikut, jika q besar, maka yang digunakan
adalah algoritma FIFO, tetapi jika q kecil maka sering terjadi context switch.
Download