Model Proses untuk pembuatan OS (UNIX & Windows)

TAHAPAN PROSES DALAM SISTEM OPERASI UNIX

UNIX adalah salah satu dari banyak sistem yang menentukan perilaku sebuah komputer. Unix adalah sistem operasi yang memungkinkan sebuah komputer dipakai sekaligus oleh banyak orang (multiuser). 

Sebuah proses adalah konteks dasar dimana semua permintaan user dilayani sistem operasi. Agar menjadi kompatibel dengan sistem UNIX lainnya, Linux harus menggunakan model proses yang sama dengan sistem UNIX lainnya.

Prinsip dasar dari manajemen proses UNIX adalah memisahkan dua operasi untuk membuat proses dan menjalankan program baru. Proses baru dibuat dengan fungsi fork(), sedangkan program baru dijalankan setelah memanggil fungsi exec(). Model seperti ini memiliki kelebihan yaitu kesederhanaan dibanding harus menetapkan setiap detail dari lingkungan program baru dalam system call yang menjalankan program tersebut. Program baru dengan mudah berjalan dalam lingkungannya sendiri. Jika proses induk mengharapkan untuk memodifikasi lingkungan dimana program baru berjalan, dia bisa melakukan fork dan tetap menjalankan program asli dalam proses anak. Membuat beberapa system call membutuhkan modifikasi proses anak sebelum akhirnya mengeksekusi program baru. Setiap proses memiliki identitas proses yang isinya berupa:

1. PID. PIDs digunakan untuk menetapkan proses ke sistem operasi ketika sebuah aplikasi membuat System call untuk sinyal, modifikasi, atau menunggu proses lain.
2. Credentials . Setiap proses harus memiliki hubungan antara user ID dengan group ID yang menentukan hak sebuah proses untuk mengakses sumberdaya sistem dan file.
3. Personality . Dapat sedikit memodifikasi semantics of system calls.

Ada beberapa tipe proses dalam Linux . Setiap proses mempunyai kekhususan dan atribut tersendiri.:

1. Interactive processes: Proses yang dimulai (dan dikontrol oleh) shell. Bisa tampak diluar (foreground) ataupun hanya didalam (background).

2. Batch processes: Proses yang tidak berhubungan dengan terminal tetapi menunggu untuk dieksekusi secara sequent.
3. Daemon processes: Proses yang dimulai ketika Linux booting dan berjalan secara background

Linux memanfaatkan virtual memori sehingga kerja sistem dapat lebih efisien. Manajemen memori Linux menyediakan:
1. Ruang alamat besar
Ruang alamat dapat lebih besar dibanding memori fisik yang tersedia
2. Proteksi
Tiap proses di sistem mempunyai ruang alamat maya tersendiri. Ruang-ruang alamat
maya itu sepenuhnya terpisah. Proses yang berjalan di satu aplikasi tidak dapat
mengganggu proses lainnya.
3. Pemetaan memori
Dilakukan pemetaan antara memori maya ke memori fisik yang tersedia.
4. Memori maya bersama (shared virtual memory)
Memori maya bersama ini untuk menghemat ruang memori, seperti pustaka dinamis
bagi beberapa proses.

KESIMPULAN
Linux merupakan tiruan dari UNIX. Linux memiliki kompatibilitas tinggi terhadap UNIX, bahkan GNU utilitasnya memiliki kemampuan yang lebih baik dibandingkan milik UNIX. Linux dirancang secara spesifik untuk platform PC. Linux merupakan sistem operasi multitasking, multiuser, mendukung network secara langsung, mendukung protected-mode.

 

TAHAPAN PROSES DALAM SISTEM OPERASI WINDOWS

Windows adalah salah satu sistem operasi yang mempunyai banyak keunggulan dalam menjalankan suatu eksekusinya. Didalam sistem operasi ini, terdapat proses-proses yang sangat valid dan selalu berhubungan satu sama lain. Dibawah ini akan dijelaskan beberapa penjelasan tentang proses pada sistem operasi windows.

Didalam window, prosesnya mempunyai beberapa elemen dasar untuk menjalankan proses tersebut, yaitu :

-          Identifier

-          State

-          Priority

-          Program counter

-          Memory pointers

-          Context data

-          I/O status information

-          Accounting information

Dalam kenyataanya, proses banyak mengalami gangguan dalam menjalankan tugasnya. Oleh karena itu, ada PCB (Proses Control Block) untuk membantu dan memberikan dukungan kepada proses itu.

Trace adalah dereta intruksi yang dieksekusi proses dalam menjalankan tugasnya.Dispatcher merupakan suatu program kecil yang men-switch processor dari satu proses ke proses lainnya. Dibawah ini adalah gambaran umum suatu main memory mengpart addres-addresnya untuk melakukan beberapa proses.

 

Gambar Alir Proses

Gambar Diagram Status

Biasanya, dalam menjalankan tuganya, proses berada pada salah satu dua status yaitu running atau not running. Selain itu, terdapat suatu antrian untuk mendapatkan eksekusi yang akan dijalankan. Dibawah ini adalah diagram antrian suatu proses.

Keterangan : Proses dipindahkan oleh dispatcher dari SO ke CPU kemudian kembali ke antrian (Queue) sampai tugas tersebut selesai (lengkap) dan seterusnya.

Sistem operasi windows memperbolehkan proses berjalan menghasilkan proses lagi. Aksi ini disebut Proses swapning dengan macam :

  1. Proses induk
  2. Proses anak

Dalam kenyataanya, windows melakukan beberapa eksekusi yang eksekusi itu masih menghasilkan beberapa proses yang berbeda. Proses ini haruslah memberikan sebuah intruksi kepada prose parent agar perses parent atau induk dapat menjalankan proses aslinya.

 

Model Proses Lima Status

Gambar Model Lima Status Pada Windows

Keterangan: Prosesor lebih cepat dibandngkan I/O, sehingga semua proses dapat menunggu I/O. Dalam gmabar diatas, status blocked berubah menjadi suspend ketika proses dialihkan ke disk. Dan penjelasanya ada pada gambar dibawah ini :

Gambar Satu Status Suspend

Gambar Dua Status Suspend

Setelah tahap ini, proses memberikan beberapa intruksi pada beberapa temenya yaitu penjelasan pada tabel kontrol sistem operasi windows dibawah ini :

Gambar Tabel Kontrol Dalam Proses Windows

Didalam proses sistem operasi windows, terdapat switc yaitu :memungkinkan berpindahnya proses. Suatu process switch dapat terjadi kapapun SO memperolehkontrol dari proses yang sedang (currently) berjalan. Event yang mungkin memberikan SO kontrol adalah :

Langkah-langkah dalam process switch:

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

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

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

4. Pilih proses lain untuk dieksekusi

5. Update PCB dari proses terpilih

6. Update struktur datamemorymanagement

7. Restore (kembalikan) context dari proses terpilih

  • Jelaskan alasan pembuatan & penghentian suatu proses!

Pembuatan proses:

Alasan Pembuatan & Penghentian Proses

Pembuatan Proses:

Sistem Operasi membangun suatu struktur data untuk mengelola proses yang akan dijalankan dalam program. Biasanya, semua proses dalam komputer dibuat oleh Sistem Operasi, Tetapi Sistem Operasi juga membolehkan proses yang sedang berjalan membuat proses lain. Aksi ini disubut process spawning

– Proses  induk  (parent)  adalah  proses yang bisa membuat proses baru

– Proses anak (child) merupakan proses baru

Penyebab terjadinya pembuatan suatu proses baru yaitu;

  1. Pada lingkungan batch, sebagai tanggapan atas pemberian suatu kerja (job)
  2. Pada lingkungan interaktif, ketika pemakai baru berusaha logon

Langkah-langkah dalam pembuatan proses, antara lain :

  • Memberi identitas (nama) pada proses yang dibuat.
  • Menyisipkan proses pada list proses atau tabel proses.

Penghentian Proses

Suatu proses akan berhenti jika telah menyelesaikan pernyataan terakhir dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit. Proses mengembalikan semua data (output) ke parent proses melalui system call wait. Kemudian proses akan dihapus dari list atau tabel system dilanjutkan dengan menghapus PCB.

Penghapusan proses ini akan menjadi sangat kompleks jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang lain. Pada beberapa system proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti. Namun ada beberapa sistem yang menganggap bahwa proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut dihentikan secara otomatis pada saat proses induk dihentikan

Dalam kenyataanya, program yang berjalan tidak selalu berjalan dengan lancar, tetapi ada kesalahan-kesalahan yang menyebabkan program itu akan diberhentikan. 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

  • Jelaskan tentang model proses lima status beserta kemungkinan transisinya!

Model proses lima status diantaranya adalah

  1. New adalah Proses sedang dikerjakan/dibuat.
  2. Running adalah Instruksi sednag dikerjakan.
  3. Waiting adalah Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/signal).
  4. Ready adalah Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
  5. Terminated adalah Proses telah selsesai melaksanakan tugasnya/mengeksekusi
    • Mengikuti soal sebelumnya, tetapi pada kehadiran dua status suspended.

Gambar Dua Status Suspended

  1. Blocked -Blocked/Suspend : Jika tidak ada proses siap maka setidaknya satu diblokir proses swapped keluar untuk memberikan ruang bagi proses lain yang tidak diblokir.
  2. Blocked/Suspend -Ready/Suspend: Sebuah proses dalam Diblokir / Suspend negara tersebut akan dipindahkan ke Siap / Suspend saat acara yang telah menunggu terjadi.
  3. Ready/Suspend – Ready : Bila tidak ada siap proses di memori utama OS perlu membawa satu untuk melanjutkan eksekusi. Selain itu mungkin dengan kasus yang di proses Siap / Suspend negara memiliki prioritas lebih besar dari salah satu proses di Siap negara.
  4. Ready -Ready/Suspend: Biasanya OS memilih untuk menunda proses yang diblokir daripada satu siap karena proses siap sekarang dapat dijalankan sedangkan yang diblokir adalah proses mengambil atas ruang memori utama dan tidak dapat dijalankan.
  5. New – Ready/Suspend and New – Ready : Ketika sebuah proses baru dibuat maka dapat ditambahkan ke antrian Siap atau Siap / Suspend antrian.
  6. Blocked/Suspend -Blocked : Pencantuman ini tampaknya transisi jika proses belum siap untuk dijalankan dan belum di utama memori tetapi mempertimbangkan skenario berikut Sebuah proses terminates freeing beberapa memory.memory utama akan memproses dalam (Diblokir / Suspend) antrian dengan prioritas yang lebih tinggi daripada salah satu dalam proses (Ready / Suspend) antrian dan OS memiliki alasan percaya bahwa memblokir kegiatan untuk proses yang akan terjadi segera.
  7. Running – Ready/Suspend:Biasanya yang menjalankan proses tersebut akan dipindahkan ke negara Siap jika alokasi waktu berakhir.
  8. Any State – Exit: Biasanya, proses terminates ketika sedang berjalan baik karena telah selesai atau karena kondisi beberapa kesalahan fatal.
  • Jelaskan elemen-elemen dari Process Control Block (PCB)!

Process Control Back

Process Control Back adalah bentuk informasi-informasi lain yang diperlukan SO untuk mengendalikan dan mengoordinasikan beragam proses aktif dalam suatu proses.

Element-elemen PCB antara lain:

    1. Identifier proses
    2. Status proses. Mendefinisikan status proses (running,ready,block, dsb)
    3. Prioritas. Menjelaskan prioritas proses\
    4. Informasi berkaitan penjadwalan. Informasi ini seperti lama menunggu, lama proses terakhir dieksekusi dsb.\
    5. Kejadian (Event). Identitas kejadian yang ditunggu proses
    6. Program Counter
    7. Informasi I/O untuk menjadwalkan informasi yang sudah masuk
    8. Konteks Data
    9. Memori Pointer
  • Penstrukturan data yaitu Suatu proses dapat dikaitkan dengan proses lain dalam satu antrian atau ring, atau struktur lainnya. PCB harus memiliki pointer untuk mendukung struktur ini.
  • Komunikasi antar proses yaitu Beragam flag, sinyal dan pesan dapat diasosiasikan dengan komunikasi antara dua proses yang terpisah. Informasi ini disimpan dalam PCB
  • Kewenangan proses yaitu Proses dapat mempunyai kewenangan berkaitan dengan memori dan tipe instruksi yang dapat dijalankan
  • Manajemen memori Bagian ini berisi pointer ke tabel segmen atau page yang menyatakan memori virtual proses
  • Kepemilikan dan utilisasi sumber daya yaitu Sumber daya yang dikendalikan proses harus diberi tanda, misalnya :
1. Berkas yang dibuka
2. Pemakaian pemroses
3. Pemakaian sumberdaya lainnya 
About these ads
By ludvina2309

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