Dukungan Sistem Operasi 1 Dukungan Sistem Operasi Reza Pradipta Sanjaya, 32770 Galdita A. Chulafak, 33024 Aditya Rizki Yudiantika, 33045 Jurusan Teknik Elektro FT UGM, Yogyakarta 1. Pendahuluan Suatu aspek penting dari sistem terdistribusi adalah sumber daya yang digunakan secara bersama. Aplikasi klien melibatkan operasi pada sumber daya yang sering digunakan pada node lain atau paling tidak pada proses yang lain. Aplikasi (dalam wujud klien) dan jasa (dalam wujud sumber daya) menggunakan lapisan middleware untuk interaksi mereka. Middleware menyediakan pemanggilan jarak jauh antar objek atau proses di node pada suatu sistem terdistribusi. Pada bab ini, kita akan melanjutkan untuk memusatkan pada pemanggilan jarak jauh, tanpa jaminan real-time Lapisan di bawah middleware adalah lapisan sistem operasi. Tugas tentang segala sistem operasi adalah untuk menyediakan abstrak yang berorientasi mendasari masalah sumber daya fisik- pengolah, memori, komunikasi, dan media penyimpanan. Suatu sistem operasi seperti UNIX Atau Windows Nt [Custer 1998] menyediakan programmer tersebut, sebagai contoh, file daripada blok disk, dan dengan socket daripada akses jaringan mentah. Hal itu mengambil alih sumber daya phisik pada node tunggal dan mengaturnya untuk menyajikan abstraksi sumber daya ini sampai system-call alat penghubung. Sebelumnya kita mulai pemenuhan yang terperinci peran sistem operasi middleware pendukungan, hal itu adalah berguna bagi keuntungan beberapa perspektif historis dengan pengujian dua operasi konsep sistem yang sudah berakibat sepanjang pengembangan dari sistem terdistribusi : sistem operasi jaringan dan membagi-bagikan sistem operasi. Definisi bertukar-tukar. Tetapi konsep di belakangnya adalah kira-kira sebagai berikut. Kedua-duanya UNIX dan Windows NT adalah contoh sistem operasi jaringan. Mereka mempunyai suatu kemampuan membangun networking ke dalamnya pertengahan maka dapat digunakan untuk akses sumber daya jarak jauh. Akses adalah network-transparent untuk beberapa- tidak semua- jenis sumber daya. Untuk contoh, melalui suatu sistem file terdistribusi seperti NFS, para pengguna mempunyai network- transparent mengakses ke file. Itu adalah. banyak dari file yang akses para pengguna disimpan sedikit, pada sebuah server, dan ini adalah sebagian besar transparan kepada aplikasi mereka. Tetapi melukiskan karakteristik node yang berlari/menjalankan suatu jaringan yang beroperasi mempertahankan sistem otonomi didalam untuk memanage mereka sendiri & memproses sumber daya. Dengan kata lain, ada berbagai gambaran sistem, setiap satu node. Dengan suatu sistem operasi jaringan, seorang pengguna dapat sedikit membukukan ke komputer lain, menggunakan rlogin atau telnet, dan proses dijalankan di sana. Bagaimanapun, tidak sama dengan operasi system kendali proses menabrak node sendiri itu tidak menjadwalkan proses ke seberang node itu. Pengguna harus dilibatkan. Sebagai pembanding, orang bisa mempertimbangkan suatu sistem operasi di mana para pengguna tidak pernah terkait dengan jika program mereka dijalankan, atau penempatan tentang segala sumber daya , Ada suatua gambaran sistem tunggal. Sistem operasi mempunyai kendali di atas semua node di dalam sistem, dan itu dengan jelas menempatkan proses baru pada penyesuaian node apapun penjadwalan kebijakan.
24
Embed
Dukungan Sistem Operasi - te.ugm.ac.idte.ugm.ac.id/~risanuri/distributed/ringk/bab06.pdf · Itu adalah. banyak dari file yang akses para pengguna disimpan sedikit, pada sebuah server,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Dukungan Sistem Operasi 1
Dukungan Sistem Operasi
Reza Pradipta Sanjaya, 32770
Galdita A. Chulafak, 33024
Aditya Rizki Yudiantika, 33045
Jurusan Teknik Elektro FT UGM,
Yogyakarta
1. Pendahuluan
Suatu aspek penting dari sistem terdistribusi adalah sumber daya yang digunakan secara bersama.
Aplikasi klien melibatkan operasi pada sumber daya yang sering digunakan pada node lain atau paling
tidak pada proses yang lain. Aplikasi (dalam wujud klien) dan jasa (dalam wujud sumber daya)
menggunakan lapisan middleware untuk interaksi mereka. Middleware menyediakan pemanggilan jarak
jauh antar objek atau proses di node pada suatu sistem terdistribusi. Pada bab ini, kita akan melanjutkan
untuk memusatkan pada pemanggilan jarak jauh, tanpa jaminan real-time
Lapisan di bawah middleware adalah lapisan sistem operasi. Tugas tentang segala sistem operasi
adalah untuk menyediakan abstrak yang berorientasi mendasari masalah sumber daya fisik- pengolah,
memori, komunikasi, dan media penyimpanan. Suatu sistem operasi seperti UNIX Atau Windows Nt
[Custer 1998] menyediakan programmer tersebut, sebagai contoh, file daripada blok disk, dan dengan socket
daripada akses jaringan mentah. Hal itu mengambil alih sumber daya phisik pada node tunggal dan
mengaturnya untuk menyajikan abstraksi sumber daya ini sampai system-call alat penghubung.
Sebelumnya kita mulai pemenuhan yang terperinci peran sistem operasi middleware pendukungan, hal
itu adalah berguna bagi keuntungan beberapa perspektif historis dengan pengujian dua operasi konsep
sistem yang sudah berakibat sepanjang pengembangan dari sistem terdistribusi : sistem operasi jaringan dan
membagi-bagikan sistem operasi. Definisi bertukar-tukar. Tetapi konsep di belakangnya adalah kira-kira
sebagai berikut.
Kedua-duanya UNIX dan Windows NT adalah contoh sistem operasi jaringan. Mereka mempunyai
suatu kemampuan membangun networking ke dalamnya pertengahan maka dapat digunakan untuk akses
sumber daya jarak jauh. Akses adalah network-transparent untuk beberapa- tidak semua- jenis sumber daya.
Untuk contoh, melalui suatu sistem file terdistribusi seperti NFS, para pengguna mempunyai network-
transparent mengakses ke file. Itu adalah. banyak dari file yang akses para pengguna disimpan sedikit, pada
sebuah server, dan ini adalah sebagian besar transparan kepada aplikasi mereka.
Tetapi melukiskan karakteristik node yang berlari/menjalankan suatu jaringan yang beroperasi
mempertahankan sistem otonomi didalam untuk memanage mereka sendiri & memproses sumber daya.
Dengan kata lain, ada berbagai gambaran sistem, setiap satu node. Dengan suatu sistem operasi jaringan,
seorang pengguna dapat sedikit membukukan ke komputer lain, menggunakan rlogin atau telnet, dan proses
dijalankan di sana. Bagaimanapun, tidak sama dengan operasi system kendali proses menabrak node sendiri
itu tidak menjadwalkan proses ke seberang node itu. Pengguna harus dilibatkan.
Sebagai pembanding, orang bisa mempertimbangkan suatu sistem operasi di mana para pengguna
tidak pernah terkait dengan jika program mereka dijalankan, atau penempatan tentang segala sumber daya ,
Ada suatua gambaran sistem tunggal. Sistem operasi mempunyai kendali di atas semua node di dalam
sistem, dan itu dengan jelas menempatkan proses baru pada penyesuaian node apapun penjadwalan
kebijakan.
Dukungan Sistem Operasi 2
Sesungguhnya. tidak ada system operasi terdistribusi pada penggunaan secara umum , hanya sistem
operasi jaringan seperti UNIX, MacOS dan macam-macam Windows. Hal ini untuk tinggal kasus ini, untuk
dua pertimbangan utama. Yang pertama, para pengguna telah banyak menginvestasikan pada aplikasi
perangkat lunak mereka, yang mana sering mereka temui kebutuhan pemecahan masalah saat ini; mereka
tidak akan mengadopsi suatu sistem operasi baru yang tidak akan bisa menjalankan aplikasi mereka, apapun
efisiensi keuntungan ditawarkan. Percobaan yang telah dibuat untuk meyaingi UNIX dan kernel sistem
operasi lain di atas kernel baru, tetapi performa system operasi saingan tersebut belum memuaskan.
Bagaimanapun juga, memelihara persaingan semua sistem operasi utama yang terbaru meningkatkan
menjadi suatu karya sangat besar.
Alasan yang kedua adalah perlawanan terhadap adopsi dari sistem operasi terdistribusi adalah bahwa
para pengguna cenderung untuk menyukai untuk mempunyai suatu tingkat derajat otonomi untuk mesin
mereka. Hal tersebut terutama sekali karena performa [Douglis dan Ousterhout 1991].
Kombinasi middleware dan sistem operasi jaringan menyediakan suatu keseimbangan yang dapat
diterima antara kebutuhan untuk otonomi, pada satus sisi, dan sumber daya network-transparent untuk
mengakses pada sisi lainnya. Sistem operasi jaringan memungkinkan para pengguna untuk menjalankan
pengolah kata favorit mereka dan aplikasi lain berdiri sendiri. Middleware memungkinkan untuk mengambil
keuntungan dari servis yang tersedia pada sistem yang terdistribusi.
Bagian yang berikutnya menjelaskan fungsi lapisan sistem operasi. Bagian 6.2 menguji mekanisme
low-level untuk perlindungan sumber daya, yang perlu kita pahami dalam rangka menghargai hubungan
antara proses dan threads, dan peran kernelnya sendiri. Bagian 6.4 untuk menguji proses, alamat proses dan
threads abstrak. Di sini topik yang utama adalah concurrency, manajemen sumber daya lokal dan
perlindungan, dan penjadwalan. Bagian 6.5 kemudian meliputi komunikasi sebagai bagian dari pemanggilan
mekanisme. Bagian 6.6 mendiskusikan jenis arsitektur sistem operasi yang berbeda, mencakup hal yang
disebut monolitis dan microkernel disain.
2. Layer Sistem Operasi
Para pengguna akan senang jika kombinasi middleware-OS mereka mempunyai performa yang baik.
Middleware dapat berjalan pada berbagai kombinasi (platform) OS-Hardware di node suatu sistem
terdistribusi. OS yang berjalan pada suatu node, suatu kernel dan servis user-level yang berhubungan,
contohnya libraries, menyediakan abstraksi sendiri dari sumber daya perangkat keras local untuk
memproses, media penyimpanan dan komunikasi. Middleware menggunakan kombinasi dari sumber daya
lokal ini untuk menerapkan mekanismenya untuk pemanggilan jarak jauh antar object atau proses di node.
Tujuan kita di dalam bab ini adalah untuk menguji dampak dari mekanisme OS tertentu pada
kemampuan middleware untuk mengirimkan sumber daya terdistribusi yang digunakan secara bersama ke
para pengguna. Kernel dan klien dan proses server yang mengeksekusi atas proses tersebut adalah
komponen arsitektural utama yang berhubungan dengan proses tersebut. Kernel dan Proses Server adalah
komponen yang mengatur sumber daya dan klien kini hadir dengan suatu alat penghubung kepada sumber
daya itu. Sehingga sedemikian rupa, kita memerlukan sedikitnya di antara hal-hal berikut :
- Encapsulation : Mereka harus menyediakan suatu servis yang bermanfaat untuk menghubungkan ke
sumber daya mereka, itu adalah satu set operasi yang sama dengan kebutuhan c1ients. Detil seperti
manajemen memori dan alat yan digunakan untuk menimplmentasikan sumber daya harus
tersembunyi dari klien.
- Protection : Sumber daya memerlukan perlindungan dari akses yang illegal
Dukungan Sistem Operasi 3
- Concurent processing : Klien mungkin menggunakan bersama sumber daya dan mengaksesnya
secara bersamaan.
Klien mengakses sumber daya dengan cara pembuatan, sebagai contoh, pemanggilan metode jarak
jauh bagi suatu server obyek, atau sistem yang dipanggil ke suatu kernel. Kita menyebut pengaksesan suatu
sumber daya yang terbungkus adalah suatu mekanisme pemanggilan, bagaimanapun hal tersebut diterapkan.
Suatu kombinasi libraries, kernel dan servers mungkin dipanggil untuk melaksanakan pemanggilan tugas
berikut yang terkait :
- Communication : Parameter operasi dan hasilnya harus melalui dan berasal dari para manajer
sumber daya, di atas suatu jaringan atau di dalam suatu komputer.
- Scheduling : Ketika suatu operasi dilibatkan, pengolahan nya harus dijadwalkan di dalam kernel atau
server.
Perangkat lunak OS dirancang untuk menjadi suatu yang dapat dibawa antara arsitektur computer
yang mungkin. Hal ini berarti bahwa mayoritasnya adalah coded pada suatu high-level language seperti C,
C++, atau Modula-3, dan bahwa fasilitas adalah berupa lapisan sedemikian sehingga komponen machine-
dependent dikurangi menjadi minimal suatu lapisan paling bawah. Beberapa kernel dapat mengeksekusi
shared-memory multiprocessors.
Komponen inti OS adalah sebagai berikut :
- Process Manager : Menangani penciptaan dan operasi atas proses. Suatu proses adalah suatu unit
manajemen sumber daya, mencakup suatu alamat dan satu atau lebih threads.
- Threads Manger : Menciptakan Threads, sinkronisasi dan penjadwalan. Threads adalah aktivitas
terjadwal yang terkait dengan proses.
- Communication Manager : Komunikasi antara threads berkait dengan proses yang berbeda pada
suatu komputer yang sama. Beberapa kernel juga mendukung komunikasi antara thread pada prose
jarak jauh. Kernel lain tidak mempunyai pemikiran dari komputer lain untuk membangun ke
dalamnya, dan suatu servis tambahan yang diperlukan untuk komunikasi eksternal.
- Memory Manager : Manajemenen fisik dan memori virtual.
- Supervisor : Pengiriman interrupt, sistem yang sering disebut perangkap dan pengecualian lainnya :
kendali manajemen unit memori dan tempat hardware caches; pengolah dan manipulasi floating
point unit register
3. Proteksi
Untuk memahami apa yang yang disebut dengan 'akses ilegal` untuk suatu sumber daya, dengan
mempertimbangkan sebuah file. Untuk menjelaskan hal itu, di mana pembukaan file yang mempunyai dua
operasi, yaitu write dan read. Melindungi file terdiri dari dua sub-problems. Yang pertama adalah untuk
memastikan bahwa masing-masing file dua operasi dapat dilakukan hanya oleh klien dengan hak untuk
melaksanakan itu.
Jenis lain dari akses ilegal, yang kita akan tunjukkan di sini adalah jika sebuah kejahatan klien operasi
sidesteps yang merupakan sumber daya ekspor. Tentu saja, ini adalah suatu operasi tidak berarti yang akan
mengganggu penggunaan file normal dan pekerjaan file itu tidak pernah akan dirancang untuk mengekspor.
Kita dapat melindungi sumber daya dari pemanggilan ilegal seperti setFilePointerRandomly. Suatu arah
untuk menggunakan suatu bahasa program type-safe, seperti Java atau Modula-3. Suatu bahasa type-safe
sedemikian hingga tidak ada modul yang boleh untuk mengakses suatu target modul kecuali jika hal itu
mempunyai suatu acuan untuk target modul tersebut. sebagaimana mungkin pada C atau C++. Dan mungkin
hanya menggunakan acuannya kepada modul target untuk melaksanakan pemanggilan (method calls atau
Dukungan Sistem Operasi 4
procedure calls) di mana target dari programmer dibuat tersedia untuk itu. Dengan membandingkannya, di
dalam C++ programmer boleh melempar suatu titik penunjuk bagaimanapun dia suka, dan dengan begitu
melaksanakan pemanggilan non-type-safe.
Kita dapat juga mempekerjakan perangkat keras untuk mendukung perlindungan modul dari satu sama lain
di tingkatan dari pemanggilan individu, dengan mengabaikan bahasa di mana mereka tertulis. Untuk
mengoperasikan rencana ini pada suatu general-purpose komputer, kita memerlukan suatu kernel.
Kernel Dan Perlindungan Kernel adalah suatu program yang dibedakan oleh fakta bahwa itu selalu
berjalan dan kodenya dieksekusi dengan akses perlakuan khusus untuk sesumber fisik pada komputer host-
nya. Secara khusus hal itu dapat mengendalikan unit manajemen memori dan menetapkan processor register
sehingga tidak ada kode lain yang boleh mengakses sesumber fisik mesin kecuali dengan jalan yang bisa
diterima.
Kebanyakan pengolah mempunyai suatu mode register perangkat keras yang menentukan apakah
instruksi mana yang dapat dieksekusi. Suatu kernel memroses eksekusi dengan processor dalam mode
supervisor.
Kernel juga menetapkan ruang alamat untuk melindungi dirinya sendiri dan proses lain dari proses yang
menyimpang. Suatu ruang alamat adalah suatu koleksi kumpulan range lokasi virtual memori. Suatu proses
tidak bisa mengakses memori di luar ruang alamatnya. Ketika suatu proses mengeksekusi kode aplikasi, ia
mengeksekusi dalam suatu user-level untuk aplikasi tersebut.
4. Proses Dan Thread
Suatu proses terdiri dari suatu execution environment bersama-sama dengan satu atau lebih thread.
Suatu threads adalah abstraksi sistem operasi dari suatu aktivitas. Suatu execution environment merupakan
unit manajemen sesumber. Suatu execution environment terdiri dari:
suatu ruang alamat;
thread sinkronization dan communication resource, misalnya semaphore;
sesumber higher-level, seperti window dan open file.
Execution environment biasanya mahal untuk menciptakan dan mengatur, tetapi beberapa threads
dapat digunakan secara bersama. Mereka dapat menggunakan secara bersama semua sesumber yang dapat
diakses di antara mereka. Dengan kata lain, suatu execution environment menghadirkan wilayah
perlindungan yang mengeksekusi threads.
Threads dapat diciptakan dan dihancurkan dengan dinamis jika dibutuhkan. Tujuan multiple thread
adalah untuk memaksimalkan derajat concurent eksekusi antar operasi, hal itu memungkinkan proses
concurrent pada multiprosesor.
4.1 Ruang Alamat
Suatu addres space adalah suatu unit manajemen dari proses virtual memori. Suatu region adalah
suatu area virtual memori yang dapat diakses dengan threads yang memiliki proses tersebut.
Dukungan Sistem Operasi 5
Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3