SI 325 Konsep Sistem Operasi Minggu 3

Slides:



Advertisements
Presentasi serupa
Sistem Operasi Proses Fachry Khusaini ( ) Nur Yaqin ( )
Advertisements

Proses di Linux.  Proses adalah satuan eksekusi program  Proses di Linux preemptive saat:  1. Waktu kuantumnya telah habis  2. ada proses baru yang.
Oleh : Kelompok 2 Irawan ( ) Alifuddin Wachid ( ) Retno Ayu Apriliati ( ) “Proses Sistem Operasi” G.
KONSEP PROSES Minggu ke 5.
Manajemen proses Manajemen Proses.
Implementasi Proses.
MANAJEMEN PROSES.
KONSEP THREAD.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
Proses dan Implementasinya
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 5 PROSES DAN THREAD 1.
Manajemen Proses.
Pokok Bahasan Pokok Bahasan: Deskripsi dan Kontrol Proses
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Manajemen Proses Meliputi : Pengelolaan sisklusi hidup proses
Pertemuan 03- Konsep Proses
Sistem Operasi (Operating Systems) Minggu 5
SI 325 Konsep Sistem Operasi Minggu 2
Pertemuan 4 Manajemen Proses 2.
Pertemuan 5 Server dengan Multi Proses pada Linux
Operating Systems Concept (Konsep Sistem Operasi) Minggu 14 Universitas Multimedia Nusantara Serpong, Tangerang Dr. Ananda Kusuma
PERTEMUAN KE-7 PERKULIAHAN SISTEM OPERASI
Pertemuan 3 Manajemen Proses.
PROCESS DAN THREADS Pengertian : Program Proses MonoProgramming
Operating System Copyright © Mufadhol 1 SISTEM OPERASI Management Process Oleh : Mufadhol, S.Kom.
Struktur Sistem Komputer
Sistem Operasi (Operating Systems) Minggu 4
Slide 6 – Management Proses
PERTEMUAN KE-9 PERKULIAHAN SISTEM OPERASI
KONSEP THREAD.
PROSES dan PENJADWALAN (Konsep proses) By: Asriadi Pertemuan 5.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
PROCESS DAN THREADS PROCESS Multiprogramming Pseudoparallelism
PENJADWALAN PROSES.
Struktur Sistem Komputer
PENJADWALAN PROSES DAN IMPLEMANTASI Sistem operasi komputer
PCB (Process Control Block)
Thread.
SISTEM OPERASI Pertemuan 3 : Manajemen Proses
Thread. Thread Proses dengan thread tunggal – proses menjalankan satu tugas pada satu waktu Proses dengan thread tunggal – proses menjalankan satu tugas.
Struktur Sistem Komputer
PROSES.
PROSES & THREADS Disajikan Oleh :.
Sistem Operasi Proses dan Thread.
Proses Dosen: Abdillah S.Si., MIT.
Sistem Operasi Pendahuluan.
Slide 2 Tinjaun Umum Sistem Komputer 1
SISTEM OPERASI Dosen Pengampu : Erfanti Fatkhiyah, ST., M.Cs.
Proses dan Thread Oleh : Adhitya Nugraha.
Penjadwalan Proses.
IV. Proses-proses Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi Proses membutuhkan sumber daya.
Thread.
Slide 6 – Management Proses
Slide 1 Tinjaun Umum Sistem Komputer 1
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
THREAD.
Struktur Sistem Komputer
PROSES.
SISTEM OPERASI - CHAPTER 2 PROCESS
Manajemen Proses Firdaus, M.T..
Manajemen Proses.
Tahap-tahap penciptaan proses
Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.
PROSES.
Struktur Sistem Komputer
Pertemuan 6 P R O S E S.
KONSEP PROSES Minggu ke 5.
Proses dan Thread Oleh : Adhitya Nugraha.
PROSES. Definisi Proses Proses adalah program yang sedang dieksekusi, termasuk didalamnya nilai-nilai dalam program counter, register, dan variabel-variabel.
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Transcript presentasi:

SI 325 Konsep Sistem Operasi Minggu 3 Dr. Ananda Kusuma e-mail: ananda.kusuma@gmail.com Universitas Multimedia Nusantara Serpong, Tangerang

Agenda Review kuliah Minggu 2 Topik Minggu 3: Processes Threads Model, penggunaan, states, implementasi Threads Pembagian kelompok dan Tugas Mandiri 1

Review Minggu 2 Kernel dan System Call

Kernel Bagian inti dari suatu sistem operasi, yang memiliki kendali sepenuhnya atas sumber daya hardware Processor status: supervisor atau privileged Kernel code diletakkan pada area memory yang terlindungi (protected) sehingga tidak bisa ditimpa oleh program-program yang lain. Area memory ini disebut kernel address space Di-loaded ke memory saat booting dan tetap berada di sana selama komputer digunakan (lihat materi kuliah minggu lalu tentang proses booting) Sistem crash/freeze, artinya kernel crash/freeze Fungsi-fungsi sistem operasi apa yang diletakkan pada kernel?  topik tentang struktur sistem operasi yang akan dijelaskan pada sesi terakhir kuliah Minggu 2

System Call (Trap Instruction) Kenapa perlu system call? Apabila suatu user-level process memerlukan layanan OS, maka process akan menjalankan sustu system call yang kemudian mengeksekusi suatu instruksi yang disebut trap instruction untuk memindahkan kendali ke kernel OS. Trap instruction adalah software interrupt (int 80h pada arsitektur x86) yang: Switch status cpu ke supervisor mode Mencari address dari fungsi kernel yang hendak dijalankan dari trap table Menjalan fungsi kernel tersebut Untuk mencegah user level process secara langsung mengendalikan system, misalnya: Memanipulasi OS memory Mengendalikan I/O devices Disable atau enable interrupt Men-set bits untuk user/kernel mode Mematikan (shutdown) machine, dsb.

Langkah-langkah dalam membuat system call System call dari C program untuk membaca data dari file count = read(fd, buffer, nbytes)

Ini tergolong struktur OS apa?

Processes

 Tiap process itu unik (PID berbeda menandakan process yang berbeda) Process (Proses) Process adalah Program yang sedang dieksekusi (berjalan) Container yang berisikan seluruh informasi sumber daya yang diperlukan untuk menjalankan suatu program Program : static file (image), misalnya executable file atau library file Process : executing program = program + execution state Tiap process memiliki PID (Process ID)  Tiap process itu unik (PID berbeda menandakan process yang berbeda) Program yang sama dapat dieksekusi beberapa kali, dan tiap eksekusi diabstrasikan dengan process yang berbeda. Abstraksi pemrosesan CPU pada beberapa program (multi-tasking) sehingga diperoleh nuansa seolah-olah program-program tersebut berjalan bersamaan (concurrency)

Process dan Address Space Tiap process memiliki Lokasi pengalamatan atau Address Space (core image) yang meliputi 3 segments: text (program code), (variables/heaps), dan stack

Contoh Source code Process di address space main; a = 2 double r; PC : Program Counter SP : Stack Pointer HP : Heap Pointer Source code Process di address space main; a = 2 double r; char c; … void Y (int b) { if(b == 1) { int main() { int a = 2; Y(a); } Stack Y; b = 2 SP HP r,c Heap PC void Y (int b) { if(b == 1) { … int main() { int a = 2; Y(a); } PC Code

Process Resource Information (Informasi sumber daya proses) Tiap process juga memiliki Atribut/informasi pada process table atau process control block (PCB) yang berisikan berbagai sumber daya spt. Informasi registers (program counter, stack pointer), open files, alarm, process-process terkait, dsb.

Process Creation (Pembuatan Proses) Process dapat dibuat dan dihapus pada sistem secara dinamis Events yang menyebabkan pembuatan process Inisialisasi sistem Pengguna mengeksekusi command Eksekusi system call, contoh: fork() Inisiasi batch job Foreground vs background process

Process Termination (Penghentian Proses) Kondisi yang dapat menyebabkan process berhenti Normal exit (voluntary) Error exit (voluntary) Fatal error (involuntary) Killed by another process (involuntary)

Process States Process memiliki execution states sbb.: Ready: siap dieksekusi, menunggu penjawadwalan CPU Running: sedang dieksekusi oleh CPU Blocked: sedang di-blocked, e.g. karena menunggu event IO atau karena sengaja di-blocked dgn syscall pause() atau, sleep(), dsb Pertanyaan: bagaimana dengan process yang baru dibuat dan yang berhenti ? Dispatcher: modul pada OS yang bertugas untuk switch processor dari process satu ke process yang lain there is a small dispatcher program that switches the processor from one process to another Program baru (new) ke ready state dulu sebelum dijalankan (menuju state running atau blocked) Program exit: running to exit (process selesai secara normal atau di-abort oleh OS saat berjalan). Ready/Blocked to exit, apabila process2x ini dimatikan saat tidak running, misal parent process sedang running dan kill child processes nya.

Context Switching (Alih Konteks) Perpindahan eksekusi dari program satu ke program yang lain, yang meliputi langkah-langkah sbb: Menghentikan jalannya suatu process dan menyimpan state/context CPU dari process tersebut ke suatu alamat di memory. Menerima context process selanjutnya dari memory dan mengisi kembali CPU register Memulai atau melanjutkan process dengan merujuk ke lokasi yang ditunjuk oleh program counter Mengambil sumber daya waktu Extra latency Process context switching jauh lebih lambat dibandingkan thread switching

Contoh:

Contoh:

Process Behaviour (Perilaku Proses) CPU-bound: Penyelesaian pekerjaannya ditentukan sepenuhnya oleh kecepatan CPU. Utilisasi CPU tinggi dan jeda waktu untuk pemrosesan layanan interupt atau I/O peripherals rendah IO-bound: Dibatasi oleh kecepatan pemrosesan layanan I/O. Umumnya ditandai oleh short CPU burst yang kemudian disertai waktu menunggu I/O. Utilisasi CPU rendah  multiprogramming dan threads

Konsep Multiprogramming Address Space 1 n-1 n-2 . / Dispatcher Review: Siswa dapat menjelaskan perbedaan monoprogramming, multiprogramming dan parallel programming

Modelling Multiprogramming Idealnya diperlukan analisa antrean (queuing analysis) untuk menghitung CPU utilization interdependesi antar process  saat process ready, perlu antrean gilirannya untuk dijalankan oleh CPU Pendekatan dengan metode probabilistik sederhana yang mengasumsikan tiap process independent satu dengan yang lain dengan probability menunggu I/O (I/O wait) yang sama Apabila p adalah probability menunggu waktu I/O tiap process, maka apabila ada n processes, probability menjadi pn Jadi: CPU utilization = 1 - pn Contoh soal: Jika I/O wait rata-rata dari suatu proses adalah 60%, dan jumlah proses yang running sebanyak 2 proses, maka utilisasi CPU adalah ...... ?

CPU Utilization vs Degree of Multiprogramming

Threads

Threads (1) Stack Heap Code Pengontrol aliran program pada suatu process. Tiap process memiliki paling tidak satu thread Process yang memiliki beberapa thread (multi-threaded process) memberikan tambahan nuansa concurrency pada tiap process Disebut juga lightweigth process, karena memiliki environment yang sama dengan process tapi dengan switching yang lebih sederhana Stack ... int main() { thrd1=pthread_create(); thrd2=pthread_create(); } SP SP1 SP2 Heap Bicara process  resource ownership and flow (schedule) of execution PC PC1 PC2 Code

Threads (2) Reseources (sumber daya) yang dimiliki process dan threads Classical Thread Model b) Satu process dengan tiga threads Tiga process masing-masing dengan satu thread

Alasan Pemakaian Threads Penambahan lingkungan concurrency eksekusi program pada tiap process, dengan tujuan meningkatkan CPU utilization Performance lebih cepat karena threads lebih mudah di-create dan di-delete dibandingkan processes. Komunikasi antar threads lebih mudah karena share address space yang sama Implementasi bisa di software (user level dan kernel level) dan juga hardware (sistem dengan multiple CPU)

Ilustrasi Multi-Threading pada Uniprocessor

Contoh Penggunaan Threads (1) A word processor with three threads.

Contoh Penggunaan Threads (2) A multithreaded Web server. Worker thread Dispatcher thread

Implementasi Threads pada User Space Kelebihan: Performance, cepat untuk membuat dan switch thread Proses dapat memiliki algoritma penjadwalan tersendiri (customised) untuk threads Cocok untuk programming language-level threads, contoh Java Kekurangan Masalah pada blocking system call, di mana threads justru sangat diperlukan

Implementasi Threads pada Kernel Space Kelebihan: Tidak ada masalah dengan blocking system call karena kernel mengenal threads , dan bisa menjadwalkan ke thread lain di process yg sama atau yg lain Mayoritas OS spt Windows, Linux, Solaris, dsb sudah menggunakan Pthread lebih mengarah ke kernel-level thread Kekurangan Overhead untuk membuat dan menghapus thread  solusi thread recycling Hal-hal terkait penduplikasian process dan intersepsi signal antar process

Tugas Mandiri

Tugas Kelompok (TM1) Tujuan Melatih kerja sama dan inovasi Revisi materi perkuliahan Feedback penyerapan materi Latihan menjawab soal untuk kuis dan ujian Lihat folder TugasMandiri untuk pembagian kelompok dan soal-soal Soal-soal beragam untuk tiap kelompok Bisa copy semua file untuk dijadikan bank soal Dikumpulkan via email sebelum kuliah minggu 6 Catatan: Kuis akan diadakan pada akhir kuliah minggu 6 Apabila mengalami kesulitan: Diskusikan dengan dosen di sesi akhir kuliah atau via email

Demo Hirarki process dengan system call fork() Pembuatan thread, dan dampaknya pada iobound process

Akhir Kuliah Minggu 3 Terima kasih atas perhatiannya!