Anda di halaman 1dari 18

TUGAS RESUME MATERI 3

SISTEM OPERASI

RIZKY ALFARIZI

18076091

2F12

DOSEN PENGAMPU : MUHAMMAD ADRI, S.Pd.,M.T

PRODI PENDIDIKAN TEKNIK INFORMATIKA KOMPUTER

JURUSAN TEKNIK ELEKTRONIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI PADANG

2019/2020
1. KEAADAAN PROSES (PROCESS STATES)

Fungsi Utama sebuah prosesor adalah mengeksekusi instruksi mesin yang terdapat di
dalam memori utama.Instruksi tersebut diberikan dalam bentuk program.Seperti telah
dijelaskan pada bab sebelumnya,dengan alasan efisien dan kemudahan
pemrograman,prosesor dapat menggilir eksekusi sejumlah program.
Berdasarkan sudut pandang prosesor, prosesor mengeksekusi instruksi dari repertoire-
nya dengan urutan yang ditentukan oleh perubahan nilai pada register program
counter.Pada suatu saat tertentu, program counter (PC) dapat mengacu ke kode yang
berada di dalam program lainnya yang merupakan bagian aplikasi berbeda.Dari sudut
pandang sebuah program,eksekusinya melibatkan rangkaian instruksi yang terdapat
didalam program itu. Eksekusi sebuah program dikenal sebagai proses atau task. Kita
dapat merincikan perilaku sebuah proses dengan membuat daftar rangkaian instruksi
yang mengeksekusi proses tersebut.Pembuatan daftar seperti itu dikenal sebagai trace
sebuah proses.
Gambar 3.1 menunjukan suatu tata letak memori tiga proses. Untuk menyederhanakan
pembahasan, kita asumsikan tidak ada satu proses pun yang menggunakan memori
viryual; jadi ketiga proses tersebut direpresensikan oleh program yang
keseluruhannya dimuatkan ke dalam memori utama. Selain itu,terdapat program
dispatcher kecil yang memindahkan prosesor dari satu proses ke prosesor lainnya.
Gambar 3.2 menunjukkan trace ketiga proses tersebut pada saat bagian awal
eksekusinya.Ditunjukkan juga 12 instruksi pertama yang dieksekusi di dalam proses
A dan C. Proses B mengeksekusi empat instruksi,dan kita mengasumsikan bahwa
instruksi keempat memanggil operasi I/O yang mengakibatkankan proses harus
menunggu.

Diasumsikan bahwa sistem operasi hanya mengizinkan suatu proses melanjutkan


eksekusinya dalam waktu enam siklus instruksi,setelah itu proses akan
diinsterupsi;interupsi ini dimaksudkan untuk menghindarkan terjadinya monopoli
waktu prosesor oleh sebuah proses. Seperti ditunjukkan pada gambar,enam istruksi
pertama proses A dieksekusi, diikuti oleh sebuah time-out dan eksekusi beberapa
kode di dalam dispatcher,yang memindahkan control ke proses B. Setelah empat
instruksi dieksekusi, proses B meminta aksi I/O yang menyebabkan harus menunggu.
Oleh karena itu, proses berhenti melakukan eksekusi proses B dan beralih, melalui
dispatcher, ke proses C.
Setelah time-out, proses beralih kembali ke proses A. Pada saat proses ini time-out,
proses B masih menunngu operasi I/O selesai, karena itu dispatcher beralih ke proses
C lagi.
A. Model Proses Dua Keadaan
Tanggung jawab utama sistem operasi adalah mengontrol eksekusi
proses;pengontrolan ini mencakup pembuatan pada pergiliran eksekusi dan
pengalokasian sumber daya kepada proses.
Gambar 3.4 Model Proses dua keadaan

Langkah pertama dalam merancang program untuk mengontrol proses adalah


menjelaskan sifat yang akan ditunjukkan oleh proses. Model yang paling sederhana
dengan cara mengamati bahwa pada saat tertentu suatu proses sedang dieksekusi oleh
prosesor atau tidak. Jadi, sebuah proses dapat berada di dalam salah satu dari kedua
keadan itu. Berjalan (Running) atau tidak berjalan not (Not Running).
Apabila sistem operasi membuat sebuah proses baru,sistem operasi akan memasukkan
proses tersebut ke sistem dalam keadan tidak berjalan. Proses keluar, diketahui sistem
operasi, dan menunggu kesempatan untuk melakukan eksekusi. Kadang-kadang,
proses yang sedang berjalan akan diinterupsi dan dispatcher sistem operasi akan
memilih proses baru yang akan berjalan. Proses sebelumnya akan beralih dari keadaan
running ke keadaan NOT RUNNING, dan salah satu proses lainnya beralih ke
keadaan Running. Dari model yang sederhana ini, kita telah mendalami beberapa
elemen rancangan sistem operasi. Proses harus dipresentasikan dengan cara tertentu
sehingga sistem operasi dapat mengawasinya. Dengan kata lain, harus terdapat
informasi yang berkaitan dengan setiap proses, termasuk keadaan saat itu dan lokasi
didalam memori. Proses yang sedang tidak berjalan harus disimpan didalam antrean
menunggu gilirannya untuk dieksekusi. Gambar 3.4b menunjukkan sebuah struktur.
Terdapat sebuah antrean tunggal dimana entri-nya merupakan pointer ke proses
tertentu. Atau antrean dapat terdiri dari linked list blok data, dengan setiap blok
mempresentasikan sebuah proses kita akan membahas masalah tersebut setelah ini.

B. Pembuatan dan penghentian Proses


Sebelum melanjutkan model dua keadaan diatas, akan sangat membantu apabila
membahas dan penghentian proses terlebih dahulu, akhirnya dan terlepas dari model
prilaku proses, maa hidup proses dibatasi oleh pembuatan dan penghentiannya.

1. Pembuatan Proses
Pada saat sebuah proses akan ditambahkan keproses yang sedang dikelola, sistem
operasi membuat struktur data yang digunakan untuk mengelola proses dan
mengalokasikan ruang alamat ke proses itu. Tindakan ini merupakan pembuatan
proses baru. Empat buah event umum akan menyebabkan pembuatan proses
sepertidijelaskanpada Tabel 3.1 pada lingkungan batch, sebuah proses dibuat sebagai
respon terhadap penyerahan job. Pada lingkungan interaktif, proses dibuat apabila
seseorang pengguna baru masuk(logon) ke sistem. Sistem operasi dapat juga
membuat proses atas nama sebuah aplikasi.

Secara tradisional, sistem operasi membuat seluruh proses dengan cara transparan
bagi pengguna atau sistem operasi, dan cara ini masih umum di jumpai didalam
banyak sistem operasi modern. Akan tetapi, akan berguna apababila mengizinkan
sebuah proses dapat melakukan pembuatan proses lainnya. Misalnya , sebuah proses
aplikasi dan menghasilkan proses lainnya untuk menerima data yang dihasilkan oleh
aplikasi dan untuk mengorganisasikan data tersebut menjadi bentuk yang sesuai untuk
analisis selanjutnya. Proses baru itu berjalan parallel dengan aplikasi dan sekali-kali
diaktivasi apabila tersedia data yang baru. Cara seperti itu sangat berguna dalam
membuat struktur aplikasi. Sebagai contoh lainya, suatu proses server( misalnya, print
server, file server). Dapat menghasilkan proses baru bagi setiap permintaan yang
ditanganinya. Pada saat sistem operasi membuat sebuah proses atas permintaan
eksplisit sebuah proses lainya, aksinya disebut sebagai proses spawning( pembiakan
proses).
Pada sebuah proses pembiakan proses lainya, proses terdahulu dikenal sebagai proses
induk(prent proses) dan proses yang dibiakkan disebut proses anak (child proses).
Umumnya proses-proses yang berkaitan perlu terkomunikasi berkooperasi satu sama
lain. Cara mendapatkan kooperasi ini merupakan tugas yang sulit bagi program .

2. Penghentian proses
Tabel 3.2 merangkum alas an penghentian proses. Semua sistem komputer harus
memiliki cara untuk mengindikasikan telah selesainya sebuah proses. Sistem batch
job harus memiliki intruksi halt atau pangilan layanan sistem operasi ekplisit untuk
penhentian proses. Pada batch job, intruksi halt akan menghasilkan suatu interrupt
untuk meminta perhatian sistem operasi bahwa suatu proses telah selesai. Pada
aplikasi interaktif, aksi pengguna akan mengindikasikan apabila proses telah selesai.
Misalnya, pada sistem interrupt, proses untuk pengguna tertentu tertentu akan
dihentikan pada saat pengguna log off atau mematikan terminalnya.Pada sistem
komputer pribadi atau workstation,seorang pengguna dapat keluar dari aplikasi.Semua
aksi itu pada akhirnya akan menghasilkan permintaan layanan ke sistem operasi agar
menghentikan proses.
Tabel 3.2 Alasan-alasan penghentian proses

Terakhir dalam beberapa sistem operasi suatu proses dapat dihentikan oleh proses
yang dibuatnya atau apabila proses induknya itu sendiri yang dihentikan.

C. Model Lima Keadaan

Apabila semua proses selalu berada dalam keadaan siap untuk melakukan
eksekusi,bentuk antrean yang ditunjukkan pada gambar 3.4b akan berlaku.
Antreannya adalah list yang first-in, first-out dan proses beroperasi dalam cara round-
robin terhadap proses yang ada. Bahkan dengan contoh yang sederhana pun yang
akan kita jelaskan,implementasi ini tidak memadai, beberapa proses yang berada
dalam keadaan not-running siap untuk melakukan eksekusi,sedangkan proses lainnya
diblokir, menunggu operasi i/o selesai. Jadi, dengan memakai antrean tunggal,
dispatcher tidak dapat hanya memilih proses yang berada diujung yang tertua pada
antrean didalam antrean paling lama.
Cara yang lebih alami dalam menangani situasi ini dengan membagi keadaan not
running menjadi dua keadaan : ready(siap) dan blocked(dblokir). Hal ini ditunjukkan
pada Gambar 3.5.untuk memperoleh ukuran yang lebih baik,kita telah menambahkan
dua keadaan lagi yang terbukti akan berguna.Lima keadaan didalam diagram yang
baru ini sebagai berikut:
 Running (berjalan): proses yang sedang dieksekusi. Pada bab ini kita
mengamsumsikan sebuah komputer dengan prosesor tunggal karena itu pada
suatu saat paling banyak hanya sebuah proses berada dalam keadaan ini.
 Ready (siap) : suatu proses yang disiapkan untuk melakukan ekseskusi bila
ada kesempatan
 Blocked (diblokir): suatu proses yang tidak dapat mengeksekusi sampai
beberapa event terjadi seperti selesainya operasi i/o
 New (baru): suatu proses yang baru saja dibuat namun belum pernah diizinkan
masuk ke pool proses-proses yang dapat dieksekusi oleh sistem operasi
 Exit (keluar): suatu proses yang telah dibebaskan dari pool proses yang dapat
dieksekusi oleh sistem operasi baik karena dihentikan atau karerna dibatalkan
dengan alasan tertentu.

Gambar 3.5 Modul Proses Lima Keadaan ready (siap)

Gambar 3.5 menunjukan jenis-jenis event yang menyebabkan terjadinya keadaan


transisi bagi suatu proses,transisi yang mungkin terjadi sebagai berikut :
Gambar 3.7 Model Antrian dari Gambar 3.5
Karena itu, perlu dipikirkan kembali ospek rancangan ini,disini terdapat dua konsep
yang independen:apakah suatu proses sedang menunggu suatu event atau tidak(di
blokir atau tidak),dan apakah suatu proses telah di swap out dari memori
utama(ditunda atau tidak),Untuk mengakomodasi kombinasi 2x2 ini,kita memerlukan
tiga keadaan yaitu :

 Ready:Proses berada di dalam memori utama dan di eksekusi.


 Blocked:proses berada di dalam memori utama dan sedang menunuggu event
 Ready-suspend:Proses berada did ala memeori sekunder,namun dapat
dieksekusi setelah dimuatkan ke dalam memori utama

Gambar 3.8 Diagram Transisi Keadaan Proses dengan Keadaan Tertunda

3. Penggunaan Penundaan
yang Lain Sejauh ini, kita telah menyamakan konsep suatu proses yang di tunda
dengan konsep proses yang tidak ada di dalam memori utama. Suatu proses yang
tidak berada didalam memori utama tidaklah dapat langsung dieksekusi, baik prose
situ sedang menunggu suatu event atau tidak.
Kita dapat melakukan gineralisai konsep proses yang di tunda ini. Kita tentukan
proses seperti itu memilki karakteristik berikut.
a. Proses tidak langsung dapat dieksekusi
b. Proses dapat menunggu suatu event atau tidak menunggu suatu event.
c. Proses di tempatkan dikeadaan yang ditunda oleh suatu agent
d. Proses tidak dapat dipindahkan dari keadaan ini sampai agent tersebut
memerintahkan pemindahan secara eksplisit.

Tabel 3.3 Alasan-alasan Penundaan Proses Alasan Penundaan

2. DESKRIPSI APLIKASI

Sistem operasi mengontrol event yang terjadi didalam sistem komputer. Sistem
operasi menjadwalkan dan mengirimkan proses untuk dieksekusi oleh prosesor,
mengalokasikan sumber daya ke proses-proses dan memberikan respons terhadap
permintaan program layanan dasar pengguna. Pada dasarnya kita dapat menganggap
sistem operasi sebagai entity yang mengelola sumber daya yang digunakan oleh
proses.
Dalam lingkungan sistem multiproggramming, terdapat sejumlah proses (P1,….,Pn)
yang telah dibuat dan berada di dalam virtual memori.Setiap proses,selama
mengalami eksekusi,memerlukan acces ke sumber daya tertentu pada sistem
,termasuk prosesor,perangkat I/O,dan memori utama pada gambar , proses P1 sedang
berjalan : sedikitnya bagian proses tersebut berada didalam memori, dan memiliki
kontrol atas kedua perangkat I/O.Proses P2 juga berada didalam memori utama ,
namun di blokir menunggu perangkat I/O yang dialokasikan ke P1 proses Pn diswap-
out dan karena itu ditunda.

A. Struktur Control Sistem Operasi

Apabila ditujukan untuk mengelola proses dan sumber daya, sistem operasi harus
memiliki keadaan terakkhir setiap proses dan sumber datya tersebut. Pendekatan
yang bersifat umum untuk penyediaan informasi ini cukup mudah: Sistem operasi
membuat dan menjaga tabel informasi tentang setiap entity yang dikelolanya.
Gagasan umum tentang masalah ini diberikan, yang menunjukkan empat tabel
berbeda yang dimiliki oleh sistem operasi; memori I/O,file,dan proses. Walaupun
detailnya akan berbeda dari satu sistem operasi ke sistem operasi lainnya, pada
dasarnya semua sistem operasi memiliki informasi yang terdapat dikeempat
kategori itu.
Tabel memori digunakan untuk mengawasi baik main (real) memori maupun
memori virtual (sekunder) sebagian memori utama dicadangkan untuk digunakan
oleh sistem operasi; sedangkan sisanya dapat digunakan oleh proses. Proses
disimpan di dalam memori sekunder dengan memori virtual atau mekanisme
swapping sederhana. Tabel-tabel memori harus meliputi informasi berikut:
 Alokasi memori utama yang diberikan kepada proses
 Alokasi memori sekunder yang diberikan kepada proses
 Atribut-atribut proteksi segmen memori utama dan memori virtual seperti
proses mana yang dapat mengakses daerah tertentu pada memori bagi
pakai
 Informasi yang diperlukan untuk mengelola memori virtual

Tabel I/O digunakan oleh sistem operasi untuk mengelola perangkat I/O dan atau di-
assign ke proses tertentu. Apabila operasi I/O sedang berlangsung , sistem operasi
perlu mengetahui keadaan operasi I/O dan lokasi didalam memori utama yang dipakai
sebagai sumber atau tujuan pemindahan I/O.

Tabel File, sistem operasi dapat juga memiliki tabel –tabel file, Tabel tabel ini
menyediakan informasi tentang keberadaan file, lokasinya dimemori sekunder, dan
keadaanya saat itu, serta atribut-atribut lainnya. Namun, tidak seluruhnya informasi
ini dapat dipelihara dan digunakan oleh sistem manajemen file, dengan sistem operasi
tidak banyak mengetahui atau tidak mengetahui sama sekali file. Pada sistem operasi
lainnya, banyak detail manajemen file dikelola oleh sistem perasi itu sendiri

Tabel Proses, sistem operasi harus memiliki tabel proses untuk mengelola proses. Sisa
subbab ini akan dicurahkan untuk membahas tabel –tabel proses yang diperlukan.
Sebelum melanjutkan pembahasan ,terda[pat dua hal yang perlu diperhatikan :
 Pertama, menunjukkan empat tabel yang berlainan, jelas bahwa tabel-tabel itu
harus dikaitkan atau direferensisilangkan dengan cara-cara tertentu. Memori
I/O dan sumber daya dikelola atas nama proses sehingga harus ada referensi
ke sumber daya tersebut secara langsung atau tidak langsung. Sidalam tabel
proses. File-file yang direferensikan di dalam tabel proses dapat diakses
melalui perangkat I/O dan kadang-kadang akan berada. Di dalam memori
utama atau memori virtual.Tabel itu sendiri harus dapat diakses oleh sistem
operasi dank arena itu merupakan bidang manajemen memori.
 Kedua, berkaitan dengan pernyataan sebelumnya tentang sistem operasi yang
membuat dan memelihara tabel-tabel tersebut. Timbul pertanyaan yang
mendasar. Bagaimana sistem operasi tahu cara membuat tabeltabel itu untuk
pertama kalinya?Jelas sistem operasi harus memiliki pengetahuan lingkungan
dasar, seperti berapa jumlah memori utama yang tersedia, apa perangkat I/O-
nya,dan apa identifiernya, dan lain-lain. Hal ini merupakan masalah
konfigurasi. Jelasnya,pada saat dimulai, sistem operasi harus memiliki akses
ke beberapa data konfigurasi yang menentukan lingkungan dasarnya, dan data
tersebut harus dibuat diluar sistem operasi, dengan bantuan manusia .

B. Struktur Control Proses

Perhatikan apa yang harus diketahui sistem operasi apabila harus mengelola dan
mengontrol suatu proses. Pertama, sistem operasi harus mengetahui tempat lokasi
proses Kedua, sistem operasi harus mengetahui atribut proses yang diperlukan
untuk manajemen.

1. Lokasi Proses

Di mana suatu proses berlokasi atau apa atributnya?, Sebelumnya dibahas Apa
manifestasi fisik sebuah proses? Sedikitnya, suatu proses harus mencakup program
atau sekumpulan program yang akan dieksekusi, melibatkan stack, sejumlah atribut
yang digunakan oleh sistem operasi untuk pengontrolan proses yang disebut dengan
PCB (Process Control Block), yang kemudian disebut Process Image.

Lokasi proses image akan bergantung pada teknik manajemen memori yang
digunakan. Pada teknik yang paling sederhana, process image dijaga sebagai blok
memori yang kontigus.

Sebagian besar sistem operasi modern menggunakan teknik manajemen memori


dimana suatu process image terdiri dari himpunan blok yang tidak perlu disimpan
secara kontigus. Bergantung pada metode yang digunakan, blok-blok tersebut
panjangnya variabel (disebut segmen), atau panjangnya tetap (disebut page), atau
kombinasi keduanya. Kadang-kadang, cara seperti itu mengizinkan sistem operasi
hanya membawa masuk bagianbagian tertentu dari sebuah proses.

Elemen Procces Image:


 Data Pengguna : Bagian ruang pengguna yang dapat imodifikasi. Dapat
terdiri dari data program, daerah stack pengguna, dan data yang dapat
dimodifikasi.
 Progran Pengguna : Program yang akan dieksekusi. Stack Sistem Setiap
proses memiliki sebuah atau lebih stack sistem last-in, first-out(LIFO) yang
berkaitan dengannya.
 Stack : digunakan untuk menyimpan parameter dan alamat pemanggil
procedure dan sistem call.
 Process Control Blok : Data yang diperlukan oleh sistem operasi untuk
mengontrol proses

2. Atribut Proses

Sistem multiprogramming yang canggih memerlukan informasi yang lengkap tentang


setiap prosesnya. Seperti telah dijelaskan, informasi ini dapat berada didalam process
kontrol blok. Sistem yang berbeda akan mengorganisasikan informasi ini dengan cara
yang berbeda pula, dan beberapa contoh tentang masalah ini dapat ditemukan pada
akhir bab ini dan bab berikutnya.

Untuk saat ini, kita akan membahas jenis informasi yang akan berguna bagi sistem
operasi, tanpamemperhatikan detail tentang cara pengorganisasian informasi tersebut.
Dengan memahami tanggung jawab sebuah sistem operasi yang besar, jumlah
informasi akan lebih bisa dimengerti.

Elemen Sebuah Process Control Blok :


Identifikasi
Proses Identifier Identifier numerik yang dapat disimpan pada PCB adalah :
 Identifier proses itu
 Identifier proses yang membuat proses itu (proses induk)
 Identifier pengguna

Informasi Keadaan Proses

User-Visible Register
Sebuah user-visible register merupakan register yang dapat direferensi dengan
menggunakan bahasa mesin yang dieksekusi prosesor. Umumnya, terdapat mulai 8
hingga 32 register ini, walawpun beberapa implementasi mesin RISC memiliki lebih
dari 100 buah.

Control Register dan Register Status (Keadaan)


Regster ini merupakan jenis register prosesor yang digunakan untuk mengontrol
operasi prosesor. Register ini mencakup:
 Program Counter: berisi alamat intruksi berikutnya yang akan diambil
(dibaca).
 Kode Kondisi : hasil operasi aritmatik atau logika terkini (misalnya, tanda,
nol, carry,sama dengan, overflow).
 Informasi status: mencakup enable/disable interrupt flag, mode eksekusi.
Stack Pointer
Setiap proses memiliki sebuah atau lebih last-in, first out (LIFO) stack yang berkaitan
dengan proses yang bersangkutan. Sebuah stack digunakan untuk menyimpan
parameterparameter dan alamat procedure call dan sistem call. Stack pointer
menunjuk ke bagian paling atas (top) sebuah stack.

Informasi Proses Control

Informasi Penjadwalan dan Keadaan


Informasi ini adalah informasi yang diperlukan oleh sistem operasi untuk melakukan
fungsi penjadwalan . Item informasi biasanya mencakup:
 Keadaan proses: menentukan kesiapan proses untuk dijadwalkan bagi
keperluan eksekusi (misalnya, Running, Ready, Wait, Halt).
 Prioritas: Sebuah field atau lebih dapat digunakan untuk menjelaskan
prioritas penjadwalan proses. Pada beberapa sistem, diperlukan sejumlah nilai
(misalnya, nilai default, nilai saat ini, nilai tertinggi yang diizinkan).
 Informasi yang bekaitan dengan penjadwalan: Hal ini akan berganting pada
algoritma penjadwalan yang dipakai. Contohnya adalah jumlah waktu proses
menunggu dan jumlah waktu eksekusi proses pada saat terakhir berjalan.
 Event: Identitas event yang ditunggu proses sebelumnya proses itu
dilanjutkan.

Penstrukturan Data
Sebuah proses dapat dihubungkan dengan proses lainnya didalam antrean, cincin, atau
struktur lainnya. Misalnya, semua proses yang memiliki prioritas tertentu dan sedang
berada dalam keadaan menunggu dapat di-link-kan dalam sebuah antrean. Sebuah
proses dapat menunjukan hubungan induk-anak (yang membuat-yang dibuat) dengan
proses lainnya. Process control blok dapat berisi pointer ke proses lainnya untuk
mendukung struktur ini.

Interprocess comunication
Bermacam-macam flag, signal, dan pesan dapat dikaitkan dengan komunikasi antara
dua proses yang independen. Beberapa atau seluruh informasi ini dapat disimpan di
dalam proses control blok.

Privelege Proses
Proses diberi privelege tertentu dalam kaitannya dengan memori yang dapat diakses
dan jenis intruksi yang dapat dieksekusi. Selain itu, privilage dapat diterapkan
terhadap penggunaan utilitas dan layanan sistem.
Manajemen Memori
Bagian ini dapat mencakup pointer ketabel-tabel segmen dan/ atau page yang
menjelaskan virtual memori yang di-assign ke proses itu.

Kepemilikan dan Utilitas Sumber Daya


Sumber daya yang dikontrol oleh proses dapat diindikasikan, seperti file yang
terbuka. History utilitas prosesor atau sumber daya lainnya dapat juga dimasukan
informasi ini mungkin dibutuhkan oleh scheluder.

Kita dapat mengelompokan informasi process control blok menjadi tiga kategori
umum:
 Identifikasi proses
 Informasi keadaan prosesor
 Informasi control proses
Sebagai catatan, semua rancangan prosesor meliputi sebuah register atau sekumpulan
register, yang dikenal sebagai program status word (PSW), yang berisi informasi
keadaan. Umumnya PSW berisi kode-kode kondisi serta informasi keadaan lainnya.
Contoh PSW yang baik adalah PSW yang terdapat pada mesin-mesin Pentium, yang
disebut register EFLAGS.

Setiap process image terdiri dari sebuah process control blok, stack pengguna, ruang
alamat private proses, dan ruang proses lainnya yang digunakan b ersama-sama oleh
sebuah proses dengan proses lainnya. Pada gambar, setiap process image tampak
sebagai range alamat kontigus. Pada implementasi yang sebenarnya, range alamat
seperti itu mungkin hanya satu kasus; dan bergantung pada teknik manajemen memori
dan cara pengorganisasian struktur kontrol oleh sistem operasi.

 AC (Aligment check) Disetel


Apabila suatu word atau double word ditujukan terhadap batas nonword atau
nondoubleword.
 ID (Identfication flag)
Apabila dapat disetel dan dihapus, bit ini mengidentifikasikan bahwa prosesor ini
mendukung intruksi CPUID. Instruksi ini menyediakan informasi tentang vendor,
keluarga, dan model.
 RF (Resume flag)
Mengizinkan pemrogram untuk mendisablekan debug exception sehingga instruksi
dapat dimulai lagi setelah terjadi debug exception tanpa langsung menyebabkan
debug exception lainnya.
 IOPL (I/O privilage level)
Apabila disetel, akan menyebabkan prosesor menghasilkan exception pada seluruh
access ke perangkat I/O pada saat operasi mode yang diproteksi.
 DF (Direction flag)
Menentukan apakah instruksi pengolahan string memerlukan atau menurunkan
separuh register 16 bit SI dan DI (untuk operasi 16 bit) atau register 32 bit. ESI dan
EDI (untuk operasi 32 bit).
 IF (Interrupt enable flag)
Apabila disetel, prosesor akan mengenali interrupt eksternal.
 TF (Trap flag)
Apabila disetel, akan menyebabkan interrupt setelah eksekusi setiap registernya. Bit
ini digunakan untuk debugging.
 NT (Nested task flag)
Mengidikasikan bahwa task saat itu disarangkan di dalam task lainnya dalam mode
operasi yang diproteksi.
 VM (Virtual 8086 mode)
Mengizinkan pemrogram untuk meng-enable-kan atau men-disablekan mode virtual
8086, yang menentukan apakah prosesor itu beroperasi sebagai mesin 8086 atau tidak.
 VIP (Virtual interrupt pending)
Digunakan di dalam mode 8086 virtual untuk mengindikasikan bahwa sebuah
interrupt atau lebih sedang menunggu layanan.
 VIF (Virtual interrupt flag)
Digunakan di dalam mode 8086 virtual bukannya IF kode-kode kondisi.
 AF (Auxiliary carry flag)
Merepresentasikan pemindahan (carrying) atau peminjaman (borrowing) di antara dua
buah separuh-byte operasi aritmetik atau logik 8 bit yang menggunakan register AL.
 CF (Carry flag)
Mengidindikasikan pemindahan (carrying) atau peminjaman (borrowing) ke posisi
bit yang paling kiri setelah operasi aritmatik. Juga dimodifikasi atau oleh beberapa
operasi penggeseran (shift) dan pemutaran (rolate).
 OF (Overflow flag)
Mengindikasikan overflow aritmatik setelah operasi penambahan atau pengurangan.
 PF ( Parity flag)
Parity hasil sebuah operasi aritmatik atau loguk. Bilangan 1 menandakan parity
genap, sedangkan mengindikasikan parity ganjil.
 SF (Sign Flag)
Mengindikasikan tanda hasil sebuah operasi aritmatik atau logik.
 ZF (Zero flag)
Mengindikasikan bahwa hasil sebuah operasi aritmatik atau logik sama dengan 0.

Process control blok dapat berisi informasi berstruktur, termasuk pointer yang
mengizinkan menghubungkan PCB. Jadi, antrean yang telah dijelaskan pada subbab
sebelumnya dapat diimplementasikan sebagai linked list PCB. Misalnya, struktur
antrean pada Gambar 3.7a dapat diimplementasikan.

C. Peranan Process Control


Blok Process control blok adalah struktur data yang paling penting dalam sebuah
sistem operasi. Setiap process control blok berisi semua informasi tentang proses
yang diperlukan dalam sistem operasi.

Blok-blok tersebut dibaca dan/atau dimodifikasi oleh semua modul di dalam


sistem operasi, termasuk modul yang dilibatkan dengan penjadwalan, alokasi
sumber daya alam, pengolahan interrupt, serta pengawasan dan analisis kinerja.
Kita dapat menyatakan bahwa himpunan process kontrol blok menentukan
keadaan sistem operasi.

Process control blok menjadi masalah rancangan yang pnting. Beberapa routine
didalam sistem operasi akan memerlukan akses keinformasi di dalam process
control blok. Perlengkapan access langsung ke tabel-tabel ini tidak sulit.

Setiap proses dilengkapi dengan ID yang unik, dan ID ini dapat digunakan sebagai
indeks kedalam tabel pointer ke process control blok. Kesulitannya bukan pada
masalah access, namun pada proteksi. Terdapat dua masalah:
 Suatu bug didalam sebuah routine, seperti interrupt handler, dapat merusak
proses control blok, yang akan menggangu kemampuan sistem untuk
mengelola proses yang terpengaruh.
 Perubahan struktur atau sematik rancangan process control blok dapat
berpengaruh terhadap modul-modul didalam sistem operasi.

3. KONTROL PROSES

A. Mode Mode Eksekusi

Mode-mode eksekusi prosesor memberikan pengaruh terhadap sistem operasi


dalam melakukan eksekusi proses. Sebagian prosesor mendukung sedikitnya dua
mode eksekusi, yaitu :
1. Mode Khusus, instruksi instruksi tertentu hanya dapat di eksekusi di dalam
mode yang lebih khusus instruksi. Instruksi itu mencakup pembacaan atau
pengubahan control register sepeerti program status word, instruksi I/O primitive
dan instruksi instruksi yang berkaitan dengan manajemen memori selain itu
daerah daerah memori tertentu hanya dapat diakses dalam mode yang lebih
khusus.
2. Mode Pengguna, mode yang kurang khusus sering kali di kenal sebagai mode
pengguna karena program pengguna biasanya akan mengesekusi dalam mode ini.

Mode yang lebih khusus di kenal sebagai mode sistem, mode kontrol, mode
kernel, istilah yang di sebut terakhir berkaitan dengan kernel sistem operasi yang
merupakan bagian sistem operasi yang meliputi fungsi sistem yang penting,
merupakan daftar fungsi umum yang di temukan di dalam kernel sebuah sistem
operasi.
Alasan untuk menggunakan dua mode cukup jelas, di perlukan proteksi bagi
sistem operasi dan tabel tabel sistem operasi yang penting, seperti proses control
block terhadap gangguan program pengguna, pada mode kernel software memiliki
control yang kompleks terhadap prosesor dan semua instruksi register dan
memorinya,tingkat kontrol ini tidak di perlukan dan untuk keselamatan, tidak
diinginkan bagi program2 pengguna. Timbul dua pertanyaan: bagaimana prosesor
mengetahui dalam metode yang sama yang mana eksekusi akan dilakukan, dan
bagaimana metode itu di ubah? Sehubungan pertanyaan pertama, biasanya
terdapat suatu bit di dalam program status word (PSW) yang mengendalikan
metode eksekusi. Bit ini akan berubah dalam merespon event event tertentu.
Misalnya, apabila seseorang pengguna melakukan panggilan layanan sistem
operasi, metode itu di setel ke mode kernel.

B. Pembuatan Proses

Sekali sistem operasi telah memutuskan dengan alasan apapun untuk membuat
proses baru sistem operasi dapat melakukannya adalah :
1. Meng-assign identifier proses yang unik ke proses yang baru itu. Pada saat ini
sebuah entri baru ditambahkan ke tabel proses primer, yang berisi sebuah entri per
prosesnya,. 2. Mengalokasikan ruang bagi proses. Pengalokasian ini mencakup
semua elemen proses image.
3. Proses control block harus dimulai. Bagian identifikasi proses berisi id proses
ini ditambah dengan id laiinnya yang sesuai, seperti id proses induk.
4. Linkage yang sesuai harus disiapkan.apabila sistem operasi memiliki setiap
antrean penjadwalannya sebagai suatu linked list, proses yang baru harus di taruh
pada list ready atau ready, suspend.
5. Mungin ada struktur data lainnya yang akan di buat atau di kembangkan.
Sistem operasi dapat memelihara file acounting pada setiap proses yang akan di
gunakan kemudian untuk keperluan penagihan dan/ atau kinerja.

C. Proces Switching (Peralihan proses)

1. Kapan mengalihkan proses

Peralihan proses dapat terjadi setiap kali sistem operasi mendapatkan kontro
dari proses yang sedang berjalan saat itu. Memberikan event event yang dapat
memberikan kontrol ke sistem operasi.
Pertama, kita pehatikan interupt sistem. Seperti di lakukan oleh sebagian besar
sistem, sebenar nya kita dapat membedakan 2 jenis interupt sistem. Interupt
pertama cukup di sebut interupt, sedangkan interupt kedua di sebut trap, yang
di sebut pertama,yaitu interupt, di sebabkan oleh adanya event yang bersifat
eksternal dan independen terhadap proses yang sedang berjalan. Sementara
trap berkaitan dengan kondisi error atau exepsion yang di hasilkan di dalam
proses yang sedang berjalan itu, misalnya usaha mengakses suatu file secara
ilegal. Pada interupt yang biasa, pertama tama kontol di pidahkan ke sebuah
interupt hadler, yang melakukan pekerjaan rumah tangga dasar dan kemudian
bercabang ke suatu routine sistem operasi yang memperhatikan jenis interupt
tertentu yang tidak terjadi, sebagai berikut :
 Clock interupt : sistem operasi menentukan apakah proses yang sedang
berjalan saat itu telah di eksekusi dalam waktu maksimum yang
diizinkan atau belum.
 I/O interupt : sistem operasi menentukan aksi I/O apa yang telah
terjadi.
 Memory fault : proseseo menemukan refaerensi alamat di dalam
memori virtual suatu word yang tidak ada di dalam memori utama.
2. Peralihan mode( mode switching)

Dalam siklus interupt, prosesor memeriksa apakah suatu interupt telah


terjadi,yang di hasilkan dengan keberadaan signal interupt. Apabila tidak ada
interupt sedang menunggu, prosesor melanjutkan nya ke siklus pengambilan
dan membaca intruksi progam saat itu berikut nya di salam proses saat
itu.Apabila interupt sedang menunggu, prosesro melakukan hal-hal berikut
ini :
a. Prosesor menyimpan konteks saat itu progam yang sedang di eksekusi
b. Prosesor menyetel progam counter ke alamat awal progam interupt hadler
c. Prosesor beralih dari mode pengguna dan mode kernel sehingga kode
pengolahan interupt dapat mecakup intruksi yang khusus.

3. Perubahan Keadaan Proses

Maka jelas bahwa peralihan mode merupakan konsep yang berbeda dengan
konsep peralihan proses. Peralihan mode dapat terjadi tanpa perubahan
keadaan proses yang saat itu berada pada keadaan running. Dalam hal ini,
penyimpanan konteksdan pengguanannya kembali memiliki sedikait overhead.
Namun, apabila proses yang sedang berjalan pada saat itu dipindahkan ke
keadaan lainnya ( Ready, Bloked, dan lain-lain), sistem operasi harus
melakukan perubahan penting di dalam lingkungannya. Langkah – langkah
yang terjadi pada peralihan proses yang penuh, sebagai berikut:
a. Menyimpan konteks prosesor, termasuk program counter dan register
lainnya.
b. Mengupdate process control block yang sedang berada didalam keadaan
running update tersebut meliputi keadaan proses menjadi salah satu keadaan
lainnya (Ready;Bloked;Ready,Suspend; atau Exit). Field- field lainnya yang
juga harus di update, temasuk alas an meninggalanya keadaan Running dan
informasi accounting. c. Memindahakan proses control block proses tiu
keantriean yang sesuai( Ready, Bloked terhadap Event; Ready, Suspend).
d. Memilih proses lainnya untuk di ekseskusi; topic ini akan di bahas pada
bagian Empat.
e. Meng update process control block yang dipilih. Update ini meliputi
perubahan kedaan prose situ terjadi Running.
f. Mengupdate struktur data manajemen memori. Tergantung pada cara
mengelola terjemahan alamatnya, update ini dapat di perlukan ; topic ini akan
di bahas di bagian tiga.
g. Menggunakan proses konteks prosesor yang ada pada saat proses yang di
pilih terakhir dipidahkan keluar dari keadaan running, dengan memelukan
dalam nilai sebelumnya sebuah prigram counter dan register lainnya.

D. Eksekusi Sistem Operasi

Beberapa fakata yang menarik tentang sistem operesi:


 Sistem operasi berfungsi sama seperti halnya software komputer
biasanaya yaitu merupakan program yang di eksekusi oleh prosesor.
 Sistem operasi sering kali mengeluarkan kontroldan harus bergantung
pada prosesor dalam mendapatkan kembali kontrol tersebut.

Anda mungkin juga menyukai