Transparansi Sistem Operasi 1 -...
Transcript of Transparansi Sistem Operasi 1 -...
Halaman : 1
ModulSISTEM OPERASI
Jakarta2003
Halaman : 2
SISTEM KOMPUTER
Banking system
Airline reservation
Adventure games
Application programs
Compilers Editors Command Interpreter System
Operating System programs
Machine language
Microprogramming Hardware
Physical devices
Halaman : 3
SISTEM OPERASI
#1. Sebagai 'Extended Machine'
#2. Sebagai Resources Manager
Halaman : 4
PERKEMBANGAN SISTEM OPERASI
Generasi Hardware Sistem Operasi
Interaksi M - K
I'45-'55
Tabung Hampa Plugboard Kode/ Bahasa Mesin
II'55-'65
Transistor Batch System
Assembly language
III'65-'80
IC Timesharing High level language
IV'80-'90
LSI PC/DOS - 4th GL- Personal Application
V'90-...
VLSI Distributed OS/ NOS
- GUI- General Application
VI...-...
- Komputer Optik- Biologi
? ?
Halaman : 5
KONSEP SISTEM OPERASI
¨ Process· Program yang sedang dijalankan· Terdiri dari:
- executable program- data dan stack program- program counter- stack pointer- registers dan informasi lain
¨ File· Directory· Bit proteksi (rwx bit)· File descriptor (handle)· Pipe
¨ System CallsSarana komunikasi antara program pengguna dan sistem operasi
¨ ShellCommand Interpreter
Halaman : 6
STRUKTUR SISTEM OPERASI
¨ Sistem Monolitik· Terdiri dari kumpulan prosedur yang masing-
masing bebas memanggil prosedur lain. · Ada dua mode operasi, yaitu:
- Mode kernel (kernel mode) - Mode pengguna (user mode)
Main procedures
Services procedures
Utility procedures
Halaman : 7
¨ Sistem Berlapis (layered)· Mengorganisasikan sistem operasi sebagai hirarki
layer· Sistem pertama adalah Sistem THE yang dibangun
oleh E.W. Dijkstra dan muridnya.
Layer Fungsi5 Operator
4 Program pengguna
3 Pengelolaan I/O
2 Komunikasi proses-operator
1 Pengelolaan memori dan drum
0 Alokasi prosesor dan multiprogramming
Halaman : 8
¨ Mesin Semu (virtual machine)· Sistem Timesharing yang menyediakan
kemampuan untuk multiprogramming dan perluasan mesin dengan antarmuka yang lebih mudah
· Terdiri dari komponen dasar utama sebagai berikut:- Control Program (CP), yaitu virtual machine
monitor yang mengatur fungsi prosesor, memori, dan piranti I/O
- Conversational Monitor System (CMS), yaitu sistem operasi sederhana yang mengatur fungsi dari proses, pengelolaan informasi dan pengelolaan piranti
Virtual 370s
system call here
I/O instruction here CMS CMS CMS trap here
trap here VM/370
370 bare hardware
¨ Model Client-Server· Mengimplementasikan sebagian besar fungsi
sistem operasi pada mode pengguna (user mode)
Halaman : 9
Client process
Client process
Process server
Terminal server
. . . File server
Memory server
user mode
Kernel
kernel mode
Client obtains service by sending messages to server processes
Halaman : 10
KONSEP PROSES
¨ Model Proses
· Hirarki prosesMemungkinkan sebuah proses untuk membentuk subproses
· Keadaan proses- Running
proses sedang menggunakan prosesor- Ready
proses yang runnable terhenti sementara karena prosesor sedang digunakan oleh proses lain
- Blockedproses tidak dapat dijalankan karena menunggu proses eksternal
· Implementasi proses- Sistem operasi memelihara tabel proses - Entri tabel proses adalah informasi tentang
satu proses
Halaman : 11
¨ Komunikasi Antarproses (IPC)
· Race conditionDua proses atau lebih mengakses data bersama
· Critical sectionBagian program yang mengakses memori atau data bersama
· Mutual exclusivesalah satu cara untuk menghindari race condition
· Sleep and WakeupMendefinisikan system call SLEEP dan WAKEUP untuk mencapai Mutual Exclution
Halaman : 12
¨ Masalah Klasik IPC
· The Dining Philosophers Memodelkan proses yang berkompetisi untuk melakukan akses terhadap sumberdaya sistem komputer dengan jumlah yang terbatas
· The Readers and WritersMemodelkan pengaksesan basis data, dimana dalam sistem basis data yang besar dengan banyak proses yang berkompetisi untuk melakukan proses baca dan proses tulis
Halaman : 13
¨ Penjadwalan Proses
· Round robinSemua proses sama pentingnya, dan mendapat quantum waktu yang sama
· Penjadwalan dengan prioritas- Setiap proses diberi prioritas- Proses dengan prioritas tertinggi akan
dijalankan terlebih dahulu
· Antrian ganda (Multiple queue)- Penjadwalan diatur berdasarkan prioritas
kelas- Proses dalam kelas tertinggi akan diberi
alokasi satu quantum, kelas tertinggi berikutnya akan diberi alokasi dua quantum, dan seterusnya
· Job terpendek lebih duluPenjadwal akan memilih proses yang waktu eksekusinya paling pendek
Halaman : 14
· Penjadwalan bergaransi- Setiap proses memiliki rasio (hak waktu
proses : waktu proses yang telah diterima)- Proses dengan rasio terendah akan
dieksekusi pertama kali
· Kebijakan vs Mekanisme- Memisahkan mekanisme dan kebijakan
penjadwalan- Mekanisme ditangani oleh sistem operasi- Kebijakan ditangan oleh pengguna (user)
· Penjadwalan dua level- Digunakan jika proses-proses harus di-
swap dari memori ke disk- Ada dua level penjadwal, yaitu:
1. Penjadwalan proses di memori2. Penjadwalan proses di disk
Halaman : 15
MANAJEMEN MEMORI
¨ Manajemen Memori dengan Alokasi Proses di RAM
· MonoprogrammingMemori dibagi untuk Sistem Operasi dan untuk Proses Single User
OS di ROM Device Driver di ROM
User Program User Program User Program
OS di RAM OS di RAM
Halaman : 16
· Multiprogramming dengan Partisi Tetap- Program atau aplikasi dapat dibagi menjadi
dua atau lebih proses- Setiap proses ditempatkan pada partisi
memori yang ukurannya telah ditetapkan- Proses yang menunggu pemrosesan,
dimasukkan ke dalam antrian proses- Antrian proses dapat dibuat satu atau lebih
Sistem Operasi
Partisi 1
Partisi 2
Partisi 3
Partisi 4
Sistem Operasi
Partisi 1
Partisi 2
Partisi 3
Partisi 4
Multiple InputQueue
Single Input Queue
Halaman : 17
¨ Manajemen Memori dengan Alokasi Proses di RAM dan Disk (Swapping)
· Multiprogramming dengan partisi tidak tetap:Lokasi memori, jumlah dan besar proses dapat berubah secara dinamis sesuai kebutuhan
C C C C C
B B B B
A A A E
D D D
OS OS OS OS OS OS OS
Halaman : 18
· Manajemen memori dengan Bit-maps- Memori dibagi menjadi beberapa unit
alokasi - Tiap unit alokasi berkorespondensi dengan
satu bit pada bit map (0 untuk unit yang sedang bebas, 1 untuk unit yang sedang digunakan)
· Manajemen memori dengan Linked-list- Linked List dibentuk berdasarkan segmen
memori yang teralokasi dan segmen memori yang kosong
- Segmen memori dapat berupa Proses (P) atau Hole (H)
A A B
1 1 0 0 1
Halaman : 19
· Manajemen memori dengan Buddy systemDidasari oleh penggunaan sistem biner pada komputer untuk pengalamatan, sehingga mempercepat penggabungan hole-hole yang berdekatan ketika suatu proses selesai dijalankan (de-alokasi)
· Alokasi ruang untuk proses SwapPerlu diperhatikan ruang untuk proses Swap pada Disk
· Analisis Sistem SwappingAda beberapa cara untuk menganalisis memori yang terbuang pada waktu terjadi hole, yaitu:- Fifty Percent Rule, perhitungan rasio dari
hole terhadap proses- Unused Memory Rule
Halaman : 20
¨ Virtual Memori:
· Paging:Pembagian memori ke dalam page-page yang masing-masing mempunyai alamat virtual. Ada dua jenis page:- Virtual page- Page frame
· Page Table:Tabel untuk memetakan virtual page ke page frame
· Paging dapat dilakukan secara Hardware, seperti pada:1. One Level Paging : PDP-112. Two Level Paging : VAX3. Three Level Paging: SPARC4. Four Level Paging : 68030
· Assosiative Memory:Device khusus untuk memetakan virtual address ke physical address tanpa melalui Page Table.
¨ Algoritma Page Replacement
Halaman : 21
· The Optimal Page Replacement Algorithm:- Tiap page dapat diberi label nomor instruksi
yang akan dieksekusi sebelum page tersebut pertama kali di acu
- Jika terjadi page fault page dengan label tertinggi harus dipindahkan
· The Not-Recently-Used Page Replacement Algorithm:
- Page dibagi dalam empat kelas, yaitu:* Kelas 0 : tidak diacu, tidak dimodifikasi Kelas 1 : tidak diacu, dimodifikasi Kelas 2 : diacu, tidak dimodifikasi Kelas 3 : diacu, dimodifikasi
- Jika terjadi page fault, page kelas terendah akan dipindahkan
· The First-In, First-Out:- Akan dibuat list page yang ada di memori- Jika terjadi page fault, page pada head akan
dipindahkan, dan page baru akan disimpan pada tail
Halaman : 22
· The Second Change Page Replacement Algorithm:- Variasi lain dari FIFO- Page pada head akan diperiksa dulu sebelum
dipindahkan. Jika page tersebut masih diacu pada interval clock sebelumnya, maka akan diperiksa page berikutnya.
· The Clock Page Replacement Algorithm:- Variasi teknik Second chance, yaitu dengan
menjaga semua page dalam suatu sirkular list- Page pang akhir diacu akan ditempatkan di akhir
list
· The Least Recently Used:- Jika terjadi page fault, maka page yang sudah
lama tidak digunakan akan dibuang
Halaman : 23
¨ Masalah Perancangan Sistem Paging
· The Working Set Model:- Page di-load ke memori berdasarkan kebutuhan- Sekumpulan page yang sedang digunakan oleh
proses disebut Working Set
· Alokasi Lokal vs Global:- Lokal:lpemilihan page dibuat berdasarkan
proses yang sedang aktif - Global: pemilihan page dibuat berdasarkan
keseluruhan tabel
· Ukuran Page:Harus ditentukan ukuran page yang optimum
¨ Segmentasi· Memori dibagi dalam ruang-ruang alamat yang
independent, yang disebut segmen· Tiap segmen mempunyai urutan alamat linier
(0-maksimum)
Halaman : 24
SISTEM FILE
Semua aplikasi komputer selalu melakukan proses penyimpanan dan pengambilan informasi.
Masalah-masalah yang muncul dengan penyimpanan informasi di memori antara lain :
- Tidak semua informasi dapat disimpan seluruhnya pada memori
- Informasi yang tersimpan di memori hilang jika proses berakhir
- Tidak dapat dipergunakan bersama-sama
Halaman : 25
Kriteria penyimpanan informasi :- Dapat menyimpan banyak informasi- Dapat disimpan dalam waktu lama- Dapat dipergunakan bersama-sama
Solusi : file - disimpan pada media eksternalBagian sistem operasi yang mengatur file ini disebut Sistem File.
Sistem File dapat ditinjau dari dua sudut pandang:- Sudut pandang pemakai- Sudut pandang perancang sistem file
Halaman : 26
FILE
Penamaan File
Aturan penamaan file berbeda dari satu sistem dengan sistem yang lain.
file.bak file backupfile.pas program sumber dalam Pascalfile.bin program biner yang dapat dieksekusifile.c program sumber dalam Cfile.dat file datafile.doc file dokumentasifile.hlp teks untuk perintah Helpfile.lib library dari file .obj yang digunakan oleh
linkerfile.obj file objekfile.txt file teks umum
Halaman : 27
Struktur File
· File sebagai deretan byte.
1 byte
· File sebagai deretan record
1 record 1 record
· File sebagai Struktur Pohon
Ali Fulan Sosro
Cici Edi
Hari Heri Jaja
Cucu
Dedi Dudun
Halaman : 28
Tipe File
1. Regular file
Berisi informasi biasa yang dibuat oleh pemakai. Biasanya terdiri atas file ASCII atau file biner.
2. Direktori
Yaitu sistem file yang akan memelihara struktur sistem file.
3. Character Special Files
Berkaitan dengan perangkat I/O
4. Block Special Files
Digunakan untuk memodelkan disk.
Halaman : 29
Gambar dibawah ini merupakan contoh dua buah format file dalam UNIX, yaitu format file biner yang dapat dieksekusi dan format arsip (archive) yang merupakan kumpulan modul yang telah dikompilasi tetapi tidak di-link.
16 bitmagic
number header nama
modulukuran teks tanggalukuran data pemilikukuran BSS modul
objekproteksi
ukuran tabel simbol
Header
ukuran
titik masuk header
flags teks modul
objekdata header
bit relokasi modul objek
tabel simbol(a) (b)
(a) File Biner (b) Archive
Halaman : 30
Pengaksesan FileAda dua macam pengaksesan file secara umum:
1. Pengaksesan sekuensial.Dengan cara ini tiap byte pada file dibaca berurutan dari awal sampai akhir.
2. Pengaksesan secara random.Dengan cara ini pembacaan dapat langsung ke byte
atau record yang dituju
Atribut File
Field Artiproteksi siapa yang boleh mengakses,dengan cara bagaimanapassword password yang dibutuhkan untuk akses filepembuat identitas pembuatpemilik siapa pemilik sekarangflag read-only 0 = read/write, 1= read-onlyflag hidden 0 = normal, 1 = tidak ditampilkan di layarflag system 0 = normal, 1 = sistemflag archive 0 = telah di backup, 1 = butuh di backupflag ASCII/biner 0 = ASCII, 1 = binerflag random access 0 = akses sekuensial, 1 = akses randomflag temporer 0 = normal, 1 = hapus jika proses selesaiflag lock 0 = tidak dikunci, 1 = dikuncipanjang record jumlah byte dalam satu recordposisi key offset key dalam tiap recordpanjang key jumlah byte dalam keywaktu pembuatan tanggal dan jam pembuatanwaktu terakhir diakses
tanggal dan jam terakhir file diakses
waktu terakhir diubah
tanggal dan jam terakhir file diubah
ukuran sekarang jumlah byte dalam file pada waktu sekarangukuran maksimum ukuran maksimum yang masih boleh ditambahkan
Halaman : 31
Operasi File
Beberapa operasi atau pemanggilan sistem untuk file yang umum adalah:
1. Create : Membuat file baru dan kosong.2. Delete : Menghapus file3. Open : Membuka file sebelum digunakan.4. Close : Menutup file setelah tidak digunakan.5. Read : Membaca isi file pada posisi yang
sedang ‘current’.6. Write : Menuliskan informasi ke dalam file
pada posisi yang sedang ‘current’.7. Append : Menambahkan informasi ke dalam file
pada posisi ‘End-Of-File’ sehingga ukuran file bertambah.
8. Seek : Mencari informasi tertentu pada file dengan menggunakan key tertentu.
9. Get Attributes : Mengambil beberapa atribut pada file
10. Set Attributes : Men-set atribut file11. Rename : Mengganti nama file.
Halaman : 32
Memory-Mapped FileAdalah suatu file yang dipetakan ke memori utama.Beberapa kelemahan teknik ini adalah:- Ukuran file tidak dapat diketahui secara pasti.- Sukar menjaga konsistensi file- Proses akan rumit jika ukuran file lebih besar dari segmennya
Halaman : 33
DIREKTORIDigunakan untuk menyimpan informasi engenai suatu file.
Sistem Direktori HirarkisModel yang menggunakan struktur pohon.
(c) Direktori Struktur Pohon
Halaman : 34
Nama Path (Jalur)Digunakan untuk mengetahui di direktori mana
suatu file berada.Macam-macam nama path :- Nama path absolut
Terdiri atas path dari mulai Root Directory sampai pada file-nya sendiri.Contoh: /usr/siti/my.file
- Nama path relatifDigunakan jika pemakai hendak mengakses file-file yang berada di subdirektori dari direktori kerjanya. Contoh: Jika pemakai sedang berada di direktori /usr/siti, maka ia hanya dapat mengakses file-file di direktori /usr/siti atau direktori di bawah /usr/siti.
Halaman : 35
Operasi Direktori. Create. Delete. OpenDir. CloseDir. ReadDir. Rename. Link (UNIX). Unlink (UNIX)
Halaman : 36
Implementasi FileBeberapa metode yang telah diimplementasikan akan diperlihatkan di bawah ini.
Alokasi KontiguYaitu metode yang menempatkan suatu file dalam alokasi blok yang kontigu. Keuntungan:
Sederhana implementasinyaKelemahan:
Menjadi masalah jika ukuran file tidak diketahuiBanyak terjadi fragmentasi eksternal
Halaman : 37
Alokasi Linked List
Keuntungan:-semua blok dapat digunakan -hanya alamat blok pertama yang disimpan pada
direktori
Kelemahan:-akses random menjadi lambat-harus disediakan sejumlah tempat pada tiap blok
untuk menyimpan alamat blok berikutnya
Halaman : 38
Alokasi Linked List dengan Indeks (Metode ini digunakan oleh MS-DOS)
blok fisik
01 22 034 156 77 4
File A mulai dari sini
Untuk mereduksi kelemahan pada metode Linked List maka digunakan tabel yang menyimpan semua alamat blok. Keuntungan:
· akses random lebih cepat· untuk meyimpan alamat blok pertama
pada direktor cukup dengan menyimpan sebuah nilai integer yang menujukkan nomor blok pertama file berada
Kelemahan:· tabel harus disimpan di memori
Halaman : 39
I-nodes(Metode ini digunakan oleh UNIX)
single indirect block
I-nodesAtribut
double indirect block
alamat blok data
I-nodes menyimpan atribut file dan alamat blok di disk. Jika suatu file cukup besar maka tidak semua informasi dapat tersimpan pada I-nodes, sehingga dibutuhkan adanya blok tambahan untuk menyimpan alamat blok yang belum tercakup pada I-nodes. Blok ini disebut dengan single indirect block. Dengan karakteristik yang sama maka jika filenya sangat besar akan dibutuhkan double indirect block, atau bahkan triple indirect block.
Halaman : 40
Implementasi DirektoriBerikut ini diperlihatkan implementasi direktori pada beberapa sistem operasi.
Direktori pada CP/M
bytes 1 8 3 1 2 16
1 nama file
user code extension block count extent
Direktori di MS-DOS
byte 8 3 1 10 2 2 2 4nama file ext atrb time date size
reserved nomor blok pertama
Direktori di UNIX
byte 2 14nomor I-node nama file
Direktori di UNIX cukup sederhana sebab semua atribut file disimpan pada I-nodes. Untuk itu yang perlu disimpan pada direktori hanya alamat I-node-nya saja.
File yang Digunakan Bersama (Shared Files)
Halaman : 41
Shared files diperlukan jika beberapa pemakai bekerja pada suatu sistem bersama. Shared files ini sebenarnya merupakan sebuah file tetapi dapat muncul di beberapa direktori sehingga juga dapat diakses oleh dari berbagai direktori (lihat gambar).Untuk menghindari inkonsistensi dalam pemakaian file oleh banyak pemakai, maka digunakan teknik symbolic linking, dimana hanya pemilik saja yang bisa menghapus file secara fisik. Pemakai lain hanya bisa menghapus linking-nya saja dan bukan filenya sendiri.
Pengelolaan Tempat Penyimpanan DiskBeberapa hal yang perlu diperhatikan dalam pengelolaan tempat penyimpanan disk (disk space management) antara lain :1. Ukuran blok2. Pengelolaan blok-blok yang belum terpakai
- Linked Lis- Bit Map
3. Penjatahan disk ( Disk quota )
Kehandalan Sistem FileKehandalan suatu sistem file meliputi hal-hal
yang berhubungan dengan keandalan sistem terhadap segala sesuatu yang bersifat destruktif terhadap
Halaman : 42
sistem. Sistem harus selalu berjalan dengan baik meskipun ada bagian yang rusak., atau setidaknya dapat berjalan normal kembali dengan usaha yang minimal.Hal-hal yang menyangkut kehandalan sistem file meliputi :1. Pengelolaan Blok yang rusak (Bad Block
Management)- Secara Hardware- Secara Software
2. Backup- Dengan sistem dua drive- Dengan cara incremental dumps yaitu suatu
cara backup secara periodik. 3. Konsistensi sistem file
Halaman : 43
PENGAMANANSistem file mengandung informasi yang sangat penting. Untuk itu usaha pengamanan terhadap sistem ini sangat diperlukan.
Lingkungan PengamananSistem file perlu dijaga dari kehilangan data dan pengaksesan data dari pihak yang tidak berhak.Kehilangan data dapat disebabkan oleh:- Aksi alam, seperti gempa bumi, banjir, dll- Kesalahan hardware atau software- Kesalahan manusia
Aksi-aksi luar yang merusak misalnya:-Aksi coba-coba dari pemakai di luar sistem-Aksi sengaja untuk ‘mengelabui’ sistem.-Aksi sengaja untuk mencari keuntungan.-Aksi sengaja dengan tujuan politis dll
Halaman : 44
Prinsip-prinsip Perancangan Pengamanan- Perancangan sistem harus bersifat publik- Default sistem harus “No Access”- Pemeriksaan otoritas harus selalu dilakukan
untuk setiap pengaksesan sumberdaya- Memberikan keistimewaan sesedikit mungkin- Mekanisme proteksi harus sederhana, seragam,
dan menyatu (built-in) dengan lapisan terendah dari sistem.
- Skema yang dipilih harus secara psikologis dapat diterima oleh pemakai.
Otentikasi PemakaiOtentikasi pemakai adalah suatu cara untuk mengenali pemakai pada saat login ke sistem. Tiga cara yang telah dikenal antara lain :1. Password2. Identifikasi Fisik3. Tindakan Balasan (countermeasures)
Halaman : 45
MEKANISME PROTEKSIMekanisme proteksi adalah cara sistem operasi memproteksi file dan sumber-sumber lainnya.
Domain ProteksiDomain proteksi adalah himpunan dari pasangan (objek, hak). Objek adalah segala sumber pada sistem yang perlu diproteksi. Objek dapat berupa hardware maupun software. Hak adalah aktivitas yang dapat dilakukan terhadap objek yang bersangkutan.
Domain Objek File1 File2 File3 Printer Plotter1 Plotter2
1 Read ReadWrite
Execute2 Read
WriteRead Write
3 Write ReadWrite
Write
Halaman : 46
Kelemahan : menghasilkan matriks yang ompong (sparse matrix) dan membutuhkan tempat yang besar. Alternatif lain untuk menyimpannya adalah dengan cara:1. Access Control List (ACL)
ACL adalah teknik untuk menyimpan matriks proteksi secara kolom per kolom. Contohnya adalah sebagai berikut.
File1: (Dom1,*,R),(Dom2,*,RW)File2: (Dom1,*,RWX)File3: (Dom2,*,R), dst
2. Capabilities List Pada C-list penyimpanannya adalah baris per baris.
Tipe Hak Objek0 File Read, Write Pointer to File11 File Read Pointer to File32 Printer Write Pointer to Printer
Ini adalah contoh C-list untuk Dom2.
Halaman : 47
Tiap C-list selalu mengandung tiga field tersebut yaitu field Tipe, Hak, dan Objek. Masing-masing pemakai kan mempunyai C-list ini.
Ada tiga cara untuk melindungi C-list ini dari aksi-aksi merusak, yaitu:
1. Tagged Architecture2. Menyimpan C-list dalam sistem operasi3. Menyimpan C-list dalam user space tetapi di-
enkripsi dengan kunci tertentu yang tidak diketahui oleh pemakai.
Perintah Proteksi (protection command) : CREATE OBJECT, DELETE OBJECT, CREATE DOMAIN, DELETE DOMAIN, INSERT RIGHT, dan REMOVE RIGHT.
Halaman : 48
KESIMPULAN
Dari sudut pandang pemakai :File merupakan kumpulan dari file dan direktori serta operasi yang berlaku di dalamnya. File dapat diberi nama, dihapus, di-copy, dsb. Direktori dapat di-create, dipindahkan, dsb. Hal-hal itulah yang terlihat dari sudut pandang pemakai (user’s point of view).
Dari sudut perancang sistem :Bagaimana struktur penyimpanannya di dalam diskBagaimana direktori diimplementasikanBagaimana inkonsistensi harus dihindari, dsbMasalah pengamanan dan proteksi sistem file
merupakan masalah yang harus dihadapi baik oleh pemakai maupun oleh desainer dalam konteks yang agak berlainan. Masalah yang dihadapi pemakai lebih ditekankan pada masalah moral pemakai sistem. Sedangkan masalah yang dihadapi oleh desainer adalah bagaimana membuat sistem file tersebut tangguh dan handal terhadap para perusak sistem.
INPUT OUTPUT
Halaman : 49
Prinsip-Prinsip Perangkat Lunak I/O
I/O Devices
Ada dua kategori I/O Devices, yaitu:
· Block Devices - Menyimpan informasi dalam blok-blok dengan ukuran yang tetap- Masing-masing memiliki alamat sendiri-sendiri - Blok-blok tersebut umumnya berukuran antara 128-1024 byte Contoh: disk, magnetic tape.
Halaman : 50
· Character Devices- Menerima informasi dalam bentuk deretan karakter- Tidak berbentuk struktur blok- Tidak memiliki alamat tertentuContoh : terminal, line printer, punched card, network interface dll.
Device Controllers
Unit-unit I/O terdiri dari :1. Komponen mekanik (perangkat fisik)2. Komponen elektronik (Device Controller atau Adapter)
Model komunikasi CPU - controller :- Single Bus Model (atau mini komputer)-I/O channel : multiple bus dan komputer I/O khusus (pada mainframe)
Halaman : 51
Fungsi controller : - Mengkonversikan aliran bit serial ke dalam bentuk blok-blok byte- Menangani perbaikan kesalahan seperlunya
Setiap controller memiliki sejumlah register untuk berkomunikasi dengan CPU.
CPU Memory DiskController
PrinterController
OtherController
ControllerDevice Interface
Printer
System Bus
Halaman : 52
Implementasi register : - Memori reguler (Memory-Mapped I/O) - Khusus untuk I/O, serta mengalokasikan setiap
controller secara pasti.
I/O Controller I/O Address Interrupt Vector
Clock 040 - 043 8Keyboard 060 - 063 9Secondary RS232
2FB - 2FF 11
Hard disk 320 - 32F 13Printer 378 - 37F 15Monochrome display
380 - 38F -
Color display 3D0 - 3DF -Floppy disk 3F0 - 3F7 14Primary RS232
3F8 - 3FF 12
Halaman : 53
Direct Memory Access (DMA)
Fungsi : membebaskan CPU dari pekerjaan transfer data ke memori
Interleaving: metoda pembacaan sektor-sektor dari satu track yang sama dengan cara melompat.Sebagai contoh adalah untuk membaca satu silinder secara lengkap diperlukan dua putaran penuh, pertama untuk blok genap dan berikutnya untuk blok ganjil. Banyaknya lompatan blok tersebut disesuaikan dengan kecepatan pemindahan satu blok dari controller ke memori melalui bus. Saat disk diformat, blok-blok akan diberi nomor sesuai dengan faktor interleave.
0 1 2
3456
7 0
1 2
3 3
4
45
566 7
7 0
1
2
(a) Tanpa Interleaving (b) Single Interleaving (c) Double Interleaving
Halaman : 54
Prinsip-Prinsip Perangkat Lunak I/O
Prinsip-prinsip yang perlu diperhatikan :
- Device Independent- Uniform naming- rror handling- Mempertimbangkan faktor sharable dan
Dedicated Device
Lapisan perangkat lunak I/O, yaitu :
1. Interrupt Handler2. Device Drive3. Device-independent operating system software4. User level software
Halaman : 55
Interrupt Handler
- Bagian paling bawah dalam sistem operasi- Menangani prosedur penanganan interupsi pada proses I/O
Device driver- Bersifat device-dependent- Menyampaikan perintah-perintah ke device
controller- Memastikan bahwa pekerjaan pada device
controller
Halaman : 56
Device Independent Operating System Software-Membuat antar muka yang seragam -Device Naming-Device Protection,-Mempersiapkan ukuran blok yang independent terhadap device-Membentuk buffering -Mengalokasikan penyimpanan pada block device -engalokasikan dan melepaskan dedicated device-Melaporkan kesalahan
Halaman : 57
User Level Software- Berupa prosedur pustaka (library procedure)- Dapat digunakan langsung oleh pemakai
Permintaan I/O Pengembalian I/O
Layer Fungsi-fungsi I/O
User processes pembuatan I/O call, format I/O, spooling
Device-independent Software
penamaan, proteksi, blocking, buffering, pengalokasian
Device drivers penyiapan register-register device, cek status
Interrupt Handlers pengaktifan driver setelah I/O selesai proses
Hardware pelaksanaan operasi I/O
Halaman : 58
DISK
Kelebihan :
- Kapasitas penyimpanan sangat besar- Harga per bit sangat murah- Informasi tidak akan hilang saat komputer dimatikan.
Disk Hardware
- Terdiri dari sejumlah silinder yang tersusun dalam track-track- Setiap track dibagi ke dalam sektor-sektor- Seluruh sektor memilki kapasitas penyimpanan yang sama
Waktu akses ditentukan oleh tiga faktor, yaitu :- Seek Time - Rotational Delay-ransfer Time
Halaman : 59
Algoritma Penjadwalan Lengan Disk (Disk Arm)
First-Come First-Served - Berdasarkan urutan kedatangan permintaan - Sederhana, tetapi tidak optimal
Sortest Seek First- Mecari silinder terdekat- Memiliki kelemahan jika pada pending request banyak yang meminta silinder yang berada di tengah-tengah
Posisi awal Pending Request
X X X X X X X
0 5 10 15 20 25 30
SilinderUrutan Pencarian
Halaman : 60
Elevator Algorithm
- Gerakan lengan seperti sebuah elevator- Terdapat dua teknik dalam algoritma elevator, yaitu dua arah atau satu arah penelusuran
Posisi awal Pending Request
X X X X X X X0 5 10 15 20 25 30
Silinder Urutan Pencarian
Halaman : 61
Kecenderungan teknologi disk :
- Seek time menjadi lebih pendek , tetapi rotational delay tetap - Adanya multiple disk yang bekerja bersama
Kesalahan-kesalahan pada disk :
- Programming error (contoh : meminta sektor yang tidak ada)- Transient checksum error (contoh : disebabkan oleh head yang kotor)- Permanent checksum error (contoh : kerusakan fisik blok disk)- Seek error (contoh : salah kirim, seharusnya menuju ke silinder 6 tapi sampai ke silinder 7 )- Controller error (contoh : controller menolak
menerima perintah).
Halaman : 62
Track-at-a-Time Caching
- Menyimpan pembacaan satu track ke buffer cache
- Meningkatkan kinerja akses ke disk
RAM Disk- Menggunakan RAM untuk menyimpan blok- blok dari block device- Meningkatkan kinerja akses ke disk- RAM disk dibagi ke dalam n blok sesuai dengan besar memori yang dialokasikan- Setiap blok memiliki ukuran yang sama- Transfer membaca dan menulis dilakukan dengan memanggil suatu prosedur bahasa assembly yang menyalin ke atau dari program pemakai dengan kecepatan maksimum yang dimungkinkan oleh hardware
Halaman : 63
Memori Utama (RAM)
Program-program pemakai
RAM disk
blok RAM Disk 1read & write blok RAM 0
Sistem Operasi
Halaman : 64
CLOCK
- Pada sistem timesharing berfungsi untuk :- Mengelola informasi waktu (time of day)- Mencegah monopoli CPU oleh suatu proses
Clock software secara umum berbentuk device driver.
Clock Hardware
Membangkitkan interrupt pada selang waktu tertentu.
Ada 2 type clock hardware :
- memanfaatkan siklus perubahan fasa tegangan listrik AC- programable clock (PC)
crystal oscilator
counter
holding register
Halaman : 65
Mode operasi pada PC :
- one-shot : 1. menyalin isi holding register untuk besaran
awal bagi counter,2. untuk setiap pulsa (dari oscilator), counter
dikurangi dengan 1 (decrement),3. jika counter bernilai 0, bangkitkan interrupt
dan berhenti hingga ada perintah start (clock) dari software.
- square-wave :seperti pada one-shot, tetapi setelah membangkitkan interrupt tidak berhenti dan isi holding register secara otomatis disalin ke counter, sehingga proses (1,2,3) di atas diulang terus-menerus.
Satu kali perioda pembangkitan interrupt disebut clock tick.
Kelebihan PC : frekuensi interrupt atau clock rate bisa diatur secara software dengan mengatur besaran pada holding register.
Halaman : 66
Clock Software
Berupa clock driver yang berfungsi untuk :
- Mengelola waktu sebenarnya (real time) Ada tiga pendekatan :1. dengan counter 64-bit. 2. increment counter tiap detik 3. waktu relatif sejak mesin dihidupkan
- Mencegah suatu proses berjalan lebih lama dari yang diperbolehkan. - Menghitung penggunaan CPU. - Menangani system call ALARM dari proses pemakai.- Memberikan watchdog timer untuk bagian system. - Melakukan pengambilan besaran statistik.
64 bit 32 bit 32 bitTime of day (TOD) dalam tick
TOD (detik)
jumlah tick tiap detik
counter dalam tick
system time
(1) (2) (3)
Halaman : 67
TERMINAL
Media bagi pemakai untuk dapat berkomunikasi dengan komputer
Terminal
interface interfaceRS-232 memory-mapped
Hardcopy Glass tty Intelligent BlitCharacter Bit
oriented oriented
Halaman : 68
Terminal Hardware
Terbagi menjadi dua jenis terminal :
1. Terminal dengan interface RS-232 standard
- Kelebihan RS-232 : merupakan standard dan pada setiap komputer minimal ada satu RS-232
- Kekurangan RS-232 : transfer / komunikasi lambat
- Dapat dibagi menjadi beberapa kategori :1) hardcopy (printing) :2) glass tty (dumb CRT) : 3) intelligent :4) blit :
Halaman : 69
2. Terminal dengan memory-mapped interface - Terhubung melalui memory khusus : video RAM
dan chip : video controller. - Chip ini mengambil byte-byte dari video RAM
dan membangkitkan sinyal video untuk mengendalikan layar.
- Layar biasanya terdiri dari 200 - 1200 baris yang masing-masing terdiri dari 200 - 1200 titik yang disebut pixel. Dapat berupa character oriented atau bit oriented.
1) Character oriented : 2) Bit oriented :
Halaman : 70
Terminal Sofware
Terdiri dari dua bagian :- Input software (contoh : keyboard) - Output software (contoh: layar)
Input Software
Berfungsi mengelola semua masukan dari perangkat masukan.
Output Software
Mengelola semua perintah cetak ke perangkat keluaran.