Memory(Register,Cache,RAM,Harddisk) Register merupakan jenis memori yang terdapat pada prosesor dan sebagai memori internal processor yang mempunyai kecepatan 5 sampai 10 kali di bandingkan memori utama, digunakan untuk menyimpan instruksi-instruksi dan data yang sedang diproses oleh CPU. Register tidak dapat dilepaskan dari mikroprosessor
Dalam sebuah prosessor atau pemroses, hanya satu proses yang bisa dieksekusi pada saat tertentu, sedangkan proses lain harus menunggu CPU luang dan dijadwal ulang. Multiprogramming adalah suatu cara dalam mengeksekusi proses setiap waktu sehingga penggunaan CPU dapat dimaksimalkan dengan baik. Penjadwalan CPU adalah salah satu tugas dasar dari sistem operasi, hampir semua resource atau sumber daya komputer dijadwalkan terlebih dahulu sebelum penjadwalan CPU tersebut bergantung dari hasil observasi sekumpulan proses. Proses eksekusi terdiri dari perulangan eksekusi CPU dan penungguan I/O. Eksekusi proses dimulai dari CPU burst yang diikuti oleh I/O burst dan begitu Proses CPUKetika sebuah CPU mengalami waktu idle, sistem operasi bertugas harus memilih salah satu proses untuk masuk ke dalam antrian yang akan dieksekusi oleh CPU. Pemilihan tersebut dilakukan dari hasil penjadwalan jangka pendek atau penjadwal Bambang [2002] dalam sistem operasi kompleks ada tiga tipe penjadwalan yakni Penjadwalan jangka pendek yang berfungi menjadwalkan alokasi pemroses diantara proses-proses yang telah siap ready pada memori jangka menengah berfungsi menangani dan mengendalikan transisi perubahan dari suspended to ready dari proses-proses Jangka Panjang bekerja pada antrian batch dan memilih batch selanjutnya yang harus Penjadwalan CPUDalam penjadwalan non-preemptive sekali CPU telah dialokasikan untuk sebuah proses, maka tidak dapat diganggu seperti pada windows sedangkan penjadwalan preemptive yaitu saat suatu proses sedang dieksekusi, CPU dapat diambil alih oleh proses lain sehingga proses di tunda dan dilanjutkan kembali hingga proses selesai seperti pada windows 95 ke PenjadwalanSetiap algoritma penjadwalan dapat berbeda dengan nilai yang berbeda dan sistem komputer yang berbeda. Dalam penjadwalan CPU diperlukan beberapa kriteria diantaranya adalah CPU Utilization. Kita menginginkan kerja CPU sesibuk mungkin. Konsepnya pemanfaatan CPU mempunyai jangkauan dari 0 sampai 100 persen. Di sistem yang sebenarnya mungkin hanya memiliki jangkauan dari 40 untuk proses ringan hingga 90 persen untuk proses berat.Throughput. Pengukuran kinerja CPU adalah banyaknya proses yang diselesaikan per satuan waktu. Jika kita mempunyai beberapa proses yang sama dan memiliki beberapa algoritma penjadwalan yang berbeda, hasil kinerja bisa menjadi salah satu kriteria penilaian, dimana algoritma yang menyelesaikan proses terbanyak mungkin yang Time. Dari sudut pandang proses tertentu, kriteria yang penting adalah berapa lama untuk mengeksekusi proses tersebut. Memang, lama pengeksekusian sebuah proses sangat tergantung dari hardware yang dipakai, namun kontribusi algoritma penjadwalan tetap ada dalam lama waktu yang digunakan dalam menyelesaikan sebuah proses. Waiting Time. Algoritma penjadwalan CPU tidak mempengaruhi waktu untuk melaksanakan proses tersebut atau I/O, karena hanya mempengaruhi jumlah waktu yang dibutuhkan proses diantrian ready. Waiting time adalah jumlah waktu yang dbutuhkan proses di antrian time. Di sistem yang interaktif, turnaround time mungkin bukan waktu yang terbaik untuk kriteria. Sering sebuah proses dapat memproduksi output di awal, dan dapat meneruskan hasil yang baru sementara hasil yang sebelumnya telah diberikan ke pengguna. ukuran lain adalah waktu dari pengiriman permintaan sampai respon yang pertama diberikan. Hal ini disebut response time, yaitu waktu untuk memulai memberikan respon, tetapi bukan waktu yang dipakai output untuk respon tersebut. Turnround time pada umumna dibatasi oleh kecepatan perangkat output. Sebaiknya dalam membuat sebuah algoritma untuk penjadwalan yang dilakukan adalah memaksimalkan penggunaan CPU dan througput serta meminimalkan turnaround time, waiting time dan response PenjadwalanDalam penjadwalan CPU terdapat masalah yaitu memutuskan proses mana yang berada dalam antrian ready yang akan dialokasikan ke CPU. Ada beberapa algoritma penjadwalan CPU yang dipergunakan seperti berikut First-Come First-Served FCFSDari namanya sudah dapat diketahui bahwa proses yang pertama datang akan dilayani terlebih dahulu. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan ke dalam antrian FIFO First-in First-Out sesuai dengan waktu dari FCFS adalah Waiting time rata-ratanya cukup lamaTerjadinya convoy effect sekumpulan proses menunggu lama dalam menunggu satu proses besar yang sedang dieksekusi oleh CPUAlgoritma ini menerapkan konsep non-preemptive proses yang sedang dieksekusi oleh CPU tidak dapat diganggu oleh proses lainShortest-Job First SJFDengan algoritma SJF maka setiap proses yang berada di antrian ready akan dieksekusi berdasarkan burst time terkecil. Hal ini menjadikan algoritma ini waiting time yang cukup singkat. Algoritma ini dapat dibagi menjadi dua konsep bagian yaitu Preemptive, Jika terdapat proses yang sedang dieksekusi oleh CPU dan terdapat proses pada antrian ready yang burst timenya lebih kecil daripada proses yang sedang dieksekusi, maka proses yang sedang dieksekusi oleh CPU akan digantikan oleh proses yang berada di antrian ready Preemptive, CPU tidak mengizinkan proses yang terdapat pada antrian ready untuk menggeser proses yang sedang dieksekusi oleh CPU meskipun proses yang baru tersebut memiliki burst time yang lebih dari algoritma ini adalah Kesulitan dalam memprediksi burst time proses yang akan dieksekusi yang memiliki burst time yang besar akan mempunyai waiting time yang tambah besar ini dikarenakan yang dieksekusi terlebih dahulu adalah proses dengan burst time yang SchedullingPenjadwalan dengan prioritas adalah algoritma penjadwalan yang mendahulukan sebuah proses dengan nilai prioritas tertinggi. Setiap proses mempunyai prioritasnya masing-masing. Prioritas dalam suatu proses dapat ditentukan melalui beberapa karakteristik seperti batas waktu, kebutuhan memori, tingkat kepentingan proses, akses berkas, dan perbandingan antara I/O burt dengan CPU burst. Algoritma prioritas schedulling bisa dijalankan secara preemptive maupun non-preemptive, sama seperti SJF hanya dalam algoritma ini prioritas yang dijadikan alat ukur bukan burst time pada penjadwalan prioritas adalah dapat terjadinya indefinite blocking starvation yakni suatu proses yang memiliki prioritas rendah kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang mempunyai prioritas lebih tinggi darinya. Solusinya adalah dengan aging meningkatkan prioritas dari setiap proses yang menunggu dalam antrian secara bertahap.Multilevel Feedback QueueAlgoritma ini memperbolehkan proses untuk berpindah antrian, jika suatu proses menyita CPU terlalu lama, maka proes itu akan dipindahkan ke antrian yang lebih rendah. Hal ini menguntungkan proses interaksi karena proses ini hanya menggunakan waktu CPU yang sedikit demikian juga dengan proses yang menunggu terlalu lama akan dinaikan menerapkan algoritma multilevel feedback qeueu perlu mendefiniskan terlebih dahulu parameter-parameternyanya yaitu Jumlah antrianAlgoritma internal tiap antrianAturan kapan sebuah proses naik ke antrian yang lebih tinggiAturan kapan sebuah proses turun ke antrian yang lebih rendahAturan untuk antrian mana yang akan dimasuki oleh proses yang baru datangAlgoritma ini untuk saat ini paling banyak diperganakan dikarenakan fleksibel dan dapat diterapkan sesuai dengan kebutuhan sistem, roaYd.