2.+Struktur+Sistem+Operasi (2022)
2.+Struktur+Sistem+Operasi (2022)
STMIK Palangkaraya
2022
2021 CREATED BY Amaya Andri Damaini, S.Kom., M.T
Layanan Sistem Operasi
STMIK Palangkaraya
2022
2
Pengguna dan Antarmuka
Sistem Operasi
Command Interpreter, GUI, Touch Screen
STMIK Palangkaraya
2022
Command Line Interpreter
▸ Fungsi utama: untuk
mengambil dan
menjalankan
perintah yang
ditentukan oleh
pengguna.
STMIK Palangkaraya
2022
4
▸ Manipulasi file, process creation & management, I/O Handling,
Secondary-storage management, main memory management, file
system access, protection, networking.
Aero
▸ Linux: KDE,
GNOME, Xfce
▸ MacOS: Aqua
STMIK Palangkaraya
2022
6
Touch
Screen Interface
▸ MIUI (Xiaomi)
▸ One UI (Samsung)
▸ ColorOS (Oppo)
STMIK Palangkaraya
2022
7
“ Pilih antarmuka yang mana?
STMIK Palangkaraya
2022
8
System Calls
STMIK Palangkaraya
2022
System call menyediakan penghubung
(interface) ke layanan yang disediakan
oleh SO
Penggilan tersedia dalam bentuk fungsi
yang ditulis dalam bahasa C dan C++.
Untuk tugas tingkat rendah tertentu yang
membutuhkan akses langsung ke perangkat
keras, bisa berbentuk instruksi dalam
bahasa assembly.
STMIK Palangkaraya
2022
10
Contoh skema: Menulis program
sederhana untuk membaca data dari
satu file, kemudian disalin ke file yang
lain.
Input:
File Input
File Output
Perintah:
cp in.txt out.txt
STMIK Palangkaraya
2022
11
Pendekatan 2 (sistem interaktif):
meminta nama file kepada user
STMIK Palangkaraya
2022
12
▸ Pengguna memilih nama file sumber
menggunakan mouse
▸ Sebuah jendela akan muncul untuk
menentukan nama file tujuan.
▸ Setelah dua nama file diperoleh,
program harus membuka file input dan
membuat dan membuka file output
STMIK Palangkaraya
2022
13
Setiap kondisi error yang mungkin terjadi pada
setiap system call harus ditangani.
Contoh:
▸ Tidak ditemukan file input dengan nama program harus mengeluarkan pesan
kesalahan dan program akan berhenti
yang dimaksud atau akses file secara tidak normal
terproteksi
▸ Sudah ada file output dengan nama yang program akan dibatalkan atau file
yang ada dihapus dan dibuatkan yang
sama baru
STMIK Palangkaraya
2022
16
STMIK Palangkaraya
2022
17
Mengapa seorang programmer aplikasi lebih memilih pemrograman menurut
API daripada menjalankan System calls secara langsung?
1 2
Program yang dibuat dapat System Calls yang sebenarnya
dikompilasi dan dijalankan pada seringkali lebih detail dan sulit untuk
sistem apapun yang mendukung dikerjakan daripada API yang tersedia
API yang sama. untuk pemrogram aplikasi.
STMIK Palangkaraya
2022
18
RTE (Run-time Environment)
▸ RTE diperlukan untuk menjalankan aplikasi yang ditulis dalam Bahasa
pemrograman tertentu
▸ RTE menyediakan antarmuka panggilan sistem yang berfungsi sebagai
tautan ke panggilan sistem yang disediakan oleh sistem operasi.
STMIK Palangkaraya
2022
19
STMIK Palangkaraya
2022
20
Metode umum yang untuk melewatkan parameter ke
sistem operasi
1 2 3
Pass Parameter dalam register Menyimpan parameter ke Push (menyimpan) parameter
sebuah tabel di dalam memori, ke tumpukan(stack) oleh
dan alamat tabel dikenali program, dan diambil kembali
sebagai sebuah parameter dari antrian (pop off) oleh
dalam register. sistem operasi.
STMIK Palangkaraya
2022
21
Jenis System Calls
▸ Kontrol proses
▸ Manajemen file
▸ Manajemen perangkat
▸ Pemeliharaan informasi
▸ Komunikasi
▸ Perlindungan
STMIK Palangkaraya
2022
22
Kontrol proses
▸ create process, terminate process
▸ load, execute
▸ get process attributes, set process attributes
▸ wait event, signal event
▸ allocate and free memory
STMIK Palangkaraya
2022
23
STMIK Palangkaraya
2022
24
STMIK Palangkaraya
2022
25
Manajemen file
▸ create file, delete file
▸ open, close
▸ read, write, reposition
▸ get file attributes, set file attributes
STMIK Palangkaraya
2022
26
Manajemen perangkat
▸ request device, release device
▸ read, write, reposition
▸ get device attributes, set device attributes
▸ logically attach or detach devices
STMIK Palangkaraya
2022
27
Pemeliharaan informasi
▸ get time or date, set time or date
▸ get system data, set system data
▸ get process, file, or device attributes
▸ set process, file, or device attributes
STMIK Palangkaraya
2022
28
Komunikasi
Ada dua model Komunikasi antar proses yang umum digunakan:
▸ Model Message-Passing: Informasi saling dilakukan melalui fasilitas yang
telah ditentukan oleh sistem operasi
▸ Model Shared-Memory: Proses-proses menggunakan map memori untuk
menagakses daerah-daerah di memori dengan proses-proses yang lain
STMIK Palangkaraya
2022
29
Komunikasi
▸ create, delete communication connection
▸ send, receive messages
▸ transfer status information
▸ attach or detach remote devices
STMIK Palangkaraya
2022
30
Perlindungan
▸ get file permissions
▸ set file permissions
STMIK Palangkaraya
2022
31
Layanan-layanan Sistem
STMIK Palangkaraya
2022
▸ Manajemen file
▸ Informasi Status
▸ Modifikasi file
▸ Dukungan Bahasa pemrograman
▸ Pemuatan dan eksekusi program
▸ Komunikasi
▸ Layanan Background
STMIK Palangkaraya
2022
33
Linker dan Loader
STMIK Palangkaraya
2022
STMIK Palangkaraya
2022
35
Desain dan Implementasi
Sistem Operasi
STMIK Palangkaraya
2022
Tujuan Desain
▸ Desain sistem akan dipengaruhi oleh pilihan perangkat keras dan jenis
sistem: desktop/laptop tradisional, seluler, terdistribusi, atau real-time
▸ Tentukan kebutuhan/persyaratan sistem berdasarkan tujuan pengguna dan
tujuan sistem
▸ Sistem harus mudah dirancang, diimplementasikan, dan dipelihara; dan
harus fleksibel, andal, bebas kesalahan, dan efisien.
STMIK Palangkaraya
2022
37
Mekanisme dan Kebijakan
▸ Mekanisme menentukan bagaimana melakukan sesuatu
▸ Kebijakan menentukan apa yang akan dilakukan
▸ Perubahan kebijakan akan membutuhkan pendefinisian ulang parameter
tertentu dari sistem
STMIK Palangkaraya
2022
38
Implementasi
▸ Sistem operasi awal ditulis dalam bahasa assembly. Sekarang, sebagian
besar ditulis dalam bahasa tingkat tinggi seperti C atau C++, dengan
sejumlah kecil sistem yang ditulis dalam bahasa assembly.
▸ Keuntungan menggunakan bahasa tingkat yang lebih tinggi adalah kode
dapat ditulis lebih cepat, lebih ringkas, dan lebih mudah dipahami dan di-
debug.
▸ Kelemahan dari penerapan sistem operasi menggunakan Bahasa tingkat
tinggi yaitu kecepatan yang berkurang dan kebutuhan penyimpanan yang
meningkat.
STMIK Palangkaraya
2022
39
Struktur Sistem Operasi
STMIK Palangkaraya
2022
Struktur
Monolitik
▸ Tidak ada struktur sama sekali
▸ Semua fungsionalitas kernel
ditempatkan ke dalam satu file biner
statis yang berjalan dalam satu ruang
alamat.
STMIK Palangkaraya
2022
41
Pendekatan
Berlapis
▸ Sistem operasi dipecah menjadi
beberapa lapisan (level).
▸ Keuntungan: menyederhanakan
debugging dan verifikasi sistem
STMIK Palangkaraya
2022
42
Microkernels
▸ Menyusun sistem operasi dengan menghapus semua komponen yang tidak
penting dari kernel dan mengimplementasikannya sebagai program tingkat
pengguna yang berada di ruang alamat terpisah
▸ mikrokernel menyediakan proses minimal dan manajemen memori, selain
fasilitas komunikasi.
▸ Fungsi utama dari mikrokernel adalah untuk menyediakan komunikasi antara
program klien dan berbagai layanan yang juga berjalan di ruang pengguna.
STMIK Palangkaraya
2022
43
STMIK Palangkaraya
2022
44
Modules
▸ Kernel memiliki seperangkat komponen inti dan dapat terhubung ke layanan
tambahan melalui modul, baik pada saat boot atau selama run time
▸ Menyerupai sistem berlapis di mana setiap bagian kernel telah
mendefinisikan, antarmuka yang dilindungi; tetapi lebih fleksibel daripada
sistem berlapis, karena modul apa pun dapat memanggil modul lain.
▸ Mirip dengan pendekatan mikrokernel tetapi lebih efisien, karena modul
tidak perlu memanggil lewat pesan untuk berkomunikasi.
STMIK Palangkaraya
2022
45
Sistem Hybrid
▸ Menggabungkan struktur yang berbeda untuk menangani masalah kinerja,
keamanan, dan usability.
▸ Linux: monolitik dan modular
▸ Windows: monolitik dan microkernel
STMIK Palangkaraya
2022
46
STMIK Palangkaraya
2022
47
STMIK Palangkaraya
2022
48
STMIK Palangkaraya
2022
49
Membangun dan Mem-boot
Sistem Operasi
STMIK Palangkaraya
2022
Langkah-langkah Membangun
Sistem Operasi
1. Tulis kode sumber sistem operasi (atau dapatkan kode sumber yang ditulis
sebelumnya).
2. Konfigurasikan sistem operasi untuk sistem yang akan dijalankannya.
3. Kompilasi sistem operasi.
4. Instal sistem operasi.
5. Boot komputer dan sistem operasi barunya.
STMIK Palangkaraya
2022
51
(contoh) Membangun Sistem Operasi Linux
1. Unduh kode sumber Linux dari http://www.kernel.org.
2. Konfigurasi kernel menggunakan perintah "make menuconfig".
3. Kompilasi kernel utama menggunakan perintah "make".
4. Kompilasi modul kernel menggunakan perintah "make modules".
5. Gunakan perintah "make modules install" untuk menginstal modul kernel
ke vmlinuz.
6. Instal kernel baru pada sistem dengan memasukkan perintah "make
install".
STMIK Palangkaraya
2022
52
Sistem Boot
Pada kebanyakan sistem, proses boot berlangsung sebagai berikut:
1. Sepotong kecil kode yang dikenal sebagai program bootstrap atau boot
loader menempatkan kernel.
2. Kernel dimuat ke dalam memori dan dimulai.
3. Kernel menginisialisasi perangkat keras.
4. Sistem file root sudah terpasang.
STMIK Palangkaraya
2022
53
Debugging Sistem
Operasi
STMIK Palangkaraya
2022
Analisis Kegagalan
▸ Jika suatu proses gagal, sebagian besar sistem operasi menulis informasi
kesalahan ke file log untuk memperingatkan administrator sistem atau
pengguna bahwa masalah telah terjadi.
▸ Kegagalan di kernel disebut crash. Saat terjadi crash, informasi kesalahan
disimpan ke file log, dan status memori disimpan ke crash dump.
STMIK Palangkaraya
2022
55
Pemantauan dan Penyetelan Kinerja
STMIK Palangkaraya
2022
56
Counter
▸ Sistem operasi melacak aktivitas sistem melalui serangkaian penghitung,
seperti jumlah panggilan sistem yang dilakukan atau jumlah operasi yang
dilakukan ke perangkat jaringan atau disk
STMIK Palangkaraya
2022
57
Counter
Contoh Tools Linux yang menggunakan counter:
▸ Per-proses: ps
▹ ps—melaporkan informasi untuk satu proses atau pemilihan proses
▹ top—melaporkan statistik real-time untuk proses saat ini
▸ System-wide:
▹ vmstat—melaporkan statistik penggunaan memori
▹ netstat—melaporkan statistik untuk antarmuka jaringan
▹ iostat—melaporkan penggunaan I/O untuk disk
STMIK Palangkaraya
2022
58
Penelusuran (tracing)
Contoh alat Linux yang melacak event:
▸ Per-Proses
▹ strace—melacak panggilan sistem yang dipanggil oleh suatu proses
▹ gdb—debugger tingkat sumber
▸ Seluruh Sistem
▹ perf—kumpulan alat kinerja Linux
▹ tcpdump—mengumpulkan paket jaringan
STMIK Palangkaraya
2022
59
THANKS!
Any questions?
Referensi:
▸ Operating System Concept: Chapter 2
▸ Teori dan Praktek Sistem Operasi: Struktur
Sistem Operasi
STMIK Palangkaraya
2022
60