LINUX/UNIX
*Session 25
A) Tujuan UNIX/LINUX
- Dirancang oleh programmer, untuk programmer.
- Dirancang untuk menjadi:
– Simple
– Elegant
– Consistent
– Powerful
– Flexible
B) Lapisan-Lapisan dalam Sistem LINUX
C) Struktur Kernel
D) Signals
Sinyal yang dibutuhkan oleh POSIX.
E) Project Management System Calls
F) Simple LINUX Shell
G) Scheduling dalam LINUX
- Tiga kelas dari thread untuk tujuan scheduling:
– Real-time FIFO.
– Real-time round robin.
– Timesharing. - Ilustrasi Linux menjalankan antrian dan priority array.
I) Memory Management
(a) Ruang alamat virtual proses A. (b) Physical memory. (c) ruang alamat virtual proses B.
J) Dua proses dapat membagikan file yang dipetakan.
Linux dibedakan antara tiga zona memori:
- ZONE_DMA – halaman yang dapat digunakan untuk operasi DMA.
- ZONE_NORMAL – normal, halaman secara teratur dipetakan.
- ZONE_HIGHMEM – halaman dengan high-memory address, yang tidak dipetakan secara permanen.
Operasi dari buddy algorithm
Page states dipertimbangkan di dalam algoritma replacement page frame.
N) Implementasi dari Input/Output
Sistem Linux I / O menunjukkan satu file system secara rinci.
Layout disk dari file system LINUX ext2
(a) Suatu direktori Linux dengan tiga file. (b) direktori yang sama setelah file tebal telah dihapus.
Beberapa field dalam struktur i-node di dalam Linux
Hubungan antara tabel file descriptor, tabel file description yang terbuka, dan tabel i-node.
P) Keamanan dalam LINUX
*Session 26
A) Sejarah Windows
- Windows Vista dirilis pada akhir tahun 2006, namun kurang diterima karena masalah awal dengan aplikasi dan kompatibilitas perangkat dan kelemahan pada ledakan perangkat “netbook” low-end.
- Windows 7 dirilis pada akhir tahun 2009, sangat meningkatkan pada Vista.
- Windows 8 dirilis pada Oktober 2012.
– Paradigma user interface baru (Metro), aplikasi jenis baru, web store.
B) Lapisan-Lapisan Pemrograman di Windows 7
- Dasar untuk eksekutif dan subsistem.
- Tidak pernah keluar dari memori; eksekusi tidak pernah diminta.
- 4 tanggung jawab utama:
– thread scheduling
– interrupt and exception handling
– low-level processor synchronization
– recovery after a power failure - Kernel adalah object-oriented, menggunakan dua kumpulan objek.
– dispatcher objects mengontrol dispatching dan synchronization (events, mutexes, semaphores, threads dan timers).
– control objects (asynchronous procedure calls, interrupts, power notify, process dan profile objects).
D) Proses dan Thread
- Proses ini memiliki ruang virtual alamat memori, informasi (seperti prioritas dasar), dan afinitas untuk satu atau lebih prosesor.
- Thread adalah unit eksekusi yang dijadwalkan oleh operator kernel.
- Setiap thread memiliki state sendiri, termasuk prioritas, afinitas prosesor, dan informasi akuntansi.
- Sebuah thread dapat menjadi salah satu dari enam state: ready, standby, running, waiting, transition, dan terminated.
E) Scheduling
- Windows Scheduler:
– Pre-emptive (sejak Windows NT)
– Multilevel feedback queue - Dispatcher menggunakan skema prioritas 32 tingkat untuk menentukan urutan eksekusi thread.
– Priority dibagi menjadi dua kelas:
* Kelas real-time mengandung thread dengan prioritas di mulai dari 16-31.
* Kelas variabel berisi thread yang memiliki prioritas dari 0-15. - Karakteristik strategi prioritas Windows 7:
– Memberikan waktu respon yang sangat baik untuk thread interaktif yang menggunakan mouse dan windows.
– Memungkinkan thread IO-bound untuk menjaga perangkat I / O agar tetap sibuk.
– Menghitung bound thread untuk menyerap siklus CPU cadangan pada background. - Scheduling dapat terjadi ketika thread memasuki state ready atau wait, ketika thread berakhir, atau ketika aplikasi merubah prioritas thread atau afinitas prosesor.
- Thread real-time diberikan akses khusus ke CPU; tetapi Windows 7 tidak menjamin bahwa thread real-time akan mulai mengeksekusi dalam batas waktu tertentu.
– Hal ini dikenal sebagai soft real-time.
F) The Executive-Naming Object
- Windows eksekutif memungkinkan objek apapun untuk diberikan nama, yang mungkin dapat permanen atau sementara.
- Nama objek terstruktur seperti nama file path di UNIX.
- Windows mengimplementasikan objek link simbolik, yang mirip dengan link simbolik di UNIX yang memungkinkan beberapa nama panggilan atau alias merujuk pada objek yang sama.
- Sebuah proses mendapat object handle dengan menciptakan sebuah objek, dengan membuka yang sudah ada, dengan menerima handle yang digandakan dari proses lain, atau dengan mewarisi handle dari proses induknya.
- Setiap objek dilindungi oleh access control list.
- Ruang nama eksekutif dapat diperpanjang untuk memungkinkan penamaan file, registry key, dan benda-benda lainnya dengan semantik khusus mereka sendiri.
G) The Executive-Virtual Memory Manager
- Desain manajer VM mengasumsikan bahwa hardware mendukung virtual untuk pemetaan fisik, mekanisme paging, koherensi cache yang transparan dalam sistem multiprosesor, dan aliasing alamat virtual.
- VM manager di Windows menggunakan skema manajemen berdasarkan halaman dengan ukuran halaman 4 KB untuk kedua x86 dan AMD64.
- Manajer VM menggunakan proses dua langkah untuk mengalokasikan memori:
– Langkah pertama menyimpan sebagian dari ruang alamat proses tersebut.
– Langkah kedua melakukan alokasi dengan menetapkan ruang memori fisik atau dalam paging file pada disk.
H) Layout Virtual Memory
I) Virtual Memory Manager
- Terjemahan alamat virtual di Windows menggunakan beberapa struktur data di dalam setiap proses:
– Sebuah top-level page directory berisi 4 Page Directory Entry (PDE) dari ukuran 8 byte yang masing-masing dapat menunjuk ke page directory .
– Setiap page directory berisi 512 entri page directory , yang masing-masing dapat menunjuk titik ke page table.
– Setiap tpage table berisi 512 Page Table Entry (PTEs) dari ukuran 8 byte.
– Setiap PTE yang valid menunjuk ke 4 KB page frame dalam physical memory.
* PTE yang tidak valid digunakan oleh OS untuk menemukan halaman pada disk. - Sebuah 9-bit integer dapat mewakili semua bentuk nilai dari 0-511, oleh karena itu, dapat memilih entri dalam page directory, atau dalam page table.
- Properti ini digunakan ketika menerjemahkan pointer alamat virtual pointer ke alamat byte dalam physical memory.
- Sebuah physical page dapat menjadi salah satu dari 6 bagian: valid, zeroed, free, standby, modified dan bad.
J) Terjemahan Virtual ke Physical Address
Terjemahan untuk 32-bit Virtual Address ke Physical Address:
- 2 bit index menjadi top-level page directory untuk mendapatkan page directory.
- 9 bit index ke page directory untuk mendapatkan page directory entry untuk page table.
- 9 bit index ke dalam page table untuk mendapatkan page table entry untuk physical page.
- 12 bit untuk byte offset dalam physical page.
- Jadi kita memiliki hirarki 3 tingkat untuk Win32.
– Untuk 64 bit, itu adalah 4 tingkat hirarki.
K) Process Manager
- Menyediakan layanan untuk create, delete, dan menggunakan thread dan proses.
- Isu-isu seperti hubungan parent/child atau proses hirarki yang tersisa untuk subsistem lingkungan tertentu yang memiliki proses.
L) I/O Manager
- I/O manager bertanggung jawab untuk:
– file systems
– cache management
– device dan network drivers - Melacak di mana file sistem yang diinstal dimuat, dan mengelola buffer untuk permintaan I/O.
- Bekerja dengan VM Manager untuk menyediakan file I/O memori yang dipetakan.
- Interface dengan Windows cache manager, yang menangani caching untuk seluruh sistem I/O.
– Cache manager memory memetakan files ke dalam kernel memory.
– Juga mencoba untuk memprediksi model membaca masa depan.
– Flush cache berisi untuk writes: write-back cache, mengumpulkan writes selama 4-5 detik, kemudian menulisnya.
M) File I/O
N) PnP dan Power Manager
- PnP (Plug-and-Play) manager digunakan untuk mengenali dan beradaptasi dengan perubahan konfigurasi hardware.
– Ketika perangkat baru ditambahkan (misalnya, PCI atau USB), manajer PnP memuat driver yang sesuai.
– PnP juga melacak sumber daya yang digunakan oleh masing-masing perangkat. - Power manager mengontrol penggunaan energi oleh CPU dan perangkat.
– Driver untuk perangkat yang tidak digunakan, diberitahu untuk mematikan perangkat.
– CPU dijalankan pada tingkat clock yang lebih rendah dan / atau keadaan energi yang lebih rendah.
– Sistem dapat dimasukkan ke dalam mode standby hanya ketika memori hidup, atau
– Hibernate dengan menulis isi dari memori ke disk dan benar-benar mematikan sistem.
O) File System – NTFS
- Diperkenalkan pada tahun 1993, untuk menggantikan FAT lama.
– Max file size: 256TB (Win8)
– Max volume: 256TB (2^64 clusters)
– Journaling file system - Struktur mendasar dari file system Windows 7 (NTFS) adalah volume
– Dibuat oleh utilitas administrator Windows disk.
– Berdasarkan logical disk partition.
– Dapat menempati bagian dari disk, seluruh disk, atau rentang di beberapa disk. - Semua metadata, seperti informasi tentang volume, disimpan dalam file biasa.
- NTFS menggunakan cluster sebagai unit yang mendasari alokasi disk.
– Sebuah cluster adalah sejumlah sektor disk yang merupakan kekuatan dari dua.
– Karena ukuran cluster lebih kecil dari file system FAT 16-bit yang lebih lama, jumlah fragmentasi internal berkurang. - Internal NTFS menggunakan pohon B + untuk mengatur data file system.
– Struktur data yang kompleks, memastikan pencarian yang cepat.
P) File System – Security
- Keamanan NTFS volume berasal dari model objek Windows.
- Setiap objek file memiliki atribut deskriptor keamanan disimpan dalam record MFT.
- Atribut ini berisi ID keamanan pemilik file, dan daftar kontrol akses yang menyatakan hak akses yang diberikan kepada setiap user dan kelompok yang memiliki akses ke file.
Q) File System – File Compression
- Untuk kompres file, NTFS membagi data file ke dalam unit kompresi, yang terdiri dari blok 16 cluster yang berdekatan.
- Untuk file yang tipis, NTFS menggunakan teknik lain untuk menghemat ruang.
– Cluster yang berisi semua nol tidak benar-benar dialokasikan atau disimpan pada disk.
– Sebaliknya, celah yang tersisa dalam urutan jumlah virtual cluster disimpan dalam entri MFT untuk file.
– Ketika membaca file, jika celah di jumlah virtual cluster ditemukan, NTFS hanya nol-mengisi porsi buffer pemanggil.
R) File System – Encrryption
- EFS (Encrypted File System)
– mengenkripsi file individual atau direktori file.
– transparan kepada user. - BitLocker
– Pada dasarnya semua volume dienkripsi.
– Ada tiga tingkat perlindungan kunci:
* Hardware TPM
* An electronic key plugged into a USB connection
* User password
– Mesin BitLocker harus shutdown daripada ditempatkan di standby untuk menghindari serangan pada physical memory yang tidak terenkripsi.
– Sistem dilindungi oleh BitLocker memiliki derajat keamanan yang tinggi terhadap pencurian data laptop hilang atau dicuri sistem. - Kedua EFS dan Bitlocker hanya diaktifkan pada Profesional, Ultimate dan versi Server dari Windows.
S) Prinsip Design Windows 8
- Do more with less: Microsoft tahu semua tentang software terlalu rumit. Dengan Windows 8, bahkan ada sedikit ruang untuk bekerja dengan pada perangkat mobile.
- Fast and Fluid: Windows 8 adalah tentang menawarkan sebuah platform di mana aplikasi akan terus responsif terhadap input pengguna dan lebih adaptif dengan kebutuhan mereka. Ini tidak selalu terjadi di masa lalu karena aplikasi yang sinkron – mereka harus menunggu sampai satu hal berhenti sampai mereka bisa melakukan sesuatu yang lain. Pengguna ponsel ingin aplikasi dan OS mereka untuk beroperasi dengan cara multi-tasked sama seperti yang mereka lakukan sendiri.
- Pride in craftsmanship: Hal ini tidak berarti versi Windows sebelumnya tidak baik dibuat, penekanannya adalah sekarang mengambil waktu dan usaha di sekitar rincian kecil yang akan diperhatikan oleh dunia pada umumnya, dan untuk menawarkan “lengkap, pengalaman yang lebih dipoles” bagi pelanggan . Terlalu banyak aplikasi terlihat seperti pekerjaan dalam proses, menunggu pembaruan berikutnya.
- Authentically digital: Anda dapat mencoba untuk mewakili interaksi dunia nyata dalam software dengan menciptakan sebuah animasi yang menirukan jari membalikkan halaman, atau Anda dapat mencoba untuk menciptakan pengalaman user yang benar-benar bekerja dengan media penggunaan konsumen. Sentuhan teknologi telah benar-benar memperluas kemungkinan di sini, dan developer bisa melakukan lebih kreatif dengan hal tersebut.
- Win as one: Mengenal bahwa ini adalah sebuah komunitas developer, bukan Microsoft vs dunia atau satu developer mencoba untuk memenangkan semuanya. Fokus pada integrasi dengan aplikasi lain dan perangkat lain untuk menyederhanakan pengalaman user.
T) Arsitektur Windows 8