Rabu, 28 Februari 2018

Scheduling

Nama : Zebedeus Cheyso
NIM : 1605551098
Matkul : Network Operating System
Dosen : I Putu Agus Eka Pratama
Teknologi Informasi
Fakultas Teknik
Universitas Udayana




Scheduling

Definisi
“satu atau beberapa buah aturan, mekanisme, dan prosedur di dalam sistem operasi (melibatkan kernel, aplikasi, process) terkait dengan urutan kerja yang dilakukan oleh komputer dan sistem komputer ”.
Perlu Scheduling
1.Kernel (inti sistem operasi) memiliki utilitas, fungsi – fungsi utama, dan dukungan terhadap software dan hardware (sesuai dengan arsitektur komputer : 32 atau 64)
2.Process pada sistem operasi, di mana Kernel merupakan program komputer yang menjadi inti dari sebuah sistem operasi komputer, dengan kontrol terhadap segala hal atas sistem tersebut.
3.Multiprogramming pada sistem operasi

Multiprogramming adalah kegiatan menjalankan beberapa program pada memori pada satu waktu. Untuk meningkatkan keseluruhan kemampuan dari sistem komputer, para developer memperkenalkan konsep multiprogramming. Dengan multiprogramming, beberapa tugas disimpan dalam memori dalam satu waktu; CPU digunakan secara bergantian sehingga menambah utilisasi CPU dan mengurangi total waktu yang dibutuhkan untuk menyelesaikan tugas-tugas tersebut.

Melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan sekaligus dalam satu komputer yang sama. Pelaksanaan instruksi yang diterapkan adalah:
- program dimuat ke dalam memori,
- program dijalankan sampai mengakses perangkat I/O,
- berpindah (switch) ke pekerjaan lain,
- langkah tersebut berulang terus menerus,
- untuk proses perpindahan (switching), dilaksanakan oleh software.
Contoh nya adalah menjalankan browser bersamaan dengan media player atau programm pengolah gambar seperti photoshop.
Yang di maksud dengan multi programming di sini adalah CPU menjalankan beberapa program sekaligus
  
Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
Multiprocessing juga kadang merujuk kepada kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali.
Contoh nya adalah pada zaman sekarang banyak processor yang sudah berteknologi dual core sampai quad core.  ini bertujuan untuk hemat waktu.
Maksudnya adalah core dalam processor menjalankan tugas nya masing2

Peran Scheduling
·         Memaksimalkan throughput.
·         Memaksimalkan kinerja dan waktu processor.
·         Efsiensi process.
·         Keadilan (fairness) pada semua job dan aplikasi
·         Meminimalkan waktu tanggap (time respond).
·         Optimalisasi sumber daya (resource).

Penjadwalan sendiri dibagi beberapa jenis yaitu :
  •   Penjadwalan jangka Panjang

Penjadwalan Jangka Panjang (Long Term) bisa diartikan sebagai suatu penambahan proses baru ke dalam sekelompok proses yang akan dieksekusi oleh computer. Penjadwalan ini terjadi ketika suatu proses yang baru diciptakan dan masih berlokasi di dalam HDD (Harddisk). Frekuensi yang dilakukan oleh penjadwalan ini juga lebih panjang dari pada medium-term schedulingnya serta apabila penjadwalan tersebut dalam menambah suatu proses membuat coarse-grained.
Pada penjadwalan jangka panjang apabila makin banyak proses yang diciptakan maka kualitas tiap layanan untuk setiap proses berkurang.

  •           Penjadwalan Jangka menengah

Penjadwalan jangka menengah atau medium-term adalah suatu keputusan menambah suatu proses secara keseluruhan/sebagian ke dalam memori utama, scheduling tersebut terjadi saat swapping. Frekuensinya juga lebih sering dilakukan dari pada long-term schedulingnya.
  •          Penjadwalan jangka pendek

Penjadwalan jangka pendek atau short term adalah keputusan di mana memilih salah satu proses yang akan dieksekusi diantara beberapa jumlah proses yang sudah atau telah siap dieksekusi. Scheduling ini sangat sering dilakukan dan penjadwalan tersebut juga mempunyai tugas untuk mengirimkan job (dispatcher).
  •            Penjadwalan I/O

Penjadwalan I/O sendiri berarti memilih proses yang mana yang akan diberi kesempatan terlebih dahulu untuk menggunakan I/O device diantara beberapa proses yang akan sama-sama menggunakan device tersebut.

Scheduling dan State Process

Scheduling selalu berhubungan dengan process, sehingga juga berhubungan dengan kondisi (state) dari process.


 Algoritma penjadwalan berfungsi untuk menentukan proses manakah yang ada di ready queue yang akan dieksekusi oleh CPU.
Bagian berikut ini akan memberikan ilustrasi beberapa algoritma penjadwalan,baik berupa operasiannya atau contoh pengoperasiannya

1. Round Robin.
Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya. Jadi,,semua proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n-1)q dengan q adalah lama 1 quantum.
Cukup adil khan..hehe (soalnya tidak ada proses yang diprioritaskan).
Urutan Kejadian Algoritma Round Robin:


2.Priority Scheduling.
Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing.Priority scheduling juga dapat dijalankan secara preemptive maupun non-preemptive.Kelemahan pada priority scheduling adalah dapat terjadinya indefinite blockingstarvation). Suatu proses dengan prioritas yang rendah,memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya.
Jadi bisa di bilang bahwa penjadwalan ini memilih prioritas yg lebih tinggi,jika ada prioritas yang lebih rendah,maka tidak akan di eksekusi.Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap.
Contoh Permasalahan dalam sistem : Setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan satu tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa prioritasnya semakin tinggi).

3.Multilevel Queue.
Ide dasar dari algoritma ini berdasarkan pada sistem prioritas proses. Prinsipnya, jika setiap proses dapat dikelompokkan berdasarkan prioritasnya, maka akan didapati queue seperti pada gambar berikut:
Gambar. Multilevel Queue.

Algoritma ini pun memiliki kelemahan, yaitu sangat mungkin bahwa suatu proses pada queue dengan prioritas rendah bisa saja tidak mendapat jatah CPU. Untuk mengatasi hal tersebut, salah satu caranya adalah dengan memodifikasi algoritma ini dengan adanya jatah waktu maksimal untuk tiap antrian, sehingga jika suatu antrian memakan terlalu banyak waktu, maka prosesnya akan dihentikan, dan digantikan oleh antrian dibawahnya, dan tentu saja batas waktu untuk tiap antrian bisa saja sangat berbeda tergantung pada prioritas masing-masing antrian.

4. Multilevel Feedback Queue.
Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit. Demikian pula dengan proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya. Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan terutilisasi penuh dan M/K dapat terus sibuk. Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.
Contoh Permasalahan : Terdapat tiga antrian; Q1=10 ms, FCFS Q2=40 ms, FCFS Q3=FCFS proses yang masuk, masuk ke antrian Q1. Jika dalam 10 ms tidak selesai, maka proses tersebut dipindahkan ke Q2. Jika dalam 40 ms tidak selesai, maka dipindahkan lagi ke Q3. Berdasarkan hal-hal di atas maka algoritma ini dapat digunakan secara fleksibel dan diterapkan sesuai dengan kebutuhan sistem. Pada zaman sekarang ini algoritma multilevel feedback queue adalah salah satu yang paling banyak digunakan.

5. FCFS (First Come First Served).
Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan kedalam FIFO queue atau antrian dengan prinsip first in first out, sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi.
Contoh Permasalahan : Ada tiga buah proses yang datang secara bersamaan yaitu pada 0 ms, P1 memiliki burst time 24 ms, P2 memiliki burst time 3 ms, dan P3 memiliki burst time 3 ms. Hitunglah waiting time rata-rata dan turnaround time( burst time + waiting time) dari ketiga proses tersebut dengan menggunakan algoritma FCFS. Waiting time untuk P1 adalah 0 ms (P1 tidak perlu menunggu), sedangkan untuk P2 adalah sebesar 24 ms (menunggu P1 selesai), dan untuk P3 sebesar 27 ms (menunggu P1 dan P2 selesai).
Gantt Chart Kedatangan Proses :

Urutan kedatangan adalah P1, P2 , P3; gantt chart untuk urutan ini adalah:
Waiting time rata-ratanya adalah sebesar(0+24+27)/3 = 17ms. Turnaround time untuk P1 sebesar 24 ms, sedangkan untuk P2 sebesar 27 ms (dihitung dari awal kedatangan P2 hingga selesai dieksekusi), untuk P3 sebesar 30 ms. Turnaround time rata-rata untuk ketiga proses tersebut adalah (24+27+30)/3 = 27 ms

Rabu, 21 Februari 2018

Apa Itu Proses


Nama : Zebedeus Cheyso
NIM : 1605551098
Matkul : Network Operating System
Dosen : I Putu Agus Eka Pratama
Teknologi Informasi
Fakultas Teknik
Universitas Udayana



Apa Itu Proses?
            Proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.

Status Dari Proses
Proses yang dieksekusi mempunyai lima status yang terdiri dari:
  1. New : pembentukan suatu proses
  2. Running : instruksi-instruksi yang sedang dieksekusi
  3. Waiting : proses menunggu untuk beberapa event yang terjadi
  4. Ready : menunggu untuk dialirkan ke pemroses (processor)
  5. Terminated : proses telah selesai dieksekusi


Proses Control Block (PCB)
            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,

·         Status proses:
            status mungkin new, ready, running, waiting, halted, dll.
·         Program counter:
            suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
·         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



·         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 (lihat Bab Managemen memori).
·         Informasi pencatatan
            Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.
·         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.
·         PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain.

Operasi-operasi pada Proses :
1. Penciptaan proses
            Melibatkan banyak aktivitas, yaitu :
·         Memberi identitas proses
·         Menyisipkan proses pada senarai atau tabel proses
·         Menentukan prioritas awal proses
·         Menciptakan PCB
·         Mengalokasikan sumber daya awal bagi proses
Ketika proses baru ditambahkan, sistem operasi membangun struktur data untuk mengelola dan mengalokasikan ruang alamat proses.

2. Penghancuran/terminasi proses
·         Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
·         Sumber daya-sumber daya yang dipakai dikembalikan.
·         Proses dihancurkan dari senarai atau tabel sistem.
·         PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas)

3. Penundaan proses
            proses running diinterupsi dan sistem operasi memberi proses lain state running dan menggilir kendali ke proses itu, misalkan ada proses yang sudah ada dan sementara dijalankan sistem dan diprioritaskan untuk dijalankan terlebih dahulu, maka proses yang di minta setelahnya akan di tunda setelah proses yang pertama selesai.
4. Pelanjutan kembali proses
            Pelanjutan kembali proses ini seperti saat kita mengetik dengan menggunakan word dan secara tiba-tiba terjadi pemadaman listrik nah sistem operasi yang saat itu menangani proses tersebut menyimpan prosesnya pada memori yaitu menggunakan auto save atau recovery ke file temp yang nantinya akan dilanjutkan prosesnya saat computer atau laptop dinyalakan nantinya.

5. Pengubahan prioritas proses
            Pengalihan proses terjadi jika proses yang running beralih menjadi state lain (ready, blocked) kemudian sistem operasi membuat perubahan-perubahan berarti terhadap lingkungan.

6. Memblok proses
            Pemblokan proses dilakukan oleh sistem operasi misalkan pada saat menjalankan sebuah program dan pada selang beberapa saat antivirus mendeteksi adanya virus yang mengganggu dalam proses tersebut maka proses tersebut akan di berhentikan atau terminate.

7. Membangunkan proses
            Pembangunan proses pada sistem operasi  dikarenakan adanya proses induk yang memicu semisal service startup software yang running ketika computer dinyalakan,
8. Menjadwalkan proses
            Jadi proses yang sedang di handle akan di jadwalkan misalkan sebuah software yang di jalan kan pertama akan dijalankan duluan , tidak di terminate oleh sistem  dan tidak langsung menjalankan proses lain hanya karena proses pertama sangat lama, atau terdapat kendala saat menjalankan prosesnya.
9. Memungkinkan proses berkomunikasi dengan proses lain
            Misalkan Sebuah pesan sistem yang dikirim dari suatu proses ke proses lain. Dapat digunakan sebagai metode sinkronisasi. Biasanya tidak digunakan untuk transfer data (sinyal) Atau Aliran data yang dikirim melalui antarmuka jaringan, untuk proses yang berbeda pada komputer yang sama maupun pada komputer berbeda pada jaringan. Biasanya ber-orientasi byte(socket)



Sistem Operasi


Nama : Zebedeus Cheyso
NIM : 1605551098
Matkul : Network Operating System
Dosen : I Putu Agus Eka Pratama
Teknologi Informasi
Fakultas Teknik
Universitas Udayana




Apa itu sistem operasi ?

            Sistem operasi adalah perangkat lunak sistem yang mengatur segala sumber daya yang ada pada perangkat komputer, dan mengatur input,output, dan proses yang terjadi dalam sistem computer dan menghubungkan Hardware, software, Brainware dengan interface yang tersedia.

Tugas sistem operasi

       Sistem operasi bertugas mengelola seluruh perangkat lunak dan perangkat keras pada komputer. Pada suatu waktu, Saat menjalankan beberapa perangkat lunak sekaligus di komputer Anda dan dengan demikian beberapa perangkat lunak tersebut memerlukan akses ke CPU, memori, dan media penyimpanan. Sistem operasi mengatur proses-proses tersebut untuk memastikan setiap perangkat lunak berjalan normal.

Peran OS (Operating Sistem) :

1          Memudahkan pengguna komputer
            Jadi dalam penggunaan computer kita dimudahkan dalam mengakses setiap layanan yang ada dengan adanya sistem operasi karena sistem operasi adalah jembatan penghubung antara user atau brainware dengan perangkat yang terhubung di komputer.

2          Efisiensi sumber daya komputasi
            Efisiensi disini misalkan penanganan dalam penggunaan ram atau memory dan harddisk sebagai media penyimpanan, contoh lainya adalah penanganan proses dalam penggunaan processor yang di lakukan harus sesuai aturan atau prosedur yang ada yang di kerjakan oleh sistem operasi

3.         Membantu pengembangan, pengujian, perbaikan aplikasi dan layanan
            Jadi dengan adanya sistem operasi, kita dapat melakukan pengembangan atau pengujian pada suatu program atau software yang nantinya kita dapat mengetahui kemampuan dan batasan-batasan dari suatu software, program atau layanan yang menjadi objek.

       Jenis-jenis Sistem Operasi
       Pada Komputer/Laptop
·          Windows 
·         Linux
·         Machintos
·         FreeBSD
         Pada Perangkat Mobile
·         Android
·         IOS
·         Symbian
·         Firefox OS

Banyak sekali jenis dari sistem operasi ada juga sistem operasi yang dikhususkan untuk menjadi sebuah server untuk melayani atau menyediakan layanan dalam jaringan internet atau jaringan computer yang luas, yaitu sistem operasi jaringan,dan banyak lagi.