NIM : 8020170120

PENGERTIAN DAN CONTOH PROCESS CONTROL BLOCK

PENGERTIAN 
PROCESS CONTROL BLOCK  (PCB) adalah struktur data yang dipakai oleh OS untuk mengelola proses.Hampir semua OS yang modern telah memuat PCB(Process Control Block) namun strukturnya berbeda-beda pada setiap OS tersebut.PCB  juga memuat informasi tentang proses, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Sebuah PCB ditunjukkan dalam gambar berikut.



CONTOH
struktur data yang mengendalikan beberapa PCB adalah process table. Bisa saja beberapa PCB ditaruh pada daftar dalam waktu yang bersamaan.Process table ini menggambarkan sistem tersebut ketika OS menemukan tiap-tiap PCB melalui proses ID.

PCB dibagi 3 kelompok yaitu :
  • ·         Process identification data; selalu menyertakan sebuah identifier unik untuk prosesnya (hampir selalu bernilai integer) dan, dalam sebuah sistem multiuser-multitasking, data seperti identifier proses induk, identifier pengguna, identifier grup pengguna, dll. Proses ini sangan relevan, karena itu sering digunakan untuk referensi silang tabel OS, misalnya memungkinkan untuk mengidentifikasi proses yang menggunakan device I/O, atau daerah memori.
  • ·         Processor state data; adalah potongan-potongan informasi yang mendefinisikan status dari suatu proses ketika proses itu ditangguhkan, yang memungkinkan OS untuk melakukan restart proses nantinya dan masih dapat mengeksekusinya dengan benar. Hal ini selalu menyertakan isi dari register CPU tujuan.
  • ·             Process control data; digunakan oleh OS untuk mengelola proses itu sendiri.

PENGERTIAN DAN CONTOH CRITICAL SECTION

PENGERTIAN 
Critical Section adalah sebuah segmen kode dari sebuah proses yang mana sumber daya diakses bersamaanTerdiri dari: 
  • Entry Section: kode yang digunakan untuk masuk ke dalam critical section
  • Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu
  • Exit Section: akhir dari critical section, mengizinkan proses lain
  • Remainder Section: kode istirahat setelah masuk ke critical section

CONTOH CRITICAL SECTION PADA ALGORITMA
Cara-cara memecahkan masalah

• Hanya dua proses, Po dan P1
• Struktur umum dari proses adalah Pi (proses lain Pj)

do {
        critical section
         remainder section
       } while(1);


Algoritma 1
Disini kita akan mencoba membuat sebuah rangkaian solusi-solusi dari permasalahan yang makin meningkat kerumitannya.

Pada semua contoh, i adalah proses yang sedang berjalan, j adalah proses yang lain. Pada contoh ini code.

i. Shared variables
   • int turn
           Initially turn=0

     • turn = i, Pi can enter its critical section
ii. Process Pi
do {
        while(turn!=1);
         critical section
         turn=j;
         remainder section
        } while(1);
iii. Memenuhi mutual exclusion, tapi bukan progress.

Algoritma 2
FLAG untuk setiap proses yang memberi STATE:

Setiap proses memantau suatu flag yang mengindikasikan ia ingin memasuki critical section. Dia memeriksa flag poses lain dan tidak akan memasuki critical section bila ada proses lain yang sedang masuk.

i. Shared variables
       • boolean flag[2];
             initially flag [0] = flag [1] = false

       • flag [i] = true , Pi ready to enter its critical section
ii. Process Pi
do {
        flag[i]:=true;
        while(turn!=1);
        critical section
        turn=j;
        remainder section
         } while(1);
iii. Memenuhi mutual exclusion, tapi tidak memenuhi progess.

Algoritma 3
FLAG untuk meminta izin masuk:

Setiap proses mengeset sebuah flag untuk meminta izin masuk. Lalu setiap proses mentoggle bit untuk mengizinkan yang lain untuk yang pertama

Kode ini dijalankan untuk setiap proses i

Shared variables
F boolean flag[2];
      initially flag[0] = flag[1] = false
F flag[i] = true;

Pi ready to enter its critical section

Gabungan shared variables dari algorima 1 dan 2

Process Pi

do {
       flag[i]:=true;
        turn = j;
        while(flag[j] and turn = j);
        critical section
         flag[i] = false;
         remainder section
          } while(1);

Memenuhi ketiga persyaratan, memecahkan persoalan critical section untuk kedua proses


Algoritma Bakery
Critical Section untuk n buah proses:

Sebelum memasukkan proses ke critical section, proses menerima sebuah nomor. Pemegang nomor terkecil masuk ke critical section. Jika ada dua proses atau lebih menerima nomor sama, maka proses dengan indeks terkecil yang dilayani terlebih dahulu untuk masuk ke critical section. Skema penomoran selalu naik secara berurut contoh: 1, 2, 3, 3, 3, 3, 4, 5,...

boolean choosing [n];
long long long int number [n];
/* 64 bit maybe okay for about 600 years */
Array structure elements are initiallized to false and 0 respectively
while (true) {
           choosing[i] = true;
           number[i] = max(number[0], ... [n-1]) + 1;
            choosing[i] = false;
            for (j = 0; j < n; j ++) {
            while (choosing[j]) {}
            while ((number[j] !=0) && ((number[j], j) < (number[i], i))) {}
}
number[i] = 0
}
Solves the critical-section problem


PENGERTIAN DAN CONTOH BATCH SYSTEM

PENGERTIAN 
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. Tapi, dalam beberapa fungsi sistem operasi, seperti os yang tengah berkembang pada jaman sekarang ini. Contohnya adlah FMS ( Fortarn Monitoring System ) dan IBSYS.

CONTOH 

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.

SUMBER : http://onepersen4ever.blogspot.com/2014/04/pengertian-batch-system-bentuk-batch.html

HANDHELD

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.

SUMBER : https://id.wikipedia.org/wiki/Handheld_computer

REAL TIME

REAL TIME 

Real Time System adalah sistem yang memiliki deadline/jangka waktu penyelesaian tertentu/ditentukan, namun tetap mengutamakan ketepatan dan performa yang tinggi dalam prosesnya.

Jika respon komputer melewati batas waktu tersebut, maka terjadi degradasi performansi atau kegagalan sistem salah satu karakteristik RTOS yang berbeda dengan OS biasa, yaitu RTOS harus mendukung algoritma penjadwalan proses berdasarkan prioritas (priority scheduling mechanism) yang dapat diinterupsi (preemptive). 

Penjadwalan memungkinkan fleksibilitas dalam melakukan teknik pengaturan proses dan melakukan proses prioritas dari sistem komputer.

Real-Time Operating System (RTOS) atau dalam bahasa indonesia Sistem Operasi Waktu Nyata adalah sistem operasi multitasking yang digunakan untuk memenuhi kebutuhan aplikasi (soft) yang bersifat real time.

Real time disini berarti ia membutuhkan waktu kinerja setiap saat dimana ia dibutuhkan saat itu juga. Salah satu kunci dari keberhasilan RTOS adalah kemampuannya untuk melakukan kerja secara konsisten baik secara waktu yang ia butuhkan maupun secara task aplikasi yang mampu ia kerjakan.

SUMBER : http://generasiwacana.blogspot.com/2015/12/perkembangan-dan-pengertian-sistem.html

CLUSTER

CLUSTER
Cluster, atau allocation unit (unit alokasi) dalam beberapa sistem berkas (file system) dan pengorganisasian disk, seperti File Allocation Table dalam sistem operasi MS-DOS dan NTFS dalam Windows NT merujuk kepada kumpulan sektor media penyimpanan yang digunakan oleh sistem operasi sebagai sebuah kesatuan, yang dapat digunakan untuk menyimpan informasi di dalam berkas atau direktoriCluster dimaksudkan untuk mengurangi keborosan dalam melakukan manajemen terhadap struktur data di dalam hard disk, sehingga sistem berkas tidak akan mengalokasikan sektor disk fisik, tetapi sekumpulan sektor yang saling bedekatan.
Ukuran cluster bervariasi, tergantung format sistem berkas yang digunakan dan juga kapasitas media penyimpanan (atau kapasitas partisi). Umumnya, sebuah cluster terdiri dari 1 sektor hingga 128 sektor. Untuk sebuah cakram yang menggunakan sektor dengan ukuran 512 bytes, sebuah cluster berukuran 512 byte akan memakan satu buah sektor, sementara cluster 4 kilobyte akan memakan 8 sektor.
Semakin besar ukuran cluster, maka semakin cepat proses transfer data yang dapat dilakukan, dan berlaku sebaliknya, karena memang sistem operasi menganggap sektor sebanyak itu sebagai satu kesatuan (daripada menggunakan sektor-sektor yang kecil). Meskipun demikian, semakin besar ukuran cluster dapat menyebabkan fragmentasi internal dan banyaknya ruangan yang terbuang (khususnya jika digunakan untuk menyimpan berkas-berkas yang kecil dalam jumlah yang besar), jika dibandingkan dengan ukuran cluster yang kecil; ruangan yang terbuang tersebut dinamakan juga dengan slack space. Semakin kecil ukuran cluster, maka semakin efisien penggunaan ruangan media penyimpanan, persentase fragmentasi yang lebih rendah, meski mengakibatkan dengan kinerja yang kurang begitu bagus.
Beberapa desain sistem berkas dengan ukuran cluster yang kecil (seperti halnya NTFS dari keluarga sistem operasi Windows NT) menggunakan memori cache tambahan yang dapat meningkatkan kinerja sistem berkas tersebut, dengan tetap mempertahankan ukuran cluster yang relatif kecil. Sistem berkas NTFS, dengan hanya menggunakan ukuran cluster 4 KB (8 sektor), dapat mengalamati hingga 16 Terabyte; bandingkan dengan FAT32, yang menggunakan ukuran cluster 32 KB (64 sektor), hanya dapat mengalamati hingga 2 Terabyte saja.
Penentuan ukuran cluster dapat dilakukan saat pemformatan dilakukan, meski hal ini kurang disarankan (sistem operasi akan menentukan ukuran cluster secara otomatis berdasarkan kapasitas media penyimpanan). Dalam keluarga sistem operasi Windows NT, utilitas command-line format atau snap-in MMC Disk Management (pada Windows 2000 ke atas) dapat melakukannya. Penggunaan utilitas format untuk menentukan ukuran cluster dapat dilakukan dengan sintaksis seperti di bawah ini:
format <drive yang akan diformat>: /fs:<jenis format sistem berkas> /a:<ukuran cluster dalam byte>
Contoh:
format F: /FS:NTFS /A:8192
Perintah di atas akan membuat sebuah volume NTFS yang memiliki ukuran cluster 8192 byte (8 KB) dan akan di-mount ke dalam drive F:.
Dalam sistem operasi GNU/Linux (dan kebanyakan keluarga sistem operasi UNIX), dapat dilakukan dengan menggunakan utilitas /sbin/mkfs.

SUMBER : https://id.wikipedia.org/wiki/Cluster_(sistem_berkas)

TERDISTRIBUSI

TERDISTRIBUSI
A. Pengertian Distribusi
Distribusi artinya proses yang menunjukkan penyaluran barang dari produsen sampai ke tangan masyarakat konsumen. Produsen artinya orang yang melakukan kegiatan produksi. Konsumen artinya orang yang menggunakan atau memakai barang/jasa dan orang yang melakukan kegiatan distribusi disebut distributor.
Distribusi merupakan kegiatan ekonomi yang menjembatani kegiatan produksi dan konsumsi. Berkat distribusi barang dan jasa dapat sampai ke tangan konsumen. Dengan demikian kegunaan dari barang dan jasa akan lebih meningkat setelah dapat dikonsumsi.
Dari apa yang baru saja diuraikan, tampaklah bahwa distribusi turut serta meningkatkan kegunaan menurut tempatnya (place utility) dan menurut waktunya (time utility).
B. Definisi Sistem Terdistribusi
sebuah sistem dimana komponen hardware atau software-nya terletak dalam suatu jaringan komputer dan saling berkomunikasi dan berkoordinasi mengunakan message pasing.
sebuah sistem yang terdiri dari kumpulan dua atau lebih komputer dan memiliki koordinasi proses melalui pertukaran pesan synchronous atau asynchronous.
kumpulan komputer independent yang tampak oleh user sebagai satu sistem komputer
kumpulan komputer autonom yang dihubungkan oleh jaringan dengan software yang dirancang untuk menghasilkan fasilitas komputasi terintegrasi
dapat terlihat dari bebarapa pengertian diatas dapat di tarik kesimpulan bahwa sistem terdistribusi adalah sebuah sistem yang terdiri dari beberapa komponen software atau hardware yang independent yang berkomunikasi dan berkoordinasi melalui message parsing baek sinkron maupun asinkron yang telihat satu kesatuan dan dirancang untuk menghasilkan fasilitas komputasi terintegrasi.
D.Contoh – Contoh Sistem Terdistribusi

Beberapa contoh dari sistem terdistribusi yaitu :

1. Internet, merupakan suatu bentuk jaringan global yang menghubungkan komputer                dengan satu sama lainnya, yang dapat berkomunikasi dengan media IP sebagai protokol.
2. Intranet
  • Jaringan yang teradministrasi secara lokal biasanya proprietary
  • Terhubung ke internet (melalui firewall)
  • Menyediakan layanan internal dan eksternal

3. Sistem terdistribusi multimedia Biasanya digunakan pada infrastruktur internet
    Karakteristik
    Sumber data yang heterogen dan memerlukan sinkronisasi secara real time
    Video, audio, text Multicast


    Contoh:


  • Teleteaching tools (mbone-based, etc.)
  • Video-conferencing
  • Video and audio on demand
4. Mobile dan sistem komputasi ubiquitous
    Sistem telepon Cellular (e.g., GSM)
    Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak

  • Komputer laptop, ubiquitous computing
  • Handheld devices, PDA, etc

5. World wide web
  • Arsitektur client/server tebuka yang diterapkan di atas infrastruktur internet
  • Shared resources (melalui URL)
6. Contoh distribusi yang lainnya seperti
  • Sistem telepon seperti ISDN, PSTN
  • Manajemen jaringan seperti Administrasi sesumber jaringan
  • Network File System (NFS) seperti Arsitektur untuk mengakses sistem file melalui jaringan.

SUMBER : https://den4ghel.wordpress.com/2013/03/12/definisi-dan-contoh-sistem-terdistribusi/

PARALEL (MULTIPROCESSOR)

PARALEL (MULTIPROCESSOR)


Sistem multiprosesor adalah, suatu sistem dengan lebih dari satu CPU yang memiliki sebuah memori bersama, seperti sekelompok orang dalam suatu ruangan yang memili papan tulis bersama. Karena setiap CPU dapat membaca atau menulis bagian apa saja dari memori, mereka harus berkoordinasi (dalam software) agar tidak saling berebut jalurnya masing -masing. 

Berbagai skema implementasi dapat dilaksanakan. Salah satu skema paling sederhana adalah memiliki sebuah bus tunggal dengan banyak CPU dan satu memori yang seluruhnya dipasang ke dalam bus tersebut. 

Semua prosesor dapat melakukan komputasi secara paralel dan masing-masing dapat mengakses memori melalui bus. Bus bertanggung jawab mengatur permintaan pemakaian memori yang berlangsung secara simultan oleh beberapa prosesor. Bus juga bertanggung jawab untuk meyakinkan bahwa semua prosesor dilayani secara adil dengan waktu tunda (delay) akses yang minimum. 

Dengan sejumlah besar prosesor cepat yang selalu berusaha mengakses memori melalui bus yang sama, konflik - konflik akan terjadi. Para perancang multiprosesor telah mengajukan berbagai macam skema untuk mengurangi konflik ini guna meningkatkan kinerja seperti ditunjukan oleh gambar 14.8. 

Multiprosesor memiliki keunggulan dibanding jenis - jenis komputer paralel yaitu: 

a) Peningkatan throughput, karena lebih banyak proses / thread yang berjalan dalam satu waktu sekaligus (jika proses yang antri di ready queue sedikit). Perlu diingat hal ini tidak berarti daya komputasinya menjadi meningkat sejumlah prosesornya. Yang meningkat ialah jumlah pekerjaan yang bisa dilakukannya dalam waktu tertentu. 

b) Economy of scale (ekonomis), ekonomis dalam devices yang dibagi bersama – sama. Prosesor - prosesor terdapat dalam satu komputer dan dapat membagi peripheral (ekonomis) seperti disk dan catu daya listrik. 

c) Peningkatan kehandalan (reliabilitas), Jika satu prosesor mengalami suatu gangguan, maka proses yang terjadi masih dapat berjalan dengan baik karena tugas prosesor yang terganggu diambil alih oleh prosesor lain. Hal ini dikenal dengan istilah Graceful Degradation. Sistemnya sendiri dikenal bersifat fault tolerant atau failoft system. 



Penjadwalan Multiprocessor
Kita perlu mempelajari penjadwalan pada prosesor jamak berhubung sistem
dengan prosesor jamak akan semakin banyak digunakan karena kemampuannya yang
lebih baik dari sistem dengan prosesor tunggal. Seperti halnya pada prosesor tunggal,
prosesor jamak juga membutuhkan penjadwalan. Namun pada prosesor jamak,
penjadwalannya jauh lebih kompleks dari pada prosesor tunggal. Dalam penjadwalan
prosesor jamak, tiap proses dapat mengakses memori dengan cara yang sama [uniform
memory access].
Pembatasan dalam penjadwalan juga terjadi dalam multiprosesor. Hal ini
disebabkan karena:

a) kemungkinan adanya load sharing. Load sharing terjadi jika ada beberapa prosesor
yang identik. Untuk mengatasi hal itu maka tiap prosesor memiliki kemampuan
penjadwalan mandiri (self schedulling).

b) kemungkinan terlewatinya sebuah proses dari antrian [ready queue] atau beberapa
prosesor memilih untuk mengeksekusi proses yang sama. permasalahan seperti itu
bisa dijawab dengan sebuah master-slave structure, yaitu suatu struktur dimana
satu prosesor ditunjuk sebagai master. Master inilah yang akan bertanggung jawab
dalam hal penjadwalan, memproses I/O, dan sebagainya. Sedangkan prosesor yang
lain [slave] hanya bertugas untuk mengeksekusi user code. Hal ini disebut juga
sebagai Asymmetric Multiprocessing karena hanya satu prosesor yang dapat
mengakses struktur data dari sistem.

Ada beberapa jenis dari sistem penjadualan prosesor jamak, namun yang akan
dibahas dalam bab ini adalah penjadwalan pada sistem prosesor jamak yang memiliki
fungsi-fungsi prosesor yang memiliki fungsi yang sama (Homogeneous processors within
a multiprocessor). Diantaranya ada 2 yaitu:

1. Penjadwalan Asymmetric MultiProcessing (AMP)
Pendekatan pertama untuk penjadwalan prosesor jamak adalah penjadwalan
asymmetric multiprocessing atau biasa disebut juga sebagai penjadwalan Master
Slave MultiProcessor. Dimana pada metode ini satu prosesor bertindak sebagai
master dan prosesor lainnya sebagai slave. Master Processor bertugas untuk
menjadualkan dan mengalokasikan proses yang akan dijalankan oleh Slave
Processors. Master Processor melakukan pekerjaan yang berhubungan dengan
System, Slave Processor melayani user requests dalam pengeksekusian program.
Pemrosesan yang banyak tidak menyebabkan penurunan performance. Metode ini
sederhana karena hanya satu prosesor yang mengakses struktur data sistem dan
juga mengurangi data sharing. Sebagai contoh, prosesor master memilih proses yang
akan dieksekusi, kemudian mencari prosesor yang available, dan memberikan
instruksi start processor. Prosesor slave memulai eksekusi pada lokasi memori yang
dituju. Saat slave mengalami sebuah kondisi tertentu, prosesor slave memberi
interupsi kepada prosesor master dan berhenti untuk menunggu perintah
selanjutnya. Perlu diketahui bahwa prosesor slave yang berbeda dapat ditujukan
untuk suatu proses yang sama pada waktu yang berbeda. Master processor dapat
mengeksekusi OS dan menangani I/O, sedangkan sisanya processor tidak punya
kemampuan I/O dan disebut sebagai Attached Processor (Aps). APs mengeksekusi kodekode
user dibawah pengawasan master processor.

2. Penjadwalan Symmetric MultiProcessing (SMP)
Penjadwalan SMP adalah pendekatan kedua untuk penjadwalan prosesor jamak.
Pada metode ini setiap prosesor menjadwalkan dirinya sendiri (self scheduling).
Penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa
antrian ready dan memilih suatu proses untuk dieksekusi. Jika suatu sistem prosesor
jamak mencoba untuk mengakses dan mengupdate suatu struktur data, penjadwal
dari prosesor-prosesor tersebut harus diprogram dengan hati-hati, kita harus yakin
bahwa dua prosesor tidak memilih proses yang sama dan proses tersebut tidak
hilang dari antrian. Secara virtual, semua sistem operasi modern mendukung SMP,
termasuk Windows XP, Windows 2000, Windows Vista, Solaris, Linux, dan Mac OS X.
Lock digunakan untuk proses sinkronisasi, apabila ada 2 atau lebih proses yang ingin
mengakses alamat memori yang sama dan mengubah shared memory. Dalam skema
tersebut, salah satu penjadwalan akan digunakan. Salah satu cara menggunakan
symmetric multiprocessing(SMP). Dimana setiap prosesor menjadwalkan diri sendiri.
Setiap prosesor memeriksa ready queue dan memilih proses yang akan dieksekusi.

SUMBER : http://wandiso.blogspot.com/2011/04/multiprocessor.html