PAPER STRUKTUR SISTEM WINDOWS
Oleh : YUSUF. MACHSAR
100411100026
TEKNIK INFORMATIKA
UNIVERSITAS TRUNOJOYO MADURA
ABSTRAK
Secara umum, Sistem
Operasi adalah software pada lapisan pertama yang ditempatkan pada memori komputer
pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan
setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti
umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke
disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga
masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum
tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode
yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan “kernel”
suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan,
maka Sistem Operasi adalah penghubung
antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem
Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin
aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar.
Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori,
melakukan input dan output terhadap peralatan lain dan memiliki akses kepada
sistem file. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem
Operasi mengatur skedule yang tepat, sehingga sedapat mungkin semua proses yang
berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta
tidak saling mengganggu.
LATAR BELAKANG
Sistem operasi modern adalah suatu sistem yang besar dan
kompleks. Dan tentu saja proses mendesain sistem operasi bukanlah pekerjaan
mudah. Karena itu, didalam desain sistem operasi digunakan suatu struktur agar
sistem tersebut bisa dipelajari dengan mudah. digunakan, dan dikembangkan ebih
lanjut. Jika pada bab sebelumnya, kita memandang sistem operasi dari luar,
yaitu dengan system call yang bisa digunakan, maka dalam bab
ini kita akan melihat dari dalam, yaitu bagaimana sistem operasi disusun.
Ternyata, ada beberapa pendekatan/model yang digunakan, seperti struktur
sederhana, struktur berlapis, dan mikro kernel.
STRUKTUR
SYSTEM WINDOWS
Windows
mulai dari Windows 2000 dan seterusnya adalah satu contoh berpengaruh nyata
dari gelombang baru dalam sistem operasi komputer mikro (contoh lain adalah
Linux dan MacOS). Windows dipandu oleh suatu kebutuhan untuk memanfaatkan
kemampuan proses dari hari ini 32 – bit dan 64 mikroprosesor bit, yang mana
dalam sebuah mainframe dan hanya beberapa tahun silam di kecepatan,
kesempurnaan perangkat keras, dan kapasitas memory.
+)
Arsitektur
Gambar
di atas merupakan struktur dari keseluruhan keluarga Windows yang ada sampai
saat ini. Struktur modular yang memberikan fleksibilitas Windows ini didisain
untuk meng-execute pada berbagai platform perangkat keras dan aplikasi
pendukung disertakan dalam berbagai sistem operasi lain.
Client/Server
Model
Layanan
Sistem operasi Windows, memproteksi subsistim, dan aplikasi-aplikasi adalah
struktur penggunaan klien / server model komputasi, yaitu satu umum model untuk
perhitungan terdistribusi dan yang didiskusikan di Bagian Enam. Arsitektur yang
sama ini dapat diadopsi untuk mempergunakan internal ke satu sistem tunggal,
seperti halnya kasus dengan Windows.
Native
NT API adalah layanan seperangkat dasar Kernel yang menyediakan abstrak inti
dipergunakan oleh sistem, proses seperti itu, threads, virtual memory, I/O, dan
komunikasi. Windows menyediakan satu setelan jauh lebih kaya dari jasa dengan
mempergunakan klien/server model untuk menerapkan kemampuan di proses
mode-pengguna. Kedua lingkungan subsistim dan jasa user-mode Windows diterapkan
seperti proses tersebut
berhubungan
dengan klien melalui RPC. Masing-masing server proses menunggu satu permintaan
dari satu klien untuk salah satunya dilayani (seperti service memory,layanan
memproses ciptaan, atau layanan networking). Satu klien, yang dapat satu
program aplikasi atau program server lain, permintaan satu jasa dengan mengirimkan
satu pesan. Pesan ditaklukkan melalui Eksekutif ke server yang sesuai. Server
melaksanakan operasi yang diminta dan mengembalikan keterangan hasil atau
status atas pertolongan pesan lain,yaitu taklukkan melalui Eksekutif kembali ke
klien.
Threads
and SMP
Dua karakteristik penting dari Windows adalah ini mendukung untuk
menyusupkan symmetric multiprocessing (SMP), keduany diperkenalkan di Bagian
2.4. [RUSS05] daftar-daftar fitur dari Windows mendukungan THREADS dan SMP:
•
Compatible OS dapat berjalan pada prosesor apapun yang tersedia, dan yang
berbeda dapat laksanakan secara bersamaan pada prosesor berbeda.
•
Windows mendukung penggunaan dari multiple threads dari pengeksekusian diantara
proses tunggal. Multiple threads pada proses yang sama mungkin mengeksekusi
pada prosesor berbeda secara serempak.
•
Proses server mungkin mempergunakan multiple threads untuk memproses permintaan
dari lebih dari satu klien secara serempak.
•
Windows menyediakan mekanisme untuk berbagi data dan sumber daya di antara proses dan
kemampuan komunikasi interproses.
Threads
Windows
Windows
mengunakan Win32 API sebagai API utama dalam hampir semua sistem
operasi
Microsoft. Selain itu windows mengimplementasi model relasi One-to-One,
dimana
terdapat satu kernel thread yang berasosiasi dengan masing – masing user
thread.
Thread pada windows secara umum mempunyai komponen sebagai
berikut
:
·
Thread ID
·
Register set
·
User stack dan kernel stack
·
Private storage area.
Register
set, stacks dan private data storage disebut sebagai context dari sebuah
thread.
Struktur data utama dari sebuah thread :
·
ETHREAD (executive thread block)
·
KTHREAD (kernel thread block)
· TEB
(thread environment block)
Kesimpulan
Windows dalam mengimplementasikan thread memakai model One-to-One.
Sehingga windows mendukung multithreading. Win32 API adalah pustaka thread yang
digunakan oleh windows. Struktur data utama dalam thread windows : ETHREAD
(executive thread block), KTHREAD (kernel thread block) yang keduanya berada
pada kernel-level dan TEB (thread environment block) yang berada pada
user-level.
SMP
pada Windows
Pada Windows, prosesor
afinitas memberikan potensi kinerja cache dioptimalkan. Secara khusus, dengan
mengisolasi benang yang mengakses data yang sama untuk satu prosesor, Anda
dapat mengurangi jumlah invalidations data yang muncul dari utas swapping
antara beberapa core.
Dengan menggunakan
fungsi prosesor afinitas dalam winbase.h, Anda dapat mengontrol yang core yang
tersedia untuk digunakan sistem dan mana yang dicadangkan untuk thread
tertentu. Ada dua fungsi utama yang dapat Anda gunakan untuk mempengaruhi
ketersediaan core tertentu pada Windows:
Sebuah topeng afinitas
prosesor adalah vektor bit yang setiap bit merupakan prosesor yang benang
proses yang diizinkan untuk berjalan di. Nilai topeng afinitas prosesor harus
merupakan bagian dari nilai-nilai sistem afinitas masker diperoleh oleh fungsi
GetProcessAffinityMask.
Sebuah topeng afinitas
benang adalah vektor bit yang setiap bit merupakan prosesor yang thread
diperbolehkan untuk berjalan di. Sebuah topeng afinitas benang harus merupakan
bagian dari topeng afinitas prosesor untuk proses yang mengandung benang.
Sebuah thread dapat berjalan hanya pada prosesor yang prosesnya dapat berjalan
pada.
Catatan: Pada Windows,
pengaturan masker afinitas untuk proses atau thread dapat mengakibatkan benang
menerima waktu prosesor kurang karena sistem ini dibatasi dari menjalankan
benang pada prosesor tertentu Dalam kebanyakan kasus, lebih baik membiarkan OS
Windows pilih tersedia. prosesor.
Symmetric
Multiprocessing (SMP)
SMP Arsitektur
Kernel Linux 2.0 adalah
kernel Linux pertama yang stabil untuk mendukung perangkat keras symmetric
multiprocessor (SMP). Proses mau pun thread yang berbeda dapat dieksekusi
secara paralel dengan processor yang berbeda. Tapi bagaimana pun juga untuk
menjaga kelangsungan kebutuhan sinkronisasi yang tidak dapat di-preemptive dari
kernel, penerapan SMP ini menerapkan aturan dimana hanya satu processor yang
dapat dieksekusi dengan kode mode kernel pada suatu saat. SMP menggunakan
kernel spinlock tunggal untuk menjalankan aturan ini. Spinlock ini tidak
memunculkan permasalahan untuk pekerjaan yang banyak menghabiskan waktu untuk
menunggu proses komputasi, tapi untuk pekerjaan yang melibatkan banyak
aktifitas kernel, spinlock dapat menjadi sangat mengkhawatirkan.
Sebuah proyek yang
besar dalam pengembangan kernel Linux 2.1 adalah untuk menciptakan penerapan
SMP yang lebih masuk akal, dengan membagi kernel spinlock tunggal menjadi
banyak kunci yang masing-masing melindungi terhadap masuknya kembali sebagian
kecil data struktur kernel. Dengan menggunakan teknik ini, pengembangan kernel
yang terbaru mengizinkan banyak processor untuk dieksekusi oleh kode mode
kernel secara bersamaan.
Hal ini berguna untuk
melihat di mana SMP arsitektur muat ke dalam kategori keseluruhan paralel
prosesor. Sebuah taksonomi yang menyoroti sistem prosesor paralel pertama kali
diperkenalkan oleh Flynn [FLYN72] masih merupakan cara paling umum
mengkategorikan sistem tersebut. Flynn diusulkan dengan kategori sebagai
berikut sistem komputer: • instruksi tunggal data tunggal (SISD) stream: Sebuah
prosesor tunggal menjalankan sebuah aliran instruksi untuk beroperasi pada data
yang tersimpan dalam memori tunggal.
• Single instruksi
multiple data (SIMD) stream: Sebuah mesin tunggal instruksi mengontrol eksekusi
simultan dari sejumlah elemen pengolahan pada dasar berbaris. Setiap elemen
pemrosesan memiliki memori data yang terkait, sehingga bahwa setiap instruksi
dieksekusi pada satu set data yang berbeda oleh berbagai prosesor. Array
prosesor vektor dan termasuk dalam kategori ini. • Beberapa instruksi data
tunggal (MISD) stream: Sebuah urutan data ditransmisikan ke satu set prosesor,
masing-masing melaksanakan instruksi yang berbeda urutan. Struktur ini tidak
pernah dilaksanakan.
•
Beberapa instruksi multiple data (MIMD) stream: Satu set prosesor secara
simultan mengeksekusi urutan instruksi yang berbeda pada set data yang berbeda.
Organisasi SMP
Ada multiprosesor,
masing-masing berisi kontrol unit sendiri, unit aritmatika-logika, dan
register. Setiap prosesor memiliki akses ke memori utama bersama dan perangkat
I / O melalui beberapa bentuk mekanisme interkoneksi; bus bersama adalah
fasilitas umum. Itu prosesor dapat berkomunikasi satu sama lain melalui memori
(pesan dan status informasi yang tersisa dalam ruang alamat bersama-sama). Hal
ini juga dapat dibuat untuk prosesor untuk pertukaran sinyal secara langsung.
memori ini sering diselenggarakan simultan sehingga akses ganda untuk blok
terpisah dari memori yang mungkin. Pada komputer modern, prosesor umumnya
memiliki setidaknya satu tingkat cache memori yang swasta untuk prosesor.
Penggunaan cache ini memperkenalkan beberapa pertimbangan desain baru. Karena
setiap cache lokal berisi gambar sebagian utama memori, jika sebuah kata
berubah dalam satu cache, itu menurut pikiran bisa membatalkan kata dalam cache
lain. Untuk mencegah hal ini, prosesor lain harus diberitahu bahwa pembaruan
telah terjadi. Masalah ini dikenal sebagai masalah koherensi cache dan biasanya
dibahas dalam perangkat keras daripada oleh OS.7
0 komentar:
Posting Komentar