Rabu, 31 Maret 2010

tugas sistem operasi(kelompok).

1. Pendahuluan

Secara kasar, kita dapat membagi sejarah komputasi modern ke dalam era berikut:

* 1970-an: Timesharing (1 komputer dengan banyak pengguna)
* 1980-an: Personal komputer (1 komputer per user)
* 1990-an: Komputasi paralel (banyak komputer per user)

Sampai sekitar tahun 1980, komputer besar, mahal, dan terletak di pusat-pusat komputer. Kebanyakan organisasi memiliki satu mesin besar.

Tahun 1980-an, harga turun ke titik di mana setiap user bisa memiliki-nya komputer pribadi atau workstation. Mesin-mesin ini sering jaringan bersama-sama, sehingga pengguna dapat melakukan remote login pada komputer orang lain atau berbagi file dalam berbagai cara.

Dewasa ini beberapa sistem memiliki banyak prosesor per pengguna, baik dalam bentuk komputer paralel atau koleksi besar CPU yang dibagi oleh komunitas pengguna yang kecil. Seperti biasanya disebut sistem parallel atau terdistribusi sistem komputer.

Perkembangan ini menimbulkan pertanyaan tentang jenis perangkat lunak apa yang akan dibutuhkan untuk sistem baru ini. Untuk menjawab pertanyaan ini, sebuah kelompok di bawah arahan Prof Andrew S. Tanenbaum pada Vrije Universiteit (VU) di Amsterdam (Belanda) telah melakukan penelitian sejak tahun 1980 di bidang sistem komputer terdistribusi. Ini penelitian, sebagian dilakukan dalam kerjasama dengan Centrum voor Wiskunde en Informatica (CWI), telah mengakibatkan pengembangan suatu sistem operasi terdistribusi baru, yang disebut Amoeba, yang dirancang untuk lingkungan yang terdiri dari sejumlah besar komputer.

Amoeba tersedia gratis untuk universitas dan lembaga pendidikan lainnya dan komersial khusus harga dan kondisi perusahaan, pemerintah, dan pengguna lain, seperti yang dijelaskan kemudian.

2. Apa itu Amoeba?

Amoeba adalah tujuan umum dari sistem operasi terdistribusi. Ini dirancang untuk mengambil koleksi mesin-mesin dan membuat mereka bertindak bersama sebagai satu sistem terpadu. Di umum, pengguna tidak mengetahui jumlah dan lokasi dari prosesor yang menjalankan perintah, maupun jumlah dan lokasi dari file server yang menyimpan file. Untuk pengguna biasa, sebuah sistem Amoeba terlihat seperti satu kuno time-sharing sistem.

Amoeba adalah sebuah proyek penelitian yang sedang berlangsung. Itu harus dianggap sebagai platform untuk melakukan penelitian dan pengembangan di terdistribusi dan sistem paralel, bahasa, protokol dan aplikasi. Meskipun memberikan beberapa UNIX emulasi, dan pasti UNIX-seperti rasa (termasuk lebih dari 100 UNIX-seperti utilitas), itu adalah TIDAK plug-compatible pengganti UNIX. Harus menarik bagi pendidik dan peneliti yang ingin kode sumber sistem operasi terdistribusi untuk memeriksa dan bermain-main dengan, serta untuk mereka yang membutuhkan basis untuk menjalankan aplikasi terdistribusi dan paralel.

Amoeba ini ditujukan untuk komputasi terdistribusi baik (beberapa pengguna independen bekerja pada proyek-proyek yang berbeda) dan komputasi paralel (misalnya, satu pengguna menggunakan CPU 50 untuk bermain catur secara paralel). Amoeba menyediakan mekanisme yang diperlukan untuk melakukan keduanya aplikasi terdistribusi dan paralel, tetapi kebijakan sepenuhnya ditentukan oleh user-level program. Sebagai contoh, baik tradisional (yaitu berurutan) membuat dan paralel baru amake disediakan.

3. Tujuan Desain

Tujuan desain dasar Amoeba adalah:

* Distribution à Connecting bersama banyak mesin

# Parallelism à Allowing pekerjaan individu untuk menggunakan beberapa CPU dengan mudah

* Transparency à Having koleksi komputer bertindak seperti sistem tunggal
* Performance à Achieving semua di atas dalam cara yang efisien

Amoeba adalah sebuah sistem terdistribusi, di mana beberapa mesin dapat dihubungkan bersama. Mesin-mesin ini tidak perlu semua akan dari jenis yang sama. Mesin dapat ditularkan sekitar bangunan pada sebuah LAN. Amoeba menggunakan performa tinggi protokol jaringan FLIP untuk LAN komunikasi. Jika sebuah mesin Amoeba memiliki lebih dari satu antarmuka jaringan itu akan secara otomatis bertindak sebagai router FLIP antara berbagai jaringan dan dengan demikian menghubungkan berbagai LAN bersama.

Amoeba juga merupakan sistem paralel. Ini berarti bahwa satu pekerjaan atau program dapat menggunakan beberapa prosesor untuk mendapatkan kecepatan. Sebagai contoh, sebuah cabang dan boundproblem seperti Traveling Salesman Problem dapat menggunakan puluhan atau bahkan ratusan CPU, jika tersedia, semua bekerja sama untuk memecahkan masalah lebih cepat. Large back end Multiprocessors, misalnya, bisa dimanfaatkan dengan cara ini sebagai mesin menghitung besar.

Tujuan utama lainnya adalah transparansi. Pengguna tidak perlu tahu nomor atau lokasi dari CPU, maupun tempat di mana file tersebut disimpan. Demikian pula, masalah-masalah seperti file replikasi ditangani sebagian besar secara otomatis, tanpa campur tangan pengguna bythe.

Dimasukkan ke dalam istilah yang berbeda, seorang pengguna tidak login ke mesin tertentu, tetapi ke dalam sistem secara keseluruhan. Tidak ada konsep mesin rumah. Setelah log in, pengguna tidak harus memberikan perintah remote login khusus untuk mengambil keuntungan dari beberapa prosesor atau melakukan operasi mount remote khusus untuk mengakses file jauh. Untuk pengguna, seluruh sistem seperti satu sistem operasi time sharing konvensional.

Kinerja dan kehandalan selalu isu kunci dalam sistem operasi, jadi upaya substansial telah pergi ke dalam berurusan dengan mereka. Secara khusus, dasar mekanisme komunikasi telah dioptimalkan untuk memungkinkan pesan yang akan dikirim dan balasan diterima dengan penundaan yang minimum, dan untuk memungkinkan blok besar data yang akan dikirimkan dari mesin mesin bandwidth tinggi. Blok bangunan ini berfungsi sebagai dasar untuk pelaksanaan kinerja tinggi subsistem dan aplikasi onAmoeba.

4. Sistem Arsitektur

Sejak komputasi terdistribusi dan paralel berbeda dari komputer pribadi, itu pertama bermanfaat menggambarkan jenis konfigurasi hardware yang Amoeba adalah dirancang. Amoeba tipikal sistem akan terdiri dari tiga kelas fungsional mesin. Pertama, setiap pengguna memiliki workstation untuk menjalankan antarmuka pengguna, sistem jendela X. Workstation ini bisa menjadi teknik khas workstation, atau terminal X khusus. Hal ini sepenuhnya didedikasikan untuk menjalankan antarmuka pengguna, dan tidak perlu melakukan lain komputasi.

Kedua, terdapat sebuah kolam prosesor yang secara dinamis dialokasikan untuk pengguna sebagai diperlukan. Prosesor ini dapat menjadi bagian dari sebuah multiprosesor atau multicomputer, menjadi koleksi komputer papan tunggal atau menjadi kelompok dialokasikan untuk workstation tujuan. Biasanya, setiap kolam prosesor memiliki beberapa megabyte memori swasta, yaitu, renang prosesor tidak perlu memiliki memori bersama (tetapi tidak dilarang). Komunikasi dilakukan dengan mengirimkan paket-paket di atas LAN. Semua berat komputasi prosesor yang terjadi di kolam.

Ketiga, ada server khusus, seperti direktori file server dan server yang dijalankan sepanjang waktu. Mereka dapat berjalan di kolam prosesor prosesor, atau pada hardware khusus, seperti yang diinginkan.

Semua komponen ini harus terhubung dengan LAN cepat. Saat ini hanya Ethernet didukung, tapi port LAN lain yang mungkin.

5. Konsep Dasar dalam Amoeba

Bagian berikut memberikan pengenalan Amoeba dan sebagian karakteristiknya.

1. Mikrokernel + Server Arsitektur

Amoeba ini dirancang dengan apa yang saat ini disebut sebagai arsitektur mikrokernel. Ini berarti bahwa setiap mesin dalam sebuah sistem berjalan Amoeba kecil, identik sepotong software yang disebut kernel. Kernel mendukung proses dasar, komunikasi, dan objek primitif. Mentah ini juga menangani perangkat I / O dan memori manajemen. Segalanya lain yang dibangun ontop fundamental ini, biasanya byuser-ruang server proses.

Dengan demikian sistem terstruktur sebagai kumpulan proses independen. Beberapa ini adalah proses pengguna, menjalankan program aplikasi. Proses tersebut disebut klien. Proses server lainnya, seperti file Bullet server atau direktori server. Fungsi dasar dari mikrokernel adalah untuk menyediakan sebuah lingkungan di mana klien dan server dapat berjalan dan berkomunikasi dengan satu sama lain.

Desain modular ini membuat lebih mudah untuk memahami, menjaga, dan memodifikasi sistem. Sebagai contoh, karena file server adalah sebuah server terisolasi, bukan menjadi seorang bagian integral dari sistem operasi, adalah mungkin bagi pengguna untuk mengimplementasikan file baru server untuk tujuan-tujuan khusus (misalnya NFS, database). Dalam sistem konvensional, seperti UNIX, menambahkan tambahan yang ditetapkan pengguna sistem file infeasible.

2. Threads

Dalam banyak sistem operasi tradisional, suatu proses terdiri dari sebuah ruang alamat dan benang tunggal kontrol. Dalam Amoeba, masing-masing proses memiliki ruang alamat sendiri, tetapi mungkin berisi beberapa kontrol benang (benang). Setiap thread memiliki programnya sendiri counter dan stack sendiri, tetapi kode saham dan data global dengan semua benang lainnya dalam proses.

Setelah beberapa benang di dalam setiap proses yang nyaman untuk berbagai tujuan dan sesuai dengan model komputasi terdistribusi dan paralel dengan sangat baik. Sebagai contoh, sebuah file server mungkin memiliki beberapa benang, masing-masing thread awalnya menunggu permintaan masuk Ketika permintaan datang, diterima oleh beberapa thread, yang kemudian mulai memproses itu. Jika itu thread blok kemudian menunggu untuk disk I / O, benang lain dapat melanjutkan. Meskipun mereka kontrol independen Namun, semua benang dapat mengakses blok Common cache, menggunakan Semaphore untuk menyediakan sinkronisasi antar thread. Desain ini membuat pemrograman server dan aplikasi paralel jauh lebih mudah.

Tidak hanya proses pengguna terstruktur sebagai koleksi benang berkomunikasi dengan RPC, tapi kernel juga. Secara khusus, benang di kernel menyediakan akses ke jasa manajemen memori.

3. Remote Procedure Call

Threads sering perlu untuk berkomunikasi dengan satu sama lain. Threads dalam satu proses hanya dapat berkomunikasi melalui memori bersama, tetapi benang yang terletak di berbagai proses memerlukan mekanisme yang berbeda. Amoeba dasar mekanisme komunikasi prosedur remote panggilan (RPC). Komunikasi terdiri dari benang klien mengirimkan pesan ke server benang, kemudian menghalangi sampai server mengirimkan kembali benang kembali pesan, dan pada saat klien diblokir.

Untuk melindungi pengguna dari naif rincian ini, prosedur perpustakaan khusus, yang disebut Rintisan bertopik, disediakan untuk mengakses layanan terpencil. Amoeba memiliki bahasa khusus yang disebut Amoeba Interface Language (AIL) untuk secara otomatis menghasilkan tulisan rintisan ini prosedur. Mereka marshal parameter dan menyembunyikan rincian komunikasi dari para pengguna.

4. Komunikasi kelompok

Untuk banyak aplikasi, satu-ke-banyak komunikasi dibutuhkan, di mana satu pengirim ingin mengirim pesan ke beberapa penerima. Sebagai contoh, sekelompok kerjasama server mungkin perlu melakukan ini ketika struktur data diperbarui. Juga sering dibutuhkan untuk pemrograman paralel. Amoeba menyediakan fasilitas dasar untuk dapat dipercaya, benar-benar-kelompok memerintahkan komunikasi, di mana semua penerima dijamin untuk kelompok mendapatkan semua pesan dalam urutan yang sama persis. Mekanisme ini menyederhanakan banyak terdistribusi dan pemrograman paralel masalah.

5. Objek dan Kemampuan

Ada dua konsep dasar di Amoeba : objek dan kemampuan. Semua layanan dan komunikasi yang dibangun di sekitar mereka.

Sebuah objek konseptual tipe data abstrak. Itu adalah, sebuah objek adalah sebuah struktur data di mana operasi tertentu didefinisikan. Sebagai contoh, sebuah direktori adalah obyek yang operasi tertentu dapat diterapkan, seperti nama masukkan dan melihat upname.

Amoeba terutama perangkat lunak mendukung objek, tetapi objek hardware juga ada. Tiap objek ini dikelola oleh proses server yang dapat dikirim RPCs. Setiap RPC menentukan objek yang akan digunakan, operasi harus dilakukan, dan setiap parameter yang akan berlalu.

Ketika sebuah objek dibuat, server melakukan penciptaan membangun sebuah 128-bit disebut kemampuan dan mengembalikannya ke pemanggil. Operasi berikutnya pada objek meminta user untuk mengirimkan kemampuan server untuk kedua menentukan objek dan membuktikan pengguna memiliki izin untuk memanipulasi objek. Kemampuan terlindungi cryptographically untuk mencegah gangguan. Semua benda di seluruh sistem diberi nama dan dilindungi menggunakan satu ini sederhana, transparan skema.

6. Memory Management

Amoeba model memori yang sederhana dan efisien. Sebuah ruang alamat proses terdiri dari satu atau lebih segmen pengguna dipetakan ke alamat virtual yang ditentukan. Ketika proses pelaksanaan, semua segmen dalam memori. Ada swapping atau paging di sekarang, dengan demikian Amoeba hanya dapat menjalankan program yang cocok di memori fisik. Keuntungan utama dari skema ini adalah kesederhanaan dan kinerja tinggi. Kekurangan utama adalah bahwa tidak mungkin untuk menjalankan program lebih besar daripada memori fisik.

7. Input / Output

I / O juga ditangani oleh kernel benang. Untuk membaca mentah blok dari disk, misalnya, proses pengguna memiliki otorisasi yang tepat, apakah RPCs dengan disk I / O thread di kernel. Pemanggil tidak menyadari bahwa server benar-benar sebuah kernel thread, sejak antarmuka pengguna kernel benang dan benang adalah identik. Secara umum, hanya file server dan sistem serupa seperti proses berkomunikasi dengan kernel I / O benang.

6. Perangkat Lunak di Luar Kernel

Tugas Amoeba mikrokernel adalah untuk mendukung benang, RPC, memori manajemen dan I / O. Segala sesuatu yang lain dibangun ontop primitif ini.

1. Bullet File Server

Amoeba standar file server telah dirancang untuk kinerja tinggi dan Bullet disebut server. Yang menyimpan file contiguously pada disk, dan seluruh file cache contiguously inti. Kecuali file yang sangat besar, ketika sebuah program user membutuhkan sebuah file, itu akan meminta agar server Bullet kirim seluruh berkas dalam satu RPC. A berdedikasi mesin dengan minimal RAM 16 MB diperlukan untuk file Bullet server untuk instalasi (kecuali pada Matahari 3 di mana ada maksimum 12 MB). Semakin banyak RAM yang lebih baik, kenyataannya. Kinerja yang ditingkatkan dengan file cache yang lebih besar. Ukuran file maksimum adalah bythe juga terbatas jumlah memori fisik yang tersedia bagi server Bullet.

2. Directory Server

Berbeda dengan sebagian besar sistem operasi lain manajemen file dan pemberian nama file adalah terpisah di Amoeba. The Bullet server hanya mengelola file, tapi tidak menangani penamaan. Ini hanya membaca dan menulis file, yang ditentukan oleh kemampuan. Sebuah kemampuan dapat dianggap sebagai semacam pegangan untuk sebuah objek, seperti file. Sebuah server direktori peta ASCII string ke kemampuan. Direktori berisi (ASCII string, kemampuan) pasangan; kemampuan ini akan untuk file, direktori, dan objek lain. Karena direktori dapat mengandung kemampuan direktori lain, sistem file yang hirarkis dapat dibangun dengan mudah, serta lebih umum struktur.

Sebuah entri direktori mungkin berisi salah satu kemampuan atau sejumlah kemampuan, untuk memungkinkan nama file untuk memetakan ke direplikasi satu set file. Ketika pengguna mendongak nama dalam direktori, seluruh rangkaian kemampuan dikembalikan, untuk menyediakan ketersediaan tinggi. Ini replika mungkin berada di server file berbeda, berpotensi berjauhan (direktori server tidak memiliki tentang apa jenis objek yang memiliki kemampuan untuk atau di mana mereka berada). Operasi disediakan untuk direplikasi mengelola file dalam cara yang konsisten.

3. Compiler

Amuba datang standar dengan kompiler untuk standar ANSI C, Pascal, Modula 2, BASIC, dan Fortran 77. Masing-masing dilengkapi dengan perpustakaan yang sesuai. Amuba juga datang dengan koleksi perangkat lunak pihak ketiga, termasuk GNU Ccompiler.

4. Pemrograman paralel

Sebuah bahasa baru yang disebut Orca telah dikembangkan. Ini adalah untuk pemrograman paralel. Orca mengizinkan para programmer untuk membuat user-tipe data yang didefinisikan pada berbagai proses mesin dapat berbagi dengan cara yang terkendali, dalam simulasi efek objek berbasis didistribusikan memori bersama atas sebuah LAN. Operasinya pada setiap objek yang dilakukan sedemikian rupa untuk memberikan ilusi bahwa ada hanya satu salinan, bersama-sama oleh semua mesin. Itu Orca run-time sistem menggunakan IPC Amoeba fasilitas untuk membuat perangkat lunak berbagi objek melalui jaringan yang sangat efisien. Orca tersedia secara terpisah dari Vrije Universiteit.

5. Utilitas

Amuba menyediakan sejumlah besar mengikuti model utilitas program yang datang dengan UNIX. Antara lain, ini meliputi awk, basename, kal, kucing, CDIFF, chmod, cmp, comm, kompres, cp, cpdir, dd, diff, echo, mantan, expr, faktor, file, menemukan, flip, keberuntungan, grep, kepala, Ya ampun, membunuh, ksh, ln, lihat, ls, m4, membuat, mkdir, lebih, mv, od, pr, persiapan, printenv, pwd, penawaran, rev, rm, rmdir, sed, sh, shar, ukuran, tidur, menyortir, mantra, split, string, jumlah, ekor, tar, tee, termcap, tes, waktu, sentuhan, tr, treecmp, benar, tset, tsort, tty, Uniq, UUD, uue, vi, wc, yang, xargs, yacc dan banyak lainnya favorit tua. Selain itu, sejumlah program baru disediakan seperti amake, konfigurasi paralel yang sangat manajer.

6. UNIX Emulation

Untuk membantu program UNIX port ke lingkungan Amoeba, sebuah emulasi perpustakaan, yang disebut Ajax, menawarkan kompatibilitas P1003.1 POSIX utama. Kebanyakan POSIX program conformant bekerja tanpa modifikasi. Mereka hanya harus dikompilasi dan terhubung di Amoeba.

7. TCP / IP

Meskipun mekanisme komunikasi dasar di Amoeba adalah FLIP protokol Amoeba, server khusus disediakan untuk memungkinkan TCP / IP komunikasi, melalui RPCs untuk TCP / IP server. Dengan cara ini, mesin dapat diakses melalui Internet.

8. X Windows

Antarmuka Amoeba pengguna adalah standar industri X Window System (X11R6). Untuk X server berjalan pada workstation, sebuah versi khusus dari X tersedia yang menggunakan Amuba RPC untuk kinerja tinggi komunikasi. Ketika terprogram X Terminal digunakan, ini dapat dihubungkan dengan menggunakan TCP / IP server.

9. Sambungan ke UNIX

Pengemudi UNIX khusus disediakan dengan Amoeba yang dapat dihubungkan ke SunOS 4.1.1 (atau yang lebih tinggi) kernel UNIX, yang memungkinkan program-program UNIX untuk berkomunikasi dengan Amoeba program. Juga mungkin, seperti yang dinyatakan sebelumnya, untuk menggunakan TCP / IP untuk komunikasi ini (misalnya, untuk non-mesin Sun), tapi fitur yang diuraikan di sini adalah jauh lebih cepat dan kurang kompleks jika Sun workstation yang tersedia. Utilitas yang disediakan untuk mentransfer file antara UNIX dan file server Bullet.

7. Aspek Nonteknis Amoeba
1. Ketersediaan Sumber Kode

Semua distribusi Amoeba akademis berisi seluruh kode sumber. Binari untuk mesin didukung juga disertakan.

2. Amuba adalah dibebani oleh Perizinan AT & T

Amuba ini ditulis dari awal. Meskipun menyediakan sebagian POSIX emulasi, tidak berisi kode AT & T sama sekali. Selain itu, program utilitas itu datang dengan baik telah ditulis dari awal atau diperoleh dari pihak ketiga di bawah kondisi baik. Walaupun pelanggan diminta untuk menyetujui lisensi kami, tidak ada lisensi tambahan diperlukan untuk Amoeba.

3. Dokumentasi

Amuba dilengkapi dengan lebih dari 1000 halaman dokumentasi. Hal ini disusun dalam beberapa volume :

o Kumpulan makalah ilmiah yang diterbitkan menjelaskan ide dasar.
o Sebuah panduan pengguna(bagaimana bekerja dengan Amoeba; halaman manual untuk program utilitas).
o Sebuah panduan pemrogram (menulis klien / server; halaman manual untuk perpustakaan rutinitas).
o Sebuah panduan administrator sistem (bagaimana untuk mengoperasikan dan memelihara Amoeba).
o Catatan rilis (bibliografi, perubahan, buginformation, dll).

Semua dokumentasi tersedia secara bebas bythe World-Wide Web URL:

http://www.am.cs.vu.nl/

dan melalui FTP anonim dari situs-situs berikut. Lihat file README di sana selama rincian lebih lanjut.

Lokasi Nama Situs Direktori
Eropa VU ftp.cs.vu.nl amoeba
USA UCSC ftp.cse.ucsc.edu Pub/ amoeba



4. Mesin Dimana Amoeba Berjalan

Amuba saat ini berjalan onthe arsitektur-arsitektur berikut :

o Matahari 4c dan MicroSPARC SPARCstations
o Intel 386/486/Pentium/Pentium Pro (IBM AT bus, PCI bus)
o 68030VME-bus papan (Angkatan CPU-30)
o Sun 3 / 60 & Sun 3 / 50 workstation

5. Konfigurasi yang Diperlukan

Amuba adalah sistem terdistribusi yang heterogen. Walaupun secara teori dapat bekerja dilakukan pada satu komputer, dalam praktiknya lebih dari satu mesin yang dibutuhkan. Kami merekomendasikan setidaknya lima mesin: file server, workstation dan 3 kolam renang prosesor. Renang prosesor yang lebih baik. Setiap kombinasi dari mesin yang didukung dapat digunakan.

o Konfigurasi minimum untuk sistem aSPARCstation:

File server ≥ 16MB RAM, 300MB disk, tape drive SCSI.

Workstation ≥ 8MB RAM, monitor, keyboard, mouse.

Pool processor ≥ 8MB RAM.

o Konfigurasi minimum untuk sistem 386/486/Pentium:

File server ≥ 16 MB RAM, 300 MB disk, 3.5 "floppy drive, Ethernet card, VGA kartu, keyboard, monitor, mouse.

Workstation ≥ 8MB RAM, Ethernet card, kartu VGA, keyboard, monitor, mouse.

Pool processor: = 4MB RAM, 3.5 "floppy drive, kartu Ethernet.

Didukung kartu Ethernet: SMC / WD 8.013, NE 2100, NE2000, 3Com 503

o Konfigurasi minimum untuk aSun 3 / 60 sistem:

File server persis 12MB RAM, 300MB disk, QIC-24 tape drive.

Workstation ≥ 4MB RAM, monochrome monitor, keyboard, mouse.

Pool processor ≥ 4MB RAM.

Sun 3/50s juga dapat digunakan untuk kolam renang prosesor dan workstation.

Amuba biasanya didistribusikan melalui FTP, Exabyte tape, QIC-150 atau QIC-24 pita rekaman. Distribusi sekitar 120 MB dari sumber, dokumen dan binari. Untuk setiap arsitektur yang berbeda akan dihasilkan subtree, dan masing-masing pohon biner perlu lain 80 MB. Ukuran besar karena X perpustakaan dikompilasi ke binari. Itu Sumber X tidak termasuk. Namun, perubahan pada sumber-sumber yang diperlukan untuk X Amoeba disediakan.

Untuk tertanam aplikasi, di mana file server tidak diperlukan dan hanya kernel sedang digunakan, adalah mungkin untuk menjalankan Amoeba kernel pada satu CPU. Beberapa Amoeba menjalankan instalasi kernel hanya dalam modus, dalam efek menggunakannya sebagai didistribusikan kernel kinerja tinggi untuk aplikasi kontrol proses industri.

6. Harga

Amuba tersedia bebas untuk universitas yang memiliki WWW FTP atau akses ke Internet, dan sebesar $ US 500 untuk Exabyte atau DAT tape kepada mereka yang tidak. Set cetak manual dapat diperoleh sebesar $ US 500 masing-masing.

Lisensi komersial dan dukungan yang diberikan oleh ACE, bv di Amsterdam. Mengirim email ke onproducts amoeba@ace.nl untuk informasi dan harga.

7. Dukungan

Amuba ini diberikan kepada universitas pada seperti dasar, tanpa dukungan. Meskipun Amuba masih percobaan sistem, bukan kualitas produksi dipoles produk (misalnya, emulasi UNIX tidak 100% selesai), itu masih dapat sangat berguna untuk siapa pun yang tertarik dalam sistem terdistribusi.

8. Prosedur pemesanan

Amuba merupakan hak cipta perangkat lunak. Ini tersedia bebas untuk universitas di bawah shrink-wrap lisensi di mana universitas Amoeba setuju untuk menggunakan hanya untuk pendidikan dan riset, untuk tidak menghambat kita secara hukum bertanggung jawab atas konsekuensi dari bug di Amoeba, dan semua hal yang biasa pengacara pikirkan. FTP Amoeba Anda harus mendaftar untuk mendapatkan FTP nama login dan password. Hal ini dilakukan melalui World Wide Web URL http://www.am.cs.vu.nl/ Jika ada bagian dari youFTP Amoeba kemudian youagree menjadi boundto lisensi. Universitas pelanggan tidak memiliki akses FTP dan semua pelanggan harus nonuniversity menandatangani perjanjian lisensi komersial di mana hak-hak dan kewajiban mereka secara eksplisit dijelaskan. Jika anda ingin terlibat dalam penelitian bersama dengan Vrije Universiteit lalu lisensi gratis khusus yang tersedia. Untuk mendapatkan akademis atau penelitian bersama lisensi, silahkan hubungi kami melalui email atau FAX, pastikan untuk menyertakan alamat pos yang lisensi untuk dikirim. Lisensi tidak dapat dikirim byFAX atau elektronik. Email address: amoeba-license@cs.vu.nl FAX: +31 204447653 Setelah lisensi ditandatangani dikembalikan, universitas akan dikirimkan kaset-kaset. Jika dicetak salinan manual diperlukan ini dapat dipesan pada waktu yang sama. Inilah dokumentasi yang sama yang tersedia byFTP, seperti dijelaskan dalam Sec. 7.3above. Untuk memperoleh lisensi komersial silahkan kirim email ke ACE, bv Email address: amoeba@ace.nl

selengkapnya......

Jumat, 19 Maret 2010

tugas so(sistem operasi) ke2

1.Jelaskan cara kerja sistem komputer berbasis interupsi!
Jawab!!
Perangkat I/O akan mengirimkan sinyal interupsi ke CPU.
*CPU menyelesaikan operasi yang sedang dijalankannya kemudian merespon interupsi.
*CPU memeriksa interupsi tersebut, kalau valid maka CPU akan mengirimkan sinyal acknowledgment ke perangkat I/O untuk menghentikan interupsinya.
*CPU mempersiapkan pengontrolan transfer ke routine interupsi. Hal yang dilakukan adalah menyimpan informasi yang diperlukan untuk melanjutkan operasi yang tadi dijalankan sebelum adanya interupsi. Informasi yang diperlukan berupa: Status prosesor, berisi register yang dipanggil PSW (program status word). -Lokasi intruksi berikutnya yang akan dieksekusi. Informasi tersebut kemudian disimpan dalam stack pengontrol sistem.



2. Apa yang dimaksud polling dan Vector interrupt dalam penanganan interupsi?
Jawab!!
a.Interrupt Vector
Interrupt Vector adalah harga yang disimpan ke Program Counter pada saat
terjadi interrupt sehingga program akan menuju ke alamat yang ditunjukkan oleh
Program Counter. Pada saat program menuju ke alamat yang ditunjuk oleh Interrupt
Vector maka flag-flag yang set karena terjadinya interrupt akan di-clear kecuali RI
dan TI.
b. Interrupt polling
Busy-waiting/ polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear. Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.



3. Uraikan mengenai hirarki memory, mulai level paling atas sampai paling bawah:
Jawab!!
Hierarki Memori dalam arsitektur komputer adalah sebuah pedoman yang dilakukan oleh para perancang demi menyetarakan kapasitas, waktu akses, dan harga memori untuk tiap bitnya. Secara umum, hierarki memori terdapat dua macam yakni hierarki memori tradisional dan hierarki memori kontemporer.
Hierarki memori memang disusun sedemikian rupa agar semakin ke bawah, memori dapat mengalami hal-hal berikut:
• peningkatan waktu akses (access time) memori (semakin ke bawah semakin lambat, semakin ke atas semakin cepat)
• peningkatan kapasitas (semakin ke bawah semakin besar, semakin ke atas semakin kecil)
• peningkatan jarak dengan prosesor (semakin ke bawah semakin jauh, semakin ke atas semakin dekat)
• penurunan harga memori tiap bitnya (semakin ke bawah semakin semakin murah, semakin ke atas semakin mahal)
Memori yang lebih kecil, lebih mahal dan lebih cepat diletakkan pada urutan teratas. Sehingga, jika diurutkan dari yang tercepat, maka urutannya adalah sebagai berikut:
1. register mikroprosesor. Ukurannya yang paling kecil tapi memiliki waktu akses yang paling cepat, umumnya hanya 1 siklus CPU saja.
2. Cache mikroprosesor, yang disusun berdasarkan kedekatannya dengan prosesor (level-1, level-2, level-3, dan seterusnya). Memori cache mikroprosesor dikelaskan ke dalam tingkatan-tingkatannya sendiri:
1. level-1: memiliki ukuran paling kecil di antara semua cache, sekitar puluhan kilobyte saja. Kecepatannya paling cepat di antara semua cache.
2. level-2: memiliki ukuran yang lebih besar dibandingkan dengan cache level-1, yakni sekitar 64 kilobyte, 256 kilobyte, 512 kilobyte, 1024 kilobyte, atau lebih besar. Meski demikian, kecepatannya lebih lambat dibandingkan dengan level-1, dengan nilai latency kira-kira 2 kali hingga 10 kali. Cache level-2 ini bersifat opsional. Beberapa prosesor murah dan prosesor sebelum Intel Pentium tidak memiliki cache level-2.
3. level-3: memiliki ukuran yang lebih besar dibandingkan dengan cache level-2, yakni sekitar beberapa megabyte tapi agak lambat. Cache ini bersifat opsional. Umumnya digunakan pada prosesor-prosesor server dan workstation seperti Intel Xeon atau Intel Itanium. Beberapa prosesor desktop juga menawarkan cache level-3 (seperti halnya Intel Pentium Extreme Edition), meski ditebus dengan harga yang sangat tinggi.
3. Memori utama: memiliki akses yang jauh lebih lambat dibandingkan dengan memori cache, dengan waktu akses hingga beberapa ratus siklus CPU, tapi ukurannya mencapai satuan gigabyte. Waktu akses pun kadang-kadang tidak seragam, khususnya dalam kasus mesin-mesin Non-uniform memory access (NUMA).
4. Cache cakram magnetis, yang sebenarnya merupakan memori yang digunakan dalam memori utama untuk membantu kerja cakram magnetis.
5. Cakram magnetis
6. Tape magnetis
7. Cakram Optik

nb: Bagian dari sistem operasi yang mengatur hirarki memori disebut dengan memory manager.

selengkapnya......

Rabu, 10 Maret 2010

Sistem operasi, menentukan program yang mana dijalankan, kapan, dan alat yang mana (seperti memori atau I/O) yang mereka gunakan. Sistem operasi juga memberikan servis kepada program lain, seperti kode (driver) yang membolehkan programer untuk menulis program untuk suatu mesin tanpa perlu mengetahui detail dari semua alat elektronik yang terhubung.
Sistem Operasi
Secara umum sebuah sistem komputer terdiri atas hardware, software dan brainware dimana ketiganya saling terkait satu sama lain (lihat gambar di bawah ini). Ketiganya merupakan syarat mutlak untuk menjalankan sebuah sistem komputer.
Sebuah sistem operasi merupakan program yang bertindak sebagai perantara antara pengguna (user) komputer dengan hardware (perangkat keras) komputer.  Tujuan dari sistem operasi adalah untuk menyediakan lingkungan dimana user dapat mengeksekusi program yang diinginkan dengan efisien.
Sebuah sistem operasi sama halnya dengan sebuah pemerintahan.  Komponen-komponen seperti hardware, software, dan data.  Sistem operasi menyediakan kemudahan untuk menggunakan berbagai sumberdaya dalam sebuah operasi.  Sama halnya dengan sebuah pemerintahan, sistem operasi tidak bekerja sendirian.  Sistem operasi harus menyediakan sebuah lingkungan yang didalamnya terdapat berbagai program untuk menyelesaikan berbagai pekerjaan.
Sistem operasi dapat dipandang sebagai pengontrol sumberdaya yang ada.  Sebuah sistem komputer memiliki berbagai sumberdaya (hardware dan software) yang dibutuhkan untuk menyelesaikan berbagai masalah: CPU time, ruang memori, ruang penyimpanan file, perangkat I/O (input/output), dan lain sebagainya. Sistem operasi bertindak sebagai manajer bagi semua sumberdaya ini dan mengalokasikannya pada program dan user tertentu untuk melakukan berbagai tugas (task).  Dengan demikian ada peluang terjadinya konflik permintaan sumberdaya, sistem operasi harus mengambil keputusan, request (permintaan) sumberdaya mana yang harus dilayani untuk menjaga efisiensi operasi komputer.
Pandangan lain terhadap sebuah sistem operasi terfokus pada kebutuhan pengendalian (control) program.  Control program mengendalikan eksekusi program user untuk mencegah error dan penggunaan yang tidak efisien, khususnya pengoperasian dan pengendalian perangkat I/O.

Gambar : koponen system computer.

Tujuan utama sebuah sistem operasi adalah untuk kenyamanan user. Sistem operasi ada untuk lebih memudahkan user mengoperasikan komputer dibanding tanpa sistem operasi.  Tujuan lainnya adalah untuk mengefisienkan operasi sistem komputer.
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.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.

Gambar : Memori system sederhana. Gambar : Memori system multi programming
Sistem Operasi secara umum terdiri dari beberapa bagian:
Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
Kernel, yaitu inti dari sebuah Sistem Operasi
Command Interpreter atau shell, yang bertugas membaca input dari pengguna
Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti ini disebut sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS
Sebagai contoh, yang dimaksud sistem operasi itu antara lain adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.

Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.

Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 (Seven) yang dirilis pada tahun 2009, dan Windows Orient yang akan dirilis pada tahun 2014)).
Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran versi 10.5 (Leopard).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.
Proses
Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah chip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Status Proses
Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas

Sistem operasi

Kernel :Mikrokernel, Kernel monolitik, Kernel hibrida, Ruang kernel, Modul kernel, Nanokernel, Device driver, Ruang pengguna, Userland

Manajemen proses : Proses (komputer), Multiprogramming, Interrupt, Protected mode, Supervisor mode, Computer multitasking, Manajemen proses, Penjadwalan (komputer), Context switch, Cooperative multitasking, Preemptive multitasking, CPU modes

Manajemen memori :Memory protection, Segmentation, Paging, Memory management unit, Segmentation fault, General protection fault
Contoh
AmigaOS, Microsoft Windows, Linux, GNU, UNIX, Mac OS, MS-DOS

Konsep lainnya :Boot loader, API, VFS, Computer network, GUI, Sejarah sistem operasi, HAL

selengkapnya......