Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia

Slides:



Advertisements
Presentasi serupa
PERTEMUAN KE-5 Heintje Hendrata, S.Kom
Advertisements

Afrizal Fahrudin Bagus Azril Hala Rizqul H
Penjadwalan dan Interaksi Proses
BAB IV MANAJEMEN PROSES
Sistem Terdistribusi 05 – Proses Oleh : Muh. Ary Azali.
KONSEP PROSES Minggu ke 5.
KONSEP THREAD.
PENJADWALAN PROSES.
Pertemuan 5 Penjadwalan Proses
Proses dan Penjadwalan
Slide 7 – Penjadwalan Process
PART 3 DOSEN : AHMAD APANDI, ST
Manajemen Proses Meliputi : Pengelolaan sisklusi hidup proses
Pertemuan 03- Konsep Proses
PENJADWALAN PROSES.
PENJADUALAN PROSES.
Penjadwalan Proses.
MATERI 5 SISTEM OPERASI Scheduling Algorithm Oleh : Mufadhol, S.Kom
DASAR SISTEM OPERASI By Dwi Anindyani. Pengertian OS Apa itu sistem operasi? Sistem operasi ialah software kompleks yang yang memungkinkan aplikasi-aplikasi.
Operating System Copyright © Mufadhol 1 SISTEM OPERASI Management Process Oleh : Mufadhol, S.Kom.
MATERI 4 SISTEM OPERASI Scheduling Process Oleh : Mufadhol, S.Kom
Oleh : Defiana Arnaldy, M.Si
PROSES & THREAD -.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
PROCESS SCHEDULING A.A. Gde Bagus Ariana, ST..
Penjadwalan Proses.
PENJADWALAN PROSES.
Penjadwalan CPU.
Penjadwalan Process.
Thread.
Pertemuan 9 PENJADWALAN CPU By: Asriadi.
Operasi pada Sistem Operasi
PROSES & THREADS Disajikan Oleh :.
PENJADWALAN PROSES.
V. Penjadwalan Proses Penjadwalan CPU terjadi pada sistem operasi yang mempergunakan multiprogramming. Penjadwalan berupa kumpulan kebijakan untuk menentukan.
Algorithma Penjadwalan Proses
Proses Sistem Terdistribusi.
Mata Kuliah : Sistem Operasi
PART 3 DOSEN : AHMAD APANDI, ST
SISTEM OPERASI Dosen Pengampu : Erfanti Fatkhiyah, ST., M.Cs.
III. Penjadwalan Proses
Slide 7 – Penjadwalan Process
STMIK-IM BANDUNG Chalifa Chazar
Penjadwalan Proses.
ALGORITMA PENJADWALAN PROSES
Fakultas Ilmu Komputer Defri Kurniawan, M.Kom
Process Scheduling SISTEM OPERASI Slide perkuliahan
Mata Kuliah Sistem Operasi
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
Penjadwalan Proses.
PART 3 Penjadwalan cpu.
Sistem Operasi Penjadwalan Proses
Thread.
MANAJEMEN PROSES.
Penjadualan CPU 6.
THREAD.
CHAPTER 5 CPU SCHEDULING
PENJADWALAN PROSES.
MATERI PENJADWALAN PROSES
Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.
Penjadwalan Proses M. Ghofar Rohman.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Beberapa istilah yg sering muncul
Thread Kelompok 4 NAMA : SRI YANTI MONICA ( )
Slide 7 – Penjadwalan Process
Tim Teaching Grant Mata Kuliah Sistem Operasi
KONSEP PROSES Minggu ke 5.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia fathiah@uui.ac.id Thread Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia fathiah@uui.ac.id 2017

KONSEP DASAR Ada dua jenis proses, proses berat (heavyweight) atau biasa dikenal dengan proses tradisional, dan proses ringan atau kadang disebut thread. Keuntungan Tanggap: Multithreading mengizinkan program untuk berjalan terus walau pun pada bagian program tersebut di block atau sedang dalam keadaan menjalankan operasi yang lama. Sebagai contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain. Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan alokasi memori yang sama. Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses adalah sangat mahal. Alternatifnya, karena thread membagi sumber daya dari proses, ini lebih ekonomis untuk membuat threads. Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat jalan secara parallel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.

MODEL MULTITHEREADING Implementasi multithreading yang umum ada tiga, yaitu : model many-to-one, one-to-one, dan many-to-many.

KERNEL THREAD Kernel thread didukung secara langsung oleh sistem operasi: pembentukan thread, penjadualan, dan managemen dilakukan oleh kernel dalam ruang kernel. Karena managemen thread telah dilakukan oleh sistem operasi, kernel thread biasanya lebih lambat untuk membuat dan mengelola daripada pengguna thread. Bagaimana pun, selama kernel mengelola thread, jika suatu thread di block tehadap sistem pemanggilan, kernel dapat menjadualkan thread yang lain dalam aplikasi untuk dieksekusi. Dalam lingkungan multiprosesor, kernel dapat menjadualkan thread dalam prosesor yang berbeda. Windows NT, Solaris, dan Digital UNIX adalah sistem operasi yang mendukung kernel thread.

MODEL ONE TO ONE Model one-to-one memetakan setiap thread pengguna ke dalam satu kernel thread. Hal ini membuat model one-to-one lebih sinkron daripada model many-to-one dengan mengizinkan thread lain untuk berjalan ketika suatu thread membuat pemblokingan terhadap sistem pemanggilan; hal ini juga mengizinkan multiple thread untuk berjalan secara parallel dalam multiprosesor. Kelemahan model ini adalah dalam pembuatan thread pengguna dibutuhkan pembuatan korespondensi thread pengguna. Karena dalam proses pembuatan kernel thread dapat mempengaruhi kinerja dari aplikasi maka kebanyakan dari implementasi model ini membatasi jumlah thread yang didukung oleh sistem.

MODEL MANY TO ONE Model many-to-one ini memetakan beberapa tingkatan pengguna thread hanya ke satu buah kernel thread. Managemen proses thread dilakukan oleh (di ruang) pengguna, sehingga menjadi efisien, tetapi apabila sebuah thread melakukan sebuah pemblokingan terhadap sistem pemanggilan, maka seluruh proses akan berhenti (blocked). Kelemahan dari model ini adalah multihreads tidak dapat berjalan atau bekerja secara paralel di dalam multiprosesor dikarenakan hanya satu thread saja yang bisa mengakses kernel dalam suatu waktu.

MODEL MANY TO MANY Beberapa tingkatan thread pengguna dapat menggunakan jumlah kernel thread yang lebih kecil atau sama dengan jumlah thread pengguna. Jumlah dari kernel thread dapat dispesifikasikan untuk beberapa aplikasi dan beberapa mesin (suatu aplikasi dapat dialokasikan lebih dari beberapa kernel thread dalam multiprosesor daripada dalam uniprosesor) dimana model many-to-one mengizinkan pengembang untuk membuat thread pengguna sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu. Model one-to-one mempunyai konkurensi yang lebih tinggi, tetapi pengembang harus hati-hati untuk tidak membuat terlalu banyak thread tanpa aplikasi dan dalam kasus tertentu mungkin jumlah thread yang dapat dibuat dibatasi.

PENJADUALAN CPU

KONSEP DASAR Penjadual adalah fungsi dasar dari suatu sistem operasi. Hampir semua sumber komputer dijadual sebelum digunakan. CPU salah satu sumber dari komputer yang penting yang menjadi sentral dari sentral penjadual di sistem operasi. Penjadual CPU adalah basis dari multi programming sistem operasi. Dengan men-switch CPU diantara proses. Akibatnya sistem operasi bisa membuat komputer produktif.

PENJADUAL CPU Preemptive Scheduling Ada 4 keaadan yg menjadi bahan pertimbangan penjadwalan oleh CPU : 1. Pada saat proses berpindah dari keadaan running ke waiting 2. Pada saat proses berpindah dari keadaan running ke ready 3. Pada saat proses berpindah dari keadaan waiting ke ready 4. Pada saat proses berhenti Apa bila memilih 1 & 4 non-preemptive, jika memilih 2 & 3 disebut Preemptive. Non-Preemptive adalah jika suatu proses menggunakan CPU, maka proses tersebut akan tetap membawa CPU sampai proses tersebut berhenti/dalam keadaan waiting. Preemptive adalah terjadi jika suatu proses ditinggalkan dan akan segera dikerjakan proses yang lain.

DISPATCHER Komponen yang lain yang terlibat dalam penjadual CPU adalan dispatcher. Dispatcher adalah modul yang memberikan kontrol CPU kepada proses yang fungsinya adalah: Alih Konteks Switching to user mode. Lompat dari suatu bagian di progam user untuk mengulang progam. Dispatcher seharusnya secepat mungkin.

KRITERIA PENJADUALAN CPU utilization, diharapkan CPU dalam keadaan sibuk, utilitas CPU dinyatakan dalam bentuk proses 0-100%,tapi kenyataannya hanya 40-100% Throughput, terjadi pada saat CPU sedang sibuk karena banyak proses yang dikerjakan dalam satu kesatuan waktu Turnround time, banyak waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU dan mengerjakan I/O Waiting time, waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O Response time, waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tsb Fairness, menyakinkan bahwa tiap-tiap proses akan mendapatkan pembagian waktu penggunaan CPU secara terbuka (fair)

ALGORITMA PENJADUALAN

FCFS (First Come First Serve) FCFS (First-Come-First-Served Scheduling) Proses pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu. Misalnya ada 3 proses P1, P2, & P3 sbb : Proses Burst time (ms) P1 24 P2 3 P3 Gant chart : P1 P2 P3 0 24 27 30

Waktu tunggu yang diberikan untuk tiap-tiap proses seperti tabel berikut : Waiting time (ms) P1 P2 24 P3 27 AWT (average waiting time) = (0+24+27)/3= 17 ms. Hal ini akan menjadi Sangat berbeda jika urutan kedatang proses adalah P2, P3 dan P1 Gant chart : P2 P3 P1 0 3 6 30

Waktu tunggu yang diberikan untuk tiap-tiap proses seperti tabel berikut : Waiting time (ms) P2 P3 3 P1 6 AWT =(0+3+6)/3= 3 ms. Metode FCFS adalah metode yang sangat sederhana dan mudah diimlementasikan. Metode ini mempunyai kelemahan, Karena mengakibatkan pembengkakan AWT jika proses yg dilayani terlebih Dahulu membutuhkan waktu proses (burst time) yg sangat lama. Algaritma FCFS termasuk non-preemptive, karena sekali CPU dialokasikan Pada suatu proses, maka proses tersebut tetap akan memakai CPU sampai Proses tersebut melepaskannya/jika proses berhenti.

SJF(Shortest Job First Sheduler) Proses yang memiliki CPU burst yang paling kecil dilayani terlebih dahulu. Misalnya ada 4 proses P1, P2, P3 & P4, yang meminta layanan CPU sbb : Proses Burst time (ms) P1 6 P2 8 P3 7 P4 3 Gant Chart : P4 P1 P3 P2 0 3 9 16 24

Waktu tunggu untuk tiap proses Waiting time (ms) P1 3 P2 16 P3 9 P4 Sehingga AWT nya = (3+16+9+0)/4 = 7 ms Algoritma ini belum optimal dan sulit untuk diimplementasikan, karena sulit Untuk mengetahui panjang CPU burst berikutnya, namun nilainya dapat di Prediksikan Algaritma SJF termasuk preemptive/non-preemptive. Jika ada proses P1 yg Datang pada saat P0 sedang berjalan, maka akan dilihat CPU burst P1. Pada non-preemptive, algoritma tetap akan menyelesaikan P0 sampai habis CPU burstnya. Pada Preemptive, jika CPU burst P! lebih kecil dari sisa waktu Yang dibutuhkan oleh P0, maka P0 akan dihentikan dulu, dan CPU ganti di Alokasikan ke P1.

Misalnya ada 4 proses P1, P2, P3 dan P4 yang meminta pelayanan CPU sbb : Arrival time Burst time (ms) P1 8 P2 1 4 P3 2 9 P4 3 5 Gant Chart : P1 P2 P4 P1 P3 0 1 5 10 17 26 Proses Waiting time (ms) P1 0+(10 -1) = 9 P2 1 -1 = 0 P3 17 - 2 = 15 P4 5 – 3 = 2 Waktu tunggu Untuk tiap proses : AWT = (9+0+15+2)/4 = 6.5 ms

Priority Scheduling Algoritma SJF adalah suatu kasus khusus dari priority scheduling. Tiap-tiap proses dilengkapi dengan prioritas. CPU dialokasikan untuk proses yang memiliki prioritas paling tinggi. Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FCFS. Misalnya ada 5 proses, P1, P2, P3, P4 dan P5 sbb : Proses Burst time (ms) Prioritas P1 10 3 P2 1 P3 2 P4 4 P5 5

Gant chart : P2 P5 P1 P3 P4 0 1 6 16 18 19 Waktu tunggu untuk tiap-tiap proses adalah : Proses Waiting time (ms) P1 6 P2 P3 16 P4 18 P5 1 AWT = (6+0+16+18+1)/5 = 8.2 ms Priority scheduling bersifat preemtive/non-preemptive. Jika ada proses P1 Yang datang pada saat P0 sedang berjalan, maka akan dilihat prioritas P1. Seandainya prioritas P1 lebih besar dibandingkan dengan P0, maka pada non- Preemptive, algaritmanya tetap akan menyelesaikan P0 sampai habis CPU Burstnya dan meletakan pada posisi head queue. Sedangkan pada preemtive, P0 akan dihentikan dulu dan CPU ganti dialokasikan untuk P1.

Round-Robin Scheduling Konsepnya menggunakan time sharing, hampir sama dengan algoritma FCFS hanya saja bersifa preemptive. Digunakan quantum-time untuk membatasi waktu proses. Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan Quantum-time, maka proses tersebut akan melepaskan CPU jika telah Selesai bekerja, sehingga CPU dapat digunakan untuk prosesselanjutnya sebaliknya jika suatu proses memiliki CPU burst yang lebih besar di bandingkan dengan quantum-time, maka proses tersebut akan dihentikan sementara jika sudah mencapai quantum-time, dan selanjutnyaMengantri pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya.Misal ada 3 proses, P1, P2 & P3, yang meminta pelayanan CPU, quantum-time = 4 ms. Proses Burst time (ms) P1 24 P2 3 P3

Gant chart : P1 P2 P3 P1 P1 P1 P1 P1 0 4 7 10 14 18 22 26 30 Waktu tunggu tiap-tiap proses : Proses Waiting time (ms) P1 0 + (10-4) = 6 P2 4 P3 7 AWT = (6+4+7)/3 = 5.66 ms Algoritma round robin ini memiliki keuntungan adanya keseragaman waktu

Definisi Agent Software Agent adalah entitas perangkat lunak yang didedikasikan untuk tujuan tertentu yang memungkinkan user untuk mendelegasikan tugasnya secara mandiri, selanjutnya software agent nantinya disebut agent saja. Agen bisa memiliki ide sendiri mengenai bagaimana menyelesaikan suatu pekerjaan tertentu atau agenda tersendiri. Agen yang tidak berpindah ke host lain disebut stationary agent. Definisi agen yang lebih rinci, ditinjau dari sudut pandang sistem, adalah obyek perangkat lunak yang : 1. Diletakan dalam lingkungan eksekusi 2. Memiliki sifat sebagai berikut : 3. Dapat mempunyai sifat ortogonal sebagai berikut :

Karakteristik dari Agent Autonomy Intelligence, Reasoning, dan Learning Mobility dan Stationary Delegation  Reactivity Proactivity dan Goal-Oriented Communication and Coordination Capability

Klasifikasi Software Agent 1. Desktop Agent Yaitu agent yang hidup dan bertugas dalam lingkungan Personal Computer (PC), dan berjalan diatas suatu Operating System (OS). Yang termasuk dalam klasifikasi ini adalah: Operating System Agent Application Agent Application Suite Agent

Klasifikasi Software Agent (lanj..) 2. Internet Agent Yaitu agent yang hidup dan bertugas dalam lingkungan jaringan Internet, melakukan tugasnya yaitu memanage informasi yang ada di Internet. Yang termasuk dalam klasifikasi ini adalah : Web Search Agent Web Server Agent Information Filtering Agent Information Retrieval Agent Notification Agent Service Agent Mobile Agent

Karakteristik Bahasa Pemrograman Object-Oriented Platform Independence Communication Capability Security Code Manipulation

Definisi client server Definisi client server menurut Budhi irawan (2005 : 30), Server adalah komputer database yang berada di pusat, dimana informasinya dapat digunakan bersama-sama oleh beberapa user yang menjalankan aplikasi di dalam komputer lokalnya yang disebut dengan Client.

Model Client Server Model Two Tier Dalam model client/server, pemrosesan pada sebuah aplikasi terjadi pada client dan server.. Aplikasi ditempatkan pada computer client dan mesin database dijalankan pada server jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yangmengirimkan kembali data ke client-nya. Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan : client (yang meminta serice) dan server (yang menyediakan service). 

Model Client Server Model Three Tier Pada arsitektur Three Tier ini terdapat Application Server yang berdiri di antara Client dan Database Server. Contoh dari Application server adalah IIS, WebSphere, dan sebagainya. Konsep model three-tier adalah model yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasi mendapatkan skalabilitas, keterbaharuan, dan keamanan.

Model Client Server Model Multi tier Arsitektur Multi Tier adalah suatu metode yang sangat mirip dengan Three Tier. Bedanya, pada Multi Tier akan diperjelas bagian UI (User Interface) dan Data Processing. Yang membedakan arsitektur ini adalah dengan adanya Business Logic Server. Database Server dan Bussines Logic Server merupakan bagian dari Data Processing, sedangkan Application Server dan Client/Terminal merupakan bagian dari UI.