Tuesday, October 20, 2015

Ringkasan Sistem Operasi - Materi UTS

Keterangan: (*) adalah materi yang keluar di kuis sebelumnya

Pendahuluan
Komponen Utama Sistem Komputer:
1) Hardware / perangkat keras, yaitu Machine Language, Microarchitecture, dan Physical devices
2) Application program, contohnya Airline Reservation, Banking system, Web browser
3) System Program --> terdiri dari user mode dan kernel mode (OS)
    Terdiri dari:
    > Compiler = Mengubah bahasa agar dapat dimengerti komputer
    > Editor
    > Command Interpreter =  menterjemahkan command agar dapat dimengerti komputer. Contohnya pada windows "cls" akan diinterpret untuk menghapus command" sebelumnya dalam cmd.    

Pengertian sistem operasi: yaitu seperangkat program yang memantau dan mengatur pemakaian sumber daya komputer (CPU, Memori Internal, I/O) dan menjembatani program user dan perangkat keras komputer

Fungsi Sistem Operasi(*):
1) Sebagai Extended Machine -> Menyembunyikan kompleksitas pemrograman dan menyajikan tampilan yang lebih mudah untuk menggunakan hardware (user-friendly)

2) Sebagai Resource Manager -> mengatur dan mengefisiensikan penggunaan sumber daya yang dibutuhkan program


MonoProgramming, MultiProgramming, ParallelProgramming




Pengertian I/O Bound dan CPU Bound(*)
I/O Bound: Sistem yang lebih banyak mengandalkan input output daripada eksekusinya.
CPU Bound: Sistem yang lebih mengandalkan kinerja CPU dalam eksekusi daripada menunggu masukan program

Mengapa dikembangkan multiprogramming?
Karena sekarang ini kebanyakan program yang didevelop merupakan program I/O bound, sehingga daripada dibuat menunggu masukan lebih baik CPU dapat mengerjakan program lain.

Bab 2 - Klasifikasi Sistem Operasi
1) Mainframe Operating System
–Berorientasi terhadap pemrosesan beberapa job sekaligus dengan kapasitas I/O yang besar
–Tiga jenis services: batch, transaction processing, dan timesharing
–Misal: OS/360, OS/390

2) Server Operating System
–Melayani beberapa users sekaligus melalui jaringan
–Memungkinkan pemakaian bersama terhadap sumber daya perangkat keras atau lunak
–Misal: Unix, Windows 2000, Linux

3) Multiprocessor Operating System
–Beberapa CPU digabungkan menjadi satu
–Memerlukan operating system khusus, tetapi bisa juga menggunakan variasi dari Server OS

4) Personal Computer Operating System
–Memberikan interface yang baik bagi single user
–Biasa digunakan untuk word processing, spreadsheets, dan akses internet
–Misal: Windows 98, Windows 2000, Machintosh, Linux

5) Real Time Operating System
–Parameter kunci  konsistensi waktu terhadap penyelesaian suatu task
–Segera memproses data yang masuk, tanpa buffer (delay buffer)
–Hard Real-Time System (Ada jaminan bahwa Critical Task akan selesai tepat waktu)
–Soft Real-Time System
–Misal: VxWorks, QNX

6) Embedded Operating System
–Dijalankan pada komputer yang mengontrol peralatan yang bukan berjenis komputer
–Palmtop computer atau PDA (Personal Digital Assistant)
–Misal: PalmOS, Windows CE

7) Smart Card Operating System
–Dijalankan pada smart card, yakni device sebesar kartu kredit yang mengandung CPU chip
–Kemampuan pemrosesan dan ukuran memory sangat terbatas
–Biasanya berorientasi bahasa Java  ROM pada smart card memiliki interpreter untuk Java Virtual Machine (JVM)

Review Perangkat keras
CPU
Pipeline(*): suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap yang berbeda

Memory Hierarchy(*)

•Nonvolatile:
–ROM (Read Only Memory)
–PROM
–EPROM
–EEPROM (Electrically Erasable ROM) dan flash RAM
•Volatile memory: CMOS

•Jika multiple programs berada di memory, masalah yang harus diatasi adalah:
–Memproteksi program dari yang lainnya
–Relokasi

•Virtual address = address yang dihasilkan dari program
•Physical address = address yang dipakai oleh memory
•MMU (Memory Management Unit) = device yang melakukan pemeriksaan dan mapping
•Contect switch = peralihan dari suatu program kepada yang lainnya

I/O Devices
•Terdiri dari:
–Controller  memberikan interface yang sederhana kepada operating system
–Device
•Device driver  software yang berhubungan dengan controller, memberinya instruksi dan menerima response
•I/O dapat dilakukan dengan 3 cara:
–Busy waiting
–Interrupt
–DMA (Direct Memory Access)

Proses
•Adalah program yang sedang dieksekusi
•Terdiri dari:
–Executable program, data, stack
–Program counter, stack pointer, registers
Process table = array atau linked list dari struktur yang dimiliki proses yang sedang dieksekusi
•Proses memiliki:
–Address space (core image)
–Atribut/informasi pada proses table
•Process Tree:

Deadlock: Kondisi dimana proses yang sedang berinteraksi tidak bisa dilanjutkan dan tidak ada proses yang bisa keluar dari kondisi tersebut

System Call: Merupakan interface antara program dengan sistem operasi
Macam-Macam system call:




Struktur Sistem Operasi
1) Sistem monolithic: kurang beraturan/terstruktur (the big mess), contoh linux
2) Layered System: Sistem operasi disusun berdasarkan hierarki layer, masing-masing dibangun diatas layer dibawahnya


3) Virtual Machine: pengembangan dr sistem berlapis, tujuannya agar mesin dpt digunakan banyak orang. memiliki Conversational Multi User (CMS). Setiap ada user baru muncul CMS baru.
4) Client-Server Model: menggunakan mikrokernel (kernel diperkecil, hanya berfungsi sebagai transfer). keuntungan: mudah dialokasikan pada distributed server.

Program, Proses, Software dan Threads
• Program adalah kumpulan instruksi yang dimengerti oleh CPU yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu.
• Proses adalah program yang sedang dieksekusi.

• Software adalah kumpulan dari program-program dan data-data yang saling terelasi yang memerintahkan apa yang harus diselesaikan komputer.
• Thread adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama.

Multiproses vs Multithreaded
Analogi: Naruto masak capcay
Multiproses: Naruto masak capcay, minta tolong Sasuke bantu, maka resepnya di copy jadi 2 agar Naruto dan Sasuke samasama bisa masak capcay. Dalam prosesnya bisa aja Naruto udah sampe tahap menumis, Sasuke baru potong wortel. Variabel di proses Naruto yang berubah tdk akan memengaruhi variabel di proses Sasuke.

Multithreaded: Naruto masak capcay, minta tolong sasuke buat bantuin. Maka Naruto dan Sasuke baca resep yang sama dan ngerjain bagian yang berbeda. Contohnya Naruto yang potong wortel, Sasuke numis bawang merah. Variabel yang berganti di proses Naruto akan memengaruhi proses Sasuke.

Multi Proses:
- Boros Memori
- Redundancy risk karena memiliki memori terpisah, sehingga menggunakan komunikasi antar proses

Multi Threaded:
+ Lebih Hemat Memori
+ Tidak ada overlap data, mengurangi redundancy risk

Process creation: event yang menyebabkan penciptaan proses, antara lain:
• Inisialisasi sistem
• Eksekusi sistem call
• Permintaan user
• Inisiasi batch job

Foreground vs background process
Background process: proses yang tidak memerlukan interaksi dengan user
contoh: sleep (5) -> proses sleep dilakukan di background process

fork system call: memanggil sebuah proses

PROCESS TERMINATION: Kondisi yang menyebabkan proses berhenti, yaitu
–Normal exit
–Error exit, contoh: Division by 0, illegal instruction, reference to memory
–Fatal error, Contoh: Non-existing file
–Killed by another process, Contoh: Ctrl-break

Process States:
- Running: pada saat program di eksekusi
- Ready: menunggu giliran
- Blocked: tidak dapat dijalankan

Transisi antar States
1. Proses yang sedang berjalan block input
2. Scheduler mengambil proses lainnya yang statusnya ready
3. Proses yang diambil berubah menjadi running
4. Input menjadi available (ready)

Komunikasi Antar Proses
Masalah yang sering muncul:
1) Race condition -> 2 proses mengakses resource yang sama, hasilnya tergantung dari proses mana yang mengakses duluan (berebutan)
    Critical Region -> Bagian program/proses/thread yang mengakses resource yang sama

    Mutual Exclusion (mutex): mekanisme untuk mencegah suatu proses mengakses resource yang sedang dipakai
    Empat kondisi agar terjadi mutual exclusion:
 1. Tidak ada dua proses yang berada di critical region pada saat yang bersamaan
 2. Tidak ada asumsi mengenai kecepatan dan jumlah CPU
 3. Tidak ada proses yang berada di luar critical region menghalangi (blocking) proses yang lain
 4. Tidak ada proses yang menunggu selamanya untuk masuk critical region
    Mutual Exclusion dibagi menjadi 2
    > Mutex dengan busy waiting: disabling interrupt, lock variables, Strict Alternation (kurnag tepat), TSL (benar)
    > mutex tanpa busy waiting: sleep and wakeup -> producer-consumer problem, semaphore

      Disabling Interrupt
      –Proses mematikan (disable) semua interrupt setelah memasuki critical region dan menghidupkan kembali (re-enable) interrupt tersebut sebelum meninggalkannya

      Lock Variables
      -- Analogi: Naruto dan Sakura ngantri WC umum. Setiap kali WC ada orang, tanda di pintu diganti warna jadi merah. kalo udah keluar, ganti tandanya jadi ijo.
Naruto dan Sakura ada kemungkinan masuk WC bersamaan, contoh ketika Naruto mau masuk WC dia ubah tanda di pintu jadi merah, tapi ada interrupt sehingga Sakura taunya tanda di pintu masih ijo. Lalu saat Naruto masih di WC Sakura dapat masuk karena di memori Sakura warna pintu masih ijo.

     Strict Atlernation

      Sleep and Wakeup
      • Sleep: system call yang menyebabkan proses yang memanggil diblock, atau ditunda (suspended)
      • Wakup: system call yang menyebabkan proses dibangunkan, atau menjadi ready
      Producer-consumer problem:
      Analogi Naruto lagi mandi. keran air jadi produser yang isi bak, Naruto jadi konsumer yang ambil air dari bak pake gayung. 

      Semaphore (up(s) and down(s)): variabel integer untuk menghitung jumlah sinyal wakeup

2) Deadlock: kondisi dimana 2 program saling menunggu kondisi yang tidak dapat selesai, ataupun memperebutkan 2 resource yang sama.
Ada 2 macam resource:
- Preemptable Resources: resource yang dapat diambil dari proses pemiliknya tanpa fail. contoh memori utama.
- Non-preemptable Resources: resource yang harus digunakan sampai selesai, jika diambil dari proses pemiliknya akan terjadi fail. contoh burn CD. Deadlock terjadi karena non-preemptable resources.

3) Starvation: Semua program terus menjalankan proses yang tak ada kemajuan. 

Ringkasan selanjutnya menyusul :)

1 comments:

Teman mu(TI-A) said...

Good Job Annas!!