HATSUNE MIKU
- Back to Home »
- Tugas 2 »
- (Tugas 2) Pengertian Dan Contoh Batch System, Critical Section, Process Control Block, Distributed Processing, Handheld, Thread
(Tugas 2) Pengertian Dan Contoh Batch System, Critical Section, Process Control Block, Distributed Processing, Handheld, Thread
Jumat, 19 Oktober 2018
Batch system adalah dimana job – job yang mirip dikumpulkan
dan dijalankan secara kelompok kemudian setelah kelompok yang dijalankan tadi
selesai maka secara otomatis kelompok lain dijalankan, jadi dengan kata lain
adalah teknologi proses komputer dari generasi ke-2, yang jika suatu tugas
sedang dikerjakan pada 1 rangkaian, akan di eksekusi secara berurutan. Pada
komputer generasi ke-2 sistem komputer nya maasih blum dilengkapi oleh sebuah
sistem operasi. But, dalam beberapa fungsi sistem operasi, seperti os yang
tengah berkembang pada jaman sekarang ini. Contohnya adalah FMS ( Fortarn
Monitoring System ) dan IBSYS.
Jadi bisa disimpulkan, bahwa komputer generasi ke-2 ini
merupakan generasi pertama Sistem Operasi.
Contoh sebuah Batch System adalah sebuah e-mail
dan transaksi batch processing. Dalam suatu sistem batch processing, transaksi
secara individual dientri melalui peralatan terminal, dilakukan validasi
tertentu, dan ditambahkan ke transaction file yang berisi transaksi lain, dan
kemudian dientri ke dalam sistem secara periodik. Di waktu kemudian, selama
siklus pengolahan berikutnya, transaction file dapat divalidasi lebih lanjut
dan kemudian digunakan untuk meng-up date master file yang berkaitan.
Ada
2 cara dalam Batch System yaitu :
1. Resident Monitor
· Operator bertugas
mengatur urutan job
· Job – job yang sama
cukup dicetak sekali saja, cara inilah yg disebut “Batch system”
Teknik pengurutan job
secara manual begini akan menyebabkan tingginya waktu
menganggur
CPU. Muncul teknik pengurutan job otomatis yg mampu mentransfer secara otomatis
dari suatu proses ke proses lainnya.Program kecil dan bersifat residen dimemori
serta berisi urutan2 job yg akan berpindah secara otomatis, inilah “Resident
Monitor”.
2. Overlap Operasi antara
I/O dg CPU
· Off line Processing,
data yg dibaca dari card reader disimpan dulu dalam tape driver sebelum dibawa
ke CPU, demikian pula informasi yg mau dicetak, disimpan dulu di tape
· Spooling adalah
suatu program dapat dikerjakan walaupun I/O masih mengerjakan proses
lainnya dan disk secara bersamaan menggunakan data untuk banyak proses.
Pengertian multi programming adalah kegiatan menjalankan beberapa program pada
memori pada satu waktu.
Critical Section
Dalam pemrograman bersamaan, akses bersamaan ke sumber daya bersama dapat
menyebabkan perilaku yang tidak terduga atau keliru, sehingga bagian dari
program di mana sumber daya bersama diakses dilindungi. Bagian yang dilindungi
ini adalah bagian kritis atau wilayah kritis. Ini tidak dapat dijalankan oleh
lebih dari satu proses dalam satu waktu. Biasanya, bagian kritis mengakses
sumber yang dipakai bersama, seperti struktur data, perangkat periferal, atau
koneksi jaringan, yang tidak akan beroperasi dengan benar dalam konteks
beberapa akses bersamaan.
Kode atau proses yang berbeda dapat terdiri dari variabel yang sama atau
sumber daya lain yang perlu dibaca atau ditulis tetapi hasilnya bergantung pada
urutan di mana tindakan tersebut terjadi. Sebagai contoh, jika sebuah variabel ‘x’ adalah untuk dibaca
oleh proses A, dan proses B memiliki untuk menulis ke variabel yang sama ‘x’
pada saat yang sama, proses A mungkin mendapatkan baik nilai lama atau baru
‘x’.
Process A:
//
Process A
.
.
b = x+5; // instruction executes at
time = Tx
.
Process B:
//
Process B
.
.
x
= 3+z; // instruction
executes at time = Tx
.
Dalam kasus seperti ini, bagian penting. Dalam kasus di atas, jika A perlu
membaca nilai pembaruan ‘x’, mengeksekusi Proses A dan Proses B secara
bersamaan mungkin tidak memberikan hasil yang diperlukan. Untuk mencegahnya,
variabel 'x' dilindungi oleh bagian penting. Pertama, B mendapat akses ke
bagian. Setelah B selesai menulis nilainya, A mendapat akses ke bagian kritis
dan variabel ‘x’ dapat dibaca.
Dengan hati-hati mengontrol variabel mana yang dimodifikasi di dalam dan di
luar bagian kritis, akses bersamaan ke variabel yang dibagikan akan dicegah.
Bagian kritis biasanya digunakan ketika program multi-berulir harus memperbarui
beberapa variabel terkait tanpa utas yang terpisah membuat perubahan yang
bertentangan dengan data tersebut. Dalam situasi yang terkait, bagian penting
dapat digunakan untuk memastikan bahwa sumber yang dipakai bersama, misalnya,
printer, hanya dapat diakses oleh satu proses dalam satu waktu.
Dalam pemrograman paralel, kode ini dibagi menjadi untaian. Variabel yang
saling-baca-tulis dibagi antara utas dan setiap utas memiliki salinannya.
Struktur data seperti daftar tertaut, pohon, tabel hash, dll. Memiliki variabel
data yang ditautkan dan tidak dapat dipisah antara untaian dan karenanya
menerapkan paralelisme sangat sulit. Untuk meningkatkan efisiensi penerapan
struktur data beberapa operasi seperti penyisipan, penghapusan, pencarian harus
dijalankan secara paralel. Saat melakukan operasi ini, mungkin ada skenario di
mana elemen yang sama sedang dicari oleh satu utas dan dihapus oleh yang lain.
Dalam kasus seperti itu, output mungkin keliru. Benang mencari elemen mungkin
memiliki hit, sedangkan utas lainnya dapat menghapusnya setelah waktu itu.
Skenario ini akan menyebabkan masalah dalam program berjalan dengan menyediakan
data palsu. Untuk mencegah hal ini, satu metode adalah bahwa seluruh struktur
data dapat disimpan di bawah bagian kritis sehingga hanya satu operasi yang
ditangani pada suatu waktu. Metode lain adalah mengunci node yang digunakan di
bawah bagian kritis, sehingga operasi lain tidak menggunakan node yang sama.
Menggunakan bagian kritis, dengan demikian, memastikan bahwa kode memberikan
output yang diharapkan.
Bagian penting juga dibutuhkan dalam jaringan komputer.
Ketika data tiba di soket jaringan, mungkin tidak tiba dalam format yang
dipesan. Katakanlah program ‘X’ yang dijalankan di komputer perlu mengumpulkan
data dari soket, mengatur ulang dan memeriksa jika ada yang hilang. Meskipun
program ini berfungsi pada data, tidak ada program lain yang harus mengakses
soket yang sama untuk data tersebut. Oleh karena itu, data soket dilindungi
oleh bagian penting sehingga program 'X' dapat menggunakannya secara eksklusif.
Process Control Block
Tiap
proses digambarkan dalam sistem operasi oleh sebuah process control block PCB -
juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi
yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal dibawah
ini :
1. Status proses: status mungkin, new,
ready, running, waiting, halted, dan juga banyak lagi.
2. Program counter: suatu stack yang
berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
3. CPU register: Register bervariasi
dalam jumlah dan jenis, tergantung pada rancangan komputer. Register
tersebut termasuk accumulator , indeks register, stack pointer ,
general-purposes register , ditambah code information pada kondisi apa pun.
Besertaan dengan program counter, keadaaan/status informasi harus disimpan
ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja
dengan benar setelahnya.
4. Informasi managemen memori:
Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas
register, tabel page/halaman, atau tabel segmen tergantung pada sistem memori
yang digunakan oleh sistem operasi.
5. Informasi pencatatan: Informasi ini
termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah
akun jumlah job atau proses, dan banyak lagi.
6. Informasi status I/O: Informasi
termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu
daftar berkas-berkas yang sedang diakses dan banyak lagi.
7. PCB hanya berfungsi sebagai tempat
penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang
lain.
Gambar Proses Control Blok
Elemen – elemen dari Process Control Block (PCB) :
1. Identifier : menjelaskan proses yang
sedang terjadi.
2. State : kondisi yang terjadi pada
proses.
3. Priority : urutan perintah yang
jelas pada suatu proses.
4. Program counter : instruksi pada
proses.
5. Memory pointers : media penyimpanan
(penunjuk alamat) pada proses.
6. Context data : data yang berkaitan
dengan proses.
7. I/O status information : terdapat
masukan dan keluaran yang diinginkan.
8. Accounting information : memberikan
informasi yang dibutuhkan.
Macam – Macam Jenis Status Proses
Jenis
status yang mungkin dapat disematkan pada suatu proses pada setiap sistem
operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum,
yaitu :
1. Ready adalah status dimana proses
siap untuk dieksekusi pada giliran berikutnya.
2. Running adalah status dimana saat
ini proses sedang dieksekusi oleh prosesor.
3. Blocked adalah status dimana proses
tidak dapat dijalankan pada saat prosesor siap/bebas.
Distributed Processing
Pengolahan terdistribusi adalah frasa yang
digunakan untuk merujuk ke berbagai sistem komputer yang menggunakan lebih dari
satu komputer (atau prosesor) untuk menjalankan aplikasi. Ini termasuk
pemrosesan paralel di mana satu komputer menggunakan lebih dari satu CPU untuk
menjalankan program.
Lebih sering, bagaimanapun, pemrosesan
terdistribusi mengacu pada jaringan area lokal (LAN) yang dirancang sehingga
satu program dapat berjalan secara bersamaan di berbagai situs. Kebanyakan
sistem pemrosesan terdistribusi berisi perangkat lunak canggih yang mendeteksi
CPU idle di jaringan dan memilah program untuk menggunakannya.
Bentuk lain dari pemrosesan terdistribusi melibatkan basis data terdistribusi. Ini adalah basisdata tempat data disimpan di dua atau lebih sistem komputer. Sistem basis data melacak di mana data berada sehingga sifat terdistribusi dari database tidak jelas bagi pengguna.
Bentuk lain dari pemrosesan terdistribusi melibatkan basis data terdistribusi. Ini adalah basisdata tempat data disimpan di dua atau lebih sistem komputer. Sistem basis data melacak di mana data berada sehingga sifat terdistribusi dari database tidak jelas bagi pengguna.
Contoh dari Distributed
Data Processing System adalah komputer yang dirancang untuk tugas-tugas
melaksanakan proyek, analisis finansial, penjadwalan waktu dan akuntansi.
Contoh lainnya, pengolahan data pada server yahoo yang tersebar hampir di
seluruh dunia secara distribusi, setiap wilayah mempunyai server masing-masing.
Seperti di indonesia mempunyai server tersendiri sehingga pengolahan data tidak
di pusat melainkan di wilayah masing-masing, dll.
Handheld
Handheld
computer adalah komputer yang cukup kecil sehingga dapat digenggam.
Komputer genggam ini dapat bekerja dengan fungsi yang hampir sama dengan
komputer biasa. Meskipun sangat mudah untuk dibawa, komputer genggam tidak
dapat menggantikan komputer biasa (PC) karena hanya memiliki keyboard dan layar
yang kecil. Beberapa produsen mencoba untuk memecahkan masalah keyboard yang
terlalu kecil. Keyboard tersebut diganti dengan electronic pen.
Bagaimanapun, electronic pen ini masih bergantung pada teknologi
pengenalan tulisan tangan yang masih dalam tahap pengembangan.
Kelebihan dari
komputer genggam ini adalah pengguna dapat menyimpan serta mengatur data dengan
lebih efisien dan akurat. Biasanya komputer genggam dilengkapi dengan teknologi
Bluetooth. Bluetooth memang tepat untuk mencetak secara nirkabel, menghubungkan
antara komputer genggam dengan mobile printer. Tidak hanya dengan
printer tetapi komputer genggam juga dapat dihubungkan dengan alat-alat lain
melalui koneksi Bluetooth.
Komputer
genggam dapat meningkatkan produktivitas pengguna dan memudahkan mereka untuk
bekerja lebih efisien. Komputer genggam yang paling banyak digunakan adalah
komputer yang khusus dirancang untuk menyediakan fungsi PIM (Personal
Information Manager), seperti kalender, agenda, dan buku alamat. Contoh
system handheld adalah Android, Symbian.
Thread
Proses
itu ada 2 macem :
1.
Proses berat (heavyweight) disebut
proses tradisional.
2.
Proses ringan (lightweight) disebut
THREAD.
Thread adalah unit dasar dari utilitas CPU. Di dalamnya
terdapat ID thread, program counter, register, dan stack. Dan saling berbagi
dengan thread lain dalam proses yang sama.
Keuntungan
memakai Thread :
· Tanggap: Multi-threading mengizinkan
program untuk terus berjalan walaupun pada bagian program tersebut diblock atau
sedang dalam keadaan menjalankan operasi yang lama/panjang. Contohnya
multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu
thread ketika suatu gambar sedang diload oleh thread yang lain.
· Pembagian sumber daya: Secara
default, thread membagi memori dan sumber daya dari proses. Keuntungan dari
pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan
alokasi.
· Ekonomis: Mengalokasikan memori dan
sumber daya untuk membuat proses itu sangat mahal. Alternatifnya thread membagi
sumber daya dari proses, Jadi lebih ekonomis.
· Pemberdayaan arsitektur
multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan
arsitektur multiprosesor, dimana setiap thread dapat berjalan secara parallel
pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya
berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi
paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap
waktu.
Selain itu
:
1. User thread adalah pengelolaan
thread yang dilakukan oleh user level (pengguna).
2. Kernel thread adalah pengelolaan
thread yang dilakukan oleh kernel komputer sehingga user tidak dapat
menginterupsi.
Macam – Macam Thread :
· Single threading : proses hanya
mengeksekusi satu thread dalam satu waktu.
· Multi-threading : proses dapat
mengeksekusi sejumlah thread dalam satu waktu.
Model Multi – Threading :
One to one : Memetakan setiap user
thread ke dalam 1 kernel thread.
Kelebihan
: Model
one-to-one lebih sinkron daripada model many-to-one karena mengizinkan thread
lain untuk berjalan ketika suatu thread membuat pemblokingan terhadap sistem
pemanggilan, hal ini juga membuat multiple thread bisa berjalan secara parallel
dalam multiprosesor.
Kekurangan: Dalam
pembuatan user thread diperlukan pembuatan korespondensi thread pengguna.
Karena dalam proses pembuatan kernel thread dapat mempengaruhi kinerja dari
aplikasi, maka kebanyakan dari implementasi model ini membatasi jumlah thread
yang didukung oleh system.
Model
ini ada pada Windows NT dan OS/2.
One
to Many: memetakan beberapa tingkatan thread user hanya ke satu buah kernel
thread.
Kelebihan : Managemen
proses thread dilakukan oleh (di ruang) pengguna, sehingga menjadi lebih
efisien.
Kekurangan
: Multi
thread tidak dapat berjalan atau bekerja secara paralel di dalam multiprosesor
karena hanya satu thread saja yang bisa mengakses kernel dalam suatu waktu.
Model
ini ada pada Solaris Green dan GNU Portable.
Many
to Many : Membolehkan setiap tingkatan user thread dipetakan ke banyak kernel
thread.
Kelebihan
:
1. Developer dapat membuat user thread
sebanyak yang diperlukan dan kernel thread yang bersangkutan dapat berjalan
secara parallel pada multiprocessor.
2. Dan ketika suatu thread menjalankan
blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan
eksekusi.
Kekurangan
:
1. Developer dapat membuat user thread
sebanyak mungkin, tetapi konkurensi tidak dapat diperoleh karena hanya satu
thread yang dapat dijadwalkan oleh kernel pada suatu waktu.
Model
ini ada pada Solaris, IRIX, dan Digital UNIX.
REFERENCES
Source
By :