Rabu, 28 Februari 2018

MATERI PERTEMUAN 3 (Scheduling)


MATERI PERTEMUAN 3 
(Scheduling)

Nama               : Afani Agung Nugroho
Nim                 : 1605551005
Mata Kuliah    : Network Operating System
Dosen              : I Putu Agus Eka Pratama ST.,MT.
Kampus           : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana

Kali ini akan dibahas pemahaman teori mengenai Scheduling, Multiprogramming, Jenis-jenis Scheduling dan Algoritma pada Scheduling.

Scheduling pada Sistem Operasi
         Scheduling adalah 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. Penjadwalan bertugas memutuskan :
  • ·     Proses yang harus berjalan
  • ·     Kapan dan selama berapa lama proses itu berjalan.
Multiprogramming
Multiprogramming merupakan kemampuan sistem operasi untuk menjalankan 2 aplikasi atau lebih secara bersama – sama, menghasilkan sejumlah proses. Multiprocessing merupakan kemampuan penanganan 2 process atau lebih secara bersama – sama. Multiprogramming dengan Multiprocessing memiliki perbedaan yaitu :
  • Multiprogramming lebih ditekankan di sisi software.
  • Multiprocessing lebih ditekankan di sisi hardware.
Peran Scheduling
Adanya penjadwalan berperan penting dalam sistem operasi. Beberapa peran tersebut adalah sebagai berikut.
  • 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)
Jenis-jenis Scheduling
Scheduling sendiri dibagi beberapa jenis yaitu :


1.         Penjadwalan jangka Panjang (Long Term Scheduling)
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.

2.         Penjadwalan Jangka menengah (Medium Term Scheduling)
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.

3.         Penjadwalan jangka pendek (Short Term Scheduling)
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).

4. Penjadwalan I/O (I/O Scheduling)
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.

Algoritma Scheduling
Ada banyak sekali agoritma scheduling di dalam sisem operasi, namun akan dibahas yang terpenting saja (fundamental dan digunakan di banyak sistem operasi : windows, linux, mac, free bsd, android) .Algoritma scheduling membantu alur scheduling pada sistem serta membantu programmer di dalam pengembangan aplikasi terkait dengan sistem operasi.
1.         Round Robin
Round Robin merupakan algoritma yang 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.

2.         FIFO (First in First Out)
FIFO merupakan First In, First Out (Pertama Masuk, Pertama Keluar), sebuah abstraksi yang berhubungan dengan cara mengatur dan memanipulasi data relatif terhadap waktu dan prioritas, atau lebih sederhananya FIFO salah satu teknik pengelolaan queue atau penanganan tugas yang bertumpuk, yaitu item yang pertama akan dikerjakan lebih dahulu.

Kelebihan FIFO
  • Dalam kriteria efisiensi, penjadwalan FIFO sangat efisien dalam penggunaan proses.
  • Algoritmanya cukup sederhana
Kelemahan FIFO
  • Dalam kriteria adil, penjadwalan FIFO adil dalam arti resmi (dalam semantic/arti antrian) yaitu proses yang pertama datang, akan dilayani pertama juga), tapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses pendek menunggu. Proses-proses tidak penting dapat membuat proses-proses penting menunggu.
  • Penjadwalan sangat tidak memuaskan karena proses menunggu lama, aktu tanggapnya sangat jelek. *Tidak cocok untuk sistem interaktif.
  • Turn around time tidak bagus.
  • Throughtput tidak bagus.
  • Tidak dapat digunakan untuk sistem waktu nyata
3.         Shortest Job First
Algoritma scheduling Shortest Job First memperbaiki kekurangan dari FIFO, dimana proses yang pendek akan didahulukan sehingga meskipun antrian panjang, proses yang pendek akan tetap didahulukan.

Referensi
[1] I Putu Agus Eka Pratama."PPT Network Operating System Pertemuan 3". 2018.


Senin, 19 Februari 2018

MATERI PERTEMUAN 2 (Process)

MATERI PERTEMUAN 2
(Process)
Nama               : Afani Agung Nugroho
Nim                 : 1605551005
Mata Kuliah    : Network Operating System
Dosen              : I Putu Agus Eka Pratama ST.,MT.

Kampus           : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana

Kali ini akan dibahas pemahaman teori mengenai : Konsep dasar dan defnisi dari proses, Keadaan/status proses, Process Control Block, Manajemen proses.

Definisi Proses
Proses adalah Unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi. Program yang sedang dalam kondisi dijalankan (eksekusi). Proses menggambarkan aktifitas yang sedang terjadi pada sistem operasi (oleh aplikasi), disertai dengan nilai dari program counter dan isi dari daftar prosesor (processor’s register). Suatu proses umumnya termasuk process stack, berisi data temporer (parameter metoda, address yang kembali, variabel lokal) dan sebuah data section, yang berisikan variabel global.

Proses Bukan Kode Program
Program bukan sebuah proses, program merupakan sebuah entitas pasif. Program memerlukan Program Counter untuk menjalankan instruksi  selanjutnya yang akan dijalankan, didukung dengan seperangkat sumber daya (resource). .Dua proses dapat dihubungkan dengan program yang sama, di mana program tersebut dianggap dua urutan eksekusi yang berbeda. Tiap-tiap proses ini adakah proses yang berbeda meski kontennya sama. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.

Kondisi Proses
Proses sejatinya bersifat mengubah state (kondisi awal/statis). .Setiap proses pasti memiliki status proses masing – masing.


Sumber : www.google.com



Berikut ini adalah 5 kondisi proses dalam sistem operasi :
  1. New → proses sedang dikerjakan/ dibuat.
  2. Running → instruksi sedang dikerjakan.
  3. Waiting → proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah tanda/ signal).
  4. Ready → proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
  5. Terminated → proses telah selsesai melaksanakan tugasnya/ mengeksekusi.


Process Control Block (PCB) 
Process Control Block adalah informasi-informasi lain yang diperlukan SO untuk mengendalikan dan koordinasi beragam proses aktif. Process Control Block (PCB) berfungsi untuk menggambarkan setiap proses pada sistem operasi, memuat informasi spesifk dari setiap proses.

Sumber : www.google.com

Berikut ini merupakan informasi yang ditampilkan pada setiap proses :
  1. Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
  2. Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
  3. Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasardan batas register. tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi.
  4. Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan bataswaktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
  5. Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini,suatu daftar open file dan banyak lagi.
  6. CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register.
PCB berfungsi sebagai tempat penyimpanan informasi apa pun yang bervariasi dari proses ke proses

Manajemen Proses
Sistem operasi di dalam menangani proses, dapat melakukan manajemen proses, yang meliputi 9 hal :
  1. Penciptaan proses
  2. Penghancuran/terminasi proses
  3. Penundaan proses.
  4. Melanjutkan kembali proses.
  5. Mengubah prioritas proses.
  6. Memblok proses.
  7. Membangunkan proses.
  8. Menjadwalkan proses.
  9. Memungkinkan proses berkomunikasi dengan proses lain.
Praktik Mandiri

Setelah membahas materi tentang process diatas, sekarang akan mencoba menjalankan perintah "top" pada sistem operasi Linux Ubuntu.


Perintah "top" dijalankan pada terminal. Sebelumnya saya akan membuka beberapa aplikasi yang tersedia lalu langsung jalankan perintah top. Pada gambar diatas merupakan hasil eksekusi perintah "top". Total proses yang terjadi yaitu 229, 228 sedang sleeping dan 1 sedang running.

Referensi :
[1] I Putu Agus Eka Pratama. "PPT Network Operating System". 2018



MATERI PERTEMUAN 1 (OPERATING SYSTEM)




MATERI PERTEMUAN 1
(Operating System)

Nama               : Afani Agung Nugroho
Nim                 : 1605551005
Mata Kuliah    : Network Operating System
Dosen              : I Putu Agus Eka Pratama ST.,MT.
Kampus           : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana

Apa itu (OS) Operating System ? Operating system atau yang biasa di sebut Sistem Operasi merupakan salah satu perangkat lunak atau software yang bertanggung jawab mengatur atau mengontrol kerja perangkat keras atau hardware dan menjalankan aplikasi atau software didalam suatu sistem komputer. Menurut William Stalling : Sistem Operasi merupakan program komputer (software) utama yang bertindak sebagai penghubung dan tatap muka (interface) antara hardware dengan software lainnya, yang sekaligus mengontrol eksekusi program,software, dan aplikasi”

SISTEM OPERASI
 Hasil gambar untuk linux

Sumber : www.google.com

Linux adalah sebuah perangkat lunak yang berupa sistem operasi pada open source yang disebarluaskan secara gratis di bawah naungan lisensi GNU (Gnu Not Unix). Software ini merupakan turunan unix yang bekerja di berbagai jenis hardware komputer. Lisensi GNU memberikan program lengkap beserta sumber kodenya (source code).
Selain itu, GNU memberikan hak mengkopi kode sumber sebanyak mungkin bahkan mengubahnya sekalipun. Semua yang dilakukan itu legal di bawah payung lisensi. Pihak yang berkeinginan menarik biaya dalam penggandaan atau pengiriman program juga diperbolehkan oleh lisensi GNU.

 Hasil gambar untuk freebsd
Sumber : www.google.com

FreeBSD adalah salah satu system operasi yang bersifat open source. FreeBSD sebagai salah satu dari keluarga BSD, saat ini sangat banyak digunakan dan bahkan dikembangkan di berbagai kalangan individu, perusahaaan dan bahkan universitas. Bila dibandingkan dengan Windows, FreeBSD relatif lebih sulit dalam penggunaan, karena masih bersifat text base dalam memberikan command, sedangkan windows memiliki GUI yang jauh lebih dibandingkan dengan FreeBSD. Namun, terdapat juga varian BSD yang memiliki GUI, seperti PC-BSD. Keunggulan FreeBSD dibandingkan dengan Windows, adalah kebebasan dalam penggunaan, bahkan pengembangan dari system operasi tersebut, karena lisensi yang sudah dijamin untuk kebebasannya.

Struktur Software dan Hardware Komputer

Seperti yang kalian ketahui sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah  penghubung antara lapisan hardware dan lapisan software. Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain dan memiliki akses kepada sistem file. Untuk mengetahui penghubung atau hubungan antara lapisan hardware dan software dapat dilihat pada gambar dibawah ini.

Gambar : Computer Hardware dan Software Structure

Peran Sistem Operasi
Berikut ini merupakan beberapa peranan penting dari sistem operasi.
1.         Membantu pengembangan software (IDE, debugger, editor).
2.         Eksekusi program (executable, install)
3.         Akses ke I/O Device
4.         Kontrol akses ke file dan data (privillege)
5.         Akses ke sistem (root, user)
6.         Deteksi error dan penanganannya
7.         Menghitung statistik penggunaan resource komputasi.
8.         Manajemen instruksi melalui bahasa mesin (software) dan hardware
9.       Penanganan data binari
10.    Penyediaan API (Application Programming Interface) untuk pengembangan     software.

Sistem Operasi dan Manajemen Resource



Gambar : Os dan Manajemen Resource

Berdasarkan gambar diatas Sistem operasi menangani langsung instruksi ke processor untuk langsung mengeksekusi sebuah program, mengatur waktu eksekusi (time execution), dan mengatur penjadwalan program yang akan dijalankan.

Referensi :
[1] I Putu Agus Eka Pratama. "PPT Network Operating System". 2018