Today a Reader, Tomorrow a Leader

26 Feb 2018

Rangkuman Pertemuan 3 (Scheduling)

Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Scheduling/Penjadwalan
Penjadwalan disini merupakan satu atau beberapa buah aturan, mekanisme dan prosedur di dalam OS (melibatkan kernel, aplikasi, process) terkait dengan  urutan kerja yang dilakukan oleh komputer dan sistem komputer. Scheduling ini terdapat didalam semua OS.

Mengapa ada scheduling?
Scheduling sangat penting!
  1. Kernel (inti OS) memiliki utilitas, fungsi-fungsi utama dan dukungan terhadap software dan hardware
  2. Process pada OS di mana kernel memiliki peran yang penting, seperti mengenai bagaimana mengatur utilitas
  3. Multiprogramming pada OS.

Multi programming merupakan kemampuan OS untk menjalankan 2 aplikasi atau lebih secara bersama2, dan menghasilkan sejumlah proses. Multiprogramming tidak bisa dilakukan tanpa adanya multiprocessing.
*multiprocessing -> kemampuan penanganan 2 proses atau lebih secara bersama-sama.
*multiprogramming lebih menekankan sisi software, sedangkan multiprocessing menekankan hardware.

Peran Scheduling :
  1. Memaksimalkan throughtput. throughput adalah proses yang ada dalam input dan output dimana memaksimalkan output yg dihasilkan.
  2. Memaksimalkan kinerja dan waktu processor.
  3. Efisiensi process. efisien dari segi sumber daya komputasi dll.
  4. Keadilan pada semua job dan aplikasi.
  5. Meminimalkan waktu tanggap (time respond). dengan adanya penjadwalan, proses akan lebih cepat tanggap atau dapat dikatakan tidak terlalu lama loading saat mengeksekusi aplikasi.
  6. Optimalisasi sumber daya (resource). 

Jenis Scheduling :


  • Long Term Scheduling
Penjadwalan dengan menambahkan pool untuk process yang akan dieksekusi. Ibaratnya menambahkan ruang temporary/sementara dalam jangka waktu eksekusi panjang sehingga mudah dibagi.
  • Medium Term
Penjadwalan dengan menambahkan jumlah dari process baik secara penuh maupun parsial dari memori utama
  • Short Term
Penjadwalan dengan memilih process mana yang akan dieksekusi terlebih dahulu oleh processor dalam waktu singkat
  • I/O Schedulling
Penjadwalan dengan memilih process mana yang tertunda untuk dilanjutkan kembali dengan melihat ketersediaan I/O

Scheduling selalu berhubungan dengan process, sehingga berhubungan pula dengan kondisi (state) dari process. State tersebut dapat dilihat penjelasannya pada artikel sebelumnya di Rangkuman Pertemuan 2 (Proses pada OS)


Algoritma Scheduling membantu alur scheduling pada aplikasi. 
  • Round Robin
Menggunakan konsep antrian. Setiap proses memiliki time quantum untuk menandai waktu dari proses. Jika time quantum selesai, maka proses selesai pula. apabila terlalu besar, algoritmanya akan menjadi FCFS (First Come First Serve)
  • FIFO (First in First Out)
Proses yang lebih dahulu datang akan segera dieksekusi. Waktu eksekusi setiap proses tidaklah sama, Jika ada proses panjang atau pendek, akan diselesaikan sesuai waktu kedatangan. hal tersebut akan merugikan proses yang hanya membutuhkan waktu sebentar.
  • Shortest Job First
Memperbaiki FIFO, proses yang lebih pendek akan diutamakan untuk diekseskusi.


Share:

19 Feb 2018

Rangkuman Pertemuan 2 (Proses pada OS)


Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Halo Guys ! nah sebelumnya kita telah mengulas sedikit ya tentang Operating System (OS), jadi kali ini akan Cindy lanjutkan dengan materi Proses, atau lebih lengkapnya Cindy akan membahas definisi dari proses tersebut, kondisi proses, Process Control Block (PCB), dan manajemen proses.

Definisi Proses
Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi, atau dapat juga diartikan sebuah program yang sedang dalam kondisi dijalankan atau dieksekusi.
Proses menggambarkan aktifitas yang sedang terjadi pada sistem operasi, yang disertai dengan nilai dari program counter dan isi dari daftar prosesor, maka dari itu proses tidak dapat dikatakan sebagai kode program.
Program merupakan sebuah entitas pasif. Program memerlukan Program Counter untuk menjalankan instruksi selanjutnya yang akan dijalankan dan didukung dengan seperangkat sumber daya.

Kondisi Proses
Proses bersifat mengubah kondisi awal/statis, dan setiap proses pasti memiliki status masing-masing pada setiap state-nya.
  • New                     : Proses sedang dikerjakan/dibuat
  • Running               : Proses sedang dieksekusi
  • Waiting                 : Proses sedang menunggu sejumlah kejadian untuk terjadi. Contohnya sebuah penyelesaiian I/O atau penerimaan sebuah tanda/sinyal)
  • Ready                 : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
  • Terminated          : Proses telah selesai melakukan eksekusi.

Process Control Block (PCB)
PCB berfungsi menggambarkan setiap proses pada OS, dan memuat informasi yang lebih spesifik untuk mengendalikan dan mengkoordinasikan beragam proses aktif didalamnya.
Berikut merupakan informasi-informasi yang ditampilkan oleh PCB.
  1. Keadaan Proses. Misalnya new, ready, running, waiting, etc.
  2. Program Counter, yang mengindikasikan alamat dari perintah selanjutnya untuk dijalankan pada proses ini.
  3. CPU Register. Meliputi accumulator, index register, stack pointer, general-purposes register, code information program counter. Register ini memiliki variasi dalam jumlah dan jenisnya, bergantung pada arsitektur dan rancangan masing-masing komputer. Keadaan/status informasi disimpan apabila terjadi gangguan, untuk memungkinkan proses berjalan/bekerja dengan benar.
  4. Informasi Manajemen Memori. Dapat berupa nilai dari dasar dan batas register, tabel halaman, atau tabel segmen, dimana informasi tersebut bergantung pada sistem memori yang digunakan oleh sistem operasi.
  5. Informasi Pencatatan, meliputi jumlah dari CPU dan waktu riil yang digunakan, batas waktunya, jumlah akun, dan jumlah proses.
  6. Informasi Status I/O, meliputi daftar dari perangkat I/O yang digunakan pada proses, daftar open berkas, etc.

Manajemen Proses
Dalam menangani proses, OS dapat melakukan manajemen proses yang meliputi 9 hal sebagai berikut.
  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 untuk berkomunikasi dengan proses lain.

Praktik Mandiri
Berikut hasil dokumentasi percobaan saya saat menjalankan banyak aplikasi kemudian menjalankan perintah “top” pada OS Linux Ubuntu melalui terminal.
Nah setelah menjalankan perintah tersebut akan muncul output seperti yang terlihat pada gambar diatas. Berikut arti atau keterangan dari setiap informasi yang terdapat didalamnya.

TOP (baris paling pertama)
Waktu saat ini : 07:44:39
Mesin berjalan : up 14 min
Sesi user login : 1 user
Rata-rata beban sistem : load average 0.91, 1.13, 0.89


Task
Total proses yang sedang berjalan : 290 total
Proses yang sedang berjalan : 2 running
Proses yang sleeping : 288 sleeping
Proses yang sedang berhenti : 0


CPU 
Persentase pemakaian CPU untuk proses pengguna : 7,0% us
Persentase proses CPU yang digunakan sistem : 2,1% sy
Persentase proses CPU yang mendapatkan prioritas Update : 0,0% ni
Persentase CPU yang tidak terpakai : 89,9% id
Persentase CPU yang menunggu proses : 0,9% wa
Penggunaan CPU untuk service hardware : 0,0% hi
Penggunaan untuk service software : 0,1% si
Jumlah CPU yang menjalankan virtual lain : 0,0% st

Memory and Swap
 Pada baris tersebut, ditampilkan informasi mengenai penggunaan memory dan swap (jumlah memori yang digunakan, memori bebas, cache, etc).

Process List

Berikut merupakan keterangan lebih lanjut mengenai baris proses.
PID : ID proses
USER : pengguna yang merupakan pemilik proses
PR : prioritas proses
VIRT : memori virtual yang digunakan oleh proses
RES : memori fisik yang digunakan oleh proses
SHR : proses yang dibagikan
S : Menunjukkan status proses. S untuk sleep, R untuk running, dan Z untuk zombie
%CPU : Persentase proses yang menggunakan CPU
%MEM : Persentase proses yang menggunakan RAM
TIME+ : Total waktu untuk seluruh aktivitas proses
COMMAND : Nama proses

Referensi
I Putu Agus Eka Pratama. 2018. PPT Network Operating System, Materi Proses.

Share:

18 Feb 2018

Rangkuman Pertemuan 1 (Operating System)


Nama                 : Ni Putu Cindy Meilani
NIM                    : 1605551022
Dosen                : I Putu Agus Eka Pratama ST., MT.
Matakuliah         : Network Operating System
Kampus             : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana





Hai teman-teman pecinta dunia IT ! Setelah sekian lama hiatus, Cindy hadir kembali untuk berbagi informasi mengenai dunia IT nih. Kali ini Cindy mau bahas sedikit tentang Operating System yaa.

Operating System atau yang sering juga disebut dengan istilah OS ini merupakan program utama pada komputer yang bertugas sebagai pengontrol eksekusi program (software) yang terdapat didalam komputer sekaligus penghubung dan interface antara hardware dan software lainnya.

OS disini memiliki peran yang sangat penting, selain memudahkan pengguna komputer, OS juga memiliki peran yang tak kalah penting lainnya yaitu sebagai berikut.


  1. Eksekusi program. Untuk menjalankan suatu program, pengguna memerlukan OS yang dapat mengeksekusi program yang ingin dijalankannya.
  2. Membantu pengembangan software. Untuk mengembangkan suatu software, seorang developer memerlukan OS yang dapat menjalankan aplikasi yang mendukung dalam pengembangan software tersebut. Misalnya adalah IDE, Debugger, dan Editor.
  3. Akses ke I/O Device. OS akan membantu menghubungkan antara software dan hardware dan akan menampilkan tatap muka (interface) sehingga mudah untuk dikontrol oleh pengguna.
  4. Akses ke sistem. OS disini juga dapat mengontrol hak akses pengguna, ia akan memilah apakah yang menggunakan komputer sebagai admin atau sebagai user biasa.
  5. Mengontrol akses ke file dan data pada komputer
  6. Deteksi Error. OS dapat mendeteksi terjadinya error atau kesalahan saat penggunaan perangkat dan juga melakukan penanganannya.
  7. Menghitung statistik penggunaan resource komputasi.
  8. Manajemen instruksi melalui software dan hardware
  9. Penanganan data binary
  10. Penyediaan API (Application Programming Interface) untuk tujuan pengembangan software.

Struktur Hardware dan Software Komputer

Struktur yang ada pada OS akan menentukan komponen-komponen pada masing-masing software dan hardware sehingga dapat terhubung dan berinteraksi. Urutan dari struktur tersebut dapat dilihat pada gambar dibawah ini, dimana OS menjadi penghubung antara software dan hardware.
















Hubungan Sistem Operasi dengan Manajemen Sumber Daya

Seperti yang sudah dijelaskan pada bagian peran OS sebelumnya, OS dapat mengontrol input dan output melalui perangkat I/O controller dimana kemudian diteruskan lagi ke processor. Lebih mudahnya kita bisa lihat melalui gambar dibawah ini.



















Gambar diatas menjelaskan mengenai hubungan OS dengan manajemen sumber daya pada komputer. Selain dapat mengatur perangkat I/O controller, OS juga memberi instruksi langsung ke processor untuk mengeksekusi program, mengatur waktu eksekusi, serta penjadwalan setiap program atau aplikasi yang sedang dijalankan.


Referensi
I Putu Agus Eka Pratama. 2018. PPT Network Operating System.
Foto cover by www.tes.com

Share: