Sistem Operasi
Sistem Operasi
Windows 8
Kelompok 5B
5
MS - DOS
• Sistem Operasi 16-bit yang bersifat
“single-user” yang berorientasi pada
perintah pengguna dan terdiri dari 8 KB
memori
• MS-DOS terus berkembang dengan
menambahkan lebih banyak fitur dan
kemampuan.
• Pada tahun 1986, ketika IBM
membangun IBM-PC/AT berdasarkan
intel 286, MS-DOS telah berkembang
menjadi 36 KB, namun terus menjadi
sistem operasi berbasis perintah.
6
Sejarah Windows Sampai Windows 8.1
1. 1980 : MS-DOS
2. 1990-an : MS-DOS based WINDOWS
3. 2000-an : NT-based WINDOWS
4. WINDOWS VISTA
5. 2010-an : MODERN WINDOWS
7
MS-DOS-based Windows
9
Sejarah Windows Sampai Windows 8.1
1. 1980 : MS-DOS
2. 1990-an : MS-DOS based WINDOWS
3. 2000-an : NT-based WINDOWS
4. WINDOWS VISTA
5. 2010-an : MODERN WINDOWS
10
2000-an: NT-based Windows
• Pada akhir tahun 1980an, Microsoft menyadari bahwa
mengembangkan sistem operasi dengan MS-DOS di pusatnya
bukanlah cara terbaik
• Perangkat keras PC terus meningkat dalam kecepatan dan
kemampuan
• Microsoft juga khawatir bahwa Intel mungkin tidak terus bersaing
• Microsoft merekrut sekelompok insinyur dari DEC (Digital Equipment
Corporation) yang dipimpin oleh Dave Cutler, salah satu perancang
utama sistem operasi DEC's VMS (antara lain)
• Cutler disewa untuk mengembangkan sistem operasi 32-bit untuk
mengimplementasikan OS / 2, sistem operasi API dikembangkan
Microsoft bersama IBM saat itu disebut sistem NT OS / 2.
11
2000-an: NT-based Windows (lanj.)
• NT dirancang untuk menjadi portabel di berbagai prosesor dan
menekankan keamanan dan kehandalan serta kompatibilitas dengan
versi Windows berbasis MS-DOS
• NT dirancang pada awal 1990-an, ketika multiprosesor, 32-bit,
multimegabyte, sistem memori virtual biasa terjadi.
• Versi pertama Windows berbasis NT (Windows NT 3.1) dirilis pada
tahun 1993
• Seperti versi pertama Windows berbasis MS-DOS, Windows berbasis
NT awalnya tidak berhasil.
• NT membutuhkan lebih banyak memori, dan tidak kompatibel
dengan driver dan aplikasi perangkat menyebabkan pelanggan
bertahan dengan Windows berbasis MS-DOS
12
2000-an: NT-based Windows (lanj.)
13
2000-an: NT-based Windows (lanj.)
14
Sejarah Windows Sampai Windows 8.1
1. 1980 : MS-DOS
2. 1990-an : MS-DOS based WINDOWS
3. 2000-an : NT-based WINDOWS
4. WINDOWS VISTA
5. 2010-an : MODERN WINDOWS
15
Windows Vista
16
Windows Vista (lanj.)
17
Sejarah Windows Sampai Windows 8.1
1. 1980 : MS-DOS
2. 1990-an : MS-DOS based WINDOWS
3. 2000-an : NT-based WINDOWS
4. WINDOWS VISTA
5. 2010-an : MODERN WINDOWS
18
Windows Modern
19
Windows Modern (lanj.)
20
Windows Modern (lanj.)
• Akhirnya Windows mengalami evolusi yang lebih besar
daripada Windows Vista, yang menghasilkan Windows 8
• Windows 8 dibangun di atas pendekatan MinWin modular yang
digunakan Microsoft pada Windows 7 untuk menghasilkan inti
sistem operasi kecil yang dapat diperluas ke perangkat yang
berbeda.
• Pendekatan ini berhasil diaplikasikan pada Windows Phone 8,
yang sebagian besar berbagi binary code dengan versi desktop
dan server Windows.
• Apa yang membuat Windows 8 menjadi bagian dari era
Windows Modern adalah perubahan mendasar dalam model
pemrograman 21
PROGRAMMING WINDOWS
The Native NT Application Programming
Interface
• Sistem NT tidak terlalu berubah dari rilis ke rilis, Microsoft
memilih aplikasi yang ditulis untuk Windows didasarkan pada
Win32 karenanya lebih cenderung bekerja dengan basis MS-
DOS dan Sistem Windows berbasis NT, dan karena API Win32
umum untuk keduanya.
• Sebagian besar sistem NT beroperasi pada objek mode kernel
dari satu jenis atau lainnya, termasuk file, proses, threads, pipes,
semaphore, dan sebagainya.
23
The Native NT Application Programming
Interface (lanj.)
24
The Native NT Application Programming
Interface (lanj.)
• Di API NT asli, system call tersedia untuk membuat objek mode-
kernel baru atau mengakses yang sudah ada.
• Setiap system call membuat atau membuka objek
mengembalikan hasil yang disebut a handler of caller.
• selanjutnya Handler dapat digunakan untuk melakukan operasi
pada objek
• Tidak semua struktur data yang dibuat oleh sistem adalah objek
dan tidak semua objek adalah objek kernel mode.
• Objek kernel mode adalah yang perlu dipanggil, dilindungi,
atau dibagi dalam beberapa cara.
25
The Native NT Application Programming
Interface (lanj.)
• Biasanya mewakili beberapa jenis abstraksi pemrograman yang
diimplementasikan di kernel.
• Berikut contoh API asli yangmenggunakan pegangan eksplisit
untuk memanipulasi objek mode kernel seperti proses, threads,
port IPC.
26
Win32 API
• Pemanggilan fungsi Win32 secara
kolektif
• Didokumentasikan secara lengkap,
untuk umum bersifat disclosed
• Berisi prosedur yang “membalut” NT
system call asli yang digunakan untuk
menyelesaikan suatu pekerjaan
• Mempunyai special execution
environments :
• WOW32 (Windows-on-Windows)
• WOW64
29
Security (in Win32 API)
• ACL (Access Control List) dengan sangat terperinci yang dapat
diakses pengguna dan operasi mana yang mungkin mereka
lakukan di dalamnya.
• Pendekatan ini menyediakan keamanan di mana pengguna
tertentu dapat diizinkan atau menolak akses khusus ke setiap
objek.
• Model keamanan dapat diperluas, memungkinkan aplikasi
menambahkan peraturan keamanan baru, seperti membatasi
akses berdurasi berapa jam yang diizinkan.
30
Mode GUI (in Win32 API)
• API Win32 mendukung banyak fungsi untuk operasi GUI, termasuk
semua panggilan untuk mengelola antarmuka grafis sistem.
• Ada panggilan untuk menggambar geometric figures, fills,
mengelola color palletes yang digunakan, berurusan dengan font,
dan menempatkan ikon di layar.
• Ada panggilan untuk menangani keyboard, mouse dan perangkat
input manusia lainnya serta perangkat audio, percetakan, dan
perangkat output lainnya.
• Operasi GUI bekerja secara langsung dengan driver win32k.sys
menggunakan antarmuka khusus untuk mengakses fungsi ini
dalam mode kernel.
31
WINDOWS REGISTRY
Windows Registry
• Sebelum diperkenalkannya registry,
informasi konfigurasi di Windows
disimpan dalam ratusan berkas .ini
• Registry mengumpulkan file-file .ini ke
dalam sebuah store terpusat, yang
tersedia di awal proses booting sistem.
• Untuk menjelajahi registry Windows
memiliki program GUI yang disebut
Regedit
• Selain itu, ada procmon untuk
mengawasi semua akses registri yang
terjadi di sistem.
37
Executive Layer
• Executive layer pada Windows ditulis dalam bahasa C, sebagian
besar arsitekturnya bersifat independen
• Executive berisi sejumlah komponen yang berbeda, yang
semuanya menggunakan abstraksi kontrol yang disediakan oleh
lapisan kernel.
• Seperti kebanyakan sistem operasi, sebagian besar fungsi
executive di Windows sama seperti kode library, (kecuali yang
berjalan dalam mode kernel).
38
Object Manager
• Mengelola sebagian besar objek mode-kernel yang
digunakan di lapisan eksekutif Ini termasuk proses,
threads, file, semaphore, perangkat I / O dan driver,
timer, dan banyak lainnya
• Fasilitas yang disediakan object manager meliputi
• pengelolaan alokasi dan pembebasan memori untuk object,
• quota accounting,
• Akses pendukung terhadap objek yang menggunakan handles,
• Mempertahankan jumlah referensi untuk referensi pointer
kernel-mode serta menangani referensi, memberi nama objek
di namespace NT,
• Menyediakan mekanisme yang dapat diperluas untuk
mengelola siklus hidup untuk setiap object.
39
I/O Manager
40
Device Drivers
• Di Windows, driver perangkat tidak hanya mengelola perangkat
fisik namun juga memberikan extensibility ke dalam sistem
operasi.
• Banyak fungsi yang dicompile ke kernel pada sistem lain bersifat
dynamically loaded dan dihubungkan oleh kernel pada Windows,
termasuk tumpukan protokol jaringan dan file system.
• Versi terbaru Windows memiliki lebih banyak dukungan untuk
menjalankan device driver dalam mode user.
• Sebagian besar subsistem Win32 dimuat sebagai driver
• Jika driver dijalankan pada mode kernel, dan driver tersebut
memiliki bug, akan menyebabkan BSOD.
41
BSOD
Blue Screen of Death (BSOD) pada Windows 8.1
BOOTING WINDOWS
Skema booting pada Windows 8.1
Booting Windows
Komputer dinyalakan 1
Langkah-langkah yang dibutuhkan/ dijalankan:
Prosesor akan diinisialisasi pertama kali,
kemudian mulai menjalankan program pada
Firmware 2 Menjalankan Firmware
48
Struktur Objek
• Object memiliki struktur,
seperti gambar di samping.
• Setiap objek berisi header
dengan informasi tertentu
yang umum.
• Bidang di header ini
menyertakan nama objek,
direktori objek pada
namespace NT, dan sebuah
pointer ke deskriptor
keamanan yang mewakili ACL
untuk objek.
49
49
Struktur Objek (lanj.)
• Object manager
menerapkan mekanisme
yang disebut referenced
pointer
• Hanya ada beberapa saat
ketika sebuah objek dapat
dihapus oleh thread lain.
50
50
Handles
• Referensi mode user ke objek mode kernel tidak dapat
menggunakan pointer karena terlalu sulit untuk divalidasi.
• Sebagai gantinya, objek mode kernel harus dinamai dengan cara
lain sehingga kode pengguna dapat merujuknya.
• Windows menggunakan handles untuk merujuk ke objek di
mode kernel.
• Handles adalah nilai “buram” yang dikonversi oleh object
manager menjadi referensi ke struktur data di mode kernel
tertentu yang mewakili suatu objek.
51
51
Handles (lanj.)
• Gambar 11-16 menunjukkan
struktur data handle table yang
digunakan untuk
menerjemahkan handles ke
dalam object pointers.
• Handle table diperluas dengan
menambahkan layer tambahan
secara tak langsung (indirection).
• Setiap proses memiliki tabel
tersendiri, termasuk proses
sistem yang berisi semua kernel
threads yang tidak terkait
dengan proses mode pengguna.
52
52
Handles (lanj.)
53
53
Object Namespace
54
54
Object Namespace (lanj.)
59
Subsystems
• Subsistem dipandang sebagai cara untuk mendukung
beberapa kepribadian sistem operasi dengan perangkat
lunak dasar yang sama yang berjalan dalam mode
kernel.
• Subsistem merupakan usaha untuk menghindari agar
sistem operasi bersaing untuk platform yang sama,
Contohnya yang dilakukan VMS dan Berkeley UNIX
pada VAX DEC.
60
Dynamic Link Library (DLL)
62
User Mode Services
• Windows membuat penggunaan sistem layanan mode
user secara signifikan untuk memperluas fungsionalitas
sistem.
• Beberapa layanan ini sangat terkait dengan
pengoperasian komponen mode kernel, contohnya
lsass.exe.
• User-mode Plug-and-play manager bertanggung
jawab untuk menentukan driver yang benar untuk
digunakan saat perangkat keras baru ditemukan.
• Taskmgr.exe Windows memiliki tab yang
mengidentifikasi layanan yang berjalan pada sistem.
• Beberapa layanan dapat dilihat berjalan dalam proses
yang sama (svchost.exe).
63
PROCESSES AND THREADS
IN WINDOWS
Processes and Threads In Windows
Windows memiliki sejumlah konsep untuk mengelola sumber daya CPU
dan pengelompokan bersama dan juga beberapa hal dari panggilan API
Win32 yang relevan.
Konsep Fundamental
• Pada OS Windows, process adalah wadah untuk program yang
memegang alamat virtual ruang, pegangan yang mengacu pada objek
mode kernel, dan benang.
• Process berperan sebagai wadah untuk threads yang menyimpan sumber
daya umum yang digunakan untuk eksekusi thread, seperti pointer ke
struktur kuota, objek token bersama, dan default Parameter yang
digunakan untuk menginisialisasi thread-termasuk kelas prioritas dan
penjadwalan.
65
Processes and Threads In Windows
Konsep Fundamental (lanj.)
• Setiap proses memiliki data sistem mode pengguna, disebut PEB
(Process Environment Blok). PEB mencakup daftar modul yang dimuat
(yaitu, EXE dan DLLs).
67
Processes and Threads In Windows
Implementasi Proses dan Threads
Sebuah proses dibuat saat proses lain membuat panggilan Win32
CreateProcess, lalu memanggil prosedur mode user di kernel32.dll yang
membuat panggilan ke NtCreateUserProcess di kernel untuk membuat
proses dalam beberapa langkah.
1. Konversi nama file eksekusi yang diberikan sebagai parameter dari
nama path Win32 ke nama path NT.
2. Buatlah parameter pembuatan proses dan lewati, beserta nama path
lengkap dari program yang dapat dieksekusi, ke API
NtCreateUserProcess asli.
3. Dalam mode kernel, NtCreateUserProcess memproses parameter,
kemudian membuat objek bagian yang dapat digunakan untuk
memetakan program ke dalam ruang alamat virtual proses baru.
68
Processes and Threads In Windows
Implementasi Proses dan Threads (lanj.)
4. Process manager mengalokasikan dan menginisialisasi process object.
5. Memory manager membuat ruang alamat untuk proses baru dengan
mengalokasikan dan menginisialisasi direktori halaman dan deskriptor
alamat virtualnya.
6. Handle table dibuat untuk process baru.
7. Shared user page dipetakan, dan manajer memori menginisialisasi
struktur data working-set yang digunakan.
8. Executive menciptakan dan menginisialisasi PEB di mode user.
9. Virtual memory dialokasikan untuk process baru.
10. Process ID dialokasikan dari special handle table.
11. Thread object dialokasikan dan diinisialisasikan. 69
Processes and Threads In Windows
Implementasi Proses dan Threads (lanj.)
12. Process object ditambahkan ke list process global.
13. NtCreateUserProcesses kembali ke mode user dengan proses baru yang
telah dibuat.
14. Jika NT API gagal, Win32 akan mengecek apakah proses tersebut
adalah WOW64 atau proses yang berjalan dalam mode debug. Kasus
khusus seperti ini akan di-handle dengan kode khusus di CreateProcess.
15. Jika NtCreateUserProcesses berhasil, Kernel32.dll akan memberitahukan
adanya process baru kepada csrss.exe
16. Terakhir, call NtResumeThread untuk unsuspend thread, dan kembalikan
struktur ke pemanggil yang berisi ID dan pegangan untuk proses dan
thread yang baru saja dibuat.
70
MEMORY MANAGEMENT
Memory Management
Windows memiliki sistem memori virtual yang sangat canggih dan
kompleks. Ini memiliki sejumlah fungsi Win32 untuk menggunakannya,
yang diterapkan oleh manajer memori-the komponen terbesar dari lapisan
eksekutif NTOS.
Konsep Fundamental
• Di Windows, setiap proses pengguna memiliki ruang alamat virtual
sendiri.
• Untuk komputer berbasis x86, alamat virtual adalah 32 bit, sehingga
setiap proses memiliki 4 GB alamat virtual ruang, dengan pengguna dan
kernel masing-masing menerima 2 GB.
72
Memory Management
Konsep Fundamental
• Untuk komputer berbasis x64, baik mode user dan mode kernel
menerima lebih banyak alamat virtual daripada yang bisa mereka
gunakan.
• Untuk x86 dan x64, ruang alamat virtual adalah permintaan paged,
dengan ukuran halaman tetap 4 KB-meski dalam beberapa kasus, seperti
yang akan kita lihat sebentar lagi, Halaman besar 2 MB juga digunakan
(dengan hanya menggunakan direktori halaman dan melewati tabel
halaman yang sesuai).
73
Memory Management
Memory Management System Calls
• API Win32 berisi sejumlah fungsi yang memungkinkan proses untuk
mengelola memori virtualnya secara eksplisit.
• Yang paling penting dari fungsi ini tercantum pada Gambar 11-29 di
bawah.
74
Memory Management
Memory Management System Calls
• Semuanya beroperasi di wilayah yang terdiri dari satu halaman atau satu
urutan dua halaman atau lebih yang berurutan di ruang alamat virtual.
• Tentu saja, proses tidak harus mengelola ingatan mereka.
• Paging terjadi secara otomatis, namun panggilan ini memberi proses
tambahan kekuatan dan fleksibilitas.
75
Memory Management
Implementasi Memory Management
• Windows, pada x86, mendukung satu alamat permintaan linier 4 GB
ruang per proses Segmentasi tidak didukung dalam bentuk apapun.
Secara teoritis, halaman Ukuran bisa jadi kekuatan 2 sampai 64 KB. Pada
x86 mereka biasanya tetap pada 4 KB.
• Selain itu, sistem operasi bisa menggunakan halaman besar 2 MB untuk
meningkatkan keefektifannya dari TLB (Translation Lookaside Buffer)
dalam memori prosesor unit manajemen Penggunaan halaman besar 2
MB dengan kernel dan aplikasi besar secara signifikan meningkatkan
kinerja dengan meningkatkan tingkat hit untuk TLB dan mengurangi
jumlah kali tabel halaman harus berjalan untuk menemukan entri itu
hilang dari TLB.
76
Memory Management
Implementasi Memory Management
• Windows, pada x86, mendukung satu alamat permintaan linier 4
GB ruang per proses Segmentasi tidak didukung dalam bentuk
apapun. Secara teoritis, halaman Ukuran bisa jadi kekuatan 2
sampai 64 KB. Pada x86 mereka biasanya tetap pada 4 KB.
77
Memory Management
Implementasi Memory Management
• Selain itu, sistem operasi bisa menggunakan halaman besar 2 MB untuk
meningkatkan keefektifannya dari TLB (Translation Lookaside Buffer)
dalam memori prosesor unit manajemen Penggunaan halaman besar 2
MB dengan kernel dan aplikasi besar secara signifikan meningkatkan
kinerja dengan meningkatkan tingkat hit untuk TLB dan mengurangi
jumlah kali tabel halaman harus berjalan untuk menemukan entri itu
hilang dari TLB.
78
CACHING IN WINDOWS
Caching in Windows
• Cache adalah komponen yang menyimpan data-data komputasi yang
baru dijalankan atau duplikasi data lain.
• Cache meningkatkan kinerja sistem file dengan cara menyimpan file
yang baru dan sering digunakan pada Windows agar dapat menjalankan
perintah dimasa mendatang dengan lebih cepat.
• Peran dari cache sendiri adalah membantu memepercepat perangkat
ketika menjalankan aplikasi yang sebelumnya pernah digunakan.
• Ketika sebuah file akan dikelola, maka cache akan memetakan 256-KB
ruang kosong dari alamat virtual kernel untuk file. Jika file membutuhkan
ruang lebih besar dari 256 KB maka hanya sebagian dari file yang
dipetakan saat itu. Jika cache kehabisan 256-KB ruang kosong dari
alamat virtual, maka cache akan melakukan unmap(menghilangkan) file
lama untuk memetakan file baru.
80
INPUT/OUTPUT
IN WINDOWS
Fundamental Concepts
• Di Windows, semua file, antivirus, aplikasi, volume managers, network
protocol diimplementasikan menggunakan driver I/O. Konfigurasi sistem
harus diatur agar dapat menjalakan driver yang dimuat.
• Fitur menarik dari Windows adalah dukungan terhadap disk dinamis.
Disk ini mencakup beberapa partisi dan dapat di konfigurasi ulang
dengan sangat cepat, bahkan tanpa harus melakukan reboot. Dengan
cara ini, pada satu partisi tunggal atau bahkan satu disk tunggal dapat
memuat banyak drive secara transparan.
• Aspek lain dari Windows adalah dukungannya terhadap asynchronous
I/O. Hal ini memungkinkan untuk sebuah thread memulai operasi I/O
dan kemudian melanjutkan eksekusi secara paralel dengan I/O.
82
Fundamental Concepts (Lanj.)
• Aspek terakhir adalah prioritas I/O ditentukan oleh prioritas thread, atau
dapat ditetapkan secara eksplisit. Ada lima prioritas yang ditentukan
yaitu: critical, high, normal, low dan very low.
• Prioritas Critical dicadangkan untuk menghindari kebutuhan yang dapat
terjadi bila sistem mengalami tekanan memori yang ekstrim.
• Sedangkan prioritas low dan very low digunakan oleh proses
background, seperti layanan defragmentasi disk dan pemindai spyware
serta pencarian desktop.
• Sebagian besar I/O mendapat prioritas normal, namun aplikasi
multimedia dapat mengeset I/O-nya setinggi mungkin untuk
menghindari gangguan.
83
Input/Output API Calls
• API adalah sebuah sistem yang disediakan oleh I/O yang memiliki
operasi dasar seperti open, read, write dan close. Pada Win32 API ini
disertai dengan interface yang memberikan operasi tingkat tinggi khusus
untuk perangkat tertentu.
84
Implementations of I/O
• Sistem Windows I/O terdiri dari plug-and play services, the
device power manager, the I/O manager, dan device driver
model.
• Plug and play services: mendeteksi perubahan konfigurasi perangkat
keras.
• The device power manager: menyesuaikan status daya perangkat I/O
untuk mengurangi konsumsi daya sistem saat perangkat tidak
digunakan.
• The I/O manager: menyediakan support system untuk memanipulasi
objek kernel I/O
85
THE WINDOWS NT
FILE SYSTEM
Windows NT File System
• Windows mendukung beberapa sistem file, yang paling penting adalah
FAT-16, FAT-32, dan NTFS.
• FAT-16: sistem berkas MS-DOS lama yang menggunakan alamat disk 16 bit,
yang membatasi partisi disk tidak lebih besar dari 2GB, sebagian besar
digunakan untuk mengakses floppy disk.
• FAT-32: menggunakan alamat disk 32 bit dan mendukung partisi disk hingga
2TB, FAT-32 hanya digunakan untuk media yang dapat diangkut, seperti flash
disk.
• NTFS: sistem berkas yang dikembangkan secara khusus untuk versi NT
Windows. NTFS menggunakan alamat disk 64-bit dan dapat mendukung(secara
teoritis) paritisi hingga 264 byte walaupun pertimbangan lainnya membatasinya
pada ukuran yang lebih kecil.
87
Fundamental Concepts
• Nama file pada NTFS terbatas pada 255 karakter, yang nama filenya ada
di Unicode. Hal ini memungkinkan orang-orang di negara-negara yang
tidak menggunakan alfabet Latin dapat menulis nama file dalam Bahasa
negara mereka. NTFS mendukung penuh nama case-sensitive sedangkan
API Win32 tidak mendukung sensitivitas kasus tersebut.
• File NTFS bukan hanya urutan byte linier, seperti file FAT -32 dan UNIX.
Sebagai gantinya, file terdiri dari beberapa atribut, masing-masing
diwakili oleh aliran byte. Sebagian besar file memiliki beberapa aliran
pendek, seperti nama file dan ID objek 64-bit, ditambah satu arus
panjang (tanpa nama) dengan data. Namun, file juga bisa memiliki dua
atau lebih (panjang) aliran data juga.
88
Implementations of NT File System
File System Structure
• Setiap volume NTFS berisi file, direktori, bitmap, dan struktur data
lainnya.
• Setiap volume disusun sebagai urutan linier blok (cluster dalam
terminologi Microsoft), dengan ukuran blok ditetapkan untuk
setiap volume dan berkisar 512 byte sampai 64 KB, tergantung
pada ukuran volume. Sebagian besar disk NTFS menggunakan
blok 4 KB sebagai kompromi antara blok besar (untuk transfer
yang efisien) dan blok kecil (untuk fragmentasi internal rendah).
89
Implementations of NT File System
File System Structure (Lanj.)
• Struktur data utama di setiap volume adalah MFT (Master File
Table), yang merupakan urutan linier dari ukuran 1-KB berukuran
tetap. Setiap record MFT menggambarkan satu file atau satu
direktori. Ini berisi atribut file, seperti nama, waktu, dan daftar
alamat disk tempat bloknya berada.
• Jika sebuah file sangat besar, kadang-kadang diperlukan untuk
menggunakan dua atau lebih catatan MFT untuk memuat daftar
semua blok, dalam hal ini rekaman MFT pertama, yang disebut
catatan dasa yang menunjuk pada catatan MFT tambahan.
90
Implementations of NT File System
Storage Allocation
• Untuk menyimpan suatu data pada sebuah disk dimungkinkan
untuk melakukan penyimpanan terurut blok untuk alasan efisiensi.
• Misal jika blok pertama dari sebuah aliran ditempatkan di blok 20
pada disk, maka sistem akan berusaha untuk menempatkan blok
kedua di blok 21, blok ketiga di 22, dan seterusnya.
• Salah satu cara untuk mencapai jalan ini adalah dengan
mengalokasikan penyimpanan disk beberapa blok pada satu
waktu, bila memungkinkan.
91
Implementations of NT File System
Storage Allocation (Lanj.)
• Pada gambar ini catatan MFT untuk arus pendek sembilan blok (header
0-8). Ini terdiri dari tiga blok berturut-turut pada disk.
• Lintasan pertama adalah blok 20-23, yang kedua adalah blok 64-65, dan
yang ketiga adalah blok 80-82.
92
Implementations of NT File System
File Compression
• NTFS mendukung kompresi file transparan. File dapat dibuat
dalam mode terkompresi, yang berarti bahwa NTFS secara
otomatis mencoba memampatkan blok saat ditulis ke disk
dan secara otomatis mengkompres saat dibaca kembali.
93
Implementations of NT File System
File Compression
Cara kerja kompresi pada NTFS:
• Ketika NTFS menulis sebuah file yang ditandai untuk kompresi ke
disk, maka NTFS mengkaji 16 blok (logical) pertama dalam file
tersebut. Kemudian menjalankan algoritma kompresi, jika data
kompresi yang dihasilkan dapat disimpan dalam 15 blok atau lebih
sedikit, maka akan ditulis ke disk, sebaiknya dalam satu putaran,
jika memungkinkan.
• Jika data terkompresi masih mengambil 16 blok, maka 16 blok
ditulis dalam bentuk yang tidak dikompres. Kemudian blok 16-31
diperiksa untuk melihat apakah dapat dikompres hingga 15 blok
atau kurang, dan seterusnya. 94
Implementations of NT File System
File Compression (Lanj.)
• Gambar ini menunjukkan file dimana 16 blok pertama berhasil
dikompres menjadi 8 blok, 16 blok kedua gagal dikompres, dan 16 blok
ketiga berhasil dikompres menjadi 8 blok.
95
TERIMA KASIH