Pengenalan Sistem Operasi

advertisement
Struktur Sistem Komputer
Pengampu Mata Kuliah
Casi Setianingsih (CSI)
Hp : 081320001220 (WA Only)
Email Tugas : [email protected]
Email Tel-U :
[email protected]
Komposisi Penilaian
Quiz
Tugas
UTS
UAS
= 10%
= 30%
= 25%
= 35%
Toleransi : 20mnt
Kennedy = 08116918113
ARSITEKTUR UMUM
SISTEM KOMPUTER
Sistem Komputer
• Sistem komputer terdiri atas CPU dan sejumlah
perangkat pengendali yang terhubung melalui
sebuah bus yang menyediakan akses ke
memori
• Setiap device controller (pengendali)
bertanggung-jawab atas sebuah hardware
spesifik.
• Setiap device (I/O) dan CPU dapat beroperasi
secara konkuren (bersamaan) untuk
mendapatkan akses ke memori -> masalah
sinkronisasi.
• Sebuah memory controller ditambahkan untuk
sinkronisasi akses memori
PROSESOR
PROSESOR
• Berfungsi mengendalikan operasi
komputer & melakukan fungsi pemrosesan
data. Langkah-langkah yang dilakukan
pemroses :
– mengambil instruksi yang dikodekan secara
biner dari memori utama
– mendekode instruksi menjadi aksi-aksi
sederhana
– melaksanakan aksi – aksi
Prosesor
• Operasi yang ada di komputer : operasi
logika, operasi aritmatika, operasi
pengendalian
• Prosesor terdiri dari :
– Control unit (CU) – mengendalikan operasi
– Arithmetic Logic Unit (ALU) – komputasi
(aritmatika dan logika)
– Register-register – memori cepat sebagai
tempat operasi
Register Prosesor
• Mengakses memori utama untuk
mengambil instruksi memerlukan waktu
lebih banyak daripada menjalankannya –
diatasi dengan adanya register di
prosesor
• Untuk menyimpan variabel-variabel
utama dan hasil sementara – sebagai
tempat pemrosesan
Register Prosesor
• Program counter – berisi alamat memori
dari instruksi selanjutnya yang akan
diambil
• Stack pointer – pointer yang menunjukkan
bagian atas dari suatu stack di memori
• Program status word – menyimpan status
/ keadaan dari program yang dijalankan
prosesor
MEMORY
Jenis Memori
• Main memory : media storage yang dapat
diakses langsung oleh CPU, kapasitas
kecil, volatile
– Volatile : isi data hilang jika power dimatikan
• Secondary storage : penyimpanan data
dengan kapasitas besar, non-volatile
– Non-volatile : data masih tersimpan walaupun
power dimatikan
Register
• Bersifat volatile
• Berisi data yang akan diolah langsung di
prosesor
• Kecepatan sangat tinggi.
• Kapasitas terbatas
• Sebagai tempat perhitungan/komputasi
data
Cache Memory
• Bersifat volatile
• Meningkatkan kecepatan pengambilan dan
penyimpanan data di memori oleh prosesor
• Jika program membutuhkan data di memori,
cache akan mengecek apakah ada, jika ada
dinamakan cache hit, jika tidak ada maka
akan mencari ke RAM, dengan konsekuensi
waktu yg dibutuhkan jd lebih lama
• Beberapa mesin mempunyai 2 / 3 level
cache, masing2 lebih besar kapasitasnya dan
lebih lambat daripada sebelumnya
Random Access Memory (RAM)
• Bersifat volatile
• Permintaan CPU yang tidak dapat
dipenuhi di cache, akan menuju ke RAM
Memori Sekunder
• Non-volatile
• Kapasitas besar, harga murah
• Kecepatan lebih rendah dari memori
utama
• Contoh : Flash Drive, Optical Disc,
Magnetic Disk, MagneticTape
PERALATAN INPUT OUTPUT
• Terdiri 2 bagian :
• Komponen elektronis : Controller /
pengendali perangkat
• Komponen mekanis : Perangkat itu sendiri
• Pengendali perangkat adalah
serangkaian chip yang secara fisik
mengendalikan perangkat.
• Jenis tiap pengendali berbeda diperlukan software yang berbeda juga
untuk mengendalikannya – device driver
ARSITEKTUR UMUM
SISTEM KOMPUTER
Device Driver
• Berjalan di kernel
• Kernel adalah sebuah perangkat lunak yang
membuat komunikasi / mediator antara
aplikasi komputer dan perangkat keras
Device Driver
• Tiga cara memasukkan driver ke kernel :
• Menghubungkan kembali kernel dengan driver
yang baru kemudian restart sistem. Banyak
digunakan oleh sistem berbasis UNIX
• Masuk ke file sistem operasi dan memberitahu
bahwa membutuhkan driver kemudian restart
sistem. Saat boot semua driver yang diperlukan
di-load. Digunakan oleh Windows
• OS mampu menerima driver baru tanpa harus
restart. Contoh : USB flash disk
Metode I/O
• Pada saat operasi I/O dijalankan ada dua
kemungkinan, yaitu :
1. Synchronous – menunggu sampai proses I/O selesai
• Sebuah thread memulai operasi I/O kemudian akan masuk
ke state wait (tunggu) sampai operasi I/O selesai
• Ketika dalam state wait, CPU idle
2. Asynchronous – proses lain dapat berjalan walaupun
operasi I/O belum selesai
• Sebuah thread mengirim permintaan I/O ke kernel dengan
memanggil fungsi yang cocok, jika diterima oleh kernel,
thread akan melanjutkan proses yang lain sampai kernel
memberitahu bahwa operasi I/O sudah selesai. Kemudian
thread tersebut akan melakukan interupsi terhadap proses
yang sedang dikerjakannya dan memproses data operasi
I/O
Metode I/O
Direct Memory Access (DMA)
• Perangkat pengendali memindahkan data
dalam blok-blok dari buffer langsung ke
memory utama atau sebaliknya tanpa
campur tangan prosesor.
• Interupsi hanya terjadi tiap blok bukan
tiap word atau byte data.
• Seluruh proses DMA dikendalikan oleh
sebuah controller bernama DMA
Controller (DMAC).
Direct Memory Access (DMA)
• DMA Controller mengirimkan atau
menerima signal dari memori dan I/O
device.
• Prosesor hanya mengirimkan alamat awal
data, tujuan data, panjang data ke
pengendali DMA.
• Interupsi pada prosesor hanya terjadi saat
proses transfer selesai.
Proses DMA
Device-Status Table
BUS
• Jalur komunikasi antara beberapa device
yang berbeda
• Terdiri 3 macam :
– Bus alamat – jalur komunikasi alamat
– Bus data – jalur komunikasi data
– Bus kendali – jalur sinyal kendali (misal :
read/write)
Bus (Dahulu)
Bus (Sekarang)
• FSB – bus utama berkecepatan tinggi
yang menghubungkan RAM, Prosesor,
GPU(VGA AGP)
• Bridge - Perangkat lain yang lebih lambat
dihubungkan bus berkecepatan lebih
rendah yang terhubung ke bus lain yang
lebih cepat sampai ke bus utama
INTERUPSI
• Interupsi (interrupt) adalah suatu permintaan
khusus
pada
mikroprocessor
untuk
melakukan sesuatu
•
jika terjadi interupsi maka komputer akan
menghentikan dahulu apa yang sedang
dikerjakan dan melakukan apa yang di minta
• setelah selesai maka aliran program akan
kembali melanjutkan program sebelum
terjadinya interupsi.
INTERUPSI
• Interupsi merupakan sub rutin yang sudah
tersedia dalam memori komputer.
• Nomor interupsi 0 s/d 1Fh disediakan oleh
ROM BIOS
• Jadi jika terjadi interupsi dengan nomor 0 s/d
1Fh maka secara default komputer akan
beralih ke ROM BIOS dan melaksanakan
program yang terdapat disana.
• Program yang melayani suatu interupsi
dinamakan Interrupt Handler, dan hanya
dijalankan jika terjadi sesuatu kejadian
khusus (event).
INTERUPSI
• Interupsi dari hardware biasanya dikirimkan
melalui sinyal tertentu
• Interupsi software dengan cara menjalankan
system call. System call ini akan
menyebabkan trap / exception (interupsi
khusus yang dihasilkan software karena
adanya masalah atau permintaan terhadap
OS)
Interupsi
• Setiap interupsi terjadi, sekumpulan kode yang
dikenal sebagai ISR (Interrupt Service Routine)
akan menentukan tindakan yang akan diambil.
• Untuk menentukan tindakan yang harus
dilakukan, dapat dilakukan dengan dua cara
yaitu :
• polling yang membuat komputer memeriksa satu
demi satu perangkat yang ada untuk menyelidiki
sumber interupsi
• menggunakan alamat-alamat ISR yang disimpan
dalam array yang dikenal sebagai interrupt vector
di mana sistem akan memeriksa Interrupt Vector
setiap kali interupsi terjadi.
PROTEKSI PERANGKAT
KERAS
• OS akan memproteksi perangkat keras
disebabkan banyaknya penggunaan
sumber daya di komputer
• Supaya jika ada satu program yang tidak
bekerja maka tidak akan menganggu
kinerja OS maupun program lain yang
sedang berjalan
Proteksi Perangkat Keras
• spooling - suatu program dapat dikerjakan walau
pun I/O masih mengerjakan proses lainnya dan
disk secara bersamaan menggunakan data
untuk banyak proses.
• multi programming adalah kegiatan menjalankan
beberapa program pada memori pada satu
waktu.
• Masalah - jika terjadi kesalahan pada satu
proses/ program akan berpengaruh pada proses
lainnya – diperlukan proteksi
Proteksi Perangkat Keras
• Jika terjadi kesalahan program, perangkat keras
akan meneruskan kepada sistem operasi dan
sistem operasi akan menginterupsi dan
mengakhirinya.
• Pesan kesalahan disampaikan, dan memori dari
program akan dibuang. Tapi memori yang
terbuang biasanya tersimpan pada disk agar
programmer bisa membetulkan kesalahan dan
menjalankan program ulang.
Proteksi Perangkat Keras
•
•
•
•
Dual-mode Operation
I/O Protection
Memory Protection
CPU Protection
Operasi Dual Mode
• Menyediakan dukungan perangkat keras
untuk membedakan minimal dua mode
operasi yaitu :
– Mode Monitor/Kernel/System – eksekusi
dikendalikan OS
– Mode Pengguna – eksekusi dikendalikan user
Operasi Dual Mode
• Ketika interrupt atau kesalahan terjadi hardware
di-switch ke monitor mode
Proteksi I/O
• Tidak bisa mengerjakan instruksi I/O
secara langsung ke memori tapi harus
lewat sistem operasi terlebih dahulu
(privileged instructions).
Proteksi I/O
Proteksi Memori
• Pembatasan penggunaan memori.
• Prosedur proteksi memory, tambahkan dua
register yang menentukan range legal address
akses program :
– Base Register - alamat memori fisik awal yang
dialokasikan/ boleh digunakan oleh pengguna.
– Limit Register - nilai batas dari alamat memori fisik
awal yang dialokasikan/boleh digunakan oleh
pengguna.
• Memory diluar range yang didefinisikan
diproteksi
Penggunaan Base and Limit
Register
Penggunaan Base and Limit
Register
• Sebagai contoh pengguna dibatasi :
– base register 1000
– limit register 500
– hanya diperbolehkan menggunakan alamat
memori fisik antara 1000 hingga 1500 saja.
Proteksi CPU
• Timer – interrupt komputer setelah periode
tertentu untuk memastikan OS memegang
kendali, ketika nilai timer = 0, interrupt terjadi
• Timer biasanya digunakan untuk implementasi
time sharing (pembagian waktu)
Download