Operating system review R. Arum, S.P., S.Si., M.T. JTE FT UNILA Konsep sistem operasi • Proses-proses? Konsep kunci. Proses adalah program sedang dieksekusi. Ia terdiri atas executable program, data dan stack dari program, program counter, stack pointer, register, dan informasi lain yang dibutuhkan. • File-file? • Shell? File? • Kategori system call berkaitan dengan file system. System call memerlukan membuat file, menghapus file, membaca file, dan menulis file. Shell? • Editor, compiler, assembler, linker, dan command interpreter bukan bagian dari sistem operasi. • Shell adalah command interpreter, bukan bagian sistem operasi, untuk menggunakan fitur-fitur sistem operasi, sebagai contoh bagai mana system call digunakan. System call • Mekanis aktual system call sangat tergantung mesin, sering harus diekspresikan dalam kode assembly. Pustaka prosedur disediakan untuk membuat system call. • Count = read(file, buffer, nbytes); Penggunaan system call untuk • • • • • • Manajemen proses. Signaling. Manajemen file. Manajemen direktori. Proteksi. Manajemen waktu. Manajemen proses • FORK cara membuat proses baru. Ia membuat duplikat yang eksak dari proses asli, file descriptors, register, dll. • Setelah FORK, proses asli dan salinannya (parent dan child) pergi menempuh jalannya sendiri. Pada awal ketika FORK, semua variabel mempunyai nilai sama. Tidak saling mempengaruhi. • FORK call mengembalikan nilai zero ke proses anak, dan menyamakan process identifier proses anak dengan proses induk. • Dalam banyak kasus, setelah FORK, proses anak perlu mengeksekusi kode berbeda dari orang tuanya. • Shell membaca perintah dari terminal, fork off a child process, menunggu proses anak untuk mengeksekusi perintah, dan kemudian membaca perintah berikut ketika proses anak selesai. • Menunggu proses anak selesai, proses induk mengeksekusi WAIT system call alamat variabel yang di-set ke child’s exit status (normal atau abnormal termination dan exit value). • EXEC system call • GETPID system call System call for signaling • Situasi tertentu hadir ketika proses perlu menangani interupsi software. • Contoh dalam MINIX pemakai gunakan tombol DEL, kirim sinyal ke editor, tangkap sinyal itu, dan stop the print-out. • Sinyal dapat digunakan untuk laporan ketika jebakan terdeteksi oleh hardware, misal ada instruksi ilegal atau floating point overflow. • Ketika sinyal dikirim ke proses yang tidak mengumumkan keinginannya untuk menangkap sinyal, proses itu membunuh sinyal. • Untuk menghindari masalah, proses dapat menggunakan SIGNAL system call untuk mengumumkan, ia disiapkan untuk menerima sinyal dan menyediakan alamat prosedur penanganan sinyal. System call for file management • • • • CREATE call OPEN call CLOSE call READ, WRITE System call for directory management • LINK : mengizinkan file yang sama untuk tampil di bawah dua path names. Penggunaan tipikal, mengizinkan beberapa anggota tim pemrograman untuk pakai bersama suatu file • UNLINK call • MOUNT call • UMOUNT call • CHDIR, CHROOT System call for protection • CHMOD call read-write-execute bit • SETGID (set-group id) • SETUID (set-user id) System call for time management • TIME call Operating system structure • Kelihatan seperti apa sistem operasi dari sisi luar (antarmuka pemrogram) • 1) monolithic system • 2) layered system • 3) virtual machines • 4) client-server model monolithic system • Strukturnya adalah tiada struktur. Adalah mungkin untuk mempunyai struktur yang kecil. • Layanan (system call) disediakan oleh sistem operasi diminta dengan meletakkan parameter dalam well-defined place seperti register atau stack, dan kemudian mengeksekusi special trap instruction kernel call atau supervisor call. Jumat 11 Nov 2011 • Monolithic systems LAYERED SYSTEM virtual machine client server model. • PROCESSES: abstraksi program yang berjalan. • INTRODUKSI KE PROSES: semua komputer modern dapat mengerjakan beberapa hal dalam waktu yang sama. Ketika menjalankan program pengguna, komputer dapat juga ... • ... Membaca dari cakram dan mencetak pada terminal atau printer. Dalam sistem banyak program, CPU juga beralih dari program ke program, menjalankan masing-masing untuk sepuluh atau ratusan mili-detik. • Pada tiap titik waktu, CPU menjalankan hanya satu program. Pada satu detik, ia boleh bekerja pada beberapa program ... • ... Memberi pemakai ilusi paralelisasi. Terkadang orang bilang pseudo-parallelism ke makna rapid switching back and forth dari CPU di antara program. • Kontras dengan paralelisme perangkat keras sejati dari komputasi CPU ketika satu atau beberapa perangkat I/O berjalan. Menjaga jalur banyak, paralel aktivitas adalah berat dikerjakan. Model proses • Dalam model ini, semua peranti lunak yang dapat dijalankan pada komputer, sering termasuk sistem operasi, diorganisasi menuju nomor proses sekuensial. • Proses adalah program yang dieksekusi, termasuk nilai sekarang program counter, register, dan variabel. Secara konsep, tiap proses mempunyai CPU maya sendiri. Dalam kenyataan • CPU sesungguhnya melakukan switches back and forth from process to process. Ini lebih mudah difahami untuk memikirkan koleksi proses yang berjalan dalam (pseudo) parallel, dari pada menjaga jalur bagai mana CPU beralih dari program ke program. Rapid switching back and forth disebut multiprogramming. Tanenbaum • PROCESS is an activity of some kind. It has a program, input, output, and a state. A single processor may be shared among several processes, with some scheduling algorithm being used to determine when to stop work on one process and service a different one. • PROCESS HIERARCHIES? PROCESS HIERARCHIES • Sistem operasi yang mendukung konsep proses harus menyediakan cara untuk mengreasi semua proses yang diperlukan. • Dalam sistem sangat sederhana, atau dalam sistem yang didesain untuk menjalankan hanya satu aplikasi tunggal, adalah mungkin untuk mempunyai semua proses yang diperlukan when the system comes up. In most systems, • Beberapa cara diperlukan untuk meng-kreasi dan menghancurkan proses bila mana diperlukan selama operasi. • KEADAAN-KEADAAN PROSES: Meskipun tiap proses adalah entitas independen, mempunyai program counter dan keadaan internal, proses sering memerlukan interaksi dengan proses lain. • Satu proses boleh menghasilkan beberapa keluaran yang proses lain menggunakan sebagai masukan. • Cat chapter1 chapter2 chapter3 | grep tree • Ketika proses di-block, ia bekerja karena secara logika tidak bisa terus secara tipikal karena ia menunggu untuk masukan yang tak tersedia. • Adalah mungkin untuk proses yang secara konseptual ready dan dapat dijalankan menjadi stop karena sistem operasi telah memutuskan untuk mengalokasi CPU ke proses lain untuk sementara waktu. • Transisi 1: terjadi ketika proses menjelajahi yang ia tidak dapat lanjut. Dalam suatu sistem proses harus mengeksekusi system call yang disebut BLOCK untuk mendapatkan keadaan blocked state. • Transisi 2 dan 3: disebabkan oleh penjadwal proses, bagian sistem operasi, tanpa kejadian proses mengetahuinya. • Transisi 2 terjadi ketika penjadwal memutuskan bahwa proses berjalan telah cukup waktu, dan saatnya untuk membiarkan proses lain memiliki waktu CPU. • Transisi 3 terjadi ketika semua proses lain telah memiliki bagiannya dan saatnya untuk proses pertama dijalankan lagi. The subject of scheduling, • Memutuskan proses yang mana seharusnya dijalankan, kapan, dan untuk berapa lama? • Transisi 4: terjadi ketika external event untuk proses yang menunggu (misalnya kedatangan beberapa masukan) terjadi. Jika tiada proses lain berjalan, transisi 3 dipicu langsung, dan proses akan mulai dijalankan. Dengan menggunakan • Model proses, menjadi lebih mudah berpikir tentang apa yang berlangsung dalam sistem. Beberapa proses menjalankan program yang dibawa oleh perintah yang diketik oleh user. • Proses lain adalah bagian sistem dan menangani tugas seperti membawa keluar permintaan untuk layanan file atau mengatur detil menjalankan disk atau tape drive. Jumat 9 Desember 2011 • Ketika interupsi cakram terjadi, sistem membuat keputusan stop menjalankan proses berjalan dan melaksanakan proses cakram, yang mana di-block menunggu untuk interupsi itu. • Proses pemakai, proses cakram, proses terminal, mereka di-block ketika menunggu untuk sesuatu yang akan terjadi. Ketika blok cakram baru saja dibaca • Atau karakter diketik, proses menunggu untuk ini dibuka blok dan layak untuk jalan lagi. Model gambar 2-3 menunjukkan level terendah sistem operasi adalah the scheduler, dengan variasi proses di atasnya. • Semua penanganan interupsi dan detil proses mulai dan stop secara aktual adalah tersembunyi dalam scheduler. Pengertian bahwa • Scheduler sesungguhnya berarti tidak proses baru saja dijadwal, tetapi juga penanganan interupsi, dan semua inter-process communication. Jumat 16 Desember 2011 • Penjadwalan kuliah 16-12, 19-12, 26-12, 2312, 30-12. • UTS Senin 19 Des 2011, open book /computer. UTS SISTEM OPERASI • Hari Senin, tanggal 19 Desember 2011, jam 15.00 wib, di Lab T Komputer. Sifat ujian open book, open komputer. • SOAL-1: Apakah dua fungsi utama sistem operasi? • SOAL-2: Apakah yang disebut multiprogramming? UTS SISTEM OPERASI • SOAL-3: Apakah spooling itu? Apakah kamu pikir advanced personal computers akan mempunyai spooling sebagai fitur standar dalam masa depan? • SOAL-4: Daftarlah lima servis disediakan oleh sistem operasi yang didesain untuk membuat ia lebih nyaman bagi pemakai dalam menggunakan sistem komputer! • SOAL-4, lanjutan: Dalam kasus apa ia akan menjadi tidak mungkin user-level programs untuk menyediakan layanan ini? Jelaskan! • SOAL-5: Deskripsikan tiga metode umum untuk melewatkan parameter ke sistem operasi? • SELAMAT MENGERJAKAN!