Operating system review

advertisement
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!
Download