Minggu, 26 Oktober 2014

Manajemen Proses



MANAJEMEN PROSES DI SISTEM OPERASI

        Secara informal, proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.
       Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.
       Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
DEFINISI PROSES
    
Terdapat beberapa definisi mengenai proses, antara lain :
a. Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi.
b. Proses adalah program yang sedang dieksekusi.
c. .Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.
Proses dalam sistem dapat dieksekusi secara bersama-sama, proses tersebut harus dibuat dan dihapus secara dinamis. Maka, sistem operasi harus menyediakan suatu mekanisme umtuk pembuatan proses dan terminasi proses.

Operasi pada Proses.
Metode-metode proses dalam system komputer
1. Batch Processing
Proses ini timbul akibat kesulitan dan kekurangan yang dijalani pada waktu komputer dioperasikan tanpa sistem operasi yang disampaikan dalam satu kelompok (batch).
2. Multi Programming
Yaitu Suatu Usaha menambah pemanfaatan CPU dimana diusahakan agar CPU jangan sampai dalam keadaan nganggur atau diam (tidak sedang melakukan eksekusi). Dilakukan dengan memanfaatkan waktu pada saat suatu program sedang menunggu penyelesaian proses I/O dan CPU dalam status tidak beroperasi
3. Time Sharing
Time Sharing adalah proses dimana waktu CPU dabagi menjadi satu unit yang disebut time slice sehingga memungkinkan banyak User untuk mengeksekusi komputer
4. Real Time System
Sistem Real Time merupakan proses dimana waktu menjadi pertimbangan utamanya. Sistem komputer yang real time harus mampu memproses data secepat mungkin dimana hasilnya akan digunakan untuk mengetahui dari mana proses tadi berasal
5. Multi Processing
Didalam Sistem MultiProcessing beberapa proses digunakan untuk melakukan pemrosesan dan menghemat waktu proses.

Diagram State Proses
*      Menurut Tanenbaum, Diagram State terdiri dari 3 keadaan:


 









Menurut Tanenbaum
1.       Ready: proses diberhentikan sementara karena menunggu proses lain untuk dieksekusi.
2.       Running: proses dijalankan dengan menggunakan CPU pada suatu waktu.
3.       Blocked: tidak dijalankan sampai event dari luar yang berhubungan dengan proses tersebut terjadi.

Diagram State Proses
*      Menurut Silberschatz, Diagram State terdiri dari 5 keadaan:

*      Menurut Silberschatz
1.       New: status yang dimiliki pada saat proses baru saja dibuat.
2.       Running: status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi.
3.       Waiting: status yang dimiliki pada saat proses menunggu suatu event (contohnya: proses I/O).
4.       Ready: status yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor.
5.       Terminated: status yang dimiliki pada saat proses telah selesai dieksekusi.\







Pengendalian proses

Pengendalian proses adalah disiplin ilmu yang melibatkan statistika dan teknik yang melibatkan pembuatan mekanisme dan algoritma untuk mengendalikan keluaran dari suatu proses tertentu.
Sebagai contoh adalah sistem pengaturan temperatur ruangan agar temperatur ruangan terjaga konstan setiap saat, misalnya pada 20 °C. Pada kasus ini, temperatur disebut sebagai variabel terkendali. Selain itu, karena temperatur diukur oleh suatu termometer dan digunakan untuk menentukan kerja pengendali (apakah ruangan perlu didinginkan atau tidak), temperatur juga merupakan variabel input. Temperatur yang diinginkan (20 °C) adalah setpoint. Keadaan dari pendingin (misalnya laju keluaran udara pendingin) dinamakan variabel termanipulasi karena merupakan variabel yang terkena aksi pengendalian.
Alat pengendalian yang umum digunakan adalah Programmable Logic Controller (PLC). Alat ini digunakan untuk membaca input analog maupun digital, melakukan serangkaian program logika, dan menghasilkan serangkaian output analog maupun digital. Pada kasus sistem pengaturan temperatur, temperatur ruangan menjadi input bagi PLC. Pernyataan-pernyataan logis akan membandingkan setpoint dengan masukan nilai temperatur dan menentukan apakah perlu dilakukan penambahan atau pengurangan pendinginan untuk menjaga temperatur agar tetap konstan. Output dari PLC akan memperbesar atau memperkecil aliran keluaran udara pendingin bergantung pada kebutuhan. Untuk suatu sistem pengendalian yang kompleks, perlu digunakan sistem pengendalian yang lebih kompleks daripada PLC. Contoh dari sistem ini adalah Distributed Control System (DCS) atau sistem SCADA.
Dalam prakteknya, sistem pengendalian proses dapat dikarakteristikkan dalam bentuk:
Diskrit – Terdapat pada aplikasi manufaktur dan pengemasan. Pemasangan dengan bantuan robot, seperti yang umum digunakan pada produksi otomotif, dapat dikarakteristikkan sebagai pengendalian proses diskrit. Sebagian besar proses manufaktur diskrit melibatkan produksi bagian produk secara diskrit, seperti pembentukan logam.
Partaian – Beberapa aplikasi membutuhkan digabungkannya beberapa bahan baku spesifik dengan cara tertentu pada jangka waktu tertentu untuk menghasilkan produk samping atau produk akhir. Contohnya adalah pada produksi lem dan perekat, yang umumnya membutuhkan pencampuran bahan baku dalam suatu reaktor yang dipanaskan selama periode waktu tertentu. Contoh lain adalah pada produksi makanan dan obat. Proses partaian biasanya dilakukan untuk memproduksi produk dengan kapasitas rendah hingga sedang.
Kontinu – Seringkali proses produksi berlangsung secara terus menerus tanpa terhenti. Pengendalian temperatur air pada jaket pemanas secara terus menerus adalah contoh pengendalian proses secara kontinu. Contoh produksi yang berlangsung secara kontinu adalah produksi bahan bakar. Proses kontinu pada proses produksi digunakan untuk memproduksi produk dengan kapasitas besar.
Contoh
Sebuah termostat adalah contoh sederhana sistem pengendalian dengan loop tertutup: secara konstan mengukur temperatur dan mengatur bukaan kerangan untuk meningkatkan atau menurunkan temperatur ruangan sesuai dengan pengaturan pengguna.
Penjadwalan Proses
A. Deskripsi Penjadwalan Proses
Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.
Sedangkan proses merupakan unit kerja terkecil yang secara individu memiliki sumberdaya atau unit pemilikan sumberdaya.
Tugas penjadwalan diantaranya adalah sebagai berikut :
Memutuskan proses yang berjalan.
Memutuskan kapan dan selama berapa lama proses itu berjalan.
Sasaran utama dalam penjadwalan proses adalah :
Adil (fairness)
Adil adalah proses-proses diperlukan sama yaitu mendapat jatah waktu pemrosesan yang sama dan tak ada pemroses yang tak kebagian layanan pemroses sehingga mengalami (starvation).
Efisiensi
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.
Waktu tanggap (response time), dibagi menjadi :
1. Sistem Interaktif
Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul dilayar (terminal). Waktu tanggap ini disebut terminal response time
2. Sistem Realtime
Pada sistem waktu nyata (real-time), waktu tanggap di definisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time. Sasaran penjadwalan adalah meminimalkan waktu tanggap.
3. Turn Arround Time
Waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.
4. Throughput
Throughput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu.
B. Tipe-tipe Penjadwalan
Penjadwalan jangka pendek (short-termscheduller)
Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready dimemori utama.
Penjadwalan jangka menengah (medium-termscheduller)
Penjadwalan jangka menengah adalah menangani proses-proses swapping (aktivitas pemindahan proses yang tertunda dari memory utama ke memory sekunder)
Penjadwalan jangka panjang (long-termscheduller)
Penjadwalan jangka panjang bekerja terhadap antrian batch (proses-proses dengan penggunaan sumberdaya yang intensif) dan memilih batch berikutnya yang harus di eksekusi.
C. Strategi Penjadwalan
Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.
Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih oleh proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.
D. Algoritma-algoritma Penjadwalan
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya adalah :
FIFO (First - In , First - Out)
SJF (Shortest Job First)
HRN (Highest Ratio Next)
MFQ (Multiple Feedbak Queues)
Algoritma-algoritma yang menerapkan strategi preemptive diantaranya adalah :
RR (Round-Robin)
SRF (Shortest - Remaining - First)
PS (Priority Schedulling)
GS (Guaranteed Schedulling)
Klasifikasi lain berdasarkan adanya prioritas di proses-proses yaitu :
1. Algoritma penjadwalan tanpa berprioritas.
2. Algoritma penjadwalan berprioritas yang terdiri dari :
o Algoritma penjadwalan berprioritas statik.
o Algoritma penjadwalan berprioritas dinamis.

Minggu, 12 Oktober 2014

Pengantar Sistem Operasi


Definisi Sistem Operasi

Sistem operasi = software
Sistem operasi adalah sebuah program yang mengatur perangkat keras komputer, menyediakan landasan untuk aplikasi yang berada di atasnya, serta bertindak sebagai penghubung antara para pengguna dengan perangkat keras.

Allocates Resources:
Mengatur resource
Mengalokasikan dan mengontrol pemakaian resources dari berbagai program/aplikasi.

Control Program & Monitor:
mengendalikan (kontrol) serta mengkoordinasikan pengunaan perangkat keras untuk berbagai program aplikasi untuk bermacam-macam pengguna.
Mengendalikan eksekusi user program dan pemakaian sistem resource
contoh: operasi pada I/O device
=> handal, reliable, terlindung.
Manages Disk & Files
Menyimpan dan menata file-file dalam disk
Memastikan file supaya bisa dibaca dan ditulis.
Memastikan file dapat digunakan apabila diperlukan oleh program.

Kernel OS
kode yang melakukan tugas-tugas inti sistem operasi.
sistem program yang berjalan (ada) terus menerus selama komputer aktif.

Sasaran Sistem Operasi
Menjalankan program-program dari user dan membantu user dalam menggunakan komputer
Menyediakan sarana sehingga pemakaian komputer menjadi mudah (convenient)
Memanfaatkan perangkat keras komputer yang terbatas secara efisien (resource manager)

 SEJARAH SISTEM OPERASI
Generasi – 1 : Vacuum Tubes dan Plugboards (1945-1955)
Analytical Engine (Charles Babbage)
Calculating Engine menggunakan vacuum tubes (Howard Aitken, John von Neumann, J.P           Eckert, Konrad Zuse)
Belum ada bahasa pemrograman
Belum ada sistem operasi, sistem komputer diberi instruksi yang harus dikerjakan langsung.
Operasi menggunakan plugboard
Pengenalan punched card

Generasi -2 : Transistor dan Batch Systems (1955-1965)
Tetap belum dilengkapi sistem operasi. Tetapi beberapa fungsi dasar SO sudah ada.
Pengenalan transistor untuk computer
Pemisahan fungsi personil : Designer, Operator, Programmer dan Maintenance personel
Pengenalan job (program atau seperangkat program)
Penggunaan bahasa FORTRAN, Assembeler
Penerapan Batch System
Penggunaan mesin-mesin besar untuk kalkulasi sains dan engineering
Typical operating system : FMS (Fortran Monitor System) dan IBSYS (sistem operasi untuk IBM 7094)

Generasi – 3 IC dan Multiprogramming (1965-1980)
IBM mengenalkan IBM 360 dengan sistem operasi OS/360
Menggunakan Integrated Circuit (IC)
Dapat menangani komputasi sains dan komersial
Mengadopsi konsep ‘one family’
Sistem operasi berukuran besar dan kompleks
Mengenalkan multiuser, komputer memiliki resource yang dapat digunakan oleh banyak orang sekaligus
Mengenalkan Time Sharing (berbagi waktu), tiap pemakai mempunyai satu terminal online dengan pemroses hanya memberi layanan pada pemakai yang aktif secara bergantian secara cepat.
Pemakai akan merasa dilayani terus menerus. Padahal sebenarnya secara bergantian.
Mengenalkan SPOOLING (Simultaneous Peripheral Operation On Line), membuat peripheral seolah-olah dapat digunakan bersamaan, dapat diakses secara simultan yaitu dengan cara menyediakan beberapa partisi memori.

Generasi ke – 4 : Personal Computer (1980-1990)
Pengembangan LSI dan VLSI melahirkan PC dan Workstation
Perangkat lunaknya ‘user friendly’
Dua sistem operasi yang dominan :
MS-DOS (pada IBM-PC dengan CPU Intel 8088, 80286, 80386, 80486)
UNIX (pada Non-Intel computer dan workstation)
RISC Chips
Network Operating System

Generasi – 5 : VLSI, ULSI dan teknologi Nano, Internet, Multimedia (1990 - Sekarang)
Pengembangan VLSI an ULSI melahirkan PC yang berbasis Pentium untuk server maupun workstation
 Pengembangan sistem operasi windows
 Pengembangan internet dan multimedia 
Pengembangan aplikasi yang berbasis Web atau WWW

Komponen Dasar  Sistem Operasi
Hardware - menyediakan “basic computing resources” (CPU, memory, I/O devices).
Operating system mengendalikan / mengkoordinasikan penggunaan hardware di antara berbagai aplikasi/program dari user.
Applications programs - menggunakan sistem resource yang digunakan untuk menyelesaikan masalah komputasi dari user (compilers, database systems, video games, business programs).
Users (people, machines, other computers).