Anda di halaman 1dari 57

Sistem Operasi CII2H3

Overview Sistem Operasi


(Pertemuan ke-1)

Tim Dosen Sistem Operasi

Prodi S1 Teknologi Informasi


Fakultas Informatika
Universitas Telkom
Februari 2022
Review

Organisasi dan Arsitektur Komputer

Sistem Operasi – CII2H3/2022 # 1


Cara Kerja Komputer

• Siklus Instruksi:
– Fetch: mengambil instruksi dari memori

– Decode: menentukan arti instruksi

– Execute: eksekusi instruksi

Sistem Operasi – CII2H3/2022 # 2


Cara Kerja Komputer

https://computersciencewiki.org/index.php/The_machine_instruction_cycle

Sistem Operasi – CII2H3/2022 # 3


Cara Kerja Komputer

Sistem Operasi – CII2H3/2022 # 4


Cara Kerja Komputer

Sistem Operasi – CII2H3/2022 # 5


Interrupt - Polling

• CPU secara periodik memeriksa setiap device


untuk melihat apakah memerlukan layanan

• “Polling is like picking up your phone every few


seconds to see if you have a call”

Sistem Operasi – CII2H3/2022 # 6


Interrupt

• Tujuan: Untuk meningkatkan utilisasi CPU


• “An event external to the currently executing
process that causes a change in the normal flow of
instruction execution
• Usually generated by hardware devices external to
the CPU”
• “Interrupts are like waiting for the phone to ring”

Sistem Operasi – CII2H3/2022 # 7


Cara Kerja Interrupt
(proses view)

App OS

Sistem Operasi – CII2H3/2022 # 8


Cara Kerja Interrupt
(proses view)

Sistem Operasi – CII2H3/2022 # 9


Cara Kerja Interrupt
(proses view)

Sistem Operasi – CII2H3/2022 # 10


Interrupt Handler

• Merupakan subrutin/fungsi yang dijalankan kernel


sebagai respon dari interupt tertentu
• Pada Linux, interrupt handler adalah fungsi c
normal
• Interrupt handler harus berjalan sangat cepat agar
tidak menurunkan performansi

Sistem Operasi – CII2H3/2022 # 11


Overview Sistem Operasi

Sistem Operasi – CII2H3/2022 # 12


Apakah Sistem Operasi itu?

• Adalah program yang mengatur eksekusi


program aplikasi
• Merupakan penghubung (interface) antara
aplikasi dengan perangkat keras
• Merupakan jembatan penghubung antara
user dengan perangkat keras komputer

Sistem Operasi – CII2H3/2022 # 13


Struktur Hardware dan Software
Komputer

Sistem Operasi – CII2H3/2022 # 14


Sistem Operasi sebagai Interface
antara User dan Komputer (1)
• Layanan yang dapat disediakan Sistem Operasi:
– Mendukung pengembangan program aplikasi
• OS menyediakan fasilitas dan layanan (program utility)
untuk pengembangan program aplikasi, misal: editor dan
debugger
– Meng-eksekusi program
• Load data dan instruksi ke memori
• Inisialisasi I/O device dan resource lain
• Atur penjadwalan pengeksekusian program
– Menyediakan akses ke I/O device
• OS menyediakan interface yang seragam untuk berbagai
jenis I/O device yang berbeda dengan cara
menyembunyikan detail I/O tsb
→ Programmer cukup menggunakan perintah read dan
write sederhana Sistem Operasi – CII2H3/2022 # 15
Sistem Operasi sebagai Interface
antara User dan Komputer (2)
• Layanan yang dapat disediakan Sistem Operasi: (lanjutan)
– Mengontrol pengaksesan file
• OS menyediakan fasilitas untuk mengatur hak akses
terhadap file (read, write, hide)
– Mengontrol pengaksesan sistem
• OS dapat memproteksi resource dan data dari user yang
tidak berhak
• OS mencegah terjadinya rebutan resource
– Menyediakan data-data accounting (log)
• OS memonitor parameter performansi (misal response
time) → untuk perbaikan selanjutnya
• OS mengumpulkan statistik penggunaan resource →
untuk keperluan penagihan (pada sistem multi user)
Sistem Operasi – CII2H3/2022 # 16
Sistem Operasi sebagai Interface
antara User dan Komputer (3)
• Layanan yang dapat disediakan Sistem Operasi: (lanjutan)
– Men-deteksi kesalahan/error
• Kesalahan H/W, misal:
– Memory error
– Device failure
• Kesalahan S/W, misal:
– Arithmetic overflow
– Pembagian dengan nol
– Akses ke lokasi memori terlarang
– Kegagalan OS memenuhi request dari program aplikasi (time out)
• Memberikan respons terhadap error yang terjadi dengan
efek seminimal mungkin terhadap aplikasi yang sedang
berjalan dengan cara:
– Hentikan program penyebab error
– Mencoba kembali (retry)
– Hanya berupa laporan telah terjadi error

Sistem Operasi – CII2H3/2022 # 17


OS Sebagai Resource Manager (1)

• Komputer = kumpulan resource yang berfungsi untuk


memindahkan, memproses, dan
menyimpan data
– OS bertanggung jawab terhadap aktifitas tersebut
• Model kontrol oleh OS = model kontrol tidak lazim,
karena OS tidak selamanya menjadi pengontrol:
– OS = program yang dieksekusi oleh prosesor
• Saat OS dieksekusi → prosesor yang mengontrol OS
– Saat program lain (bukan OS) dieksekusi → OS menjadi
pengontrol
• Termasuk mengendalikan prosesor

Sistem Operasi – CII2H3/2022 # 18


OS Sebagai Resource Manager (2)

Kernel/nucleus:
•Bagian OS yang di
memori
•Fungsi yang sering
digunakan dan
bagian OS lain
yang sedang
digunakan

Sistem Operasi – CII2H3/2022 # 19


Mengapa Sistem Operasi Ber-
evolusi?
• Supaya dapat memanfaatkan kemajuan di bidang teknologi H/W
– H/W memori (RAM) berkembang sehingga dapat digunakan cara
pengaturan memori lebih baik (model paging atau segment)
→ OS diperbarui sehingga dapat memanfaatkan kemajuan di bidang H/W
tersebut
– H/W monitor (display) telah berkembang sehingga dapat menampilkan
informasi secara grafis (tidak hanya mode teks)
→ OS dikembangkan sehingga beberapa aplikasi dapat ditampilkan secara
bersamaan dalam “window”
• Ada penambahan layanan baru
– Misal: penambahan tool baru yang dapat meningkatkan performansi OS
• Koreksi terhadap kesalahan/bug
Apa ciri OS yang baik? (dilihat dari sisi perancang OS)
– tersusun secara modular
– interface antar modul terdefinisi dengan baik
– interface antar modul sesederhana mungkin
– terdokumentasi secara baik
Sistem Operasi – CII2H3/2022 # 20
Evolusi Sistem Operasi
• Serial Processing (1940 – 1950)
– User harus mengakses mesin (komputer) secara langsung
dan eksekusi job dilakukan satu per satu secara urut dan
bergantian
• Simple Batch System (1950)
– Beberapa job (program) yang akan diproses dikumpulkan
menjadi satu (menjadi sebuah batch) oleh operator
komputer sebelum diproses oleh komputer
• Multiprogrammed Batch System
– Job (program) yang diproses berjumlah lebih dari satu dan
diproses secara “bersamaan”
• Time-Sharing System (1961)
– Sebuah komputer (support multiprogramming) digunakan
oleh lebih dari satu user secara bersamaan untuk
mengerjakan interaktif job
Sistem Operasi – CII2H3/2022 # 21
Contoh Evolusi Berbagai Sistem
Operasi

https://www.yuksinau.id/sistem-operasi/

Sistem Operasi – CII2H3/2022 # 22


Serial Processing ≠ OS
• Programmer berinteraksi langsung dengan H/W komputer
• Tanpa sistem operasi
• Mesin dijalankan dari sebuah konsole yang dilengkapi dengan lampu display,
saklar, peralatan input, dan printer
• Masalah utama:
– Penjadualan:
• Sebelum menggunakan mesin → user harus memesan terlebih
dahulu
• Jika user memperkirakan job selesai dalam 1 jam dan ternyata selesai
dalam 45 menit → mesin menunggu sia-sia selama 15 menit
• Jika job tidak selesai dalam waktu yang telah ditentukan → harus
berhenti → bisa jadi harus diulangi dari awal
– Waktu setup:
• Setiap satu job membutuhkan satu persiapan tersendiri (loading
compiler, source program, penyimpanan compiled program, loading
dan linking)
• Bila terjadi error → setup harus dilakukan dari awal lagi → boros
waktu
Sistem Operasi – CII2H3/2022 # 23
Simple Batch System (1)
• Simple batch system  uniprogramming
• Tujuan: untuk meningkatkan utilisasi mesin
(komputer)
• Prinsip kerja:
– Digunakan sebuah software (“sistem operasi”) yang disebut
“monitor” yang berfungsi untuk mengatur urut-urutan
eksekusi job (program)
– User tidak langsung berinteraksi dengan komputer
– User mengirimkan job melalui card atau pita magnet
– Komputer dijalankan oleh operator
– Setiap job langsung dieksekusi setelah job yang di depannya
selesai dieksekusi → tidak ada waktu terbuang

Sistem Operasi – CII2H3/2022 # 24


Simple Batch System (2)
• Monitor di-load di
lokasi memori
tertentu
Punch card

Sistem Operasi – CII2H3/2022 # 25


Simple Batch System (3)

• Apa yang dilakukan monitor?


– Baca sebuah job yang ada di card atau tape
– Taruh job tersebut ke dalam area program user
– Serahkan kontrol (eksekusi) terhadap job tersebut
kepada prosesor
– Bila job selesai → ambil alih kontrol
– Kirim hasil job ke device output (printer)
– Baca job berikutnya

Sistem Operasi – CII2H3/2022 # 26


Simple Batch System (4)

• Apa yang dilakukan prosesor?


– Eksekusi instruksi (yang merupakan bagian dari
program monitor) yang ada di memori
• Prosesor sebagai pengendali
– Bila program yang dieksekusi adalah perintah
untuk membaca job, maka prosesor beralih dari
mengeksekusi program monitor menjadi
mengeksekusi program job
• Prosesor berubah dari pengontrol menjadi yang
dikontrol OS
– Demikian seterusnya sampai seluruh job selesai
dieksekusi

Sistem Operasi – CII2H3/2022 # 27


Feature Simple Batch System (1)

• Proteksi memori:
– Area program monitor dilindungi terhadap
pengaksesan oleh program user
• Bila terjadi pengaksesan ilegal→ ada pesan error →
job dibatalkan → eksekusi job berikutnya
• Timer:
– Setiap job diberi timer → job tidak boleh
memonopoli resource
– Bila waktu habis → program dihentikan →
prosesor mengembalikan kontrol ke monitor

Sistem Operasi – CII2H3/2022 # 28


Feature Simple Batch System (2)
• Instruksi eksklusif (Privileged instructions)
– Instruksi tertentu dilindungi dari pengaksesan oleh program
user dan hanya boleh diakses oleh monitor, misal perintah
ke I/O
– Program user yang akan mengakses I/O device harus
melalui monitor
• Bila user langsung mengakses I/O → ada pesan error → kontrol
diambil alih oleh monitor
– Tujuan:
• Untuk mencegah jangan sampai suatu program mengakses I/O device yang
sedang diakses oleh program lain
• Interrupts
– Fasilitas ini digunakan untuk memperbaiki perpindahan
kontrol antara program monitor dan program user secara
fleksibel
Sistem Operasi – CII2H3/2022 # 29
Mode pada Simple Batch
System
• User mode
– Adalah kondisi pada saat program user (job)
sedang dieksekusi oleh prosesor
– Protected memory dan privileged instructions
tidak boleh diakses
• Kernel mode
– Adalah kondisi pada saat program monitor (OS)
sedang dieksekusi oleh prosesor
– Protected memory dan priviledged instructions
boleh diakses

Sistem Operasi – CII2H3/2022 # 30


Kekurangan Simple Batch
System
• Apa kekurangan Simple Batch System?
– Terjadi overhead:
• Sebagian lokasi memori ditempati oleh monitor
• Sebagian waktu prosesor digunakan untuk
mengeksekusi monitor
• Waktu prosesor belum termanfaatkan secara
maksimal, mengapa?
– Prosesor sering idle (menganggur) karena I/O
device jauh lebih lambat dibanding prosesor

Sistem Operasi – CII2H3/2022 # 31


Contoh kasus Simple Batch
System
• Sebuah komputer akan membaca, memproses, dan
menyimpan kembali sebuah file ke media penyimpan
data (melalui I/O) yang menyimpan sejumlah record.
Jika:
– Waktu untuk membaca sebuah file = 15 µS
– Waktu untuk memproses sebuah file = 1 µS
– Waktu untuk menyimpan sebuah file = 15 µS
Maka:
– Total waktu yang diperlukan untuk mengolah sebuah file =
31 µS
– Utilisasi CPU = 1/31 = 0,032 = 3,2%
– 96,8% waktu CPU hanya untuk menunggu !!!

Sistem Operasi – CII2H3/2022 # 32


Eksekusi job pada Simple
Batch System

• Contoh komputer simple batch system :


– IBM 701 (1950)
– IBM 704
– IBM 7090/7094 (1960) dengan menggunakan sistem
operasi IBSYS

Sistem Operasi – CII2H3/2022 # 33


Multiprogrammed Batch System (1)

• Multiprogrammed batch system  multiprogramming 


multitasking  OS modern
• Tujuan: untuk meningkatkan utilisasi prosesor
• Contoh eksekusi multiprogram dengan 2 buah program:
– Program B dieksekusi pada saat program A sedang mengakses device
lain melalui I/O

Sistem Operasi – CII2H3/2022 # 34


Multiprogrammed Batch System (2)

• Contoh eksekusi multiprogram dengan 3 buah


program:
– Semakin banyak program yang dieksekusi → utilitas
prosesor semakin tinggi

Sistem Operasi – CII2H3/2022 # 35


Contoh kasus Multiprogrammed
Batch System (1)
• Ada 3 buah job (program) yang akan dieksekusi
melalui sebuah komputer yang mempunyai memori
250 MB (di luar OS), harddisk, terminal, dan printer
• Karakteristik masing-masing job adalah sbb:

Sistem Operasi – CII2H3/2022 # 36


Contoh kasus Multiprogrammed
Batch System (2)
• Hasil pengujian ditampilkan dalam Histogram utilitas sbb:

Sistem Operasi – CII2H3/2022 # 37


Contoh kasus Multiprogrammed
Batch System (3)
• Hasil perbandingan penggunaan uniprogramming dan
multiprogramming terhadap utilitas resource adalah
sbb:

Sistem Operasi – CII2H3/2022 # 38


Contoh kasus Multiprogrammed
Batch System (4)
• Apa yang dapat anda simpulkan dari histogram
utilitas tersebut?
– Waktu eksekusi multiprogramming 2 kali lebih
cepat dibanding uniprogramming
– Utilitas setiap resource komputer pada
multiprogramming lebih tinggi daripada
uniprogramming
– ............

Sistem Operasi – CII2H3/2022 # 39


Time Sharing System (1)
• Time sharing system  interactive mode  multi user
• Time sharing system adalah:
– Adalah sistem yang membagi waktu prosesor kepada
sejumlah user, sehingga semua user dapat mengakses
resource komputer secara bersamaan melalui terminal
(keyboard dan display) masing-masing
– Merupakan sistem multiprogramming yang dimanfaatkan
untuk menangani beberapa job interaktif
– Bila terdapat n user, maka setiap user mendapatkan giliran
waktu prosesor sebanyak 1/n dalam satu putaran
• User akan merasa “seolah-olah” menggunakan
sebuah komputer pribadi, mengapa…?

Sistem Operasi – CII2H3/2022 # 40


Time Sharing System (2)
• Mengapa timbul gagasan untuk membuat sistem
model time sharing ?
• Komputer telah dapat digunakan untuk melakukan
multiprogramming
– Pada tahun 1960 ukuran komputer sangat besar dan
sangat mahal → tidak realistis bila satu user satu
komputer
• Contoh: CTSS
– Compatible Time-Sharing System (CTSS) merupakan
sistem operasi model time sharing pertama yang
dikembangkan di MIT yang dijalankan pada komputer
IBM 709 (th 1961) dan IBM 7094
– CTSS dapat digunakan oleh 32 user bersama-sama

Sistem Operasi – CII2H3/2022 # 41


Contoh Kasus Time Sharing
System (1)
• Sebuah komputer CTSS mempunyai memori berkapasitas
32.000 word masing-masing 36 bit
• Program monitor berukuran 5.000 word, sehingga memori
yang tersisa untuk user sebanyak 27.000 word
• Setiap program user selalu diletakkan pada alamat 5.000
• Komputer menghasilkan clock interrupt setiap 0,2 detik
– Setiap user memperoleh slot waktu sebesar 0,2 detik
• Terdapat 4 user yang mempunyai job dan membutuhkan
memori sbb: JOB1=15.000, JOB2 = 20.000, JOB3 = 5.000, dan
JOB4 = 10.000
– Ruang memori yang tersedia < jumlah total memori yang
dibutuhkan user
– Data user di memori yang akan ditimpa oleh data user lain harus
dipindahkan ke harddisk
Sistem Operasi – CII2H3/2022 # 42
Contoh Kasus Time Sharing
System (2)
• Urut-urutan eksekusi job:

Sistem Operasi – CII2H3/2022 # 43


Contoh Kasus Time Sharing
System (3)
Keterangan gambar:
(a) JOB1 (15 K) dieksekusi dan menempati alamat 5.000 – 20.000
(b) JOB2 (20 K) dieksekusi dan menempati alamat 5.000 –
25.000
→ semua JOB1 dipindah ke disk
(c) JOB3 (5 K) dieksekusi dan menempati alamat 5.000 – 10.000
→ sebagian JOB2 dipindah (tidak semua) ke disk
→ hemat waktu penulisan
(d) JOB1 (15 K) dieksekusi lagi dan menempati alamat 5.000 –
20.000
→ JOB3 dan sebagian JOB2 dipindah ke disk
(e) JOB4 (10 K) dieksekusi dan menempati alamat 5.000 – 15.000
→ sebagian JOB1 dipindah ke disk
(f) JOB2 (20 K) dieksekusi lagi dan menempati alamat 5.000 –
25.000
→ semua JOB4 dan bagian JOB1 dipindah ke disk. Bagian
JOB2 di disk dipindahkan ke memori
Sistem Operasi – CII2H3/2022 # 44
Permasalahan Pada Time
Sharing
• Bagaimana cara mencegah agar suatu
program user tidak dapat mengakses data
user lain?
• Bagaimana cara agar suatu file tidak dapat
diakses oleh user yang tidak berhak?
• Bagaimana cara mencegah agar tidak terjadi
rebutan resource (misal printer dan
harddisk)?

Sistem Operasi – CII2H3/2022 # 45


Mode Operasi

• Mode operasi:
– User mode
– Kernel mode
• Alasan adanya 2 mode:
– Penting untuk
melindungi kernel dari
user
– Jika program user crash,
jangan sampai kernel
juga crash

Sistem Operasi – CII2H3/2022 # 46


User Mode

• The least-privileged mode of execution


• Certain regions of main memory and certain
machine instructions cannot be used in this
mode
• Semua proses user dieksekusi pada user mode

Sistem Operasi – CII2H3/2022 # 47


Kernel Mode

• A privileged mode of execution reserved for


the kernel of the operating system
• Typically, kernel mode allows access to regions
of main memory that are unavailable to
processes executing in a less-privileged mode,
and also enables execution of certain machine
instructions that are restricted to the user
mode
• Hanya kernel yang berada dalam kernel mode

Sistem Operasi – CII2H3/2022 # 48


Arsitektur Sistem Operasi

– Monolitic kernel
– Arsitektur microkernel
– Hybrid (gabungan antara monolitic kernel
dan microkernel)

Sistem Operasi – CII2H3/2022 # 49


Monolitic Kernel

• Monolitic kernel
– Arsitektur OS dengan semua komponen sistem
operasi berada di kernel (scheduling, file system,
networking, device drivers, memory management,
dll)
– Contoh:
• Unix, Linux, MS-DOS

Sistem Operasi – CII2H3/2022 # 50


Monolitic Kernel

Sistem Operasi – CII2H3/2022 # 51


Arsitektur Microkernel

• Arsitektur Microkernel
– Memisahkan kernel dengan layanan OS
– Sistem operasi model Microkernel terdiri dari 2
bagian:
• Kernel: terdiri dari interprocess communication (IPC),
penjadwalan dasar, dan ruang alamat
• Server:
• Terdiri dari semua layanan yang lain
• Berada pada user mode → diperlakukan sama
seperti program aplikasi
– Kelebihan:
(+) Implementasinya lebih sederhana
(+) Lebih fleksibel
(+) Sangat sesuai untuk lingkungan terdistribusi
Sistem Operasi – CII2H3/2022 # 52
Arsitektur Microkernel

Sistem Operasi – CII2H3/2022 # 53


Multiprogramming dan
Multiprocessing

Sistem Operasi – CII2H3/2022 # 54


Syscall

• Syscall merupakan cara yang bisa digunakan oleh


proses untuk minta layanan ke sistem operasi
• Layanan yang diminta berkaitan dengan
penggunaan resource seperti: harddisk, monitor,
printer, dll
• Syscall adalah interface
• Beberapa jenis syscall: open(), close(), write(),
fork()

Sistem Operasi – CII2H3/2022 # 55


Referensi:

[STA18] Stallings, William. 2018. Operating System: Internal


and Design Principles. 9th edition. Prentice Hall

Sistem Operasi – CII2H3/2022 # 56

Anda mungkin juga menyukai