DASAR KOMPUTER Dukungan Sistem Operasi Peran dari OS • Mengatur fasilitas komputer, • memberikan layanan untuk pemrogram, • menjadwal eksekusi program lainnya. • Menjembatani perangkat keras dari programmer. • Memberikan interface yang bagus untuk menggunakan sistem • Mengontrol eksekusi program-program aplikasi yang memerlukan fasilitas dan pelayanan hardware komputer. Fungsi OS • OS sebagai User/Computer Interface • OS memberikan kenyamanan bagi programmer/user. • Layanan yang diberikan oleh OS: • • • • • • • Pembuatan program Eksekusi Program. Akses IO Kontrol dan Manipulasi File Akses terhadap sistem (Komunikasi) Deteksi Error dan Respon Accounting • OS sebagai Resource Manager • Komputer adalah sekumpulan fasilitas untuk pemindahan, penyimpanan, dan pengolahan data dan mengontrol ketiga fungsi ini. • Pengontrolan fungsi-fungsi dilakukan oleh sistem operasi. • Sistem operasi merupakan program • Sistem operasi mengarahkan CPU dalam menggunakan fasilitas lainnya dan dalam pewaktuan dan atau penjadwalan eksekusi program Peran OS Kriteria OS • Interaksi OS dengan manusia OS: • Interaktif : input diberikan secara interaktif dari terminal • Batch system : semua input dikumpulkan dan dieksekusi pada 1 waktu • Jumlah program yang dijalankan pada 1 waktu. • Uniprogramming • Multiprogramming Permasalahan Sistem Komputer Lama • Penjadwalan (Scheduling): • Mengatur mengatur waktu pelayanan mesin. • Waktu setup (Setup Time): • Waktu yang diperlukan untuk pemuatan compiler dan program ke dalam memori cukup lama • Waktu setup harus diusahakan sependek mungkin. Sistem Operasi • Sistem operasi merupakan program yang resident di memory. • Memory dibagi menjadi 2 bagian, • Bagian untuk sistem operasi (kernel) • Bagian lainnya untuk user program. Simple Batch System • Pengguna menyerahkan pekerjaanya kepada operator komputer yang akan melakukan batch pekerjaan secara berurutan. • Program diinput melalui IO. • Program yang diinputkan akan diletakkan pada memory di bagian program data. • CPU akan menjalankan program yang ada di program data sesuai dengan perintah dari OS. • Setelah selesai, kontrol proses kembali terletak pada resident monitor (OS) untuk membaca program berikutnya yang akan dijalankan. • Begitu program berikutnya ditemukan program tersebut akan dijalankan. • Fitur dalam sistem operasi batch: • Proteksi Memori • Pewaktu (Timer) • Privileged Instruction • Interrupt Multiprogrammed Batch System • prosesor lebih cepat dibandingkan kecepatan perangkat I/O • prosesor sering berada pada keadaan idle. • Mulitprogrammed batch system • Resident monitor (OS) mengeksekusi program lain saat program yang sedang dieksekusi dalam status menunggu IO. • OS saat ini menggunakan sistem multiprogramming/multitasking. Time Sharing System • Pengembangan lebih lanjut dari sistem multiprogrammed batch system. • Time Sharing System mengeksekusi multi program dari multi user. Penjadwalan • OS mengatur eksekusi multi program oleh satu prosesor. • Ada 4 bentuk penjadwalan : • Long Term scheduling : • Penjadwalan untuk program yang baru diterima dan belum akan dieksekusi oleh CPU • Medium Term Scheduling : • Penjadwalan dimana sebagian program sudah berada di memory • Short Term Scheduling : • Penjadwalan untuk program yang akan/sedang dieksekusi oleh CPU. • IO scheduling : • Penjadwalan untuk perangkat IO. Status Proses • Setiap proses memiliki status. • 5 jenis status proses yaitu : • New : baru diinput, belum siap untuk dieksekusi. • Ready : Siap untuk diekskusi dan sedang menunggu prosessor. • Running : sedang dieksekusi. • Waiting : sedang dihentikan sementara oleh OS, dan menunggu untuk dieksekusi kembali. • Halted : telah selesai dan akan dihancurkan. Status Proses Infromasi Proses • Proses yang ada di memory harus memiliki informasi • status dari proses • informasi lain yang diperlukan. • Setiap proses direpresentasikan oleh OS dalam bentuk process block control. • Block control memiliki informasi sebagai berikut : • identifier • Status • Prioritas • Program counter • Memory pointer • Context Data • Informasi Status I/O • Informasi Lainnya Teknik Penjadwalan • OS memiliki antrian short term untuk program-program yang akan dieksekusi. • OS akan memilih proses yang ada dalam antrian untuk dieksekusi. • Prosessor menghentikan eksekusi program apabila terjadi hal-hal berikut : • Program yang sedang dieksekusi meminta service IO. • Proses yang sedang berjalan menyebabkan interupt. • Proses lainnya menimbulkan interupt. • Saat prosesor menghentikan eksekusi proses yang sedang berjalan, prosesor menyimpan data program dan program counter dari proses yang sedang berlangsung dan memasukkan proses yang sedang berlangsung kembali ke dalam antrian. • Prosesor menuju ke OS untuk melihat proses selanjutnya yang akan dieksekusi. Manajemen Memory • Swapping • Partitioning • Paging • Virtual Memory Swapping • Proses yang sedang dalam status ready di memory (misalnya menunggu IO), OS memindahkan proses tersebut ke dalam antrian long term dan mengambil salah satu proses yang ada di antrian long term tersebut ke dalam memory. Swapping Partitioning • Membagi memory untuk user program. • Ada 2 metode partitioning • Fixed-size Partitioning Metode ini juga terbagi atas 2 cara yaitu : • Equal Size Partitions • Unequal Size. • Dynamic-size Partitioning Partitioning Paging • Memory dibagi/dipartisi dalam ukuran yang sama besar dan statis (frames). • Program/proses yang akan dieksekusi juga dibagi dalam proses-proses yang lebih kecil (pages). • Program-program yang akan dijalankan diletakkan pada pages2 yang tersedia. • Posisi dari pages-pages yang digunakan oleh suatu proes tidak harus berurutan tapi tergantung ketersediaan pages yang kosong. Paging Virtual memory • Menghemat memori • hanya sebagian dari program yang disimpan di memori yaitu chunks- chunks yang sedang digunakan saja pada pages-pages tertentu saja. • Bagian program yang lainnya disimpan pada harddisk. • Proses ini menyebabkan memori dapat menampung lebih banyak program • terlihat seolah-olah ukuran memori terlihat lebih besar karena proses/program yang ditampungnya jauh lebih banyak dan ukuran program jauh lebih besar dari ukuran memori yang sesungguhnya. Virtual Memory