Tugas 3

Proses pada linux dan windows

Proses didefinisikan sebagai program yang sedang dieksekusi. Menurut Silberschatz proses tidak hanya sekedar suatu kode program (text section), melainkan meliputi beberapa aktivitas yang bersangkutan seperti program counter dan stack. 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 kesemua proses-proses ini pada akhirnya membentuk pohon proses.

Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti ”waktu CPU”, ”memori”, ”berkas” atau perangkat ”M/K”. Sumber daya ini dapat diperoleh langsung dari Sistem Operasi, dari Proses Induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan Sistem Operasi.

Ada dua kemungkinan bagaimana jalannya (running) proses induk dan turunan berjalan (running). Proses-proses tersebut berjalan secara konkuren atau proses induk menunggu sampai beberapa/seluruh proses turunannya selesai berjalan. Juga terdapat dua kemungkinan dalam pemberian ruang alamat (address space) proses yang baru. Proses turunan dapat merupakan duplikasi.

Sistem operasi UNIX mempunyai system call fork yang berfungsi untuk membuat proses baru.

Proses yang memanggil system call fork ini akan dibagi jadi dua, proses induk dan proses turunan

yang identik. Analoginya seperti pembelahan sel, dimana satu sel membelah jadi dua sel yang

identik. Ada juga system call exec yang berguna untuk membuat proses turunan yang terbentuk memiliki

instruksi yang berbeda dengan proses induknya. Dengan kata lain, proses induk dan proses turunan

tidak lagi identik tapi masing-masing punya instruksi berbeda.

Sedangkan sistem operasi Microsoft Windows NT mendukung dua kemungkinan tersebut.

Ruang alamat proses induk dapat diduplikasi atau proses induk meminta sistem operasi untuk

me-load program yang akan dijalankan proses baru ke ruang alamatnya.

Sebuah proses dapat memiliki tiga status utama yaitu:

  • Running: status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi.
  • Waiting: status yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses M/K.
  • Ready: status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor.

Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi:

  • New: status yang dimiliki pada saat proses baru saja dibuat.
  • Terminated: status yang dimiliki pada saat proses telah selesai dieksekusi.

Gambar 10.1. Status Utama Proses

RDY (Ready), RUN (Running), W (Wait).

Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun, banyak proses yang dapat berstatus Ready atau Waiting. Ada tiga kemungkinan bila sebuah proses memiliki status Running:

  • Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi

Terminated.

  • Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi

interrupt dan proses tersebut kini berstatus Ready.

  • Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan M/K) maka proses

tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.

Proses pembuatan & penghentian proses ( termasuk switchingnya )

Pembuatan Proses

  • SO membangun suatu struktur data untuk mengelola proses tersebut
  • Biasanya, semua proses dibuat oleh SO

– Tetapi SO juga membolehkan proses yang sedang berjalan membuat proses lain

  • Aksi ini disubut process spawning

Proses induk (parent) adalah original, membuat proses anak, ia juga proses

Proses anak (child) merupakan proses baru

  • Begitu SO memutuskan untuk membuat suatu proses baru, ia:

– Memberikan suatu pengenal proses unik

– Mengalokasikan ruang bagi proses tersebut

– Menginisialisasi process control block

– Men-setup linkage yang tepat

– Membuat dan meng-expand struktur data lain

  • Pembuatan proses dilakukan oleh system call kernel bernama fork( ).
  • Ini menyebabkan SO, dalam modus kernel, untuk:

1. Mengalokasi suatu slot dalam tabel proses untuk proses baru tersebut.

2. Memberikan suatu process-ID unik untuk proses anak.

3. Menyalin process image dari proses induk, dengan pengecualian suatu

Shared memory.

Proses pembuatannya :

1. Naikkan counter terhadap file yang dimiliki oleh induk (parent) untuk mencerminkan bahwa suatu proses tambahan sekarang juga memiliki file-file tersebut.

2. Lewatkan proses anak dari status Ready ke Run.

3. Kembalikan nomor ID dari anak ke proses induk, dan nilai 0 ke proses anak.

Kapan Men-switch Proses

Suatu process switch dapat terjadi kapapun SO memperoleh

kontrol dari proses yang sedang (currently) berjalan. Event

yang mungkin memberikan SO kontrol adalah

Tabel 3.8 Mekanisme menginterupsi eksekusi proses

  • Langkah-langkah dalam process switch:

1. Simpan context dari processor termasuk program counter (PC) & register lain

2. Update process control block (PCB) dari proses yang saat terkini dalam status Running

3. Pindahkan PCB ke antrian yang tepat – ready; blocked; ready/suspend

4. Pilih proses lain untuk dieksekusi

5. Update PCB dari proses terpilih

6. Update struktur data memorymanagement

7. Restore (kembalikan) context dari proses

terpilih

Penghentian Proses

  • Harus ada cara yang dapat menandakan bahwa suatu proses selesai.
  • Indikasi ini dapat berupa:

– Instruksi HALT membangkitkan suatu interupsi alert untuk SO

– Aksi pengguna (seperti log off & keluar dari suatu aplikasi)

– Suatu kesalahan atau error

– Dihentikan oleh proses induk

Fungsi & cara menggunakan perintah top, cat, dang rep dalam linux

Top

Perintah Top digunakan untuk menampilkan program yang sedang di run / dijalankan.

$top

contoh :

Cat

Perintah cat, digunakan untuk menampilkan isi file. Biasanya file yang ditampilkan dengan perintah ini adalah file yang bertipe teks. Dan yang pasti bukan file kosong.

Contoh :

karena file puisigombal.txt masih kosong maka tidak tampak apa-apa.

Sekarang kita coba mengisi file tersebut dengan perintah

cat > nama_file

Ketik cat > puisigombal.txt lalu tekan tombol Enter, kemudian mulailah mengetikkan isi file teks yang diinginkan.

Contoh :

kalau sudah selesai simpan file anda dengan menekan Ctrl + c. Selain itu juga bisa menekan Ctrl + z.

Sekarang anda punya file yang sudah ada isinya dan bisa kita gunakan untuk latihan selanjutnya. Coba gunakan perintah cat untuk melihat isi file tersebut.

Grep

Mencari karakter atau kata yang diinginkan dari sebuah file yang terdiri dari banyak kalimat.

Format : grep option karakter/kata

Contoh :

Buatlah sebuah file teks baru yang bernama tesfile.txt. Gunakan perintah cat > tesfile.txt

tekan Ctrl + z setelah selesai mengetik isi file.

Berikut ini adalah isi file tersebut :

Selanjutnya kita akan mencari kata “bukan” dari file tersebut.

Baris kata yang mengandung kata “bukan” akan ditampilkan.

Tugas2

Jelaskan alasan pembuatan & penghentian proses!!

Kenapa dibuat suatu proses?? Karena system operasi tidak akan berjalan baik dan semestinya tanpa adanya proses.

Kenapa proses dihentikan?? Proses akan dihentikan karena Proses induk selesai, dan sistem operasi tidak mengizinkan proses turunan untuk tetap berjalan. Jadi, semua proses turunan akan berakhir pula. Hal ini yang disebut cascading termination. Atau proses terpaksa dihentikan untuk menghindari hang yang disebabkan karena banyaknya proses yang sedang berjalan.

Jelaskan tentang model proses lima status beserta kemungkinan transisinya!!

Model proses lima status adalah model alur proses kerja dengan menggunakan lima pos atau lima pengaturan jalan proses sehingga alur dan penjadwalan proses dapat terkontrol.

Prosesnya :

  1. Proses baru akan masuk lewat pos New.

  2. Proses masuk ke pos ready untuk mengantre sebelum dipanggil oleh dispatch.

  3. Setelah dipanggil oleh dispatch, proses akan diproses pada pos process.

  4. Jika proses belum selesai setelah waktu giliran habis maka proses akan di pindahkan ke pos blocked untuk dimasukkan ke pos ready untuk mengantre dan menyelesaikan sisa proses.

  5. Jika proses selsai sebelum waktu giliran habis maka proses akan keluar melewati pos exit dan digantikan proses selanjutnya.

Bagaimana jika ditambah 2 kasus suspend?? Jelaskan!!

Model proses pada status dua suspended merupakan model proses yang mengakibatkan processor lebih cepat daripada I/O sehingga semua proses dapat menunggu I/O.Swap proses sedemikian ke disk untuk membebaskan lebih banyak memory & menugaskan processor pada lebih banyak proses.Dimana Status Blocked berubah menjadi Suspend ketika proses dialihkan ke disk.

kemungkinan transisinya:

· Swapping : SO harus membebaskan cukup main memory agar suatu proses siap eksekusi.

· Request User Interaktif: Misalnya, debugging atau berhubungan dengan

pemanfaatan sumber daya.

· Timing :Proses dapat dieksekusi secara periodik (misal, sistem monitoring sistem atau accounting) & boleh di-suspend selama menunggu waktu berikutnya.

· Request Proses Induk Proses induk berkeinginan men-suspend eksekusi dari suatu turunan untuk menguji atau mengubah proses turunan tersebut atau mengkoordinasikan aktifitas dari berbagai keturunannya.

Jelaskan elemen-elemen dari process control box ( PCB )

Gambar 10.2. Process Control Block

Setiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) – juga disebut sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 10.2, “Process Control Block“. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini:

  • Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
  • Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
  • CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes register,

ditambah code information pada kondisi apa pun. Beserta dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.

  • Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari

dasar dan batas register, tabel page/halaman, atau tabel segmen tergantung pada sistem memori

yang digunakan oleh sistem operasi

  • Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan,

batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi.

  • Informasi status M/K: Informasi termasuk daftar dari perangkat M/K yang di gunakan pada

proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi.

  • PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses

yang satu dengan yang lain

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s