Minggu, 05 April 2015

Konsep Dasar Penjadwalan Proses

Konsep Dasar Penjadwalan Proses

Penjadwalan adalah fungsi dasar dari sistem operasi semua resources komputer dijadwalkan sebelum digunakan. Pada sistem komputer terdapat beberapa bentuk penjadwalan: admission (pintu masuk kesistem ), memori, dan CPU scheduler. Penjadwalan CPU adalah pemilihan proses dari Ready Queue untuk dapat dieksekusi. Penjadwalan CPU didasarkan pada sistem operasi yang menggunakan prinsip Multiprogramming.

Penjadwalan bertugas memutuskan :
  • ·         Proses yang harus berjalan.
  • ·         Kapan dan selama berapa lama proses itu berjalan.


Kita mengenal istilah multiprograming, yang bertujuan untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang digunakan oleh CPU, sehingga proses berjalan sepanjang waktu dan memperkecil waktu idle. Akibatnya sistem operasi dapat membuat komputer lebih produktif. Oleh karena itu perlu adanya penjadwalan proses-proses yang ada pada sistem.

Penjadwalan CPU adalah suatu proses pengaturan atau penjadwalan proses-proses yang ada di dalam komputer. Dimana proses-proses tersebut berjalan dalam pola yang disebut Siklus Burst yang akan dijelaskan pada bab ini.

Penjadwalan CPU secara garis besar dibagi menjadi 2, yaitu PenjadwalanPreemptive dan Penjadwalan Non Preemptive. kriteria yang baik bagi suatu konsep penjadwalan dan penjelasan mengenai dispatcher, yaitu suatu komponen yang turut terlibat dalam penjadwalan. Penjadwalan sangat penting dalam menentukan performance sebuah komputer karena mengatur alokasi resource dari CPU untuk menjalankan proses-proses di dalam komputer. Penjadwalan CPU merupakan suatu konsep dasar darimultiprograming, karena dengan adanya penjadwalan dari CPU itu sendiri maka proses-proses tersebut akan mendapatkan alokasi resource dari CPU.
CPU Scheduler

Pada saat CPU menganggur, maka sistem operasi yang harus menyeleksi proses-proses yang ada di memori utama(rady queue),untuk di eksekusi dan mengalokasikan CPU untuk salah satu dari proses tersebut,Seleksi semacam ini di sebut dengan short term scheduler(CPU scheduler).

1      Apabila proses berpindah dari keadaan ruuning ke waiting
2      Apabila proses berpindah dari keadaan ruuning ke ready
3      Apabila proses berpindah dari keadaan waiting ke ready
4     Apabila proses berhenti

Dispatcher
Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyelesaian proses yang di lakukan selama short-term scheduling.

  KRITERIA PENJADWALAN

Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti,sehingg untuk memiliki algoritma ini harus di pertimbangkan duluh properti-properti algoritma tersebut.

1.      CPU utilization: Diharapkan agar CPU selalu dalam keadaan sibuk
2.      Throughput: Throughput adalah banyaknya proses yang selesai di kerjakan dalam satu satuan waktu
3.      Turnaround time: Banyaknya waktu yang di perlukan untuk mengeskusi proses,dari mulai menunggu untuk memerintah tempat di memori utama,menunggu di ready queue,eksekusi oleh CPU,dan mengerjakan I/O samapi semua proses-proses tersebut diselesaikan.
4.      Waiting time: Waktu yang di perlukan oleh suatu proses untuk menunggu di ready queue
5.      Response time: Waktu yang di butuhkan oleh suatu proses dari minta di layani hingga ada respont pertama yang menanggapi permintaan tersebut
6.      Fairness . Suatu algoritma harus memperhatikan pengawasan nilai prioritas dari suatu proses (menghindari terjadinya starvation CPU time).
7.      Efisiensi. Rendahnya overhead dalam context switching, penghitungan prioritas dan sebagainya menentukan apakah suatu algoritma efisien atau tidak.

      Sebaiknya ketika kita akan membuat algoritma penjadwalan yang dilakukan adalah memaksimalkan CPU utilization dan throughput, dan meminimalkanturnaround time, waiting time, dan response time.


Algoritma Penjadwalan : First Come First Server (FCFS)
Pertama datang, pertama dilayani (First In, First Out atau FIFO) tidak peduli apakah burst time nya panjang atau pendek, sebuah proses yang sedang dikerjakan diselesaikan terlebih dulu barulah proses berikutnya dilayani.

Penjadwalan FCFS merupakan penjadwalan:

·         Penjadwalan non-prevebtive (run-to-completion)
·         Penjadwalan tidak berprioritas

Ketentuan dari penjadwalan FCFS adalah:

·         Proses-proses diberi jatah waktu pemroses, diurut dengan waktu kedatangannya.
·         Begitu proses mendapat jatah waktu pemproses, proses dijalankan sampai proses tersebut selesai, walaupun ada proses lain yang datang, proses tersebut berada dalam antrian sistem atau disebut dengan ready queue.

Pada dasarnya algoritma penjadwalan ini cukup adil dalam hal bahasa, karena proses yang datang lebih dulu dikerjakan terlebih dahulu. Dari segi konsep sistem operasi, penjadwalan model ini tidak adil karena proses-proses yang membutuhkan waktu yang lama membuat proses-proses yang memiliki waktu proses yang lebih pendek menunggu sampai proses yang lama tersebut selesai, sedangkan proses-proses yang tidak penting membuat proses penting menunggu.

Penjadwalan FCFS cocok digunakan untuk sistem batch yang sangat jarang melakukan interaksi dengan user secara langsung, tapi tidak cocok digunakan untuk sistem interaktif karena tidak memberi waktu tanggap yang bagus, begitu juga dengan waktu sistem nyata.




Algoritma Penjadwalan : Shortest Job First (SJF)

Dalam Sistem Operasi dikenal istilah multiprograming, yang bertujuan untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang digunakan oleh CPU,sehingga proses berjalan sepanjang waktu dan memperkecil waktu idle. Oleh karena itu perlu adanyapenjadwalan proses-proses yang ada pada sistem. Untuk sistem yang hanya mempunyai prosesortunggal (uniprosesor), hanya ada satu proses yang dapat berjalan setiap waktunya. Jika ada proseslebih dari satu maka proses yang lain harus menunggu sampai CPU bebas dan siap untuk dijadwalkankembali.

Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang akandilaksanakan dalam suatu sistem. Proses yang belum mendapat jatah alokasi dari CPU akan mengantridi ready queue. Algoritma penjadwalan berfungsi untuk menentukan proses manakah yang adadi ready queue yang akan dieksekusi oleh CPU. Bagian berikut ini akan memberikan ilustrasialgoritma penjadwalan Shortest Job First.

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 haltersebut maka waiting time rata-ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal.

Sumber :




Rabu, 25 Maret 2015

Perbedaan 32-bit dan 64-bit



Perbedaan 32 bit dan 64 bit pada suatu windows yang terdapat pada komputer harus kita ketahui agar kita dapat memanfaatkan komputer tersebut secara maksimal. Pada umumnya windows 32 bit dan windows 64 bit memiliki berbagai macam keunggulan serta kelemahan yang berbeda dari keduanya. Windows 32 bit merupakan suatu arsitektur pada processor yang memiliki register berukuran sebesar 32 bit. Sementara windows 64 bit merupakan suatu arsitektur pada processor yang memiliki register yang memiliki ukuran 64 bit.

Sebelumnya kita akan membahas mengenai istilah 32-bit dan 64-bit itu sendiri, yang dimana arsitektur 32-bit memiliki register prosesor yang berukuran 32-bit dan begitu pula dengan arsitektur 64-bit memiliki register prosesor berukuran 64-bit.

Register prosesor inilah yang digunakan untuk melakukan macam2 operasi. Misalnya c = a + b, maka register “eax” akan me-load nilai dari “a” (di memory), kemudian pada register “eax” ditambahkan nilai dari “b”, lalu “eax” ditulis ke memory pada posisi variabel “c”

Register terbagi dalam berbagai kelas:
  •  Register Data, digunakan untuk menyimpan angka-angka dalam bilangan bulat (integer)
  •  Register Alamat, digunakan untuk menyimpan alamat dan mengakses memori
  • Regiser General Purpose, digunakan untuk menyimpan angka dan alamat sekaligus
  • Register Floating-Point, digunakan untuk menyimpan angka bilangan titik mengambang ( floating-point )
  • Register Konstanta, digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca ( bersifat read-only )
  •  Register Vektor, digunakan untuk menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD ( Single Instruction, Multiple Data )
  • Register Special Purpose, digunakan untuk menyimpan data internal prosesor
  • Register Spesifik, digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor itu sendiri.

Pengaruh ukuran register terhadap kecepatan: secara teori, pada saat memori melakukan proses baca-tulis ( load-store ) maka register 64-bit mampu melakukan proses 2x kecepatan register 32-bit, tetapi ini hanya teoritis saja, pada kenyataannya prosesor juga menghabiskan waktu untuk melakukan hal-hal lain selain baca-tulis, proses matematis, proses vector, dll.

Pengaruh ukuran register terhadap presisi: Secara gampangnya, makin panjang register, maka makin banyak angka-angka dibelakang koma yang dapat dihitung secara akurat. Sebagai gambaran: misalkan resolusi bilangan real pada 32-bit adalah 0.0001, maka resolusi bilangan real pada 64-bit bisa mencapai 0.0000001 ( jauh lebih presisi ).

Pengaruh ukuran register terhadap ukuran memori: Pada arsitektur 32-bit, register alamat mampu menunjukkan posisi memori dari 0 s/d 4’294’967’295 ( 4 GiB – 1 ). Maka dari itu pada arsitektur 32-bit muncul batasan 4 GiB pada sistem arsitektur. Pada arsitektur 64-bit, register alamat mampu menunjukkan posisi memori dari 0 s/d 18’446’744’073’709’551’615 ( 16 EiB – 1 ). sehingga bisa dikatakan tidak ada lagi batasan 4 GiB pada sistem berbasis arsitektur 64-bit.

Pengaruh ukuran register terhadap dataset: Dataset adalah istilah ukuran seperangkat data yang diload ke dalam memory untuk diproses dan ditulis kembali ke harddisk. System 32-bit terbatas pada dataset sebesar ( 2^32 ) – 1 , atau ( 4GiB – 1 ) . Mengingat sebagian memory harus digunakan untuk OS dan program database ybs, maka biasanya dataset hanya sebesar 1-2 Gib saja. Artinya, sebuah database yang berukuran 20 Gib harus diproses 10-20x, sedangkan pada sistem 64-bit tidak memiliki batasan di atas dan dapat meload dataset sebesar ketersediaan memory, maka database yang berukuran 20 Gib dapat diload keseluruhnya ( tergantung dari kapasitas memory ).

Perbedaan 32-bit dan 64-bit pada dasarnya mengacu pada teknologi pemrosesan (processor) pada komputer mengenai bagaimana menangani informasi. Processor 64-bit akan mampu mereferensikan pengalamatan data pada memory dibanding processor 32-bit, dan secara teori ini akan dapat memproses data lebih cepat dan performance komputer menjadi lebih baik.

Perbedaan 32 bit dan 64 bit yang lainnya terdapat pada pekerjaan yang dapat dilakukan oleh keduanya. Jika pada komputer dengan windows 32 bit, pekerjaan yang dilakukan oleh komputer tersebut hanyalah pekerjaan yang relatif ringan jika dibandingkan dengan komputer dengan windows 64 bit. Sementara komputer dengan windows 64 bit mampu mengerjakan pekerjaan yang berat setiap saat, misalnya saja pekerjaan mengedit video atau mengedit gambar yang memang menggunakan banyak memori untuk menyimpan data. Jika kita menggunakan komputer untuk keperluan yang sangat berat seperti edit video dan edit gambar setiap saat, maka sangat disarankan untuk memilih komputer dengan windows 64 bit yang mampu melaksanakan pekerjaan tersebut dengan baik. Selain itu dari sisi keamanan, windows 64 bit merupakan windows yang lebih aman jika dibandingkan dengan windows 32 bit karena memiliki sertifikat dari pembuat hardware.

Dengan mengetahui perbedaan 32 dan 64 bit pada komputer, tentu kita akan dapat melakukan pekerjaan yang maksimal dengan komputer yang kita miliki. Oleh sebab itu, dalam membeli komputer harus disesuaikan dengan kebutuhannya.

Sekian penjelasannya, semoga sekilas info mengenai perbedaan 32-bit dan 64-bit ini bisa bermanfaat buat kalian semua.



sumber: 
  • https://rsrw.wordpress.com/2010/07/16/perbedaan-arsitektur-32-bit-dan-64-bit/
  • http://apaperbedaan.blogspot.com/2013/11/perbedaan-32-bit-dan-64-bit.html