Time sharing system adalah
suatu teknik penggunaan online system oleh beberapa pemakai secara bergantian
menurut waktu yang diperlukan. Disebabkan waktu perkembangan proses CPU semakin
cepat, sedangkan alat Input/Output tidak dapat mengimbangi kecepatan dari CPU,
maka kecepatan dari CPU dapat digunakan secara efisien dengan melayani beberapa
alat I/O secara bergantian.
-Kebutuhan turn arround time yang singkat dipenuhi melalui interactive computing
-Dengan interactive computing, komputer segera merespon input dari user dengan respon time yang singkat, karena setiap program memilikifixed time di CPU. Contoh : penjadualan Round Robin
-Dalam lingkungan interactive,user mengevaluasi respon time yang dikerjakan system. Salah satu cara untuk melihat respon time tersebut adalah dengan menghubungkan sejumlah terminal pada system dan menjalankan permintaan proses dari user dengan semua cara yang mungkin untuk mendapatkan respon time yang cukup baik.
-Kebutuhan turn arround time yang singkat dipenuhi melalui interactive computing
-Dengan interactive computing, komputer segera merespon input dari user dengan respon time yang singkat, karena setiap program memilikifixed time di CPU. Contoh : penjadualan Round Robin
-Dalam lingkungan interactive,user mengevaluasi respon time yang dikerjakan system. Salah satu cara untuk melihat respon time tersebut adalah dengan menghubungkan sejumlah terminal pada system dan menjalankan permintaan proses dari user dengan semua cara yang mungkin untuk mendapatkan respon time yang cukup baik.
1. Time
Sharing System
Time Sharing System adalah sebuah
sistem yang berfungsi membagi sumber daya yang ada pada komputer dengan cara
multiprogramming dan multi-tasking. Dengan time sharing pengguna dapat
berinteraksi secara bersamaan dengan menggunakan satu komputer.
2. Scedhuling
Scedhuling merupakan kumpulan
kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan
kerja yang dilakukan sistem komputer. Adapun penjadwalan bertugas memutuskan :
a. Proses yang harus berjalan
b.Kapan dan selama berapa lama
proses itu berjalan.
c.Adil (fairness)
Adalah proses-proses yang
diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada
proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
d.Efisiensi (eficiency)
Efisiensi atau utilisasi
pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
d.Waktu tanggap (response time)
Waktu tanggap berbeda untuk :
1. Sistem
interaktif
Didefinisikan sebagai waktu
yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau
transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut
terminal response time.
2. Sistem
waktu nyata
Didefinisikan sebagai waktu
dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin
layanan yang dimaksud dieksekusi, disebut event response time.
e. Turn around time
Adalah waktu yang dihabiskan
dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan
sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem.
f.Throughput
Adalah jumlah kerja yang dapat
diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput
adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval
waktu. Kriteria-kriteria tersebut saling bergantung dan dapat pula saling
bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara
simultan.
Contoh : untuk memberi waktu
tanggap kecil memerlukan penjadwalan yang sering beralih ke antara
proses-proses itu. Cara ini meningkatkan overhead sistem dan mengurangi
throughput.
Oleh karena itu dalam
menentukan kebijaksanaan perancangan penjadwalan sebaiknya melibatkan kompromi
diantara kebutuhan-kebutuhan yang saling bertentangan. Kompromi ini bergantung
sifat dan penggunaan sistem komputer.
Sasaran penjadwalan berdasarkan
kriteria-kriteria optimasi tersebut :
a. Menjamin
tiap proses mendapat pelayanan dari pemroses yang adil.
b. Menjaga
agar pemroses tetap dalam keadaan sibuk sehingga efisiensi mencapai maksimum.
Pengertian sibuk adalah pemroses tidak menganggur, termasuk waktu yang
dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.
c.
Meminimalkan waktu tanggap.
d.
Meminimalkan turn arround time.
e.
Memaksimalkan jumlah job yang diproses persatu interval waktu. Lebih besar
angka throughput, lebih banyak kerja yang dilakukan sistem.
Tipe Penjadwalan
Terdapat 3 tipe penjadwal
berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:
1.
Penjadwal jangka pendek (short term scheduller)
Bertugas menjadwalkan alokasi
pemroses di antara proses-proses ready di memori utama. Penjadwalan dijalankan
setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus
dijalankan.
2.
Penjadwal jangka menengah (medium term scheduller)
Setelah eksekusi selama suatu
waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan
masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak
dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang
menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka
proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk
proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses
aktif.
Aktivitas pemindahan proses
yang tertunda dari memori utama ke memori sekunder disebut swapping.
Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang
tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses
dimasukkan kembali ke memori utama dan ready.
3.
Penjadwal jangka panjang (long term scheduller)
Penjadwal ini bekerja terhadap
antrian batch dan memilih batch berikutnya yang harus dieksekusi Batch biasanya
adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu
pemroses, memori, perangkat masukan/keluaran), program-program ini berprioritas
rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode
aktivitas job-job interaktif rendah.
Sasaran penjadwalan berdasarkan
tipe-tipe penjadwalan :
a.
Memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapkan.
b.
Mengendalikan transisi dari suspended to ready (keadaan suspend ke ready) dari
proses-proses swapping.
c. Memberi
keseimbangan job-job campuran.
Strategi penjadwalan
Terdapat dua strategi
penjadwalan, yaitu :
1.
Penjadwalan nonpreemptive (run to completion)
Proses diberi jatah waktu oleh
pemroses, maka pemroses tidak dapat diambil alih oleh proses lain sampai proses
itu selesai.
2.
Penjadwalan preemptive
Proses diberi jatah waktu oleh
pemroses, maka pemroses dapat diambil alih proses lain, sehingga proses disela
sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba
kembali pada proses itu. Berguna pada sistem dimana proses-proses yang mendapat
perhatian/tanggapan pemroses secara cepat, misalnya :
a. Pada
sistem realtime, kehilangan interupsi (tidak layani segera) dapat berakibat
fatal.
b. Pada
sistem interaktif, agar dapat menjamin waktu tanggap yang memadai.
Penjadwalan secara preemptive
baik tetapi harus dibayar mahal. Peralihan proses memerlukan overhead (banyak
tabel yang dikelola). Supaya efektif, banyak proses harus berada di memori
utama sehingga proses-proses tersebut dapat segera running begitu diperlukan.
Menyimpan banyak proses tak running benar-benar di memori utama merupakan suatu
overhead tersendiri.
3. Swapping
swapping adalah sebuah proses
yang lambat, untuk itu diperlukan metode yang ,tepat untuk mengatur penempatan
proses ke memori, agar lebih efisien. Swapping adalah sebuah proses yang
,melibatkan modul I/O, ,memindahkan data dari storage device ke memory melewati
bus.
Proses Swapping
1. Ketika
memory belum kosong, proses ditampung dahulu di sebuah medium biasanya
ditampung didalam harddisk.
2. Saat ruang
memory sudah tersedia, load proses tersebut ke memory.
3. Saat
proses sudah selesai, buang seluruhnya dari memory.
4. Kalau ada
proses yang blocked (stuck), pindahkan ke medium, kemudian load proses lain
yang dalam kondisi ready.
4. Partitioning
Partitioning adalah teknik
membagi memori menjadi beberapa bagian sesuai dengan kebutuhan. Sistem operasi
akan menempati bagian memori yang tetap.
Ada dua cara dalam
pempartisian, yaitu :
1. Pemartisian Statis
Pemartisian Statis adalah
pemartisian memori menjadi partisi tetap yang mana proses-proses akan
ditempatkan pada memori yang telah dipartisi tersebut.
Berdasarkan ukuran dibagi
menjadi dua, yaitu :
a.
Pemartisian dengan partisi berukuran sama
yaitu teknik pemartisian dengan
cara pembagian memori dengan besar kapasitas yang sama semua. Namun
kalemahannya adalah
1. Bila program berukuran lebih
besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan dan
dijalankan. Pemrogram harus mempersiapkan overlay. Overlay adalah program
dipecah menjadi bagian-bagian yang dapat dimuat ke memori. Sehingga hanya
bagian program yang benar-benar dieksekusi yang dimasukkan ke memori utama dan
saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung
swapping.
2. Bila program lebih kecil
daripada ukuran partisi yang tersedia, maka akan ada ruang yang tak dipakai,
yang disebut fragmentasi internal atau pemborosan memori. Kelemahan ini dapat
dikurangi dengan membuat partisi tetap dengan ukuran yang berbeda.
Fragmentasi adalah pemborosan
memori yang terjadi pada setiap organisasi penyimpanan.
ü Fragmentasi internal :
proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses
ü Fragmentasi eksternal :
partisi tidak dapat digunakan karena ukuran partisi lebih kecil dibanding
ukuran proses yang menunggu di antrian.
b.
Pemartisian dengan partisi berukuran berbeda
yaitu teknik pemartisian dengan
cara pembagian memori dengan besar kapasitas yang berbeda-beda.
2. Pemartisian Dinamis
Dengan menggunkan partisi
statis menyebabkan memori terlalu banyak diboroskan dengan proses-proses yang
lebih kecil dibanding partisi yang ditempatinya. Namun apabila menggunakan
partisi dinamis maka jumlah, lokasi, dan ukuran proses di memori dapat beragam
sepanjang waktu secara dinamis. proses yang akan masuk ke memori segera
dibuatkan partisi untuknya sesuai kebutuhannya. Teknik ini meningkatkan
utilitas memori.
Kelemahan partisi dimanis
adalah dapat terjadi lubang-lubang kecil memori di antara partisi-partisi yang dipakai
merumitkan alokasi dan dealokasi memori.
5. Partitioning
5. Partitioning
Adalah sistem manajemen pada
sistem operasi dalam mengatur program yang sedang berjalan. Program yang
berjalan harus dimuat di memori utama. Kendala yang terjadi apabila suatu
program lebih besar dibandingkan dengan memori utama yang tersedia.
Untuk mengatasi hal tersebut
Sistem Paging mempunyai 2 solusi, yaitu:
Konsep Overlay
Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay). Overlay yang belum diperlukan pada saat program berjalan (tidak sedang di eksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dimuat ke memori begitu diperlukan dalam eksekusinya.
Dimana program yang dijalankan dipecah menjadi beberapa bagian yang dapat dimuat memori (overlay). Overlay yang belum diperlukan pada saat program berjalan (tidak sedang di eksekusi) disimpan di disk, dimana nantinya overlay tersebut akan dimuat ke memori begitu diperlukan dalam eksekusinya.
Konsep Memori Maya (virtual
Memory)
Adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.
Adalah kemampuan mengalamati ruang memori melebihi memori utama yang tersedia. Konsep ini pertama kali dikemukakan Fotheringham pada tahun 1961 untuk sistem komputer Atlas di Universitas Manchester, Inggris.
Gagasan Memori Maya adalah
ukuran gabungan program, data dan stack melampaui jumlah memori fisik yang
tersedia. Sistem operasi menyimpan bagian-bagian proses yang sedang digunakan
di memori utama dan sisanya di disk. Begitu bagian di disk diperlukan maka
bagian memori yang tidak diperlukan disingkirkan dan diganti bagian disk yang
diperlukan.