TUGAS SISTEM OPERASI DEFINISI PENCIPTAAN PROSES, SHARED MEMORY, MESSAGES PASSING
tugas sistem operasi definisi penciptaan proses, shared memory dan messages passing.
Adapun Definisi dari Penciptaan proses
Adapun Definisi dari Penciptaan proses
Proses adalah program yang sedang
dijalankan atau diekseskusi. Di sumber lain, proses dikatakan sebagai unit
kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh
sistem operasi.
dijalankan atau diekseskusi. Di sumber lain, proses dikatakan sebagai unit
kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh
sistem operasi.
Lalu
bagaimana proses diciptakan??
bagaimana proses diciptakan??
Ada beberapa penyebab diciptakannya sebuah
proses pada sistem operasi.
proses pada sistem operasi.
Kejadian yang dapat menyebabkan penciptaan
proses:
proses:
- Pada
lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job) - Pada
lingkungan interaktif, ketika pemakai baru berusaha logon - Sebagai
tanggapan suatu aplikasi, seperti permintaan pencetakan file, SO dapat
menciptakan proses yang akan mengelola pencetakan itu - Proses
menciptakan proses lain (proses anak). - Proses
yang menciptakan child process disebut proses induk (parent
process) - Child
process dapat
menciptakan proses baru - Proses-proses
dapat membentuk pohon hirarki proses
Penyebab penciptaan
|
Deskripsi
|
Terdapat batch job baru
|
SO sedang kendali batch job, setelah
menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya |
Satu pemakai interaktif logon
|
Seorang pemakai pada satu terminal sedang
melakukan logon ke sistem |
SO menciptakan proses untuk memberi layanan
|
SO menciptakan proses untuk memenuhi satu
fungsi pada program pemakai, tanpa mengharuskan pemakai menunggu |
Proses menciptakan proses anak
|
Untuk mencapai modularitas atau
mengeksploitasi kongkurensi, program pemakai memerintahkan pembuatan sejumlah proses |
Setelah kita mengetahui penyebab dari proses
tersebut diciptakan, selanjutnya kita akan mencoba cari tahu aktivitas apa aja
sih yang terdapat dalam penciptaan proses tersebut??
tersebut diciptakan, selanjutnya kita akan mencoba cari tahu aktivitas apa aja
sih yang terdapat dalam penciptaan proses tersebut??
Aktivitas yang terlibat dalam penciptaan
proses:
proses:
- Menamai
(memberi identitas) proses - Menyisipkan
proses pada senarai proses atau tabel proses - Menentukan
prioritas awal proses - Menciptakan
PCB - Mengalokasikan
sumber daya awal bagi proses
Saat komputer berjalan, terdapat banyak proses
yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call
create-process membentuk proses turunan (child process) yang dilakukan
oleh proses induk parent process. Proses turunan tersebut juga mampu
membuat proses baru sehingga ke semua proses-proses ini pada akhirnya membentuk
pohon proses.
yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call
create-process membentuk proses turunan (child process) yang dilakukan
oleh proses induk parent process. Proses turunan tersebut juga mampu
membuat proses baru sehingga ke semua proses-proses ini pada akhirnya membentuk
pohon proses.
Penghancuran/Terminasi Proses (destroy a
process)
process)
Penghancuran Proses (destroy a process)
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu: Sumber
daya-sumber daya yang dipakai dikembalikan, Proses dihancurkan dari senarai
atau tabel system, PCB dihapus (ruang memori PCB dikembalikan ke pool memori
bebas )
Penghancuran
lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua
pendekatan. Pendekatan pertama ada beberapa sistem, proses-proses turunan
dihancurkan saat proses induk dihancurkan secara otomatis.Pendekatan kedua
beberapa sistem lain menganggap proses anak independen terhadap proses induk
Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua
pendekatan. Pendekatan pertama ada beberapa sistem, proses-proses turunan
dihancurkan saat proses induk dihancurkan secara otomatis.Pendekatan kedua
beberapa sistem lain menganggap proses anak independen terhadap proses induk
Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Penghancuran
proses melibatkan
pembebasan proses dari sistem,yaitu :
proses melibatkan
pembebasan proses dari sistem,yaitu :
· sumber daya – sumber daya yang dipakai
dikembalikan
dikembalikan
· proses dihancurkan dari senarai atau
tabel sistem
tabel sistem
· PCB dihapus (ruang memori PCB
dikembalikan ke pool memori bebas)
dikembalikan ke pool memori bebas)
Penghancuran
lebih rumit bila proses telah menciptakan prose-proses lain.terdapat 2
pendekatan,yaitu:
lebih rumit bila proses telah menciptakan prose-proses lain.terdapat 2
pendekatan,yaitu:
1. Pada beberapa sistem,proses-proses turunan
dihancurkan saat proses induk di hancurkan secara otomatis.
dihancurkan saat proses induk di hancurkan secara otomatis.
2. Beberapa sistem lain menganggap proses anak
independen terhadap proses induk sehingga proses anak tidak secara otomatis di
hancurkan saat proses induk di hancurkan.
independen terhadap proses induk sehingga proses anak tidak secara otomatis di
hancurkan saat proses induk di hancurkan.
induk di hancurkan.
Alasan-alasan
penghancuran proses (penyebab terminasi):
penghancuran proses (penyebab terminasi):
1.selesainya
proses secara normal
proses secara normal
Proses mengeksekusi panggilan layanan sistem operasi untuk
menandakan bahwa proses telah berjalan secara lengkap.
menandakan bahwa proses telah berjalan secara lengkap.
2.batas waktu terlewati
Proses telah berjalan melebihi batas waktu total
yg dispesifikasikan.
yg dispesifikasikan.
3.Memori tidak tersedia
Proses
memerlukan memori lebih banyak dari pada yang dapat disediakan sistem.
memerlukan memori lebih banyak dari pada yang dapat disediakan sistem.
4.Pelanggaran
terhadap batas memori
terhadap batas memori
Proses mencoba mengakses lokasi memori yang tidak di izinkan di akses
5.Terjadi
kesalahan karena pelanggaran proteksi
kesalahan karena pelanggaran proteksi
Proses berusaha menggunakan sumber daya atau file yang tidak di
ijinkan di pakainya,atau proses mencoba menggunakannya tidak untuk peruntukkannya,seperti
menulis file read-only.
ijinkan di pakainya,atau proses mencoba menggunakannya tidak untuk peruntukkannya,seperti
menulis file read-only.
6.Terjadi kesalahan aritmatika
Proses
mencoba perhitungan terlarang,seperti pembagiaan dengan nol atau mencoba
menyimpan angka yang lebih besar dari pada yang di akomodasi oleh perangkat
keras.
mencoba perhitungan terlarang,seperti pembagiaan dengan nol atau mencoba
menyimpan angka yang lebih besar dari pada yang di akomodasi oleh perangkat
keras.
7.Waktu
tel;ah kadaluwarsa
tel;ah kadaluwarsa
Proses telah menunggu lebih lama dari pada maksimum yang di
tentukan untuk terjadinya suatu kejadian spesifik.
tentukan untuk terjadinya suatu kejadian spesifik.
8.Terjadi kegagalan masukan/keluaran
Kesalahan
muncul pada masukan atau keluaran,seperti ketidakmampuan menemukan file,kegagalan
membaca atau menulis setelah sejumlah maksimum percobaan di tentukan (misal :
area rusak didapatkan pada disk,atau operasi tak valis seperti membaca dari
line printer).
muncul pada masukan atau keluaran,seperti ketidakmampuan menemukan file,kegagalan
membaca atau menulis setelah sejumlah maksimum percobaan di tentukan (misal :
area rusak didapatkan pada disk,atau operasi tak valis seperti membaca dari
line printer).
Penundaan Proses (suspend a process)
Penundaan (suspension) adalah operasi penting dan telah diterapkan dengan
beragam cara. Penundaan dapat diinisialisasi oleh proses itu sendiri atau
proses lain. Penundaan biasanya berlangsung singkat dan sering dilakukan sistem
untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban
puncak. Proses yang ditunda (suspended process) tidak berlanjut sampai proses
lain me-resume. Untuk jangka panjang, sumber daya-sumber daya proses
dibebaskan. Pada sistem monoprocessor, proses running dapat men-suspend dirinya
sendiri karena lak ada proses lain yang juga running yang dapat memerintahkan
suspend. Pada sistem multiprocessor, proses running dapat di-suspend proses
running lain pada pemroses berbeda. Proses ready hanya dapat di-suspend oleh
proses lain.
Proses
Pelanjutan Kembali (resume a process)
Pelanjutan Kembali (resume a process)
Jika sistem berfungsi secara buruk
dan mungkin gagal maka proses-proses dapat di- suspend agar di-resume setelah
masalab diselesaikan. Pemakai yang ragu / khawatir mengenai basil proses dapat
men-suspend proses [bukan membuang (abort) proses]. Saat pemakai yakin proses
akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di
instruksi saat di-suspend) proses yang di-suspend.
dan mungkin gagal maka proses-proses dapat di- suspend agar di-resume setelah
masalab diselesaikan. Pemakai yang ragu / khawatir mengenai basil proses dapat
men-suspend proses [bukan membuang (abort) proses]. Saat pemakai yakin proses
akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di
instruksi saat di-suspend) proses yang di-suspend.
Sebagai
tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal
di-suspend dan di- resume saat beban kembali ke tingkat normal.
tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal
di-suspend dan di- resume saat beban kembali ke tingkat normal.
Shared Memory merupakan
sebuah metode di mana proses program dapat bertukaran data lebih cepat daripada
hanya dengan membaca dan menulis menggunakan layanan sistem operasi yang baisa.
Untuk berkomunikasi, Shared Memory akan mengalokasikan
suatu alamat memori yang akan digunakan nantinya. Kemudian sistem akan mengatur
proses mana saja yang akan memakai memori tersebut pada waktu tertentu agar
nantinya proses dapat berjalan lebih efektif.

Langkah-Langkah Membuat Shared Memory
- Membuat
segmen di memori dengan shmget(). - Mendaftarkan
(attach) segmen ke data space
dari proses dengan shmat(). - Tulis/baca
dari memori - Detach segmen
dari data space dari proses dengan shmdt().
shmget()
System call untukmembuat suatu segmen shared memory.
Definisi:
- #include
<sys/ipc.h> - #include
<sys/shm.h> - int
shmget(key_t key, size_t size, int shmflg);
IPC_EXCL, permission.
shmmat()
System call untukmendaftarkan segmen shared memory ke dalam data
space dari suatu proses.
Definisi:
- #include
<sys/types.h> - #include
<sys/shm.h> - void
*shmat(int shmid, const void *shmaddr, int shmflg);
- Shmid
→ ID dari shared memory. - Shmaddr
→ Lokasi shared memory di memori utama. - jika
NULL akan dicarikan lokasi pada memori yang ingin ditempati. - Return:
- Pointer
ke lokasi shared memory.
shmdt()
System call untukmelepaskan segmen shared memory data space dari
proses.
Definisi:
- #include
<sys/types.h> - #include
<sys/shm.h> - int
shmdt(const void *shmaddr);
- Shmaddr
→ pointer ke lokasi shared memory.
- Return:
- 0
→ sukses - (void
*) -1 → error
shmctl()
System call untuk mengetahui atau merubahinformasi yang berkaitan dengan suatu shared memory.
Definisi:
- #include
<sys/ipc.h> - #include
<sys/shm.h> - int
shmctl(int shmid, int cmd, struct shmid_ds *buf);
- IPC_STAT: mengambil
informasi tentang segmen shared memory. - IPC_SET: mengubah
informasi tentang segmen shared memory. - IPC_RMID: menandai
suatu segmen untuk dibuang ketika semua proses yang menggunakannya sudah
melepasnya. - SHM_LOCK: lock
suatu segmen, membuatnya tidak bisa di-swap. - SHM_UNLOCK: unlock
suatu segmen.
Messages Passing
Massage Passing merupkan suatu teknik bagaimana mengatur suatu alur komunikasi
messaging terhadap proses pada system. Message passing dalam ilmu komputer
adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel,
pemrograman-berorientasi objek, dan komunikasi interprocess. Dalam model ini,
proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau
lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses
lainnya dan dapat melakukan sinkronisasi. Paradigma Message passing yaitu :
messaging terhadap proses pada system. Message passing dalam ilmu komputer
adalah suatu bentuk komunikasi yang digunakan dalam komputasi paralel,
pemrograman-berorientasi objek, dan komunikasi interprocess. Dalam model ini,
proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau
lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses
lainnya dan dapat melakukan sinkronisasi. Paradigma Message passing yaitu :
1. Banyak contoh dari paradigma
sekuensial dipertimbangkan bersama-sama.
sekuensial dipertimbangkan bersama-sama.
2.Programmer membayangkan beberapa prosesor,
masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada
setiap prosesor.
masing-masing dengan memori, dan menulis sebuah program untuk berjalan pada
setiap prosesor.
3. Proses berkomunikasi dengan
mengirimkan pesan satu sama lain.
mengirimkan pesan satu sama lain.
Kegunaan
Message Passing :
Message Passing :
- Shared-memory pada
multiprocessor - Shared-memory pada uniprocessor
- Sistem terdistribusi
Karakteristik
perancangan message passing:
perancangan message passing:
A.
Synchronization
Synchronization
a.
Send
Send
- blocking
- nonblocking
b.
Receive
Receive
- blocking
- nonblocking
- test for arrival
B.
Addressing
Addressing
Direct
:
:
a.
Send
Send
b.
Receive
Receive
- explicit
- implicit
Indirect
:
:
- static
- dynamic
- ownership
C.
Format
Format
a.
Content
Content
b.
Length
Length
- fixed
- variable
D.
Queuing Discipline
Queuing Discipline
a.
FIFO
FIFO
b.
Priority
Priority
SEMOGA BERMANFAAT......
Komentar
Posting Komentar