Sistem Operasi 3 “Process” Antonius Rachmat C, C S.Kom, S Kom M.Cs
K Konsep Proses P • Proses adalah suatu program yang sedang dieksekusi (run) – Harus dijalankan j secara sekuensial p pada CPU
• Hal yang dicatat pada Process: – Program counter
• T Tempatt untuk t k menyimpan i alamat l t suatu t proses yang akan dieksekusi selanjutnya
– Stack / Heap
• T Tempatt penyimpanan i ttemporary d data t yang dibutuhkan dib t hk selama program dieksekusi
– Data section
• Berisi B i i variabel i b l global l b ld darii suatu t proses
– Text
• Berisi kode programnya
P Process iin M Memory
S Status Proses P • New: pada saat proses pertama kali dibuat • Running: pada saat proses sedang dieksekusi • Waiting: proses menunggu suatu event lain (contoh: proses I/O) • Ready: proses siap untuk diekseskusi • Terminated: pada saat proses sudah selesai dieksekusi
Di Diagram off Process P State S
Program P C Controll Bl Block k • S Setiap ti proses direpresentasikan di t ik kedalam k d l sistem operasi oleh PCB • PCB meliputi li ti iinformasi f i yang b berhubungan h b dengan proses: – – – – – – –
Process state P t t Program counter CPU registers CPU scheduling information Memory-management Memory management information Accounting information I/O status information, etc
Process P Control C l Block Bl k (PCB)
P j d l Penjadwalan Antrian A i P Proses • job queue: antrian ketika proses berada di CPU • ready queue: antrian proses yang hidup pada memori utama, siap p p dan menunggu gg untuk masuk ke job queue • device queue: antrian bila proses tersebut menunggu peralatan I/O tertentu • Setiap proses bisa berpindah dari satu antrian ke antrian lain
Ready Queue And Various I/O Device Queues
Device queue
Representation of Process Scheduling
P j d lA Penjadwal Antrian i • Long-term scheduler (or job scheduler): menentukan proses mana yang harus dimasukkan ke dalam ready queue. • Short-term scheduler (or CPU scheduler): ) menentukan p proses mana yang selanjutnya akan dieksekusi dan segera g mengalokasikan g CPU (masuk ke job queue)
S h d l Scheduler • Sho Short-term t te m scheduler hed le lebih sering se ing digunakan (hanya dalam waktu millisecond). • Long-term scheduler jarang digunakan ((dalam hitungan g detik, menit). ) • Proses dapat juga dibagi atas 2 macam :
– I/O-bound process – menghabiskan waktu l bih banyak lebih b k untuk t k mengerjakan j k I/O daripada d i d di CPU (short CPU bursts) – CPU-bound p process – jjarang g melakukan permintaan I/O, menggunakan lebih banyak waktunya di CPU (long CPU bursts)
C Context S Switch i h • Pada saat CPU beralih ke proses lain, sistem harus menyimpan state dari proses lama dan mengambil state dari proses yang baru. • Kegiatan ini dinamakan context switch Context-switch switch time is overhead; the • Context system does no useful work while switching • Time dependent on hardware support
CPU Switch From Process to Process
Process Creation • Parent process can create children processes • Generally, process identified and managed via a process identifier id ifi ( id) (pid) • Model Resource sharing –P Parentt and d children hild share h all ll resources – Children share subset of parent’s resources – Parent and child share no resources
• Model Execution
– Parent and children execute concurrently – Parent waits until children terminate
P Process T Termination i i M d l Model • P Process mengesekusi k i perintah i t h tterakhir khi dan d meminta OS untuk mengapusnya (exit) – Sumber daya proses tersebut didealokasi oleh OS
• Parent akan men-terminate eksekusi child dengan paksa (abort), karena – Child telah menghabiskan resources – Task yang ditugaskan pada child sudah selesai
• Jika parent melakukan exiting – Beberapa OS tidak memperbolehkan child untuk melanjutkan kegiatannya
• All children terminated - cascading termination
K Komunikasi ik i antar proses • Sistem operasi kebanyakan j p program g secara menjalankan simultan (concurrent). • Program yang dijalankan secara simultan itu dapat bekerja sama ( (coorperating) i )d dengan proses llain p bekerja j sendiri ataupun (independent)
Al Alasan Coorperating C i Process P • Information Sharing: menggunakan informasi(resource) yang sama untuk beberapa proses • Computation Speed-up : suatu task tertentu bisa dipecah menjadi beberapa cooperating processes sehingga bisa dikerjakan secara paralel sehingga menjadi lebih cepat selesai y:p pembuatan suatu sistem y yang g modular • Modularity dengan memecahkan fungsi-fungsi dari sistem tersebut menjadi beberapa proses atau thread • Convenience : user bisa dengan mudah mengerjakan sesuatu t yang berbeda b b d dalam d l waktu kt yang sama – Contoh : satu user bisa saja secara bersamaan mengetik dan mengedit serta mencetak suatu halaman tertentu
C Communications i i M Models d l
a. Message Passing
b. Shared
Message Passing • IPC melakukan dua operasi: – send(message) – message size fixed or variable – receive(message)
• Jika P dan Q ingin berkomunikasi, mereka harus: – establish a communication link between them – exchange messages via send/receive
• Implementation of communication link – physical (e.g., shared memory, hardware bus) – logical (e.g., logical properties)
S Synchronization h i i • M Message passing i may be b either ith blocking bl ki or nonblocking • Blocking is considered synchronous – Blocking send : sender memblok sampai message diterima – Blocking Bl ki receive i : receiver i memblok bl k sampaii message tersedia
• Non-blocking g is considered asynchronous y – Non-blocking : setelah mengirim, sender melanjutkan kegiatannya, tidak perlu menunggu message diterima – Non-blocking receiver menerima message baik valid ataupun tidak (null)
B ff i Buffering • Antrian message yang ditempatkan pada link;; diimplementasikan p p dengan: 1. Zero capacity – 0 messages 1 Sender must wait for receiver -> no buffer 2. Bounded capacity – finite length of n messages Sender must wait if link full 3. Unbounded capacity – infinite length Sender never waits
Communications in Client Client--Server Systems • Sockets • Remote Procedure Calls (RPC) • Remote Method Invocation (RMI J Java) ) • .NET Remoting
S k Sockets • S Sebuah b h programming i interface i t f yang memungkinkan ki k proses untuk saling berkomunikasi ke proses lainya • The socket 161.25.19.8:1625 refers to port 1625 on host 161 25 19 8 161.25.19.8 • Communication consists between a pair of sockets
Client Cli - Server S
R Remote P Procedure d C Calls ll • Remote procedure p o ed e call ll (RPC) mengabstraksikan procedure calls antara processes pada jaringan • Stubs – client-side proxy for the actual procedure on the server p • Skeleton – server side proxy • The client-side stub locates the server and marshalls the parameters • The server-side stub receives message, unpacks the marshalled parameters, parameters and peforms the procedure on the server
R Remote Method M h d Invocation I i • R Remote M Method h d Invocation I i (RMI) iis a Java J mechanism h i similar to RPCs • RMI a allows o s a Java a a program p og a on o one o e machine ac e to o invoke o ea method on a remote object
M Marshalling h lli Parameters P
NEXT • Threads