Rabu, 09 Januari 2019

Pertemuan 10 Sistem Operasi 1 | UNIPMA



PENGERTIAN VIRTUAL MACHINE:


virtual machine atau biasa disebut VM adalah sebuah duplikat yang efisien dan terisolasi dari suatu mesin asli seperti yang diungkapkan oleh Gerard J. Popek dan Robert P. Goldberg pada tahun 1974. Virtual Machine merupakan software yang digunakan untuk mensimulasikan lingkungan kerja suatu perangkat komputer secara virtual. Jadi anda tidak perlu menambah hardware apapun disini, cukup dengan simulasi saja. VM akan membuat kumpulan perangkat virtual mulai dari BIOS, Harddisk, memory dan lain-lain sehingga anda bisa menjalankan berbagai macam OS dari sana. Namun OS harus dijadikan disc "virtual" (ISO) terlebih dahulu supaya bisa diinstall di VM. Jadi gampangnya virtual machine adalah sebuah perangkat virtual yang akan memvirtualisasi hardware secara lengkap seperti sistem aslinya.

Dalam Virtual machine mengenal dua istilah yaitu Host OS dan Guest Os. Host OS adalah sistem operasi dimana virtual machine diinstall sedangkan Guest OS adalah sistem operasi yang diinstall pada virtual machine. Dengan virtual machine sobat bisa menginstall banyak OS didalam OS bawaan Laptop / komputer sobat. Virtual machine biasa saya manfaatkan untuk uji coba OS sehingga tanpa takut terjadi kesalahan yang menyebabkan kerusakan hardware selain itu juga untuk memanage banyak akun - akun penting yang mengharuskan mempunyai lebih dari 1 pc, karena setiap OS yang diinstall pada virtual machine memiliki MAC Addres yang berbeda.

FUNGSI VIRTUAL MACHINE:




1.Mencoba sistem operasi
Dengan virtual machine kita bisa bebas mencoba berbagai jenis sistem operasi yang kita mau, mulai windows, linux, dan lainnya. Misalnya ingin mencoba sistem operasi baru seperti Windows 8.1 update 2 atau Ubuntu 14, dan jika tidak suka tinggal hapus saja. Dengan virtual machine kita seperti memiliki pc dual boot, sayangnya virtual machine tidak seringan dual boot tapi dengan dukungan spek pc yang lumayan bisa membuat kinerja virtual machine juga stabil dan lancar.

2.Uji coba software
seperti yang saya sebutkan sebelumnya, saya biasa mencoba berbagai software-software trial di virtual machine, sering juga mencoba beragam software yang dirasa membahayakan komputer utama. Dan bisa juga digunakan untuk uji coba software di sistem operasi berbeda.

3.Menjalankan software/game jadul
Banyak software dan game lama yang tidak kompatibel dengan sistem operasi terbaru, solusinya bisa menggunakan virtual machine ini, misalnya seperti software dan game yang hanya bisa berjalan di Windows XP.

Segala jenis percobaan bisa kita lakukan divirtual machine dengan syarat hardware kita mumpuni tapi sebelumnya kita harus membangun pc yang kuat dan kebal virusterlebih dahulu. Semoga sedikit ulasan pengertian dan fungsi virtual machine ini bermanfaat.

Pertemuan 09 Sistem Operasi 1 | UNIPMA

1. Pengertian Multiprocessing :
Multipengolahan/Multiprocessing) adalah istilah teknologi informasi yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
Multipengolahan' juga kadang merujuk kepada kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini. Multiprocessing sering diimplementasikan dalam perangkat keras (dengan menggunakan beberapa CPU sekaligus), sementara multiprogramming sering digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali.

Jenis – Jenis Multiprocessing dan cara kerjanya

Asymmetric Multiprocessing (ASMP)
Di jenis ini tidak semua processor atau bisa disebut juga sebagai penjadwalan master/slave, salah satu dari processor berperan sebagai pengambil keputusan(MASTER) dalam pemrosesan, sedangkan yang lain bekerja menangani pemrosesan program dan aktivitasnya(SLAVE). Dalam scheduling jenis ini “Master” menjaga status dari semua proses dalam system dan menjadwalkan kinerja untuk semua processor “Slave”.Contoh prosesor master memilih proses yang akan dieksekusi, kemudian mencari prosesor yang available, dan memberikan instruksi Start processor. Prosesor slave memulai eksekusi pada lokasi memori yang dituju. Saat slave mengalami sebuah kondisi tertentu seperti meminta M/K, prosesor slave memberi interupsi kepada prosesor master dan berhenti untuk menunggu perintah selanjutnya.

Symmetric multiprocessing(SMP)
Penjadwalan SMP ( Symmetric multiprocessing) adalah pendekatan kedua untuk penjadwalan prosesor jamak. Dimana setiap prosesor menjadwalkan dirinya sendiri ( self scheduling). Semua proses mungkin berada pada antrian ready yang biasa, atau mungkin setiap prosesor memiliki antrian ready tersendiri. Bagaimanapun juga, penjadwalan terlaksana dengan menjadwalkan setiap prosesor untuk memeriksa antrian ready dan memilih suatu proses untuk dieksekusi. Jika suatu sistem prosesor jamak mencoba untuk mengakses dan meng- update suatu struktur data, penjadwal dari prosesor-prosesor tersebut harus diprogram dengan hati-hati; kita harus yakin bahwa dua prosesor tidak memilih proses yang sama dan proses tersebut tidak hilang dari antrian. Secara virtual, semua sistem operasi modern mendukung SMP, termasuk Windows XP, Windows 2000, Solaris, Linux, dan Mac OS X.

Contoh Penerapannya

(Asymmetric multiprocessing(ASMP)).
Untuk contoh penerapan  (Asymmetric multiprocessing(ASMP)). Pada saat kita meng-Klik Microsoft Word, processor “Master” akan membagi program tersebut menjadi perintah – perintah pemrosessan yang spesifik, lalu memberikan perintah tersebut kepada processor “Slave” yang masing – masing menjalankan process yang berbeda, misalnya dengan empat processor(processor satu sebagai “Master”), processor 2 akan menjalan proses yang berhubungan dengan program logika (operasi matematik), lalu processor 3 akan menjalankan proses pengeditan text, dan processor 4 bertanggung jawab pada prosess display yaitu tampilan Microsoft Word, namun juga ada kemungkinan processor 2 akan ikut menjalankan proses yang dikerjakan oleh prosessor 4, tetapi pada waktu yang berbeda tergantung urutan penjadwalan yang diatur oleh pro.essor 1.

(Symmetric Multiprocessing(SMP)),


Untuk penerapan (Symmetric Multiprocessing(SMP)), prosessor – prosessor menjadwalkan dirinya sendiri- sendiri(Self-Scheduling), jadi prosesor pada system operasi ini akan langsung mengerjakaan suatu program yang statusnya ready, masing – masing prosesor akan memeriksa antrian program yang sudah ready dan memilih satu untuk dieksekusi.Jika suatu sistem prosesor jamak mencoba untuk mengakses dan meng- update suatu struktur data, penjadwal dari prosesor-prosesor tersebut harus diprogram dengan hati-hati; kita harus yakin bahwa dua prosesor tidak memilih proses yang sama dan proses tersebut tidak hilang dari antrian. Secara virtual, semua sistem operasi modern mendukung SMP, termasuk Windows XP, Windows 2000, Solaris, Linux, dan Mac OS X

2. Pengertian multiprogramming
Multiprogramming adalah suatu metode yang memungkinkan dua buah program atau lebih dijalankan secara serentak dalam sebuah komputer dan berbagai sumber daya dalam waktu yang berlainan.Konsep multiprogramming bisa diibaratkan sebagai pekerja yang tak hanya menangani satu pekerjaan,tetapi juga menangani pekerjaan lain,sehingga tak ada waktu yang terbuang.
Konsep dasar dari multiprogramming ini adalah: suatu proses akan menggunakan CPU sampai proses tersebut dalam status wait (misalnya meminta I/O) atau selesai. Pada saat wait , maka CPU akan nganggur (idle). Untuk mengatasi hal ini, maka CPU dialihkan ke proses lain pada saat suatu proses sedang dalam wait, demikian seterusnya. (www.info-teknologi.com/konsep-dasar-penjadwalan-cpu/)
proses perhitungan waktu tunggu CPU pada multiprogramming, rumusnya adalah sebagai berikut:
Pada sistem multiprogramming, sistem operasi harus menyediakan mekanisme untuk manajemen memori, penjadwalan CPU dan manajemen disk. Sistem operasi multiprogram menyediakan supply untuk I/O routine. Sistem harus dapat mengalokasikan memory untuk beberapa job. Beberapa job yang sudah siap dieksekusi akan dipilih oleh system, job mana yang akan dieksekusi oleh CPU. Perangkat apa saja yang diperlukan oleh setiap job juga harus dialokasikan oleh sistem.
Fungsi Multiprogramming
Multiprogramming operating system berfungsi dengan cara menganalisa aktivitas processor yang sedang berlangsung pada komputer. Ketika processor sedang dalam masa idle (ketika komputer sedang berada di antara task – komputer memiliki kesempatan memanfaatkan downtime untk menjalankan task untuk program lainnya. Melayani banyak program yang tidak ada hubungannya satu sama lain dan dijalankan sekaligus dalam satu komputer yang sama.
Pelaksanaan instruksi yang diterapkan adalah:
  • Program dimuat ke dalam memori,
  • Program dijalankan sampai mengakses perangkat I/O
  • Berpindah (switch) ke pekerjaan lain,
  • Langkah tersebut berulang terus menerus,
  • Untuk proses perpindahan (switching), dilaksanakan oleh software
Cara Kerja Multiprogramming:
Multiprogramming berarti meletakkan lebih dari sebuah program di main memory. Cara ini dilakukan dengan membagi main memory menjadi beberapa partisi. Tiap partisi akan menyimpan sebuah program. Foreground partitions akan berisi program dengan prioritas yang lebih tinggi sedang background partitions akan berisi program dengan prioritas yang lebih rendah.

Meskipun setiap proses merupakan Entitiy yang berdiri sendiri, dan masing-masing memiliki program Counter dan status internal, beberapa proses sering kali harus berinteraksi dengan proses yang lain. Keluaran dari suatu proses dapat menjadi masukan bagi proses yang lain. Jika proses yang sedang menunggu masukan tidak menemukan masukan yang dikehendaki, proses tersebut diblok sampai masukan tersedia.
Pada saat proses diblok, secara logika proses tersebut tidak dapat dilanjutkan karena menuggu masukan yang belum tersedia. Dapat terjadi bahwa proses yang Ready dan dapat di-run terpaksa harus dihentikan karena sistem operasi arus mengalokasikan CPU ke proses lain untuk sementara waktu.
Proses dapat berada pada status berikut:
1. Submitt: Proses baru saja dikirimkan oleh user dan masih menunggu untuk dilayani.
2. Running: Proses benar-benar menggunakan CPU pada saat itu.
3. Ready: Proses berhenti sementara untuk memberikan kesempatan pada proses lain untuk menggunakan CPU.
4. Blocked: Proses tidak dapat di-Run sampai terjadi kejadian eksternal yang sesuai (misalkan selesainya operasi input/output atau telah tersedianya data input).
5. Finished: Proses telah dilaksanakan secara sempurna.
Di antara status Running, Ready dan Blocked, hanya terdapat 4 kemungkinan perubahan status, yaitu:
1. Running ke Blocked: Terjadi jika proses diblok, karena menunggu masukan atau menunggu selesainya aktivitas I/O.
2. Running ke Ready: Terjadi jika Process Scheduler menghentikan proses yang sedang running untuk memberikan kesempatan pada proses lain menggunakan CPU.
3. Blocked ke Ready: Terjadi jika ada kejadian eksternal yang menyebabkan proses dapat dijalankan kembali. Misalnya datangnya input atau selesainya suatu aktifitas I/O.
4. Ready ke Running: Terjadi jika proses siap untuk menggunakan CPU dan masukan yang sesuai untuk proses tersebut telah tiba.
Kegunaan Mutiprogramming:
Multiprogramming tidak melakukan pemrosesan instruksi-instruksi dan beberapa program secara bersamaan waktu, tetapi memproses sebagian instruksi dari suatu program, kemudian berpindah memproses sebagian instruksi yang lainnya lagi dan program yang lain dan seterusnya. Tugas dari OS untuk menangani perpindahan (switch) pemrosesan dari satu program ke program yang lainnya.

Pertemuan 07 Sistem Operasi 1 | UNIPMA


1. Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di ssistem operasi yang berkaitan dengan urutan kerja yang dilakkan sistem komputer. Penjadwalan bertugas memutuskan :
– Proses yang harus berjalan
– Kapan dan selama berapa lama proses itu berjalan.
Sasaran Utama Penjadwalan Proses
Optimasi kerja menurut kriteria tertentu
Kriteria untuk mengukur dan optimasi kinerja penjadwalan : [Tan-92] [MIL-92]
– Adil (fariness)
– Efesiensi
– Waktu tanggap (response time)
– Turn Arround Time
– Throughtput
Adil (Fairness)
Adil adalah proses-proses diperlukan sama yaitu mendapatkan jatah waktu pemroses yang sama dan tak ada proses yang tidak kebagian layanan pemroses sehingga mengalami startvision. Sasaran pendjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari pemroses yang adil.
Efesiensi
Efesiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk sehingga efesiensi mencapai maksimum. Sibuk adalah pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.
Waktu Tanggap (Response Time)
Waktu tanggap berbeda untuk :
– Sistem interaktif
– Sistem waktu nyata
Waktu tanggap pada sistem interaktif (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.
Waktu tanggap pada sistem waktu nyata(Real Time)
Pada sistem waktu nyata, waktu tanggap didefinisikan sebagai waktu dari saat kejadian (internal atau
eksernal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response
time. Sasaran pendjadwalan adalah meminimalkan waktu tanggap.
Turn Arround Time
Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke system sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan dalam sistem, diekspresikan sebagai jumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu;
Turn Arround Time = waktu eksekusi + waktu tunggu
Sasaran penjadwalan adalah meminimalkan turn arround time.
Throughtput
Throughtput adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu. Sasaran penjadwalan adalah memaksimalkan jumlah job yang diproses per satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang dilakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara simultan.  Contoh :
Untuk memberi waktu tanggap kecil memerlukan penjadwalan yang sering beralih diantara prosesproses itu. Cara ini meningkatkan overhead sistem dan mereduksi throughput. Kebijaksanaan perancangan penjadwalan melibatkan kompromi diantara kebutuhan-kebutuhan yang saling bertentangan. Kompromi ini bergantung sifat dan penggunaan sistem komputer.
2. Tipe-Tipe Penjadwalan
Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu :
A. Penjadwal jangka pendek (short-tem scheduller)
B. Penjadwal jangka menengah (medium-term scheduller)
C. Penjadwal jangka panjang (long-term scheduller)
A. Penjadwal Jangka Pendek
Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Sasaran utama penjadwal ini memaksimalkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapakan. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

B. Penjadwal Jangka Menengah
Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan.
Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proseslain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebutswapping.
Penjadwal jangka menengah adalah menangani proses-proses swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya terunda hilang dan proses dimasukkan kembali ke memori utama dan ready. Penjadwal jangka menengah mengendalikan transisi dari suspended-ready (dari keadaan suspend ke ready) proses-proses swapping.
C. Penjadwal Jangka Panjang
Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu proses, memori, perangkat I/O), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah. Sasaran utama penjadwal jangka pangjang adalah memberi keseimbangan job-job campuran. Dikaitkan dengan state-state proses.
 3. Algoritma Penjadwalan
Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive.
Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya:
– FIFO (Frist In First Out)
– SJF (Shortest Job First)
– HRN (Highest Ratio Net)
– MFQ (Multiple Feedback Queues).
Algoritma-algoritma yang menerapkan strategi preemptive diantaranya:
– RR (Round Robin)
– SRF (Shortest remaining First)
– PS (Priority Schedulling)
– GS (Guaranteed Schedulle)
Penjadwalan Round Robin (RR)
Penjadwalan ini merupakan:
– Penjadwalan preemptive, buka dipreempt oleh proses lain tapi terutama oleh penjadwal berdasarkan lama waktu berjalannya proses, disebut preempt-by-time.
– Penjadwalan tanpa protes.
Semua Proses dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwata (quantum) atau time slice dimana proses itu berjalan.
Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:
– Mengelola senarai proses ready (runnable) seusai urutan kedatangan.
– Ambil proses yang berada diujung depan antrian menjadi running.
– Bila kwanta belum habis dan proses selesai maka ambil proses diujung depan antrian proses ready.
– Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor antrian proses ready dan ambil proses diujung depan antrian proses ready.

Pertemuan 06 Sistem Operasi 1 | UNIPMA

Manajemen Proses


       Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K. Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:
  • Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.
  • Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.
  • Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar
  • Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.
  • Menyediakan mekanisme untuk penanganan deadlockDeadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.
Manajemen Memori Utama
Sistem operasi memiliki tugas untuk mengatur bagian memori yang sedang digunakan dan mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk program yang akan berjalan maupun untuk sistem operasi itu sendiri. Tujuan dari manajemen memori utama adalah agar utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori.
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 M/K. Memori utama termasuk tempat penyimpanan data yang yang bersifat volatile(tidak permanen), yaitu data akan hilang kalau komputer dimatikan.
Sistem komputer modern memiliki sistem hirarki memori, artinya memori yang ada di komputer disusun dengan tingkatan kecepatan dan kapasitas yang berbeda. Memori yang memiliki kecepatan sama dengan kecepatan prosesor memiliki kapasitas yang kecil, berkisar hanya dari ratusan KB hingga 4 MB dengan harga yang sangat mahal. Sedangkan memori utama yang kecepatannya jauh di bawah kecepatan prosesor memiliki kapasitas yang lebih besar, berkisar dari 128 MB hingga 4 GB dengan harga yang jauh lebih murah. Sistem hirarki memori ini memiliki tujuan agar kinerja komputer yang maksimal bisa didapat dengan harga yang terjangkau.
Manajemen Sistem Berkas
File atau berkas adalah representasi program dan data yang berupa kumpulan informasi yang saling berhubungan dan disimpan di perangkat penyimpanan. Sistem berkas ini sangatlah penting, karena informasi atau data yang disimpan dalam berkas adalah sesuatu yang sangat berharga bagi pengguna. Sistem operasi harus dapat melakukan operasi-operasi pada berkas, seperti membuka, membaca, menulis, dan menyimpan berkas tersebut pada sarana penyimpanan sekunder. Oleh karena itu, sistem operasi harus dapat melakukan operasi berkas dengan baik.
Sistem operasi melakukan manajemen sistem berkas dalam beberapa hal:
  • Pembuatan berkas atau direktori. Berkas yang dibuat nantinya akan diletakkan pada direktori-direktori yang diinginkan pada sistem berkas. Sistem operasi akan menunjukkan tempat dimana lokasi berkas atau direktori tersebut akan diletakkan. Setelah itu, sistem operasi akan membuat entri yang berisi nama berkas dan lokasinya pada sistem berkas.
  • Penghapusan berkas atau direktori. Sistem operasi akan mencari letak berkas atau direktori yang hendak dihapus dari sistem berkas, lalu menghapus seluruh entri berkas tersebut, agar tempat dari berkas tersebut dapat digunakan oleh berkas lainnya.
  • Pembacaan dan menulis berkas. Proses pembacaan dan penulisan berkas melibatkan pointer yang menunjukkan posisi dimana sebuah informasi akan dituliskan di dalam sebuah berkas.
  • Meletakkan berkas pada sistem penyimpanan sekunder. Sistem operasi mengatur lokasi fisik tempat penyimpanan berkas pada sarana penyimpanan sekunder
Manajemen Sistem
Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen M/K menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat ( device).
Fungsi-fungsi sistem operasi untuk sistem M/K:
  • Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat M/K
  • Penjadwalan ( scheduling). Melakukan penjadualan pemakaian M/K sistem supaya lebih efisien.
  • Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.
  • Menyediakan driver perangkat yang umumDriver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K yang umum, seperti optical drive, media penyimpanan sekunder, dan layar monitor.
  • · Menyediakan driver perangkat yang khusus. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K tertentu, seperti kartu suara, kartu grafis, dan motherboard
  1. Non volatile(tahan lama). Walaupun komputer dimatikan, data-data yang disimpan di sarana penyimpanan sekunder tidak hilang. Data disimpan dalam piringan-piringan magnetik.
  2. Tidak berhubungan langsung dengan bus CPU. Dalam struktur organisasi komputer modern, sarana penyimpanan sekunder terhubung dengan northbridgeNorthbridge yang menghubungkan sarana penyimpanan sekunder pada M/K dengan bus CPU.
  3. Lambat. Data yang berada di sarana penyimpanan sekunder memiliki waktu yang lebih lama untuk diakses ( read/write) dibandingkan dengan mengakses di memori utama. Selain disebabkan olehbandwidth bus yang lebih rendah, hal ini juga dikarenakan adanya mekanisme perputaran head dan piringan magnetik yang memakan waktu.
  4. Harganya murahPerbandingan harga yang dibayar oleh pengguna per byte data jauh lebih murah dibandingkan dengan harga memori utama.
Sarana penyimpanan sekunder memiliki fungsi-fungsi sebagai berikut:
  1. Menyimpan berkas secara permanenData atau berkas diletakkan secara fisik pada piringan magnet dari disk, yang tidak hilang walaupun komputer dimatikan ( non volatile)
  2. Menyimpan program yang belum dieksekusi prosesor. Jika sebuah program ingin dieksekusi oleh prosesor, program tersebut dibaca dari disk, lalu diletakkan di memori utama komputer untuk selanjutnya dieksekusi oleh prosesor menjadi proses.
  3. Memori virtual. Adalah mekanisme sistem operasi untuk menjadikan beberapa ruang kosong dari disk menjadi alamat-alamat memori virtual, sehingga prosesor bisa menggunakan memorivirtual ini seolah-olah sebagai memori utama. Akan tetapi, karena letaknya di penyimpanan sekunder, akses prosesor ke memori virtual menjadi jauh lebih lambat dan menghambat kinerja komputer.
Sistem operasi memiliki peran penting dalam manajemen penyimpanan sekunder. Tujuan penting dari manajemen ini adalah untuk keamanan, efisiensi, dan optimalisasi penggunaan sarana penyimpanan sekunder

Pertemuan 05 Sistem Operasi 1 | UNIPMA

Proses Proses dan Implementasi Sistem Operasi

A. Pengertian Proses 
Proses pada sistem operasi adalah program yang sedang dieksekusi, merupakan unit kerja terkecil yang secara individu memiliki sumber sumber daya yang dijadwalkan oleh sistem operasi. Awalnya proses dijalankan secara berurut (sekwensial) sesuai dengan “line code” (stored program concept), suatu proses akan di eksekusi sampai selesai baru kemudian berpindah ke proses selanjutnya. Sistem sekwensial memiliki kelemahan yakni tingkat pengguna atau utilitas prosesor yang rendah. 

    Proses dapat melakukan lebih dari “program code yang aktif”, seperti :
    - Melacak posisi instruksi (sequential execution) : program counter 
    - Menyimpan data sementara var, parameter, return value : stack
    - Menyimpan data (initial, global variable dll) : data section 
    - Menyimpan status proses (contoh, aktif, wait I/O request dll.)

      B. Status Proses 
      Proses yang dieksekusi mempunyai lima status yang terdiri dari :
      1. New : pembentukan suatu proses
      2. Running : instruksi-instruksi yang sedang dieksekusi
      3. Waiting : proses menunggu untuk beberapa event yang terjadi
      4. Ready : menunggu untuk dialirkan ke pemroses (processor)
      5. Terminated : proses telah selesai dieksekusi
      C. Pembentukan Proses
      Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuatmelalui system call createn 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 peerangkat "M/K". Sumber daya ini dapat diperoleh langsung dari Sistem Operasi, dari Proses Induk yang membagi-bagikan sumber daya kepada setiap proses turunannya, 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.


      D. Pengelolaan Proses
      Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
      Sistem operasi bertanggung jawab atas aktivitas - aktivitas  yang  berkaitan  dengan  managemen  proses seperti :
      - Pembuatan dan penghapusan proses pengguna dan sistem proses
      - Menunda atau melanjutkan proses
      - Menyediakan mekanisme untuk proses sinkronisasi
      - Menyediakan mekanisme untuk proses komunikasi
      - Menyediakan mekanisme untuk penanganan deadlock

      Perkembangan sistem komputer mendatang adalah menuju ke sistem multiprocessing, multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses - proses yang berjalan bersama dalam waktu yang bersamaan. Hal demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan terdapat lebih dari satu proses disebut dengan kongkurensi (proses-proses yang kongkuren). Proses - proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga  membutuhkan  sinkronisasi  atau koordinasi proses yang baik.


      E. Proses Control Block (PCB)
      Proses Control Block adalah bentuk informasi-informasi lain yang diperlukan sistem operasi untuk mengendalikan dan mengoordinasikan beragam proses aktif dalam suatu proses. Dalam kenyataannya, proses banyak mengalami gangguan dalam menjalankan tugasnya oleh karena itu, ada PCB (Proses Control Block) untuk membantu dan memberikan dukungan kepada proses itu.
      1. Status proses : status mungkin new, ready, running, waiting, halted, dll.
      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, general-purposes 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.
      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. 
      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.
      • 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 pad 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
       7. Implementasi Proses
      Implementasi proses diartikan sebagai pelaksanaan atau penerapanArtinya yg dilaksanakan dan diterapkan adalah kurikulum yang telah di rancang/di desain untuk  kemudian di jalankan sepenuhnya
      Tabel-tabel proses masing-masing proses yang ada dalam sistem mempunyai state yang harus diperhatikan oleh sistem operasi mencatat state-state proses ke dalam tabel atau senerai yang meliputi:
      A.     Tabel informasi manajemen memory
      B.     Tabel informasi manajemen I/O
      C.     Tabel informasi sistem file
      D.     Tabel-tabel proses

       A. Tabel informasi manajemen memory
      Tabel ini fungsinya menjaga keutuhan memory utama atau sekunder. Tabel ini memeuat informasi sebagai berikut :
      1.      Alokasi memory utama yang diijinkan proses
      2.      ALokasi momory sekunder yang diisikan proses
      3.      Atribut segmen momory utama atau sekunder.

      B. Tabel informasi manajemen I/O
      Tabel ini digunakan untuk mengelolah penggunaan perangkat I/O agar dapat digunakan secara bergantian oleh proses yang dibutuhkannya.

      C. Tabel informasi sistem file
      File ini menyimpan informasi tentang ekstensi file. lokasi pada memory sekuder status dan atribut-atribut file.

      D. Tabel Proses
       Tabel proses fungsinya mengelolah proses, menyimpan atribut proses dan sebagainya.

      Pertemuan 10 Sistem Operasi 1 | UNIPMA

      PENGERTIAN VIRTUAL MACHINE: virtual machine atau biasa disebut VM adalah sebuah duplikat yang efisien dan terisolasi dari suatu mesi...