• Tidak ada hasil yang ditemukan

Sistem Operasi 3. Process

N/A
N/A
Protected

Academic year: 2021

Membagikan "Sistem Operasi 3. Process"

Copied!
39
0
0

Teks penuh

(1)

Sistem Operasi

Sistem Operasi

3

3

Process

Process

(2)

Konsep Proses

Konsep Proses

• Proses adalah suatu program yang sedang dieksekusi

– Harus dijalankan secara sekuensial

• Hal yang dicatat pada Process:

– Program counter

• Tempat untuk menyimpan alamat suatu proses yang akan dieksekusi selanjutnya

– Stack / Heap

• Tempat penyimpanan temporary data yang dibutuhkan selama program dieksekusi

– Data section

(3)

Process in Memory

(4)

Status Proses

Status Proses

• 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

(5)

Diagram of Process State

(6)

Program Control Block

Program Control Block

• Setiap proses direpresentasikan kedalam sistem operasi oleh PCB

• PCB meliputi informasi yang berhubungan dengan proses:

– Process state

– Program counter – CPU registers

– CPU scheduling information

– Memory-management information – Accounting information

(7)

Process Control Block (PCB)

(8)

Penjadwalan Antrian Proses

Penjadwalan Antrian Proses

• job queue : ketika proses berada di CPU • ready queue : proses yang hidup pada

memori utama, siap dan menunggu untuk masuk ke job queue

• device queue : bila proses tersebut menunggu peralatan I/O tertentu

• Setiap proses akan berpindah dari satu antrian ke antrian lain

(9)

Ready Queue And Various I/O Device Queues

Ready Queue And Various I/O Device Queues

Device queue

(10)

Representation of Process Scheduling

(11)

Penjadwal Antrian

Penjadwal Antrian

• Long-term scheduler (or job

scheduler): menentukan proses mana

yang harus dimasukkan ke dalam ready

queue.

• Short-term scheduler (or CPU

scheduler): menentukan proses mana

yang selanjutnya akan dieksekusi dan segera mengalokasikan CPU (masuk ke job queue)

(12)

Scheduler

Scheduler

• Short-term scheduler lebih sering digunakan (hanya dalam waktu millisecond).

• Long-term scheduler jarang digunakan (dalam hitungan detik, menit).

• Proses dapat juga dibagi atas 2 macam :

– I/O-bound process – menghabiskan waktu lebih banyak untuk mengerjakan I/O daripada di CPU (short CPU bursts)

– CPU-bound process – jarang melakukan permintaan I/O, menggunakan lebih banyak waktunya di CPU (long CPU bursts)

(13)

Context Switch

Context Switch

• Pada saat CPU beralih ke proses lain, sistem harus menyimpan state dari

proses lama dan mengambil state dari proses yang baru.

• Tugas ini dilakukan oleh context switch • Context-switch time is overhead; the

system does no useful work while switching

(14)

CPU Switch From Process to

CPU Switch From Process to

Process

(15)

Process Creation

Process Creation

• Parent process create children processes

– Pada saat menciptakan proses baru, – Dalam bentuk Tree

• Generally, process identified and managed via a process identifier (pid)

• Model Resource sharing

– Parent and children share all 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

(16)

Process Creation

Process Creation

UNIX examples:

- fork system call creates new process

- exec system call, used after a fork to replace the process’ memory space with a new program

Contoh: $ find . –name “*.cpp” | wc –l

Di dalam C, menggunakan header <unistd.h, stdlib, errno.h>

(17)

Process Termination

Process Termination

• Process mengesekusi perintah terakhir dan meminta OS untuk mengapusnya (exit)

– Menampilkan data dari child ke parent

– 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

(18)

Interprocess Comunication

Interprocess Comunication

• Sistem operasi kebanyakan

menjalankan program secara

simultan (concurrent).

• Program yang dijalankan secara

simultan itu dapat bekerja sama

(coorperating) dengan proses lain

ataupun bekerja sendiri

(19)

Alasan Coorperating Process

Alasan Coorperating Process

• 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

• Modularity : pembuatan suatu sistem yang modular dengan memecahkan fungsi-fungsi dari sistem tersebut menjadi beberapa proses atau thread

• Convenience : user bisa dengan mudah mengerjakan sesuatu yang berbeda dalam waktu yang sama

– Contoh : satu user bisa saja secara bersamaan mengetik dan mengedit serta mencetak suatu halaman tertentu

(20)

Communications Models

Communications Models

(21)

Analogi : Produsen dan

Analogi : Produsen dan

Konsumen

Konsumen

• Suatu contoh kasus untuk cooperating processes • Produsen: memproduksi barang

• Konsumer: menghabiskan barang

• Perlu diperhatikan bahwa barang yang diproduksi oleh produsen dan yang dihabiskan oleh

konsumer adalah sama

• Terdapat 2 macam consumer-producer problem:

– Unbounded-buffer: Tidak adanya batas bagi produsen untuk memproduksi barang

– Bounded-buffer: adanya suatu batas bagi produsen untuk memproduksi barang

• Consumer harus menunggu sampai buffer kosong dan producer harus menunggu sampai buffer penuh

(22)

Bounded

Bounded--Buffer Buffer –– SharedShared--Memory SolutionMemory Solution

• Shared data:

#define BUFFER_SIZE 10 typedef struct item{

. . . };

item buffer[BUFFER_SIZE]; int in = 0;

int out = 0;

• Solution is correct, but can only use

(23)

Bounded

Bounded

-

-

Buffer

Buffer

Producer

Producer

while (true) {

/* Produce an item */

while (((in = (in + 1) % BUFFER SIZE) == out);

/* do nothing -- no free buffers */ buffer[in] = item;

in = (in + 1) % BUFFER SIZE; }

(24)

Bounded Buffer

Bounded Buffer

Consumer

Consumer

while (true) {

while (in == out);

// do nothing -- nothing to consume // remove an item from the buffer item = buffer[out];

out = (out + 1) % BUFFER SIZE; return item;

(25)

Interprocess Communication

Interprocess Communication

Message

Message PassingPassing

• 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)

(26)

Synchronization

Synchronization

• Message passing may be either blocking or non-blocking

• Blocking is considered synchronous

– Blocking send : sender memblok sampai message diterima

– Blocking receive : receiver memblok sampai message tersedia

• Non-blocking is considered asynchronous

– Non-blocking : setelah mengirim, sender melanjutkan kegiatannya, tidak perlu menunggu message diterima – Non-blocking receiver menerima message baik valid

(27)

Buffering

Buffering

• Antrian message yang ditempatkan

pada link; diimplementasikan

dengan:

1. Zero capacity – 0 messages

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

(28)

Communications in Client

Communications in Client

-

-

Server

Server

Systems

Systems

• Sockets

• Remote Procedure Calls (RPC)

• Remote Method Invocation (RMI

Java)

(29)

Sockets

Sockets

• Sebuah programming interface yang memungkinkan proses untuk saling berkomunikasi ke proses lainya

• The socket 161.25.19.8:1625 refers to port 1625 on host 161.25.19.8

(30)

Client

(31)

Remote Procedure Calls

Remote Procedure Calls

• Remote procedure call (RPC)

mengabstraksikan procedure calls antara processes pada jaringan

• Stubs – client-side proxy for the actual procedure on the server

• 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, and peforms the procedure on the server

(32)

Remote Method Invocation

Remote Method Invocation

• Remote Method Invocation (RMI) is a Java mechanism similar to RPCs

• RMI allows a Java program on one machine to invoke a method on a remote object

(33)

Marshalling Parameters

(34)

RMI Layers

RMI Layers

TCP

Remote Reference Layer

Transport Layer Java Virtual Machine

Client Object

Remote Reference Layer

Transport Layer Java Virtual Machine

Stub

Remote Object

(35)

Copyright © 1997 Alex Chaffee

RMI System Architecture

RMI System Architecture

Client Virtual Machine Client

Server Virtual Machine

Stub

Remote Object

Skeleton

Registry Virtual Machine “Fred”

(36)

Copyright © 1997 Alex Chaffee

RMI Flow

RMI Flow

Client Virtual Machine Client

Server Virtual Machine

Stub

Remote Object

Skeleton

Registry Virtual Machine “Fred”

Server

1

2

1. Server Creates Remote Object 2. Server Registers Remote Object

(37)

Copyright © 1997 Alex Chaffee

RMI Flow

RMI Flow

Client Virtual Machine Client

Server Virtual Machine

Stub

Remote Object

Skeleton

Registry Virtual Machine “Fred”

Server

4

3. Client requests object from Registry 4. Registry returns remote reference (and stub gets created)

(38)

Copyright © 1997 Alex Chaffee

RMI Flow

RMI Flow

Client Virtual Machine Client

Server Virtual Machine

Stub

Remote Object

Skeleton

Registry Virtual Machine “Fred”

Server

6

5. Client invokes stub method 6. Stub talks to skeleton

7. Skeleton invokes remote object method

(39)

NEXT

NEXT

Gambar

Diagram of Process StateDiagram of Process State

Referensi

Dokumen terkait

Mekanisme pasar adalah cara berkerja suatu pasar berdasarkan pada sistem pasar yang ada. Dan sistem pasar yang kita kenal saat ini adalah sistem pasar yang bebas yang biasa

Data hasil penilaian ahli BK; ahli TEP; dan tiga konselor sekolah di tiga sekolah yang berbeda di Kota Malang menunjukkan bahwa produk yang dikembangkan dapat diterima dan layak

Pembelajaran yang dirancang secara baik dan kreatif dengan memanfaatkan teknologi multimedia, dalam batas-batas tertentu akan dapat memperbesar kemungkinan siswa

1) Reliability, mencakup dua hal pokok, yaitu konsistensi kerja (performance) dan kemampuan untuk dipercaya (dependbility).. berarti perusahaan memberikan jasanya secara

Itu dia tidak berani untuk menyapa dulu mbak, seperti yang saya awal bilang tadi dia itu lebih mementingkan orang lain dari pada dirinya sendiri,, dia tidak menyapa duluan

Berdasarkan penelit ian tersebut diperoleh hasil bahwa kegunaan sidik jari ( dachtyloscopy) dalam proses penyidikan adalah sebagai bantuan teknis dalam penyelenggarakan

17.1 Semua peserta yang lulus pembuktian kualifikasi dimasukkan oleh Panitia Pengadaan ke dalam Daftar Pendek (short list), untuk Seleksi Umum paling kurang 5 (lima)

Hasil sidik keragaman menunjukkan bahwa konsentrasi pupuk organik cair yang diberikan memberikan pengaruh yang sangat nyata terhadap semua peubah yang diamati. Konsentrasi