Tugas Sistem Operasi Manajemen Proses Disusun oleh: RIDLO PAMUJI 13111111 / 22 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS MERCU BUANA YOGYAKARTA 2015/2016 DAFTAR ISI A. PENGERTIAN SISTEM INFORMASI -------------------------------------------------------------------------- 2 B. PENGERTIAN PROSES -------------------------------------------------------------------------------------- --- 2 C. PROCESS CONTROL BLOCK ----------------------------------------------------------------------------------- 4 D. STRUKTUR KENDALI SISTEM OPERASI -------------------------------------------------------------------- 6 E. REFERENSI -------------------------------------------------------------------------------------------------------- 16 1 A. PENGERTIAN SISTEM OPERASI Sebagai pendahuluan kita harus mengenal dulu apa itu Sistem Operasi. Sistem operasi adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting. Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk super komputer dan server web. Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows. B. PENGERTIAN PROSES Proses adalah program yang sedang dieksekusi. Menurut SilberSchatz, suatu proses adalah lebih dari sebuah kode program, yang terkadang disebut text section . Proses juga mencakup program counter , yaitu sebuah stack untuk menyimpan alamat dari instruksi yang akan dieksekusi selanjutnya dan register. Sebuah proses pada umumnya juga memiliki sebuah stack yang berisikan data-data yang dibutuhkan selama proses dieksekusi (seperti parameter method, alamat return dan variabel lokal), dan sebuah data section yang menyimpan variabel global. Kami tekankan bahwa program itu sendiri bukanlah sebuah proses. Suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket. Sedangkan sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang menyimpan alamat instruksi selanjut yang akan dieksekusi dan seperangkat sumber daya ( resource yang dibutuhkan agar sebuah proses dapat dieksekusi. 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 2 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 mengubah 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). C. PROCESS CONTROL BLOCK Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block PCB - juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal dibawah ini: 1. Status proses Contoh status proses antara lain new, ready, running, waiting, halted, dan lain-lain. 2. Program counter Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini. 3. CPU register Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator , indeks register, stack pointer , generalpurposes register , ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya. 4. Informasi managemen 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 (lihat Bab Managemen memori). 5. Informasi pencatatan Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses, dan banyak lagi. 3 6. Informasi status I/O Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi. 7. PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain. 8. Informasi Penjadwalan CPU Informasi tersebut berisi prioritas dari suatu proses, pointer ke antrian penjadwalan, dan beberapa parameter penjadwalan yang lainnya. Gambar Proses Control Blok : 4 Elemen-elemen dari Process Control Block (PCB) : 1. Identifier : menjelaskan proses yang sedang terjadi 2. State : kondisi yang terjadi pada proses 3. Priority : urutan perintah yang jelas pada suatu proses 4. Program counter : instruksi pada proses 5. Memory pointers : media penyimpanan (penunjuk alamat) pada proses 6. Context data : data yang berkaitan dengan proses 7. I/O status information : terdapat masukan dan keluaran yang diinginkan 8. Accounting information : memberikan informasi yang dibutuhkan Macam-Macam Jenis Status Proses Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu: 1. Ready adalah status dimana proses siap untuk dieksekusi pada giliran berikutnya 2. Running adalah status dimana saat ini proses sedang dieksekusi oleh prosesor 3. Blocked adalah status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas 5 D. STRUKTUR KENDALI SISTEM OPERASI Berikut akan dibahas beberapa struktur kendali / manajemen system operasi, yaitu : 1. Manajemen Proses 2. Manajemen Memori 3. Manajemen Storage/Data 4. Manajemen I/O dan Berkas (File) 5. Proteksi 6. Networking 7. Interface dengan user (command interpreter) 1) Manajemen Proses Manajemen proses merupakan konsep pokok di sistem operasi. Terdapat beragam definisi proses diantaranya: Proses adalah program yang sedang dieksekusi. Proses merupakan unit kerja terkecil yang secara individual memiliki sumber daya sumber daya dan dijadwalkan oleh sistem operasi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas – berkas, dan perangkat- 6 perangkat I/O. Sistem operasi menegelola semua proses di sistem dan mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem. Sistem operasi mengalokasikan sumber daya – sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mendapatkan kembali semua sumber daya yang bisa digunakan kembali. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti: Menciptakan dan menghapus proses Menunda atau melanjutkan proses. Menyediakan mekanisme untuk proses sinkronisasi. Menyediakan mekanisme untuk proses komunikasi. Menyediakan mekanisme untuk penanganan deadlock. 2) Manajemen Memory Utama Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai tempat penyimpanan instruksi / data yang akses datanya digunakan oleh CPU dan perangkat I/O. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile – tidak permanen (sementara), artinya data akan hilang jika komputer dimatikan. Manajemen memori sangat mempengaruhi kinerja komputer. Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan: Memori utama sebegai sumber daya yang harus dialokasikan dan dipakai bersama di antara sejumlah proses yang aktif, agar dapat memanfaatkan prosesor dan fasilitas input/output secara efisisen, maka diinginkan memori yang dapat menampung sebanyak mungkin proses. Upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer (adanya memori virtual). Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen memori seperti: Melacak pemakaian memori (bagian mana, berapa besar dan oleh siapa. Mengelola informasi memori yang dipakai atau tidak dipakai. 7 Alokasi dan dealokasi memori sesuai keperluan. Memilih program yang akan di-load ke memori. 3) Manajemen Secondary-Storage Back up main memory, non-volatile Data dan program disimpan disimpan dalam secondary storage (penyimpanan sekunder; disk). OS bertanggung jawab dalam : Bagaimana mengelola ruang yang kosong dalam storage. Bagaimana mengalokasi storage. Bagaimana melakukan scheduling penggunaan disk. 4) Manajemen I/O OS bertanggung jawab dalam : “menyembunyikan” kekhususan perangkat keras tertentu dari user. Melakukan optimalisasi dalam akses. Buffer cache system : menampung sementara data dari/ke piranti I/O. Spooling : melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian, dsb). Interface device-driver : open, read, write, close. Drivers untuk spesifik perangkat keras : Menyediakan driver untuk melakukan operasi detail untuk perangkat keras tertentu. 5) Sistem Proteksi Mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor atau user ke resource-resource dalam sistem komputer. Mekanisme proteksi harus : Dapat membedakan pemakaian yang sah (authorized) & yang tidak sah (unauthorized). Spesifikasi kontrol yang dikenakan. Menyediakan alat untuk pemberlakuan sistem. 6) Networking (Distributed System) Distributed system : kumpulan prosesor yang terdistribusi, tidak berbagi (share) memory atau clock. 8 Setiap prosesor memiliki memori lokal masing-masing.Prosesor-prosesor dalam sistem terhubung dalam jaringan komunikasi sistem terdistribusi. Sebagai pengatur (protokol) dalam komunikasi data. Menentukan strategi-strategi menangani masalah-masalah komunikasi. Mengatur network file system. Dengan adanya shared resource : Peningkatan kecepatan komputas. Peningkatan penyediaan data Meningkatkan reliabilitas (kehandalan) 7) Manajemen File Berkas adalah kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuat berkas tersebut. Umumnya berkas merepresentasikan program dan data. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi mengimplementasikan konsep abstrak dari berkas dengan mengatur media penyimpanan massa, misalanya tapes dan disk Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen berkas: Pembuatan dan penghapusan berkas. Pembuatan dan penghapusan direktori. Mendukung manipulasi berkas dan direktori. Memetakan berkas ke penyimpanan sekunder. Mem-back up berkas ke media penyimpanan yang permanen (non-volatile). 8) Command Interpreter Sistem operasi menyediakan layanan untuk programmer sehingga dapat melakukan pemrograman dengan mudah. Eksekusi Program. Sistem harus dapat memanggil program ke memori dan menjalankannya. Program tersebut harus dapat mengakhiri eksekusinya dalam bentuk normal atau abnormal (indikasi error). Operasi-operasi I/O. Pada saat running program kemungkinan dibutuhkan I/O, mungkin berupa file atau peralatan I/O. Agar efisien dan aman, maka user tidak boleh mengontrol I/O secara langsung, pengontrolan dilakukan oleh sistem operasi. 9 Manipulasi sistem file. Kapabilitas program untuk membaca, menulis, membuat dan menghapus file. Komunikasi. Komunikasi dibutuhkan jika beberapa proses yang sedang dieksekusi saling tukar-menukar informasi. Penukaran informasi dapat dilakukan oleh beberapa proses dalam satu komputer atau dalam komputer yang berbeda melalui system jaringan. Komunikasi dilakukan dengan cara berbagi memori (shared memory) atau dengan cara pengiriman pesan (message passing). Mendeteksi kesalahan. Sistem harus menjamin kebenaran dalam komputasi dengan melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user program. Beberapa fungsi tambahan yang ada tidak digunakan untuk membantu user, tetapi lebih digunakan untuk menjamin operasi sistem yang efisien, yaitu: Mengalokasikan sumber daya (resource). Sistem harus dapat mengalokasikan resource untuk banyak user atau banyak job yang dijalanan dalam waktu yang sama. Akutansi. Sistem membuat catatan daftar berapa resource yang digunakan user dan resource apa saja yang digunakan untuk menghitung secara statistik akumulasi penggunaan resource. Proteksi. Sistem operasi harus menjamin bahwa semua akses ke resource terkontrol dengan baik. Layanan Operating System Eksekusi program : load program user ke memory dan menjalankannya (run) Operasi-operasi I/O : pengguna tidak bisa mengontrol I/O secara langsung (untuk efisiensi & keamanan), sistem harus bisa menyediakan mekanisme untuk melakukan operasi I/O Manipulasi file system : read, write, create & delete System Call Layanan langsung sistem operasi ke pemrograman, disebut dengan system call atay API (application programming interface). System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. System call berupa rutin sistem operasi untuk keperluan tertentu yang spesifik. Bentuk system call beragam, terbanyak berupa rutin prosedur atau fungsi. 10 Jenis-jenis System Call : a. Pengendalian proses Selesai, abort Load, eksekusi Membuat dan mengakhiri proses Mengambil dan mengeset atribut proses Menunggu waktu Wait event, signal event Alokasi dan pengosongan memori b. Manajemen berkas Membuat dan menghapus berkas Membuka dan menutup berkas Read, write, reposition Mengambil dan mengeset atribut berkas c. Manajemen peranti Meminta & melepaskan peranti Read, write, reposition Mengambil dan mengeset atribut peranti d. Mempertahankan informasi Mengambil dan mengeset waktu dan tanggal Mengambil dan mengeset system data Mengambil proses, berkas atau atribut peranti Mengeset proses, berkas atau atribut peranti e. Komunikasi Menciptakan, menghapus hubungan komunikasi Mengirim dan menerima pesan Mentransfer status informasi Attach ataudetach remote device Struktur Sistem Sebuah sistem yang besar dan kompleks seperti sistem operasi modern harus diatur dengan cara membagi task kedalam komponen-komponen kecil agar dapat berfungsi dengan baik dan mudah. 11 Berikut ini adalah Struktur Sistem Operasi; a. Struktur Sederhana b. Sistem Berlapis (layered system) c. Kernel Mikro d. Modular (Modules) e. Mesin Maya ( Virtual Machine ) f. Client-Server Model g. Sistem Berorientasi Objek a. Struktur Sederhana Sistem operasi sebagai kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan. Banyak sistem operasi komersial yang tidak terstruktur dengan baik. Kemudian sistem operasi dimulai dari yang terkecil, sederhana dan terbatas lalu berkembang dengan ruang lingkup originalnya. Contoh dari sistem operasi ini adalah MS-DOS dan UNIX. MS-DOS merupakan sistem operasi yang menyediakan fungsional dalam ruang yang sedikit sehingga tidak dibagi menjadi beberapa modul, sedangkan UNIX menggunakan struktur monolitik 12 dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan dan kernel berisi semua layanan yang disediakan sistem operasi untuk pengguna. Inisialisasi-nya terbatas pada fungsional perangkat keras yang terbagi menjadi dua bagian yaitu kernel dan sistem program. Kernel terbagi menjadi serangkaian interface dan device driver dan menyediakan sistem file, penjadwalan CPU, manajemen memori, dan fungsi-fungsi sistem operasi lainnya melalui system calls. b. Sistem Berlapis (layered system) Sistem operasi dibentuk secara hirarki berdasar lapisan-lapisan, dimana lapisanlapisan bawa memberi layanan lapisan lebih atas. Lapisan yang paling bawah adalah perangkat keras, dan yang paling tinggi adalah user-interface. Sebuah lapisan adalah implementasi dari obyek abstrak yang merupakan enkapsulasi dari data dan operasi yang bisa memanipulasi data tersebut. Struktur berlapis dimaksudkan untuk mengurangi kompleksitas rancangan dan implementasi sistem operasi. Tiap lapisan mempunyai fungsional dan antarmuka masukan-keluaran antara dua lapisan bersebelahan yang terdefinisi bagus. Lapisan sistem operasi secara umum terdiri atas 4 bagian, yaitu: Perangkat keras(Lebih berhubungan kepada perancang sistem). Sistem operasi (Lebih berhubungan kepada programmer). Kelengkapan (Lebih berhubungan kepada programmer) . Program aplikasi (Lebih berhubungan kepada pengguna aplikasi komputer). Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat meminta layanan lapisan n-1 untuk membangunan layanan bagi lapisan n+1. Lapisan n dapat meminta layanan lapisan n-1. Kebalikan tidak dapat, lapisan n tidak dapat meminta layanan n+1. Masing-masing berjalan di ruang alamat-nya sendiri. Kelanjutan sistem berlapis adalah sistem berstruktur cincin seperti sistem MULTICS. Sistem MULTICS terdiri 64 lapisan cincin dimana satu lapisan berkewenangan berbeda. Lapisan n-1 mempunyai kewenangan lebih dibanding lapisan n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap. Kemudian, lapisan n-1 mengambil kendali sepenuhnya untuk melayani lapisan n. c. Kernel Mikro Metode struktur ini adalah menghilangkan komponen-komponen yang tidak diperlukan dari kernel dan mengimplementasikannya sebagai sistem dan program- 13 program level user. Hal ini akan menghasilkan kernel yang kecil. Fungsi utama dari jenis ini adalah menyediakan fasilitas komunikasi antara program client dan bermacam pelayanan yang berjalan pada ruang user. d. Modular (Modules) Kernel mempunyai kumpulan komponen-komponen inti dan secara dinamis terhubung pada penambahan layanan selama waktu boot atau waktu berjalan. Sehingga strateginya menggunakan pemanggilan modul secara dinamis (Loadable Kernel Modules). Umumnya sudah diimplementasikan oleh sistem operasi modern seperti Solaris, Linux dan MacOSX. Sistem Operasi Apple Macintosh Mac OS X menggunakan struktur hybrid. Strukturnya menggunakan teknik berlapis dan satu lapisan diantaranya menggunakan Mach microkernel. e. Virtual Machine Mesin maya mempunyai sistem timesharing yang berfungsi untuk ,menyediakan kemampuan untuk multiprogramming dan perluasan mesin dengan antarmuka yang lebih mudah.Struktur Mesin maya ( CP/CMS, VM/370 ) terdiri atas komponen dasar utama : Control Program, yaitu virtual machine monitor yang mengatur fungsi ari prosessor, memori dan piranti I/O. Komponen ini berhubungan langsung dengan perangkat keras. Conventional Monitor System, yaitu sistem operasi sederhanayang mengatur fungsi dari proses, pengelolaan informasi dan pengelolaan piranti. f. Client-Server Models Mengimplementasikan sebagian besar fungsi sistem operasi pada mode pengguna (user mode). Sistem operasi merupakan kumpulan proses dengan proses-proses dikategorikan sebagai server dan client, yaitu :Server, adalah proses yang menyediakan layanan dan Client adalah proses yang memerlukan/meminta layanan. Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban. Proses server setelah melakukan tugas yang diminta, mengirim hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak memulai dengan percakapan client. Kode dapat 14 diangkat ke level tinggi, sehingga kernel dibuat sekecil mungkin dan semua tugas diangkat ke bagian proses pemaka. Kernel hanya mengatur komunikasi antara client dan server. Kernel yang ini popular dengan sebutan mikrokernel. g. Sistem Berorientasi Objek Sisten operasi merealisasikan layanan sebagai kumpulan proses disebut sistem operasi bermodel proses. Pendekatan lain implementasi layanan adalah sebagai objek-objek. Sistem operasu yang distrukturkan menggunakan objek disebut sistem operasi berorientasi objek. Pendekatan ini dimaksudkan untuk mengadopsi keunggulan teknologi berorientasi objek. Pada sistem yang berorientasi objek, layanan diimplementasikan sebagai kumpulan objek. Objek mengkapsulkan struktur data dan sekumpulan operasi pada struktur data itu. Tiap objek diberi tipe yang menandadi properti objek seperti proses, direktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang dikapsulkan dapat diakses dan dimodifikasi. Model ini sungguh terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya. Sistem operasi MS Windows NT telah mengadopsi beberapa teknologi berorientasi objek tetapi belum keseluruhan. 15 E. REFERENSI https://cahpecel89.wordpress.com/2010/03/27/elemen-elemen-dari-process-control-blockpcb/ http://femmifirdausahdiat.blogspot.co.id/2012/09/pcb-process-control-block.html http://blog.prediss.com/it-tutorial/struktur-sistem-operasi/ 16