Anda di halaman 1dari 96

IMPLEMENTASI SO

Windows 8
Kelompok 5B

Clawdya Purba Nugroho Adi Utomo M. Fikri Haikal Ewa Respati


24010316120023 24010316120024 24010316120025 24010316120026

The Power of PowerPoint | thepopp.com 2


SEJARAH WINDOWS
Sejarah Windows Sampai Windows 8.1

The Power of PowerPoint | thepopp.com 4


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

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

• Terinspirasi oleh antarmuka pengguna grafis dari sistem yang


dikembangkan oleh Doug Engelbart, Microsoft memutuskan untuk
memberi MS-DOS antarmuka yang disebut Windows.
• Dua versi pertama Windows tidak begitu berhasil, karena
keterbatasan perangkat keras PC.
• (1990) Rilis Windows 3.0 pada platform Intel i386 terjual lebih dari 1
juta kopi dalam enam bulan.
• Windows 3.0 bukanlah sistem operasi yang sebenarnya, tapi
lingkungan grafis (GUI) yang dibangun oleh MS-DOS, yang masih
memegang kendali mesin dan sistem berkas.
8
MS-DOS-based Windows (lanj.)
• Program yang dijalankan di ruang alamat yang sama jika ada bug di
salah satu dari mereka bisa membuat keseluruhan sistem berhenti.
• Pada bulan Agustus 1995, Windows 95 dirilis
• Sudah memiliki banyak fitur seperti operasi full-blown, termasuk
memori virtual, manajemen proses, dan multiprogramming, dan
mengenalkan antarmuka pemrograman 32-bit.
• Namun, masih kekurangan keamanan, dan memberikan isolasi yang
buruk antara aplikasi dan sistem operasi.
• Masalah ketidakstabilan berlanjut, bahkan dengan peluncuran
Windows 98 dan Windows Me, di mana MS-DOS masih
menjalankan kode assembly 16-bit pada sistem operasi 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.)

• NT berhasil memenuhi tujuan portabilitasnya, dengan rilis tambahan


pada tahun 1994 dan 1995 menambahkan dukungan untuk
arsitektur MIPS dan PowerPC (little-endian).
• Upgrade besar pertama ke NT datang dengan Windows NT 4.0 pada
tahun 1996. Sistem ini memiliki kekuatan, keamanan, dan keandalan
NT, namun juga menggunakan antarmuka pengguna yang sama
dengan Windows 95 yang sangat populer.

13
2000-an: NT-based Windows (lanj.)

• Windows 2000 merupakan evolusi signifikan untuk NT


• Windows 2000 menyebabkan kemunduran Microsoft Windows 98
dengan meningkatkan kompatibilitas aplikasi dan perangkat dari rilis
NT berikutnya, Windows XP.
• Windows XP menyertakan tampilan yang ramah ke antarmuka grafis,
memperkuat strategi Microsoft untuk mengaitkan konsumen dan
menuai keuntungan. Strategi ini sangat berhasil, dengan Windows
XP diinstall pada ratusan juta PC selama beberapa tahun pertama.

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

• Perilisan Windows Vista merupakan proyek “puncak” sistem operasi


Microsoft yang paling luas sampai saat ini.
• Sayangnya, Windows Vista dirilis pada saat pelanggan terpesona
dengan komputer murah, seperti notebook low-end dan komputer
netbook, yang menggunakan prosesor yang lebih lambat untuk
menghemat biaya dan dengan pemakaian baterai yang lebih lama.
• Saat yang sama, kinerja Windows Vista tak lagi setingkat seperti
versi sebelumnya, karena kesulitan dalam menghilangkan panas
yang dihasilkan oleh kecepatan clock CPU yang terus meningkat.

16
Windows Vista (lanj.)

• Masalah pada Windows Vista diatasi pada rilis berikutnya, Windows 7.


• Microsoft berinvestasi dalam pengujian dan otomatisasi kinerja,
teknologi telemetri baru, dan memperkuat tim secara ekstensif
dengan meningkatkan kinerja, keandalan, dan keamanan.
• Meskipun Windows 7 memiliki sedikit perubahan fungsional
dibandingkan Windows Vista, tapi mampu direkayasa dengan lebih
baik dan lebih efisien.
• Windows 7 dengan cepat menggantikan Vista dan Windows XP
menjadi versi Windows yang paling populer.

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

• Pada saat Windows 7 dirilis, industri komputasi kembali


berubah. Keberhasilan Apple iPhone sebagai perangkat
komputasi portabel, dan kemunculan iPad Apple, ditambah lagi
dengan dominasi tablet dan ponsel Android murah.
• Dunia lama komputer portabel digantikan oleh mesin dengan
layar kecil yang menjalankan aplikasi yang mudah didownload
dari Web.

19
Windows Modern (lanj.)

• Layanan yang diberikan bukan “variasi tradisional”, seperti


pengolah kata, spreadsheet, dan koneksi ke server perusahaan.
• Sebagai gantinya, mereka menyediakan akses ke layanan
seperti pencarian Web, jejaring sosial, Wikipedia, streaming
musik dan video, belanja, dan navigasi pribadi.
• Microsoft memulai sebuah proses untuk mendesain ulang
dirinya sebagai perangkat dan perusahaan jasa agar bisa lebih
bersaing dengan Google dan Apple.

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.)

• Daftar beberapa kategori umum dari objek mode kernel yang


didukung oleh kernel di Windows

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

The Power of PowerPoint | thepopp.com 27


Memory Management (in Win32 API)
Windows mengimplementasikan memory-mapped files dengan
menggunakan tiga fasilitas yang berbeda.
• Pertama, dengan menyediakan antarmuka yang memungkinkan
proses mengelola ruang alamat virtual mereka sendiri, termasuk
memerikan rentang alamat untuk digunakan nantinya.
• Kedua, Win32 mendukung sebuah abstraksi yang disebut file
mapping, yang digunakan untuk mewakili objek yang dapat
dialamatkan (pemetaan file pada NT layer disebut “section”).
• Kemudian, yang paling sering, pemetaan file dibuat untuk
merujuk ke file menggunakan handles, namun juga dapat dibuat
untuk merujuk ke private pages yang dialokasikan dari pagefile
sistem.
28
Input Output (I/O) (in Win32 API)
• Pemodelan I / O tingkat rendah di Windows pada dasarnya
bersifat asynchronous.
• Memiliki sejumlah mekanisme yang berbeda untuk threads untuk
disinkronkan dengan operasi I / O saat selesai.
• Memungkinkan program untuk menentukan bahwa I / O harus
tersinkron saat sebuah file dibuka.
• Executive secara eksplisit akan melakukan sinkronisasi dengan
penyelesaian I / O secara komplit sebelum kembali ke mode user.

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.

The Power of PowerPoint | thepopp.com 33


SYSTEM STRUCTURE
OS Structure

The Power of PowerPoint | thepopp.com 35


HAL (Hardware Abstraction Layer)
• Microsoft melakukan upaya serius untuk menyembunyikan jenis
dependensi mesin ini di lapisan tipis di bagian bawah yang disebut
HAL.
• Tugas dari HAL adalah menyajikan keseluruhan sistem operasi
dengan perangkat keras abstrak yang menyembunyikan rincian
spesifik versi prosesor, chipset pendukung, dan konfigurasi lainnya.
• Dengan menggunakan layanan HAL dan tidak menangani
perangkat keras secara langsung, driver dan kernel memerlukan
lebih sedikit perubahan saat dikirim ke prosesor baru - dan dalam
banyak kasus dapat berjalan tanpa modifikasi pada sistem dengan
arsitektur prosesor yang sama, walaupun ada perbedaan versi dan
chip pendukung.
36
Kernel Layer
• Pada sistem operasi Windows, lapisan kernel menyediakan satu
set abstraksi untuk mengelola CPU.
• Kernel Layer bertanggung jawab untuk penjadwalan dan
sinkronisasi threads
• Penjadwal thread kernel bertanggung jawab untuk menentukan
thread mana yang dijalankan pada setiap CPU 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

• I/O manager menyediakan kerangka kerja untuk


mengimplementasikan driver perangkat I / O dan
menyediakan sejumlah layanan eksekutif khusus
untuk konfigurasi, akses, dan operasi pada
perangkat.
• Implementasi : Device Drivers

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

Firmware yang dimaksud adalah BIOS (Basic


Input-Output System) atau UEFI (Unified
Bootstrap 3 Extensible Firmware Interface)

BIOS/UEFI kemudian membuka bootstrap


(terletak pada awal partisi) untuk
menjalankan BootMgr 4 Load komponen Windows

BootMgr akan menjalankan WinResume.exe atau


WinLoad.exe yang kemudian melakukan loading
Inisialisasi akhir 5 komponen Windows.

Setelah komponen boot diload ke memori,


kemudian NTOS melakukan inisialisasi akhir.
The Power of PowerPoint | thepopp.com 45
Lalu proses untuk mode user dibuat.
Booting Windows (lanj.)
• Versi terbaru Windows memberikan dukungan untuk
meningkatkan keamanan sistem saat boot. menggunakan
TPM (Trusted Platform Module) yang dapat digunakan untuk
melindungi kunci sistem.
• Program boot Windows memiliki logic untuk mengatasi
masalah umum yang dihadapi pengguna saat sistem boot
gagal.
• Pilihan boot lainnya termasuk safe-boot, yang mematikan
banyak driver opsional, dan konsol pemulihan, yang
mengaktifkan jendela perintah cmd.exe, memberikan
pengalaman yang mirip dengan mode pengguna tunggal di
UNIX.
46
IMPLEMENTASI OBJECT
MANAGER
Object Manager
• Object Manager merupakan satu-satunya komponen
terpenting dalam Windows executive.
• Object manager menyediakan antarmuka yang seragam dan
konsisten untuk mengelola sumber daya sistem dan struktur
data.
• Object manager sendiri memiliki objek yang digunakannya
untuk mengelola namespace NT dan
mengimplementasikannya menggunakan fasilitas umum.
Seperti direktori, symbolic link, dan object-type objects.

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.)

• Gambar 11-17 menunjukkan


handle table dengan dua
level layer tambahan
indiretion.
• Terkadang mudah untuk
mengeksekusi kode dalam
mode kernel agar bisa
menggunakan handles
daripada pointer yang dirujuk
(disebut kernel handles)

53
53
Object Namespace

• NT Namespace bersifat hierarkis, dengan object


manager mengimplementasikan direktori dan link
simbolis.
• Namespace juga dapat diperluas, memungkinkan jenis
objek untuk menentukan ekstensi namespace dengan
menentukan rutin Parse.

54
54
Object Namespace (lanj.)

Jarang digunakan karena default


Prosedur Parse
object-manager behavior biasanya
diimplementasikan
yang dibutuhkan dan oleh prosedurnya
Bila handles
ditetapkan terakhir
sebagai
manajer I / O. untuk
NULL untuk
sebuah
Bila referensi pointer objeksemua
terakhir
hampir ditutup, mungkin
tipe objek.
Untuk
dihapussebagian besar
ada
dari objek. tipe yang
tindakan objek,diperlukan
prosedur untuk
Digunakan untuksebagai
ini diberikan
mencari membersihkan state dan
titik masuk
nama yang
standar di dilakukan
komponen oleh
monitor
terkait dengan sebuah objek. prosedur
referensi Close.
keamanan eksekutif. 55
55
Prosedur Parse

The Power of PowerPoint | thepopp.com 56


Object Namespace (lanj.)
SUBSYSTEMS, DLL, DAN
USER MODE SERVICES
Subsystems, DLL, dan User Mode Services

• Sistem operasi Windows terdiri dari


komponen dalam mode kernel dan
komponen dalam mode user.
• Pada komponen mode user, ada tiga jenis
yang sangat penting bagi Windows:
• environment subsystems,
• DLL, dan
• service processes.

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)

• Dynamic link library (DLL) merupakan kode yang


terkait dengan program.
• Merupakan salah satu penerapan shared library di
Windows
• Di Windows, hampir semua library yang ada
menggunakan DLL.
• DLL meningkatkan efisiensi sistem dengan
membiarkan kode umum menjadi terbagi antara
proses
• Digunakan untuk lebih dari sekadar berbagi kode
umum.
61
Dynamic Link Library (DLL)
• Di sisi lain, DLL mempunyai masalah dalam
penomoran versi dan meningkatkan kompleksitas,
terutama pada penggunaan DLL yang sama pada
aplikasi yang berbeda.
• Jika satu aplikasi melakukan update pada DLL, akan
membuat aplikasi yang lain bermasalah (error saat
dijalankan, atau bahkan bisa saja crash). Hal ini sering
disebut dengan DLL Hell.
• Saat ini, DLL hell dapat diatasi oleh Microsoft dengan
mengenalkan sistem Side-by-Side (WinSxS), yang
dimulai pada versi Vista ke atas.

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).

Job, Process, Thread, and Fiber Management API Calls


• Proses yang baru dibuat dengan menggunakan fungsi Win32 API
CreateProcess. Fungsi ini memiliki banyak parameter dan banyak pilihan.
Dibutuhkan nama file tersebut dieksekusi, string command-line (dalam
keadaan un-parsed), dan pointer ke environmental string.
• Ada juga flag dan nilai yang mengendalikan banyak detail seperti cara
keamanan dikonfigurasi untuk proses dan thread pertama, konfigurasi
debugger, dan penjadwalan prioritas Flag juga menentukan apakah
pegangan terbuka di pencipta untuk diteruskan ke proses baru. 66
Processes and Threads In Windows
Job, Process, Thread, and Fiber Management API Calls (lanj.)
• Function CreateProcess juga mengambil direktori kerja saat ini untuk
proses baru dan struktur data opsional dengan informasi tentang
Jendela GUI prosesnya adalah dengan menggunakan.
• Alih-alih mengembalikan hanya ID proses untuk Proses baru, Win32
mengembalikan kedua pegangan dan ID, baik untuk proses baru
maupun untuk benang awalnya

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

Anda mungkin juga menyukai