Artikel Proses Dalam Sistem Operasi

PROSES DALAM SISTEM OPERASI 

A. PENDAHULUAN 

          Komputer merupakan sebuah mesin yang dapat melakukan perhitungan dengan cepat dan digunakan untuk memudahkan suatu pekerjaan manusia. Komputer membutuhkan suatu program agar bisa melakukan tugas-tugas yang diberikan. Program berisi kodekode pemrograman yang nantinya akan diterjemahkan ke bahasa mesin yang bertujuan untuk mengelola data untuk mendapatkan keluaran sesuai dengan apa yang diharapkan. Sistem Operasi merupakan salah satu program yang digunakan untuk menjembatani antara hardware dengan Software. Software tersebut dapat berupa program yang sudah melekat pada system operasi maupun program yang dipasang sendiri oleh user. Program akan disimpan dalam memory penyimpanan dan saat program tersebut akan dieksekusi, program akan dimuat dalam memory yang akan dikerjakan oleh Cpu. Program yang sedang berjalan ini dinamakan proses. Pada awalnya computer hanya bisa menjalankan satu proses saja. Namun dengan perkembangan saat ini Cpu mampu melakukan lebih dari satu proses pekerjaan dalam waktu yang sangat singkat. 

B. PEMBAHASAN 

          Proses merupakan sebuah program yang sedang dieksekusi atau sedang dijalankan. Menurut Silberschatz proses tidak hanya sekedar suatu kode program, melainkan meliputi beberapa aktifiras yang bersangkutan seperti program counter dan stack. Stack berisikan data-data sementara  dan data section. Data sementara tersebut meliputi fungsi atau metode, address atau pengalamatan, dan variable-variable local. Dan data section akan menyimpan variable-variable global.  Perbedaan antara program dan proses adalah program merupakan entitas yang pasif atau sebagai file executale Maksudnya adalah suatu file yang berisikan kumpulan dari instruksi  instruksi 
yang disimpan di dalam media penyimpanan atau sebuah disk, sedangkan pada proses merupakan sebuah entitas yang aktif karena proses akan terjadi saat program tersebut sedang dijalankan. Dengan adanya sebuah program counter yang menyimpan alamat instruksi yang akan dieksekusi dan dengan adanya sumber daya (resource) yang dibutuhkan agar sebuah proses dapat dieksekusi.  Proses yang dieksekusi mempunyai lima status yang terdiri dari new, running, waiting, ready, dan terminate. Status new merupakan awal dimana status ini bertugas sebagai pembentukan dari suatu proses. Selanjutnya adalah running status ini berfungsi untuk menjalankan atau mengeksekusi setiap instruksi yang ada. Selanjutnya adalah waiting, status waiting ini adalah proses menunggu untuk beberapa event yang terjadi. Selanjutnya adalah ready, status ready adalah proses menunggu untuk dialirkan atau dikirimkan ke processor atau ke state running. Yang terkhir adalah state terminated, dimana state ini menandakan proses yang telah selesai dieksekusi.  Sebuah proses akan digambarkan dalam system operasi oleh sebuah PCB atau process control block, pcb digunakan sebagai tempat penyimpanan dari suatu informasi. Pcb berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses. Yaitu status proses, program counter, cpu register, informasi managemen memory, dan informasi pencatatan. Status proses merupakan status yang bertujuan untuk menunjukan status dari suatu proses mulai dari proses pembentukan, proses menunggu, proses untuk mengeksekusi, dan proses berhenti. Program counter merupakan suatu penghitung berisikan alamat instuksi dari instruksi selanjutnya yang nantinya akan dieksekusi untuk proses tersebut. Cpu register merupakan kumpulan dari memori computer yang bekerja dengan kecepatan yang sangat tinggi yang digunakan untuk melakukan eksekusi terhadap program-program computer dengan menyediakan akses yang cepat terhadap nilai nilai yang umum digunakan. Cpu register bervariasi dalam jumlah dan tipenya, tergantug pada arsitektur komputernya. Register tersebut termasuk accumulator, index register, stack pointer, general-purposes register, dan condition code. Keadaan status informasi harus disimpan ketika gangguan terjadi, hal ini digunakan agar proses tersebut berjalan atau bekerja dengan benar. Selanjutnya adalah informasi management. Informasi ini merupakan sebuah informasi sebagai nilai dari dasar dan batas dari register, table page, atau table segmen yang bergantung pada system memory yang digunakan oleh suatu system operasi. 

  Pada system operasi linux, setiap program adalah proses. Proses dapat diciptakan dan dapat pula dimusnakan atau dihentikan. Ketika system oprasi GNU/ Linux pertama kali diaktifkan maka pada saatu itu juga proses yang bertanggung jawab untuk memuat kernel diciptakan. Proses yang pertama kali diciptakan di system operasi linux adalah dinamakan init. Init adalah suatu proses dimana proses tersebut akan terus berjalan sampai system dimatikan, proses init tersebut akan menjadi basic dari proses-proses yang lain. Selain itu, Sistem init ini merupakan suatu system yang akan menentukan bagaimana system tersebut bekerja.  Pada system operasi linux, pembentukan suatu proses baru menggunakan dua system call, yaitu fork() dan exec().  Dengan menggunakan system call fork() ini proses baru yang dihasilkan akan sama dengan proses yang sebelumnya. Maksudnya adalah suatu proses yang telah dieksekusi sebelumnya akan diduplikasi, termasuk berkas yang dibuka, kode program, status register, dan semua alokasi memori. Nilai kembalian dari system call adalah satu – satunya cara untuk menentukan apakah nilai tersebut merupakan proses yang baru atau tidak. Nilai kembalian tersebut dikenal sebagai PID (Process ID)  atau identitas dari suatu proses. Jika yang dibutuhkan adalah proses baru dan proses tersebut berbeda dengan proses sebelumnya, maka linux akan mengunakan system yang lainnya yaitu system exec(). System call exec() ini akan mengganti isi proses yang sedang berjalan dengan informasi yang baru dari program binary yang dijalankan terakhir. Dengan demikian, proses yang berjalan saat membuat program baru pertama – tama adalah mencari system call fork() dan menjalankannya untuk membuat proses baru, lalu emudian menjalankan system call exec() yaitu untuk memuat proses tersebut kedalam memori dan kemudian mengeksekusinya.  Pada kernel linux, system call fork() sebenarnya diimplementasikan oleh clone pada system call. Antarmuka clone ini secara efektif memberikan tingkat abstraksi bagaimana kernel Linux dapat membuat proses. Cloning ini memungkinkan secara eksplisit untuk menentukan bagian dari proses baru mana yang disalin ke dalam proses baru, dan bagian mana yang akan dibagi antara kedua proses tersebut.  

C. KESIMPULAN 

          System operasi merupakan sebuah program yang digunakan untuk menjembatani antara hardware dengan software.  Program yang sedang berjalan saat itu juga dinamakan proses. Proses yang pertama kali dijalankan saat memulai booting pada system operasi linux dinamakan init. Proses init ini akan menjadi basic atau dasar dari proses – proses yang lain, maka dari itu proses ini akan menentukan bagaimana proses proses pada system yang selanjutnya akan bekerja. 
Layanan yang diberikan oleh suatu system operasi ke pemrograman disebut dengan system call. System call adalah tata acara pemanggilan pada program aplikasi untuk memperoleh layanan yang telah disediakan oleh system operasi. Pada system operasi linux saat membuat proses baru akan membutuhkan dua layanan system call yaitu fork() dan exec(). System call fork() merupakan sebuah layanan yang dibukan untuk membuat proses duplikasi yang mirip dengan proses aslinya, termasuk file descriptor, register,  kode program, dan semua alokasi memory. Setelah perintah fork() dijalankan, selanjutnya system call exec() akan berjalan. Setelah itu child akan mengeksekusi kode yang berbeda dengan parentnya. Lalu setelah menjalankan system call fork() pembuatan proses baru membutuhkan system call yang lain yaitu system call exec() yaitu untuk memuat program kedalam memory dan mengeksekusinya.

D. DAFTAR PUSTAKA 

Komentar

Postingan populer dari blog ini

Pengenalan Alat-Alat Laboratorium Ekologi Akuatik dan Implementasi Penggunaanya

Apa itu NetBeans (IDE)?

Kerangka Pengeluaran Jangka Menengah (KPJM) - Review Baseline