You are on page 1of 42

1. +Anda 2. Telusuri 3. Gambar 4. Maps 5. Berita 6. Gmail 7. Documents 8. Kalender 9. Terjemahan 10. Lainnya 1. Buku 2. Blogger 3. Foto 4. 5.

Masih banyak lagi

Account Options
1. 2. Masuk
We begin our stu en id

Terjemahan
en

Dari: Inggris
id

Ke: Bahasa Indonesia


Terjemahkan
n _t id UTF-8 2 1

Inggris Bahasa Indonesia Jepang Merjemahkan teks atau laman web


We begin our study of operating interesting and also serves the The first section examines the o Then w e look at how operating

Bahasa Indonesia Inggris Arab Alpha Kita mulai pelajaran kita tentang sistem operasi (OS) dengan riwayat history.This singkat itu sendiri menarik dan juga melayani tujuan memberikan gambaran dari prinsip OS.

Bagian pertama membahas tujuan dan fungsi sistem operasi. Kemudian kita melihat bagaimana sistem operasi telah berevolusi dari sistem batch primitif untuk sisa canggih multitasking, multiuser systems.The bab ini terlihat pada karakteristik sejarah dan umum dari dua sistem operasi yang berfungsi sebagai contoh dalam buku ini. Semua materi dalam bab ini tercakup dalam lebih mendalam nanti dalam buku ini. 2.1 TUJUAN SISTEM OPERASI DAN FUNGSI OS adalah program yang mengontrol eksekusi program aplikasi dan bertindak sebagai sebuah antarmuka antara aplikasi dan perangkat keras komputer. Hal ini dapat dianggap memiliki tiga tujuan: Kenyamanan: Sebuah OS membuat komputer lebih nyaman digunakan. Efisiensi: Sebuah OS memungkinkan sumber daya sistem komputer untuk digunakan secara efisien cara. Kemampuan untuk berkembang: Sebuah OS harus dibangun sedemikian rupa untuk mengizinkan efektif pengembangan, pengujian, dan pengenalan fungsi sistem baru tanpa mengganggu layanan. Mari kita periksa tiga aspek dari sebuah OS secara bergantian. Sistem Operasi sebagai Interface Pengguna / Komputer Perangkat keras dan perangkat lunak yang digunakan dalam menyediakan aplikasi untuk pengguna dapat dilihat dalam secara berlapis atau hirarki, seperti digambarkan dalam Gambar 2.1.The pengguna dari aplikasi, pengguna akhir, umumnya tidak peduli dengan rincian perangkat keras komputer. Dengan demikian, pengguna akhir memandang sistem komputer dalam hal satu set aplikasi applications.An dapat dinyatakan dalam bahasa pemrograman dan dikembangkan oleh aplikasi programmer. Kalau orang untuk mengembangkan program aplikasi sebagai satu set mesin instruksi yang benar-benar bertanggung jawab untuk mengendalikan komputer perangkat keras, seseorang akan dihadapkan dengan mudah undertaking.To sangat kompleks tugas ini, satu set program sistem disediakan. Beberapa program yang disebut sebagai utilities.These melaksanakan fungsi yang sering digunakan yang membantu dalam pembuatan program, pengelolaan file, dan kontrol dari I / O device. Seorang pemrogram akan memanfaatkan fasilitas ini dalam mengembangkan aplikasi, dan aplikasi, sementara itu sedang berjalan, akan memanggil utilitas untuk melakukan tertentu functions.The paling penting kumpulan program sistem terdiri dari OS. OS masker rincian dari perangkat keras dari pemrogram dan menyediakan programmer dengan antarmuka yang mudah digunakan untuk menggunakan sistem. Bertindak sebagai mediator, sehingga memudahkan programmer dan untuk program aplikasi untuk mengakses dan menggunakan fasilitas dan layanan. Secara singkat, OS biasanya memberikan jasa di bidang berikut: Program pengembangan: OS menyediakan berbagai fasilitas dan jasa, seperti editor dan debugger, untuk membantu programmer dalam membuat program. Biasanya, layanan ini dalam bentuk program-program utilitas yang, sementara tidak

ketat bagian dari inti dari OS, dipasok dengan OS dan disebut sebagai alat pengembangan aplikasi program. Program eksekusi: Sejumlah langkah perlu dilakukan untuk melaksanakan program. Instruksi dan data harus dimuat ke memori utama, perangkat I / O dan file harus diinisialisasi, dan sumber daya lainnya harus disiapkan. OS menangani tugas penjadwalan ini bagi pengguna. Akses terhadap perangkat I / O: Setiap perangkat I / O memerlukan set khasnya sendiri instruksi atau sinyal kontrol untuk operation.The OS menyediakan antarmuka seragam yang menyembunyikan rincian ini sehingga programmer dapat mengakses perangkat tersebut menggunakan sederhana membaca dan menulis. Akses Terkontrol ke file: Untuk akses file, OS harus mencerminkan pemahaman yang rinci tidak hanya sifat dari perangkat I / O (disk drive, tape drive) tetapi juga struktur data yang terdapat dalam file pada media penyimpanan. Di kasus sistem dengan beberapa pengguna, OS dapat menyediakan mekanisme perlindungan untuk mengontrol akses ke file. Akses Sistem: Untuk sistem bersama atau publik, OS mengontrol akses ke sistem sebagai fungsi sistem akses keseluruhan dan untuk spesifik resources.The harus memberikan perlindungan sumber daya dan data dari pengguna yang tidak sah dan harus untuk menyelesaikan konflik pertentangan sumber daya. Kesalahan deteksi dan respon: Berbagai kesalahan dapat terjadi saat komputer sistem running.These termasuk kesalahan perangkat keras internal dan eksternal, seperti kesalahan memori, atau kegagalan perangkat atau kerusakan, dan berbagai perangkat lunak kesalahan, seperti pembagian dengan nol, mencoba untuk mengakses lokasi memori dilarang, dan ketidakmampuan dari OS untuk mengabulkan permintaan dari aplikasi. Dalam setiap kasus, OS harus memberikan respon yang membersihkan kondisi kesalahan dengan dampak paling pada aplikasi berjalan. Tanggapan beragam, mulai dari mengakhiri program yang menyebabkan kesalahan, untuk mencoba kembali operasi, untuk sekadar melaporkan kesalahan ke aplikasi. Akuntansi: Sebuah OS yang baik akan mengumpulkan statistik penggunaan untuk berbagai sumber daya dan memonitor parameter kinerja seperti waktu respon. Pada sistem apapun, ini informasi ini berguna dalam mengantisipasi kebutuhan masa depan dan perangkat tambahan di tuning sistem untuk meningkatkan kinerja. Pada sistem multiuser, informasi dapat digunakan untuk tujuan penagihan. Sistem Operasi sebagai Manajer Sumber Daya Sebuah komputer adalah seperangkat sumber daya untuk gerakan, penyimpanan, dan pengolahan data dan untuk kontrol dari OS functions.The bertanggung jawab untuk mengelola sumber daya tersebut. Dapatkah kita mengatakan bahwa itu adalah OS yang mengontrol gerakan, penyimpanan, dan pengolahan data? Dari satu sudut pandang, jawabannya adalah ya: Dengan mengelola komputer sumber daya, OS mengendalikan fungsi dasar komputer. Tapi kontrol ini adalah dilakukan dengan cara yang aneh. Biasanya, kita berpikir tentang mekanisme kontrol sebagai sesuatu

eksternal dengan yang dikendalikan, atau paling tidak sebagai sesuatu yang adalah berbeda dan terpisah bagian dari yang dikontrol. (Sebagai contoh, sistem pemanasan perumahan dikontrol oleh termostat, yang terpisah dari generasi panas dan heatdistribution aparat.) Ini tidak terjadi dengan OS, yang sebagai mekanisme kontrol tidak biasa dalam dua hal: Fungsi OS dalam cara yang sama seperti perangkat lunak komputer biasa, yaitu, itu adalah program atau paket program yang dieksekusi oleh prosesor. OS sering relinquishes kontrol dan harus bergantung pada prosesor untuk memungkinkan untuk mendapatkan kembali kontrol. Seperti program komputer lainnya, OS menyediakan instruksi untuk prosesor. Perbedaan utama adalah dalam maksud dari program ini. OS mengarahkan processor penggunaan sumber daya sistem lainnya dan dalam waktu pelaksanaannya program lain. Tapi agar prosesor untuk melakukan hal-hal itu, ia harus berhenti melaksanakan program OS dan mengeksekusi programs.Thus lain, OS relinquishes kontrol untuk prosesor untuk melakukan beberapa "berguna" kerja dan kemudian dilanjutkan kembali kontrol cukup lama untuk mempersiapkan prosesor untuk melakukan potongan berikutnya mekanisme work.The terlibat dalam semua ini harus menjadi jelas sebagai hasil bab. Gambar 2.2 menunjukkan sumber daya utama yang dikelola oleh bagian OS.A dari OS adalah dalam memory.This utama termasuk kernel, atau inti, yang berisi paling sering digunakan fungsi dalam OS dan, pada waktu tertentu, selain bagian-bagian dari OS yang sedang digunakan. Sisa dari memori utama berisi program-program pengguna dan data. Alokasi sumberdaya ini (memori utama) dikendalikan bersama oleh OS dan memori manajemen perangkat keras dalam prosesor, seperti yang akan kita see.The OS memutuskan ketika sebuah perangkat I / O dapat digunakan oleh program dalam eksekusi akses dan kontrol ke dan penggunaan prosesor files.The itu sendiri adalah sumber daya, dan OS harus menentukan berapa banyak waktu prosesor yang akan dikhususkan untuk pelaksanaan program pengguna tertentu. Dalam kasus sistem multi-prosesor, keputusan ini harus mencakup semua prosesor Kemudahan Evolusi dari sebuah Sistem Operasi Sebuah sistem operasi utama akan berkembang dari waktu ke waktu untuk sejumlah alasan: Hardware upgrade ditambah jenis hardware baru: Misalnya, versi awal UNIX dan sistem operasi Macintosh tidak menggunakan mekanisme paging karena mereka berjalan di prosesor tanpa paging hardware.1 selanjutnya versi sistem operasi ini telah diubah untuk mengeksploitasi paging kemampuan. Juga, penggunaan terminal grafis dan halaman-mode terminal bukan garis-di-waktu-terminal modus gulir mempengaruhi desain OS. Sebagai contoh, sebuah terminal grafis biasanya memungkinkan pengguna untuk melihat beberapa aplikasi pada saat yang sama melalui "jendela" pada screen.This memerlukan lebih canggih mendukung di OS. Baru layanan: Menanggapi permintaan pengguna atau sebagai tanggapan terhadap kebutuhan sistem manajer, OS mengembang untuk menawarkan layanan baru. Misalnya, jika ditemukan

menjadi sulit untuk mempertahankan kinerja yang baik untuk pengguna dengan alat yang ada, baru pengukuran dan pengendalian alat dapat ditambahkan ke OS. Perbaikan: Setiap OS memiliki kesalahan. Ini ditemukan selama waktu dan perbaikan yang dibuat. Tentu saja, memperbaiki dapat memperkenalkan kesalahan baru Kebutuhan untuk mengubah sebuah OS secara teratur menempatkan persyaratan tertentu pada desain. Sebuah pernyataan yang jelas adalah bahwa sistem harus modular dalam konstruksi, dengan jelas antarmuka antara modul, dan bahwa itu harus didokumentasikan dengan baik. Untuk program besar, seperti OS kontemporer khas, apa yang mungkin disebut sebagai modularisasi langsung tidak memadai [DENN80a]. Artinya, banyak lebih harus dilakukan dari sekedar program ke partisi kembali modules.We untuk topik ini nanti dalam bab ini. 2.2 EVOLUSI SISTEM OPERASI Dalam usaha untuk memahami persyaratan utama untuk sebuah OS dan pentingnya fitur utama dari OS kontemporer, hal ini berguna untuk mempertimbangkan bagaimana sistem operasi memiliki berevolusi selama bertahun-tahun. Serial Processing Dengan komputer paling awal, dari akhir 1940-an sampai pertengahan 1950-an, programmer berinteraksi langsung dengan perangkat keras komputer; tidak ada komputer OS.These dijalankan dari konsol yang terdiri dari lampu layar, switch toggle, beberapa bentuk perangkat input, dan printer. Program dalam kode mesin yang dimuat melalui perangkat input (misalnya, kartu reader). Jika kesalahan menghentikan program, kondisi kesalahan ditunjukkan oleh lampu. Jika program melanjutkan untuk penyelesaian normal, output muncul pada printer. Sistem ini awal disajikan dua masalah utama: Penjadwalan: Kebanyakan instalasi menggunakan hardcopy pendaftaran lembar untuk cadangan komputer waktu. Biasanya, pengguna dapat mendaftar untuk blok waktu dalam kelipatan dari setengah jam atau lebih. Seorang pengguna bisa mendaftar untuk satu jam dan selesai dalam 45 menit, ini akan mengakibatkan waktu terbuang komputer pengolahan. Di sisi lain, pengguna mungkin mengalami masalah, tidak menyelesaikan dalam waktu yang ditentukan, dan dipaksa untuk berhenti sebelum menyelesaikan masalah. Pengaturan waktu: Sebuah program tunggal, yang disebut pekerjaan, dapat melibatkan pemuatan compiler ditambah dengan bahasa tingkat tinggi program (program sumber) ke dalam memori, menyimpan mengkompilasi program (program object) dan kemudian loading dan menghubungkan bersama objek program dan functions.Each umum langkah-langkah ini bisa melibatkan pemasangan atau turun dari kaset atau menata deck kartu. Jika kesalahan terjadi, malang pengguna biasanya harus kembali ke awal dari sequence.Thus setup, sebuah cukup banyak waktu dihabiskan hanya dalam mendirikan program untuk dijalankan. Mode operasi bisa disebut serial pengolahan, mencerminkan fakta

bahwa pengguna memiliki akses ke komputer secara seri. Seiring waktu, berbagai perangkat lunak sistem alat dikembangkan untuk mencoba untuk membuat efficient.These serial pengolahan lebih termasuk perpustakaan fungsi umum, linker, loader, debugger, dan I / O rutinitas sopir yang tersedia sebagai perangkat lunak umum untuk semua pengguna. Simple Batch System Komputer awal sangat mahal, dan karena itu penting untuk memaksimalkan prosesor utilization.The buang waktu karena penjadwalan dan waktu setup adalah tidak dapat diterima Untuk meningkatkan pemanfaatan, konsep sistem operasi batch yang dikembangkan. Tampak bahwa sistem operasi batch pertama (dan OS pertama dalam bentuk apapun) dikembangkan di pertengahan 1950-an oleh General Motors untuk digunakan pada IBM 701 [WEIZ81]. Para Konsep ini kemudian disempurnakan dan diimplementasikan pada IBM 704 oleh sejumlah IBM pelanggan. Pada awal 1960-an, sejumlah vendor telah mengembangkan operasi batch yang sistem untuk sistem komputer mereka. IBSYS, operasi sistem IBM untuk 7090/7094 komputer, sangat penting karena pengaruh luas pada sistem lain. Ide utama di balik skema batch-processing sederhana adalah penggunaan bagian dari perangkat lunak yang dikenal sebagai monitor.With jenis OS, pengguna tidak lagi memiliki akses langsung ke prosesor. Sebaliknya, pengguna menyerahkan pekerjaan pada kartu atau tape ke komputer operator, yang batch pekerjaan bersama-sama secara berurutan dan menempatkan seluruh batch pada perangkat input, untuk digunakan oleh monitor. Setiap program akan dibangun untuk cabang kembali ke monitor bila itu selesai pengolahan, di mana titik monitor secara otomatis mulai memuat program berikutnya. Untuk memahami bagaimana skema ini bekerja, mari kita melihatnya dari dua sudut pandang: bahwa monitor dan prosesor. Memantau sudut pandang: Monitor mengontrol urutan kejadian. Untuk ini begitu, banyak monitor harus selalu berada di memori utama dan tersedia untuk eksekusi (Gambar 2.3) sebagian Itu. disebut sebagai monitor penduduk. Sisa dari monitor terdiri dari utilitas dan fungsi umum yang dimuat sebagai subrutin untuk program pengguna pada awal dari setiap pekerjaan yang memerlukan mereka. Monitor membaca dalam pekerjaan satu per satu dari perangkat input (Biasanya card reader atau tape drive magnetik). Seperti yang dibaca, pekerjaan saat ini ditempatkan di daerah program pengguna, dan kontrol akan diteruskan ke job.When ini pekerjaan selesai, ia mengembalikan kontrol ke monitor, yang segera membaca di pekerjaan berikutnya. Hasil setiap pekerjaan dikirim ke perangkat output, seperti printer, untuk pengiriman ke pengguna. Prosesor sudut pandang: Pada titik tertentu, prosesor mengeksekusi instruksi dari bagian memori utama yang berisi instruksi monitor.These menyebabkan pekerjaan berikutnya untuk dibaca ke bagian lain dari memori utama. Sekali

pekerjaan telah dibaca, prosesor akan menemukan instruksi cabang di memantau yang menginstruksikan prosesor untuk melanjutkan eksekusi pada awal dari pengguna prosesor program.The kemudian akan mengeksekusi instruksi dalam program pengguna sampai menemukan sebuah akhir atau kondisi kesalahan. Acara baik menyebabkan prosesor mengambil instruksi berikutnya dari program monitor. Jadi frase "kontrol akan diteruskan ke pekerjaan" hanya berarti bahwa prosesor sekarang mengambil dan mengeksekusi instruksi dalam program pengguna, dan "kontrol dikembalikan ke monitor "berarti bahwa prosesor sekarang mengambil dan mengeksekusi instruksi dari program monitor. Monitor melakukan fungsi penjadwalan: Sebuah batch pekerjaan antrian, dan pekerjaan yang dilaksanakan secepat mungkin, dengan tidak ada waktu idle intervensi. Monitor meningkatkan pekerjaan waktu setup sebagai well.With setiap pekerjaan, ini disertakan dalam primitif bentuk bahasa kontrol pekerjaan (JCL). Ini adalah jenis khusus dari bahasa pemrograman digunakan untuk memberikan instruksi untuk contoh sederhana monitor.A adalah bahwa dari user mengajukan program yang ditulis dalam bahasa pemrograman FORTRAN ditambah beberapa data yang akan digunakan oleh program. Semua instruksi FORTRAN dan data yang terpisah pada punched kartu atau catatan yang terpisah pada tape. Selain FORTRAN dan saluran data, pekerjaan itu berisi petunjuk kontrol pekerjaan, yang dilambangkan dengan awal $ Format keseluruhan dari pekerjaan terlihat seperti ini.: $ JOB $ FTN FORTRAN instruksi $ LOAD $ RUN Data $ AKHIR Untuk melaksanakan pekerjaan ini, monitor membaca baris $ FTN dan beban yang sesuai bahasa kompiler dari penyimpanan massa (biasanya tape). Compiler menerjemahkan pengguna program ke kode objek, yang disimpan dalam memori atau penyimpanan massal. Jika disimpan dalam memori, operasi ini disebut sebagai "kompilasi, beban, dan pergi." Jika disimpan di dalam tape, maka instruksi $ LOAD diperlukan. Instruksi ini dibaca oleh monitor, yang mendapatkan kembali kontrol setelah kompilasi operation.The memantau memanggil loader, yang memuat program objek ke dalam memori (di tempat compiler) dan transfer kontrol ke sana. Dengan cara ini, segmen besar dari memori utama dapat dibagi di antara subsistem yang berbeda, meskipun hanya satu subsistem tersebut dapat melaksanakan pada suatu waktu.

Selama eksekusi program pengguna, instruksi masukan menyebabkan satu baris data yang akan dibaca. Instruksi masukan dalam program pengguna menyebabkan masukan rutin yang merupakan bagian dari OS menjadi invoked.The cek masukan rutin untuk memastikan bahwa program ini tidak sengaja membaca dalam garis JCL. Jika ini terjadi, kesalahan terjadi dan transfer kontrol ke monitor. Setelah menyelesaikan pekerjaan pengguna, monitor akan memindai baris input sampai menemukan instruksi JCL berikutnya. Dengan demikian, sistem ini dilindungi program dengan jalur data terlalu banyak atau terlalu sedikit. Monitor, atau sistem batch operasi, hanyalah sebuah program komputer. Hal ini bergantung pada kemampuan prosesor untuk mengambil instruksi dari berbagai bagian memori utama untuk bergantian merebut dan melepaskan kontrol. Beberapa hardware lainnya fitur juga diinginkan: perlindungan Memori: Sementara program pengguna mengeksekusi, tidak boleh mengubah area memori yang berisi monitor. Jika seperti dilakukan usaha, prosesor perangkat keras harus mendeteksi error control dan transfer ke monitor monitor.The kemudian akan membatalkan pekerjaan, mencetak pesan kesalahan, dan beban dalam pekerjaan berikutnya. Timer: Timer digunakan untuk mencegah satu pekerjaan memonopoli dari sistem. Timer diatur pada awal setiap pekerjaan. Jika timer berakhir, program pengguna dihentikan, dan kontrol kembali ke monitor. Instruksi Privileged: instruksi mesin tertentu tingkat ditujukan istimewa dan dapat dijalankan hanya oleh monitor. Jika prosesor menemukan seperti instruksi sambil mengeksekusi user program, kesalahan terjadi menyebabkan mengontrol akan ditransfer ke monitor.Among para instruksi istimewa adalah I / O instruksi, sehingga monitor tetap kontrol dari semua I / O devices.This mencegah, misalnya, program pengguna dari sengaja membaca instruksi kerja kontrol dari pekerjaan berikutnya. Jika sebuah program pengguna ingin melakukan I / O, harus permintaan bahwa monitor melakukan operasi untuk itu. Interupsi: model komputer awal tidak memiliki kemampuan ini. Fitur ini memberikan OS lebih banyak fleksibilitas dalam melepaskan kontrol ke dan mendapatkan kembali kontrol dari program pengguna. Pertimbangan perlindungan memori dan instruksi privileged mengarah pada konsep mode operasi. Sebuah program pengguna mengeksekusi dalam mode pengguna, di mana daerah tertentu dari memori dilindungi dari penggunaan pengguna dan dimana instruksi tertentu mungkin tidak executed.The memantau mengeksekusi dalam mode sistem, atau apa yang telah datang untuk disebut mode kernel, di mana instruksi privileged dapat dilaksanakan dan di mana kawasan lindung dari memori dapat diakses. Tentu saja, sebuah OS dapat dibangun tanpa fitur ini. Tapi vendor komputer cepat belajar bahwa hasilnya kekacauan, dan bahkan relatif primitif bets sistem operasi disediakan dengan fitur-fitur perangkat keras. Dengan sistem operasi batch, bergantian waktu prosesor antara eksekusi program pengguna dan pelaksanaan monitor. Ada dua korban: Beberapa memori utama sekarang diberikan ke monitor dan beberapa waktu prosesor adalah dikonsumsi oleh monitor. Kedua adalah bentuk-bentuk di atas kepala. Meskipun overhead ini, sistem batch sederhana meningkatkan pemanfaatan komputer

Multiprogrammed Batch Sistem Bahkan dengan urutan pekerjaan otomatis yang disediakan oleh sistem operasi batch sederhana, prosesor ini sering masalah idle.The adalah bahwa I / O device yang lambat dibandingkan ke prosesor. Gambar 2,4 rincian perhitungan yang representatif. Perhitungan kekhawatiran program yang memproses file rekaman dan melakukan, rata-rata, 100 mesin instruksi per rekaman. Dalam contoh ini komputer menghabiskan lebih dari 96% dari waktunya menunggu untuk I / O device untuk menyelesaikan mentransfer data ke dan dari file. Gambar 2.5A menggambarkan situasi ini, di mana kita memiliki satu program, disebut sebagai uniprogramming. Prosesor ini menghabiskan sejumlah waktu pelaksanaan, hingga mencapai sebuah instruksi I / O. Ini kemudian harus menunggu sampai I / O instruksi menyimpulkan sebelum melanjutkan. Inefisiensi ini tidak necessary.We tahu bahwa harus ada cukup memori untuk memegang OS (monitor resident) dan satu program pengguna. Misalkan ada ruang untuk OS dan dua pengguna programs.When orang perlu pekerjaan menunggu untuk I / O, prosesor dapat beralih ke pekerjaan lain, yang mungkin tidak menunggu untuk I / O (Gambar bernilai 2,5 miliar). Selain itu, kita mungkin memperluas memori untuk menampung tiga, empat, atau lebih program dan beralih di antara mereka semua (Gambar 2.5c). Pendekatan ini dikenal sebagai multiprogramming, atau multitasking. Ini adalah tema sentral dari sistem operasi modern. Untuk menggambarkan manfaat dari multiprogramming, kami memberikan contoh sederhana. Mempertimbangkan komputer dengan 250 Mbytes memori yang tersedia (tidak digunakan oleh OS), disk, terminal, dan program printer.Three, JOB1, JOB2, dan JOB3, yang diajukan untuk eksekusi pada saat yang sama, dengan atribut yang tercantum dalam Tabel 2.1.We menganggap minimal prosesor persyaratan untuk disk JOB2 dan JOB3 dan berkesinambungan dan printer digunakan oleh JOB3. Untuk lingkungan batch sederhana, pekerjaan ini akan dieksekusi secara berurutan. Dengan demikian, JOB1 selesai dalam 5 menit. JOB2 harus menunggu sampai 5 menit adalah atas dan kemudian menyelesaikan 15 menit setelah itu. JOB3 dimulai setelah 20 menit dan selesai pada 30 menit dari waktu itu awalnya diajukan. Sumber daya rata-rata pemanfaatan, throughput, dan waktu respon ditunjukkan pada uniprogramming yang kolom dari Tabel 2.2. Perangkat-perangkat demi pemanfaatan diilustrasikan pada Gambar 2.6a. Jelaslah bahwa ada underutilization kotor untuk semua sumber daya ketika setara dengan 30 menit yang dibutuhkan periode waktu. Tabel 2.1 Atribut Program Eksekusi Contoh JOB1 JOB2 JOB3 Sekarang anggaplah bahwa pekerjaan dijalankan secara bersamaan dalam sebuah multiprogramming sistem operasi. Karena ada sumber daya pertengkaran kecil antara pekerjaan, semua tiga dapat berjalan dalam waktu hampir minimum sementara hidup bersama dengan yang lain di komputer (Dengan asumsi bahwa JOB2 dan JOB3 yang diberikan waktu prosesor cukup untuk menjaga

mereka input dan output operasi aktif). JOB1 masih akan membutuhkan 5 menit untuk menyelesaikan, tapi pada akhir dari waktu itu, JOB2 akan sepertiga jadi dan setengah jadi JOB3. Ketiga pekerjaan akan selesai dalam waktu 15 menit. Peningkatan itu terbukti ketika memeriksa kolom multiprogramming dari Tabel 2.2, diperoleh dari histogram ditunjukkan pada Gambar 2.6b. Seperti dengan sistem batch sederhana, sistem batch multiprogramming harus bergantung pada perangkat keras komputer tertentu features.The fitur tambahan yang paling penting yang berguna untuk multiprogramming adalah perangkat keras yang mendukung I / O interupsi dan DMA (Akses memori langsung) Dengan interrupt-driven I / O atau DMA,. Prosesor dapat mengeluarkan perintah I / O untuk satu pekerjaan dan dilanjutkan dengan pelaksanaan pekerjaan lain sementara I / O dilakukan oleh controller.When perangkat operasi I / O selesai, prosesor terganggu dan kontrol akan diteruskan ke program interrupt penanganan di OS OS.The kemudian akan melewati kontrol ke pekerjaan lain. Multiprogramming sistem operasi cukup canggih dibandingkan dengan tunggal program, atau uniprogramming, systems.To memiliki beberapa pekerjaan siap untuk menjalankan, mereka harus disimpan dalam memori utama, memerlukan beberapa bentuk manajemen memori. Selain itu, jika beberapa pekerjaan siap untuk menjalankan, prosesor harus memutuskan mana yang akan dijalankan, keputusan ini membutuhkan algoritma untuk penjadwalan. Konsep-konsep ini dibahas kemudian dalam bab ini. Time-Sharing System Dengan menggunakan multiprogramming, batch processing bisa sangat efisien. Namun, untuk pekerjaan banyak, diharapkan untuk memberikan mode dimana pengguna berinteraksi langsung dengan komputer. Memang, untuk beberapa pekerjaan, seperti pengolahan transaksi, sebuah modus interaktif sangat penting. Hari ini, persyaratan untuk fasilitas komputasi interaktif dapat, dan sering ini, bertemu dengan penggunaan komputer pribadi khusus atau opsi workstation.That adalah tidak tersedia pada 1960-an, ketika sebagian besar komputer yang besar dan mahal. Sebaliknya, waktu berbagi dikembangkan. Sama seperti multiprogramming memungkinkan prosesor untuk menangani beberapa bets pekerjaan pada satu waktu, multiprogramming juga dapat digunakan untuk menangani interaktif beberapa pekerjaan. Dalam kasus yang terakhir ini, teknik ini disebut pembagian waktu, karena waktu prosesor dibagi di antara beberapa pengguna. Dalam sistem time-sharing, beberapa pengguna secara bersamaan mengakses sistem melalui terminal, dengan interleaving OS pelaksanaan setiap program pengguna dalam ledakan pendek atau kuantum komputasi. Jadi, jika ada n pengguna aktif meminta layanan pada satu waktu, setiap pengguna hanya akan melihat pada 1 / n rata-rata kapasitas komputer yang efektif, tidak termasuk OS overhead. Namun, mengingat waktu reaksi relatif lambat manusia, respon waktu pada sistem yang dirancang harus sama dengan yang di khusus

komputer. Kedua batch processing dan waktu multiprogramming berbagi digunakan. Kunci perbedaan tercantum dalam Tabel 2.3. Salah satu time-sharing pertama sistem operasi untuk dikembangkan adalah Kompatibel Time-Sharing System (CTSS) [CORB62], yang dikembangkan di MIT oleh sebuah kelompok dikenal sebagai Project MAC (Mesin-Aided Kognisi, atau Multiple-Akses Komputer). Sistem ini pertama kali dikembangkan untuk IBM 709 pada tahun 1961 dan kemudian dipindahkan ke IBM 7094. Dibandingkan dengan sistem kemudian, CTSS adalah primitive.The sistem berlari pada komputer 32.000 dengan 36-bit kata-kata dari memori utama, dengan memakan memantau warga 5000 dari that.When kontrol akan ditugaskan untuk pengguna interaktif, program pengguna dan data dimuat ke dalam 27.000 kata-kata yang tersisa dari memori utama. Sebuah Program selalu dimuat untuk memulai pada lokasi kata 5000, ini disederhanakan baik monitor dan memori clock PENGELOLAAN sistem yang dihasilkan interupsi dengan laju sekitar satu setiap seconds.At 0,2 jam setiap interrupt, maka OS kembali kontrol dan bisa menetapkan prosesor untuk pengguna lain. Teknik ini adalah dikenal sebagai waktu mengiris. Dengan demikian, pada waktu interval reguler, pengguna saat ini akan mendahului dan pengguna lain dimuat in.To melestarikan program pengguna lama status untuk dimulainya kembali kemudian, program-program pengguna lama dan data ditulis ke disk sebelum program-program pengguna baru dan data yang dibaca masuk Selanjutnya, tua pengguna kode program dan data yang dikembalikan dalam memori utama saat program yang yang selanjutnya diberikan giliran. Untuk meminimalkan lalu lintas disk, memori pengguna hanya ditulis ketika masuk program akan menimpa itu. Prinsip ini diilustrasikan pada Gambar 2.7. Asumsikan bahwa ada empat pengguna interaktif dengan persyaratan memori berikut, dengan kata: JOB1: 15.000 JOB2: 20.000 JOB3: 5000 JOB4: 10.000 Awalnya, beban monitor JOB1 dan transfer kontrol untuk itu (a). Kemudian, monitor memutuskan untuk mentransfer kontrol ke JOB2. Karena JOB2 memerlukan memori lebih dari JOB1, JOB1 harus ditulis terlebih dahulu, dan kemudian JOB2 dapat dimuat (b) Berikutnya,. JOB3 dimuat dalam yang akan dijalankan. Namun, karena JOB3 lebih kecil dari JOB2, sebagian dari JOB2 bisa tetap berada di memori, mengurangi disk yang waktu menulis (c). Kemudian, monitor memutuskan untuk mentransfer kontrol kembali ke bagian JOB1.An tambahan JOB2 harus ditulis ketika JOB1 dimuat kembali ke dalam memori (d). Ketika JOB4 dimuat, bagian dari JOB1 dan porsi JOB2 tersisa di memori dipertahankan (e). Pada titik ini, jika salah JOB1 atau JOB2 diaktifkan, hanya beban parsial akan diperlukan. Dalam contoh ini, adalah JOB2 yang berjalan berikutnya. Ini mengharuskan JOB4 dan bagian penduduk yang tersisa

dari JOB1 ditulis dan bahwa bagian yang hilang dari JOB2 dibaca (f) Pendekatan CTSS adalah primitif dibandingkan dengan masa kini berbagi waktu, tetapi bekerja. Ini sangat sederhana, yang meminimalkan ukuran monitor. Karena pekerjaan selalu dimuat ke dalam lokasi yang sama di memori, tidak ada kebutuhan untuk relokasi teknik di waktu buka (dibahas kemudian). Teknik hanya menuliskan apa aktivitas disk perlu diminimalkan. Berjalan pada 7094, CTSS didukung maksimum 32 pengguna. Waktu berbagi dan multiprogramming meningkatkan sejumlah masalah baru untuk OS. Jika beberapa pekerjaan dalam memori, maka mereka harus dilindungi dari campur dengan satu sama lain dengan, misalnya, memodifikasi interaktif data.With masing-masing beberapa pengguna, sistem berkas harus dilindungi sehingga hanya pengguna yang berwenang memiliki akses ke pertengkaran tertentu file.The untuk sumber daya, seperti printer dan perangkat penyimpanan massal, harus handled.These dan masalah lainnya, dengan solusi yang mungkin, akan ditemui seluruh teks ini. 2,3 UTAMA PENCAPAIAN Sistem operasi adalah salah satu bagian paling kompleks dari perangkat lunak yang pernah dikembangkan. Hal ini mencerminkan tantangan mencoba untuk memenuhi sulit dan dalam beberapa kasus bersaing tujuan kenyamanan, efisiensi, dan kemampuan untuk berkembang. [DENN80a] mengusulkan bahwa telah terjadi lima kemajuan teoritis utama dalam pengembangan operasi sistem: Proses Memori manajemen Informasi perlindungan dan keamanan Penjadwalan dan pengelolaan sumber daya Sistem struktur Setiap uang muka ditandai dengan prinsip-prinsip, atau abstraksi, dikembangkan untuk memenuhi problems.Taken praktis sulit bersama-sama, lima bidang mencakup banyak kunci desain dan isu-isu implementasi sistem operasi modern. Tinjauan singkat dari lima wilayah di bagian ini berfungsi sebagai gambaran dari banyak sisa teks. Proses Konsep proses adalah dasar struktur sistem operasi. Ini Istilah pertama kali digunakan oleh para perancang Multics pada 1960-an [DALE68]. Ini adalah agak istilah yang lebih umum dari pekerjaan. Banyak definisi telah diberikan untuk istilah proses, termasuk Program dalam pelaksanaan Sebuah contoh dari sebuah program yang berjalan pada komputer Entitas yang dapat ditugaskan untuk dan dijalankan pada prosesor Sebuah unit aktivitas ditandai oleh thread berurutan tunggal eksekusi, saat ini negara, dan set yang terkait sumber daya sistem Konsep ini harus menjadi lebih jelas saat kita melanjutkan.

Tiga jalur utama pengembangan sistem komputer menciptakan masalah dalam waktu dan sinkronisasi yang berkontribusi pada pengembangan konsep proses: multiprogramming bets operasi, pembagian waktu, dan real-time transaksi sistem. Sebagaimana telah kita lihat, multiprogramming dirancang untuk menjaga prosesor dan perangkat I / O, termasuk perangkat penyimpanan, secara bersamaan sibuk untuk mencapai maksimum efisiensi. Mekanisme kunci adalah: Menanggapi sinyal yang menunjukkan penyelesaian transaksi I / O, prosesor diaktifkan di antara berbagai program berada di memori utama. Sebuah baris kedua pembangunan adalah tujuan umum pembagian waktu. Di sini, Tujuan desain kunci adalah menjadi responsif terhadap kebutuhan pengguna individual dan belum, untuk alasan biaya, dapat mendukung banyak pengguna tujuan simultaneously.These yang kompatibel karena waktu reaksi yang relatif lambat dari pengguna. Misalnya, jika khas kebutuhan pengguna rata-rata 2 detik dari waktu proses per menit, kemudian tutup untuk 30 pengguna tersebut harus dapat berbagi sistem yang sama tanpa gangguan nyata. Tentu saja, overhead OS harus menjadi faktor dalam perhitungan tersebut. Baris lain penting dari pembangunan telah real-time proses transaksi sistem. Dalam hal ini, sejumlah pengguna sedang memasuki query atau update terhadap database. Contohnya adalah sistem reservasi penerbangan. Perbedaan utama antara sistem pemrosesan transaksi dan sistem time-sharing adalah bahwa mantan terbatas pada satu atau beberapa aplikasi, sedangkan pengguna sistem time-sharing dapat terlibat dalam pengembangan program, pelaksanaan pekerjaan, dan penggunaan berbagai aplikasi. Dalam kedua kasus, sistem waktu respon sangat penting. Alat utama yang tersedia bagi programmer dalam mengembangkan sistem awal multiprogramming dan multiuser sistem interaktif merupakan kegiatan interrupt.The dari pekerjaan apa pun dapat ditangguhkan oleh terjadinya peristiwa didefinisikan, seperti I / O selesai. Prosesor ini akan menghemat beberapa jenis konteks (misalnya, program counter dan register lainnya) dan cabang ke rutin interupsi-penanganan, yang akan menentukan sifat mengganggu, proses interrupt, dan kemudian melanjutkan proses pengguna dengan pekerjaan yang terganggu atau beberapa pekerjaan lain. Desain perangkat lunak sistem untuk mengkoordinasikan berbagai kegiatan berubah keluar menjadi banyak pekerjaan sangat difficult.With berlangsung pada satu waktu, masingmasing yang melibatkan banyak langkah yang akan dilakukan secara berurutan, menjadi mustahil untuk menganalisis semua kemungkinan kombinasi dari urutan peristiwa. Karena ketiadaan beberapa sistematis sarana koordinasi dan kerjasama antar kegiatan, programer terpaksa metode ad hoc berdasarkan pemahaman mereka terhadap lingkungan bahwa OS harus upaya control.These rentan terhadap kesalahan pemrograman halus efek yang dapat diamati hanya ketika urutan relatif jarang tertentu tindakan kesalahan occurred.These sulit untuk mendiagnosa karena mereka dibutuhkan untuk menjadi dibedakan dari kesalahan perangkat lunak aplikasi dan kesalahan hardware. Bahkan ketika kesalahan terdeteksi, sulit untuk menentukan penyebabnya, karena kondisi yang tepat

di mana kesalahan muncul sangat sulit untuk mereproduksi. Umumnya istilah, ada empat penyebab utama kesalahan tersebut [DENN80a]: tidak benar sinkronisasi: Hal ini sering terjadi bahwa rutinitas harus ditangguhkan menunggu suatu kejadian di tempat lain dalam sistem. Sebagai contoh, sebuah program yang memulai sebuah I / O membaca harus menunggu sampai data tersedia di buffer sebelum melanjutkan. Dalam kasus tersebut, sinyal dari beberapa rutin lainnya yang diperlukan. Desain yang tidak tepat dari mekanisme signaling dapat menghasilkan sinyal yang hilang atau duplikat sinyal yang diterima. Gagal saling pengecualian: Hal ini sering terjadi bahwa lebih dari satu pengguna atau program akan berusaha untuk memanfaatkan sumber daya bersama pada saat yang sama. Sebagai contoh, dua pengguna mungkin mencoba untuk mengedit file yang sama pada saat yang sama. Jika akses tidak dikendalikan, kesalahan dapat occur.There harus ada semacam saling pengecualian mekanisme yang memungkinkan hanya satu rutin pada waktu untuk melakukan pembaruan terhadap pelaksanaan file.The tentang pengecualian bersama tersebut sulit untuk memverifikasi sebagai benar dalam semua urutan yang mungkin peristiwa. operasi program Nondeterminate: Hasil program tertentu biasanya harus tergantung hanya pada masukan untuk program tersebut dan bukan pada kegiatan program lain dalam sistem bersama. Tapi ketika program berbagi memori, dan eksekusi mereka tersebut disisipkan oleh prosesor, mereka dapat mengganggu satu sama lain dengan Timpa daerah memori umum di ways.Thus terduga, urutan berbagai program yang dijadwalkan dapat mempengaruhi hasil program tertentu. Deadlock: Adalah mungkin untuk dua atau lebih program yang akan menutup telepon menunggu satu sama lain. Sebagai contoh, dua program mungkin masing-masing memerlukan dua perangkat I / O untuk melakukan beberapa operasi (misalnya, disk untuk menyalin tape). Salah satu program yang memiliki kontrol disita dari salah satu perangkat dan program lain yang memiliki kontrol dari perangkat lain. Setiap menunggu program lain untuk melepaskan sumber daya yang diinginkan. Seperti kebuntuan mungkin tergantung pada waktu kesempatan alokasi sumber daya dan lepaskan. M02_STAL6329_06_SE_C02.QXD 2/22/08 7:02 Page 66 2,3 / UTAMA PENCAPAIAN 67 Apa yang dibutuhkan untuk menanggulangi masalah ini adalah cara yang sistematis untuk memantau dan mengontrol berbagai program yang dijalankan pada prosesor. Konsep proses menyediakan foundation.We dapat memikirkan proses sebagai terdiri dari tiga komponen: Sebuah program dieksekusi Para terkait data yang diperlukan oleh program (variabel, ruang kerja, buffer, dll) Konteks eksekusi program Elemen terakhir adalah eksekusi konteks essential.The, atau negara proses, adalah internal data dengan OS mampu mengawasi dan mengontrol internal process.This informasi dipisahkan dari proses, karena OS tidak memiliki informasi diijinkan untuk proses. Konteks ini mencakup semua informasi bahwa OS

perlu mengelola proses dan prosesor perlu mengeksekusi proses dengan benar. Konteksnya meliputi isi dari register prosesor berbagai, seperti sebagai program counter dan register data. Ini juga mencakup informasi yang berguna kepada OS, seperti prioritas proses dan apakah proses sedang menunggu untuk selesainya acara I / O tertentu. Gambar 2.8 menunjukkan cara di mana proses mungkin managed.Two proses, A dan B, ada di bagian memory.That utama adalah, sebuah blok memori yang dialokasikan untuk setiap proses yang berisi program, data, dan informasi konteks. Setiap proses dicatat dalam daftar proses dibuat dan dikelola oleh daftar proses OS.The berisi satu entri untuk setiap proses, yang mencakup pointer ke lokasi blok memori yang berisi entri process.The juga dapat mencakup sebagian atau seluruh eksekusi konteks sisa process.The dari konteks eksekusi disimpan di tempat lain, mungkin dengan proses itu sendiri (seperti yang ditunjukkan pada Gambar 2.8) atau sering dalam terpisah daerah memori. Register indeks proses berisi indeks ke dalam proses daftar proses yang saat ini mengendalikan program counter processor.The menunjuk ke instruksi berikutnya dalam proses untuk menjadi executed.The dasar dan batas register mendefinisikan daerah dalam memori ditempati oleh proses: Base register adalah alamat awal dari daerah memori dan batas adalah ukuran wilayah (Dalam byte atau kata) Penghitung program dan semua referensi data. Diinterpretasikan relatif ke register basis dan tidak boleh melebihi nilai dalam register batas. Ini mencegah gangguan interprocess. Dalam Gambar 2.8, proses register indeks menunjukkan bahwa proses B mengeksekusi. Proses A sebelumnya mengeksekusi tetapi untuk sementara interrupted.The isi dari semua register pada saat gangguan A dicatat dalam pelaksanaannya konteks. Kemudian, OS dapat melakukan switch proses dan melanjutkan eksekusi dari Proses A. saklar terdiri dari proses menyimpan konteks B dan memulihkan konteks program counter yang A.When sarat dengan nilai yang menunjuk ke A Program daerah, proses A secara otomatis akan melanjutkan eksekusi. Dengan demikian, proses tersebut direalisasikan sebagai proses data structure.A baik dapat melaksanakan atau menunggu seluruh negara execution.The proses pada setiap terkandung dalam struktur context.This yang memungkinkan pengembangan teknik ampuh untuk memastikan koordinasi dan kerjasama antar proses. Fitur baru dapat dirancang dan dimasukkan ke dalam OS (misalnya, prioritas) dengan memperluas konteks untuk mencakup informasi baru diperlukan untuk mendukung fitur tersebut. Sepanjang buku ini kita akan melihat sejumlah contoh di mana struktur proses digunakan untuk memecahkan masalah yang diajukan oleh multiprogramming dan berbagi sumber daya. Manajemen Memori Kebutuhan pengguna dapat dipenuhi terbaik dengan lingkungan komputasi yang mendukung modular pemrograman dan penggunaan fleksibel data. Manajer sistem perlu efisien dan kontrol teratur penyimpanan allocation.The OS, untuk memenuhi persyaratan ini, memiliki lima manajemen penyimpanan tanggung jawab utama:

Proses isolasi: OS harus mencegah proses independen dari campur dengan memori masing-masing, baik data dan instruksi. alokasi otomatis dan manajemen: Program harus dialokasikan secara dinamis di hirarki memori sesuai kebutuhan. Alokasi harus transparan untuk programmer. Dengan demikian, programmer dibebaskan dari persoalan yang berkaitan keterbatasan memori, dan OS dapat mencapai efisiensi dengan memori menugaskan untuk pekerjaan seperlunya saja. Dukungan dari pemrograman modular: Pemrogram harus dapat mendefinisikan Program modul, dan untuk menciptakan, menghancurkan, dan mengubah ukuran modul dinamis. Perlindungan dan kontrol akses: Berbagi memori, pada setiap tingkat memori hirarki, menciptakan potensi untuk satu program untuk mengatasi ruang memori dari another.This diinginkan ketika berbagi dibutuhkan oleh aplikasi tertentu. Di lain waktu, mengancam integritas program dan bahkan OS itu sendiri. OS harus memungkinkan bagian-bagian dari memori dapat diakses dengan berbagai cara oleh berbagai pengguna. Jangka panjang penyimpanan: Banyak program aplikasi memerlukan sarana untuk menyimpan informasi untuk waktu yang lama, setelah komputer telah didukung bawah. Biasanya, sistem operasi memenuhi persyaratan ini dengan memori virtual dan sistem file sistem file facilities.The mengimplementasikan toko jangka panjang, dengan informasi disimpan dalam objek bernama, yang disebut file. File ini adalah konsep yang nyaman bagi programmer dan merupakan unit yang berguna kontrol akses dan perlindungan untuk OS. Virtual memory adalah fasilitas yang memungkinkan program untuk menangani memori dari logis sudut pandang, tanpa memperhatikan jumlah memori utama fisik memori available.Virtual dikandung untuk memenuhi persyaratan memiliki beberapa pekerjaan pengguna berada dalam memori utama secara bersamaan, sehingga tidak akan ada absen antara pelaksanaan proses-proses yang berurutan sementara satu proses ditulis ke toko sekunder dan proses penerus dibacakan masuk Karena proses bervariasi dalam ukuran, jika prosesor beralih di antara sejumlah proses, sulit untuk pak mereka kompak ke dalam memori utama. Sistem paging diperkenalkan, yang memungkinkan proses yang akan terdiri dari sejumlah blok berukuran tetap yang disebut halaman. Sebuah Program referensi kata dengan menggunakan alamat virtual yang terdiri dari sejumlah halaman dan sebuah offset dalam halaman. Setiap halaman dari sebuah proses dapat ditemukan di mana saja dalam memori utama. Sistem paging menyediakan untuk pemetaan dinamis antara alamat virtual yang digunakan dalam program dan alamat nyata, atau alamat fisik, di utama memori. Dengan perangkat keras pemetaan dinamis yang tersedia, langkah logis selanjutnya adalah untuk menghilangkan persyaratan bahwa semua halaman dari sebuah proses berada di memori utama secara

bersamaan. Semua halaman dari sebuah proses diselenggarakan pada disk. Ketika sebuah proses pelaksana, beberapa halaman yang berada di memori utama. Jika referensi dibuat ke halaman yang tidak dalam memori utama, perangkat keras manajemen memori mendeteksi ini dan mengatur untuk halaman yang hilang yang akan dimuat. Skema ini disebut sebagai virtual memori dan digambarkan pada Gambar 2.9. Perangkat keras prosesor, bersama dengan OS, menyediakan pengguna dengan "virtual prosesor "yang memiliki akses ke memori virtual dapat memory.This menjadi alamat linier ruang atau koleksi segmen, yaitu variabel-panjang blok alamat berdekatan. Dalam kedua kasus, instruksi bahasa pemrograman dapat referensi Program dan data lokasi di daerah memori virtual. Proses isolasi dapat dicapai dengan memberikan setiap proses memori, unik maya nonoverlapping. Berbagi memori dapat dicapai dengan tumpang tindih bagian dari dua ruang memori virtual. File diselenggarakan di toko jangka panjang. File dan bagian-bagian dari file dapat disalin ke dalam virtual memori untuk manipulasi oleh program Gambar 2.10 menyoroti kekhawatiran menangani dalam skema memori virtual. Penyimpanan terdiri dari memori secara langsung dialamatkan (dengan instruksi mesin) utama dan menurunkan kecepatan memori tambahan yang diakses secara tidak langsung dengan memuat balok menjadi utama memori. Alamat hardware terjemahan (memori unit manajemen) yang sela antara prosesor dan memori. Program referensi lokasi menggunakan maya alamat, yang dipetakan ke alamat nyata memori utama. Jika acuan adalah dilakukan ke alamat di memori virtual tidak nyata, maka sebagian dari isi nyata memori swap ke memori tambahan dan blok yang diinginkan data adalah bertukar masuk Selama kegiatan ini, proses yang dihasilkan referensi alamat harus suspended.The OS desainer perlu mengembangkan mekanisme address translation yang menghasilkan sedikit overhead dan alokasi kebijakan penyimpanan yang meminimalkan lalu lintas antara tingkat memori. Informasi Perlindungan dan Keamanan Pertumbuhan dalam penggunaan time-sharing sistem dan, baru-baru, komputer jaringan telah membawa dengan itu suatu pertumbuhan kepedulian terhadap perlindungan informasi. Sifat ancaman yang menyangkut organisasi akan sangat bervariasi tergantung pada keadaan. Namun, ada beberapa tujuan umum alat yang dapat dibangun ke dalam komputer dan sistem operasi yang mendukung berbagai perlindungan dan mekanisme keamanan. Secara umum, kita prihatin dengan masalah pengendalian akses ke sistem komputer dan informasi yang tersimpan di dalamnya. Banyak karya dalam keamanan dan perlindungan yang berkaitan dengan sistem operasi secara kasar dapat dikelompokkan menjadi empat kategori: Ketersediaan: Prihatin dengan melindungi sistem terhadap gangguan Kerahasiaan: meyakinkan bahwa pengguna tidak dapat membaca data yang akses tidak sah Integritas data: Perlindungan data dari modifikasi yang tidak sah Keaslian: Concerned dengan verifikasi yang tepat dari identitas pengguna dan keabsahan pesan atau data Penjadwalan dan Pengelolaan Sumber Daya

Tanggung jawab utama dari OS adalah untuk mengelola berbagai sumber daya yang tersedia untuk itu (Ruang memori utama, perangkat I / O, prosesor) dan untuk jadwal penggunaannya oleh berbagai aktif proses. Setiap alokasi sumber daya dan kebijakan penjadwalan harus mempertimbangkan tiga faktor: Keadilan: Biasanya, kami ingin semua proses yang bersaing untuk penggunaan dari suatu sumber daya tertentu yang akan diberikan akses kurang lebih sama dan adil untuk yang sumber daya. Hal ini terutama terjadi untuk pekerjaan dari kelas yang sama, yaitu, pekerjaan yang serupa tuntutan. tanggap Diferensial: Di sisi lain, OS mungkin perlu membedakan di antara kelas yang berbeda dari pekerjaan dengan persyaratan layanan yang berbeda. Itu OS harus berusaha untuk membuat keputusan alokasi dan penjadwalan untuk memenuhi berjumlah set persyaratan. OS juga harus membuat keputusan ini secara dinamis. Sebagai contoh, jika suatu proses sedang menunggu untuk penggunaan perangkat I / O, OS mungkin ingin untuk menjadwalkan proses yang untuk eksekusi sesegera mungkin untuk membebaskan perangkat untuk tuntutan kemudian dari proses lainnya. Efisiensi: OS harus berusaha untuk memaksimalkan throughput, meminimalkan respon waktu, dan, dalam kasus pembagian waktu, mengakomodasi pengguna sebanyak possible.These kriteria konflik; menemukan keseimbangan yang tepat untuk situasi tertentu adalah masalah yang berkelanjutan untuk penelitian sistem operasi. Penjadwalan dan manajemen sumber daya pada dasarnya riset operasi masalah dan hasil matematika disiplin yang dapat diterapkan. Selain itu, pengukuran aktivitas sistem penting untuk dapat memantau kinerja dan melakukan penyesuaian. Gambar 2.11 menunjukkan unsur-unsur utama dari OS yang terlibat dalam penjadwalan proses dan alokasi sumber daya di lingkungan multiprogramming. Itu OS mempertahankan jumlah antrian, masing-masing hanyalah sebuah daftar proses menunggu untuk beberapa antrian jangka pendek resource.The terdiri dari proses yang ada di memori utama (Atau setidaknya bagian yang minimum penting dari masing-masing dalam memori utama) dan siap untuk menjalankan secepat prosesor dibuat available.Any satu dari proses-proses bisa menggunakan prosesor berikutnya. Terserah kepada penjadwal jangka pendek, atau operator, untuk memilih strategi one.A umum adalah untuk memberikan setiap proses dalam antrian beberapa waktu pada gilirannya; ini disebut sebagai teknik round-robin. Akibatnya, teknik round-robin mempekerjakan strategi queue.Another melingkar adalah untuk menetapkan tingkat prioritas pada berbagai proses, dengan scheduler memilih proses dalam urutan prioritas. Antrian jangka panjang adalah daftar pekerjaan baru yang menunggu untuk menggunakan prosesor. Itu OS menambah pekerjaan ke sistem dengan memindahkan proses dari antrian jangka panjang untuk

yang queue.At jangka pendek waktu itu, sebagian dari memori utama harus dialokasikan untuk proses masuk. Dengan demikian, OS harus yakin bahwa itu tidak overcommit memori atau waktu proses dengan mengakui terlalu banyak proses ke sistem. Sana adalah sebuah antrian I / O untuk setiap I / O device.More dari satu proses dapat meminta penggunaan I / O yang sama device.All proses menunggu untuk menggunakan setiap perangkat yang berbaris dalam queue.Again perangkat, OS harus menentukan proses untuk menetapkan ke sebuah tersedia I / O device. OS menerima kontrol dari prosesor pada interrupt handler jika interupsi terjadi. Sebuah proses khusus dapat memanggil beberapa layanan sistem operasi, seperti sebagai pengendali perangkat I / O melalui panggilan pelayanan. Dalam hal ini, penangan layanan panggilan adalah titik masuk ke dalam OS. Dalam hal apapun, setelah panggilan interupsi atau jasa ditangani, jangka pendek scheduler dipanggil untuk memilih suatu proses untuk eksekusi. Hal tersebut di atas adalah deskripsi fungsional; detail dan desain modular ini bagian dari OS akan berbeda dalam systems.Much berbagai penelitian dan pengembangan usaha dalam sistem operasi telah diarahkan pada algoritma memilih dan data struktur untuk fungsi ini yang memberikan keadilan, tanggap diferensial, dan efisiensi. Sistem Struktur Sebagai fitur lebih banyak dan lebih telah ditambahkan ke sistem operasi, dan sebagai dasar perangkat keras telah menjadi lebih mampu dan serbaguna, ukuran dan kompleksitas sistem operasi telah tumbuh. CTSS, dioperasikan di MIT pada tahun 1963, terdiri sekitar 32.000 36-bit penyimpanan. OS/360, diperkenalkan tahun kemudian oleh IBM, memiliki lebih dari satu juta instruksi mesin. Pada tahun 1975, sistem Multics, yang dikembangkan oleh MIT dan Bell Laboratories, telah berkembang menjadi lebih dari 20 juta instruksi. Memang benar bahwa baru-baru ini, beberapa sistem operasi sederhana telah diperkenalkan untuk sistem yang lebih kecil, tetapi ini pasti telah tumbuh lebih kompleks karena hardware dan kebutuhan pengguna tumbuh. Dengan demikian, UNIX hari ini jauh lebih kompleks daripada sistem hampir mainan disatukan oleh beberapa berbakat programer pada awal tahun 1970, dan sederhana MS-DOS telah memberikan cara untuk orang kaya dan kekuasaan yang kompleks dari OS / 2 dan Windows. Sebagai contoh, Windows NT 4.0 berisi 16 juta baris kode, dan Windows 2000 memiliki lebih dari dua kali angka tersebut. Ukuran fitur lengkap OS, dan sulitnya masalah itu alamat, memiliki menyebabkan empat masalah disayangkan tapi semua-terlalu-umum. Pertama, sistem operasi adalah kronis terlambat menjadi delivered.This berlaku untuk sistem operasi baru dan upgrade dengan sistem yang lebih tua. Kedua, sistem telah laten bug yang muncul di lapangan dan harus tetap dan ulang. Ketiga, kinerja sering tidak apa yang diharapkan. Keempat, telah terbukti tidak mungkin untuk menggunakan OS kompleks yang tidak rentan terhadap

berbagai serangan keamanan, termasuk virus, worm, dan akses yang tidak sah Untuk mengelola kompleksitas sistem operasi dan untuk mengatasi masalah ini, ada banyak fokus selama bertahun-tahun pada struktur perangkat lunak dari OS. Perangkat lunak obvious.The poin tertentu tampaknya harus modular.This akan membantu mengatur proses pengembangan perangkat lunak dan membatasi upaya untuk mendiagnosa dan memperbaiki kesalahan. Modul harus memiliki antarmuka yang terdefinisi dengan baik satu sama lain, dan antarmuka harus sesederhana mungkin. Sekali lagi, ini memudahkan beban pemrograman. Itu juga memfasilitasi sistem evolution.With bersih, interface minimal antara modul, satu modul dapat diubah dengan dampak minimal terhadap modul lainnya. Untuk sistem operasi besar, yang berjalan dari jutaan hingga puluhan jutaan baris kode, pemrograman modular saja belum ditemukan sudah mencukupi. Malah telah terjadi peningkatan penggunaan konsep lapisan hirarki dan informasi abstraksi. Struktur hirarkis suatu OS yang modern memisahkan fungsinya sesuai untuk skala waktu karakteristik mereka dan tingkat abstraction.We dapat melihat sistem sebagai serangkaian tingkatan. Setiap tingkat melakukan subset terkait fungsi diperlukan dari OS. Hal ini bergantung pada tingkat yang lebih rendah berikutnya untuk melakukan fungsi yang lebih primitif dan untuk menyembunyikan rincian fungsi-fungsi. Ini menyediakan layanan ke yang berikutnya lapisan yang lebih tinggi. Idealnya, tingkat harus didefinisikan sehingga perubahan di satu tingkat tidak memerlukan perubahan dalam levels.Thus lain, kita telah membusuk satu masalah ke dalam angka dari submasalah dikelola lebih. Secara umum, lapisan bawah berurusan dengan skala waktu yang jauh lebih pendek. Beberapa bagian dari OS harus berinteraksi langsung dengan perangkat keras komputer, di mana peristiwa dapat memiliki waktu skala sesingkat beberapa billionths detik. Di ujung lain dari bagian-bagian spektrum, dari OS berkomunikasi dengan pengguna, yang mengeluarkan perintah pada yang jauh lebih santai kecepatan, mungkin salah satu setiap beberapa detik. Penggunaan satu set tingkat sesuai baik untuk lingkungan ini. Cara di mana prinsip-prinsip ini diterapkan sangat bervariasi antara kontemporer sistem operasi. Namun, hal ini berguna pada saat ini, untuk tujuan memperoleh gambaran dari sistem operasi, untuk menyajikan model OS hirarkis. Mari kita mempertimbangkan model yang diusulkan dalam [BROW84] dan [DENN84]. Meski tidak sesuai dengan OS tertentu, model ini menyediakan tampilan tingkat tinggi yang berguna OS structure.The model didefinisikan dalam Tabel 2.4 dan terdiri dari tingkat berikut: Tingkat 1: Terdiri dari sirkuit elektronik, di mana objek yang ditangani adalah register, sel memori, dan gerbang logika. Operasi ini didefinisikan pada objek tindakan, seperti membersihkan register atau membaca lokasi memori. Tingkat 2: set instruksi prosesor itu. Operasi pada tingkat ini adalah mereka diperbolehkan dalam set instruksi bahasa mesin, seperti menambah, mengurangi, memuat, dan toko. Tingkat 3: Menambahkan konsep prosedur atau subrutin, ditambah panggilan / return

operasi. Tingkat 4: Memperkenalkan interrupt, yang menyebabkan prosesor untuk menyimpan arus konteks dan memanggil sebuah rutin interupsi penanganan. Keempat tingkat pertama bukan bagian dari OS tetapi merupakan perangkat keras prosesor. Namun, beberapa elemen dari OS mulai muncul pada tingkat ini, seperti mengganggu penanganan rutinitas. Hal ini pada tingkat 5 yang kita mulai untuk mencapai yang tepat OS dan bahwa konsep-konsep yang terkait dengan multiprogramming mulai muncul Tingkat 5: Gagasan dari suatu proses sebagai program dalam pelaksanaan diperkenalkan pada level.The persyaratan mendasar pada OS untuk mendukung beberapa proses mencakup kemampuan untuk menunda dan melanjutkan processes.This memerlukan perangkat keras menyelamatkan register sehingga eksekusi yang dapat beralih dari satu proses ke proses lain. Selain itu, jika proses perlu bekerja sama, maka beberapa metode sinkronisasi diperlukan. Salah satu teknik paling sederhana, dan konsep penting dalam OS desain, adalah semaphore, teknik sinyal sederhana yang dieksplorasi dalam Bab 5. Tingkat 6: Penawaran dengan perangkat penyimpanan sekunder dari komputer. Pada tingkat, fungsi posisi membaca / menulis kepala dan transfer aktual blok data terjadi. Tingkat 6 bergantung pada tingkat 5 untuk jadwal operasi dan untuk memberitahukan proses meminta penyelesaian suatu operasi. Tinggi tingkat prihatin dengan alamat dari data yang diperlukan pada disk dan memberikan permintaan untuk blok yang sesuai untuk device driver pada level 5. Tingkat 7: Membuat ruang alamat logis untuk tingkat processes.This mengatur ruang alamat virtual ke dalam blok yang bisa dipindahkan antara memori utama dan skema memory.Three sekunder sedang digunakan umum: mereka yang menggunakan fixedsize halaman, mereka yang menggunakan variabel-panjang segmen, dan mereka menggunakan sebuah both.When blok yang dibutuhkan tidak di utama, memori logika pada tingkat permintaan transfer dari level 6. Sampai saat ini, OS berkaitan dengan sumber daya dari prosesor tunggal. Awal dengan tingkat 8, OS berhubungan dengan objek-objek eksternal seperti perangkat perifer dan mungkin jaringan dan komputer yang melekat pada jaringan. Obyek pada saattingkat atas adalah logis, benda bernama yang dapat dibagi di antara proses pada sama komputer atau pada beberapa komputer. Tingkat 8: Berkaitan dengan komunikasi informasi dan pesan antara tingkat processes.Whereas 5 menyediakan mekanisme sinyal primitif yang memungkinkan untuk sinkronisasi proses, tingkat ini berkaitan dengan berbagi lebih kaya informasi. Salah satu alat paling ampuh untuk tujuan ini adalah pipa, yang saluran logis untuk aliran data antara processes.A pipa didefinisikan dengan yang output dari satu proses dan input ke proses lain. Hal ini juga dapat digunakan untuk menghubungkan perangkat eksternal atau file untuk proses. Konsep ini dibahas dalam Bab 6. Tingkat 9: Mendukung penyimpanan jangka panjang dari file bernama. Pada tingkat ini, data

pada penyimpanan sekunder yang dilihat dari segi abstrak, variabel-panjang entitas. Hal ini berbeda dengan pandangan hardware berorientasi penyimpanan sekunder dalam hal trek, sektor, dan blok berukuran tetap pada level 6. Level 10: Memberikan akses ke perangkat eksternal menggunakan antarmuka standar. Tingkat 11: Apakah jawab untuk menjaga hubungan antara eksternal dan pengenal internal sumber daya sistem dan objek. Eksternal identifier adalah nama yang dapat digunakan oleh aplikasi atau user.The internal yang identifier adalah alamat atau indikator lain yang dapat digunakan oleh tingkat yang lebih rendah dari OS untuk mencari dan mengendalikan asosiasi object.These diselenggarakan dalam direktori. Entri tidak hanya mencakup pemetaan eksternal / internal, tetapi juga karakteristik seperti hak akses. Tingkat 12: Menyediakan fasilitas fitur lengkap untuk mendukung proses. Ini jauh melampaui apa yang disediakan pada level 5. Pada level 5, hanya prosesor register isi yang terkait dengan proses dipelihara, ditambah logika untuk pengiriman proses. Pada tingkat 12, semua informasi yang diperlukan untuk tertib pengelolaan proses adalah supported.This meliputi ruang alamat virtual proses, daftar objek dan proses dengan mana ia dapat berinteraksi dan kendala interaksi itu, parameter yang dikirimkan ke proses pada saat penciptaan, dan setiap karakteristik lainnya dari proses yang dapat digunakan oleh OS untuk mengontrol proses. Tingkat 13: Menyediakan antarmuka ke OS untuk pengguna. Hal ini disebut sebagai shell karena memisahkan pengguna dari rincian OS dan OS hanya menyajikan sebagai kumpulan jasa. Shell menerima perintah pengguna atau kontrol pekerjaan pernyataan, menafsirkan ini, dan menciptakan dan mengontrol proses sesuai kebutuhan. Untuk contoh, interface pada tingkat ini dapat diterapkan secara grafis, menyediakan pengguna dengan perintah melalui daftar disajikan sebagai menu dan menampilkan hasil menggunakan output grafis ke perangkat tertentu seperti layar. Model hipotetis sebuah OS menyediakan struktur deskriptif yang berguna dan berfungsi sebagai pedoman implementasi. Pembaca bisa merujuk kembali ke struktur ini selama buku itu untuk mengamati konteks dari setiap masalah desain tertentu dalam pembahasan. 2,4 PERKEMBANGAN MEMIMPIN DENGAN MODERN OPERASI SISTEM Selama bertahun-tahun, telah terjadi evolusi bertahap struktur OS dan kemampuan. Namun, dalam beberapa tahun terakhir sejumlah elemen desain baru telah diperkenalkan ke dalam kedua sistem operasi baru dan rilis baru dari operasi yang ada sistem yang menciptakan perubahan besar dalam sifat sistem operasi. Ini sistem operasi modern menanggapi perkembangan baru dalam perangkat keras, aplikasi baru, dan ancaman keamanan baru. Di antara driver hardware kunci multiprosesor sistem, sangat meningkatkan kecepatan prosesor, kecepatan tinggi jaringan lampiran, dan ukuran meningkat dan berbagai perangkat penyimpanan memori. Dalam aplikasi arena, aplikasi multimedia, internet dan akses Web, dan klien / server komputasi telah mempengaruhi OS hormat design.With untuk keamanan, Internet akses ke komputer telah sangat meningkatkan potensi ancaman dan semakin serangan canggih, seperti virus, worm, dan teknik hacking, memiliki memiliki dampak yang mendalam pada desain OS.

Tingkat perubahan dalam tuntutan pada sistem operasi membutuhkan tidak hanya modifikasi dan perangkat tambahan untuk arsitektur yang sudah ada tetapi cara-cara baru pengorganisasian OS. Berbagai macam pendekatan yang berbeda dan elemen desain telah mencoba dalam sistem operasi baik eksperimental maupun komersial, tetapi sebagian besar pekerjaan cocok ke dalam kategori berikut: mikrokernel arsitektur Multithreading Symmetric multiprocessing sistem operasi terdistribusi berorientasi objek desain Sebagian besar sistem operasi, sampai saat ini, fitur sebuah kernel monolitik besar. Sebagian besar dari apa yang dianggap sebagai fungsi OS disediakan dalam kernel besar, termasuk penjadwalan, sistem file, jaringan, device driver, manajemen memori, dan more.Typically, sebuah kernel monolitik diimplementasikan sebagai proses tunggal, dengan semua unsur berbagi ruang alamat yang sama. Sebuah arsitektur mikrokernel memberikan hanya beberapa fungsi penting untuk kernel, termasuk spasi alamat, interprocess komunikasi (IPC), dan dasar penjadwalan. OS lain jasa yang disediakan oleh proses, kadang-kadang disebut server, yang berjalan dalam modus pengguna dan diperlakukan seperti aplikasi lainnya oleh kernel decouples pendekatan microkernel.This dan pengembangan server. Server dapat disesuaikan untuk aplikasi tertentu atau persyaratan lingkungan. Pendekatan mikrokernel menyederhanakan implementasi, memberikan fleksibilitas, dan cocok untuk lingkungan terdistribusi. Intinya, mikrokernel berinteraksi dengan proses server lokal dan remote dengan cara yang sama, memfasilitasi pembangunan didistribusikan sistem. Multithreading adalah teknik di mana sebuah proses, mengeksekusi aplikasi, dibagi menjadi benang yang dapat berjalan concurrently.We dapat membuat perbedaan yang berikut: Topik: Sebuah unit dispatchable kerja. Ini mencakup konteks prosesor (yang mencakup program counter dan stack pointer) dan wilayah sendiri data untuk stack (untuk mengaktifkan subrutin percabangan). Sebuah thread mengeksekusi berurutan dan interruptable sehingga prosesor dapat beralih ke thread lain. Proses: Sebuah koleksi dari satu atau lebih benang dan sumber daya sistem yang terkait (Seperti memori yang mengandung kode dan data, membuka file, dan perangkat). Ini terkait erat dengan konsep program dalam execution.By melanggar tunggal aplikasi ke beberapa thread, programmer memiliki kontrol yang besar atas modularitas dari aplikasi dan waktu aplikasi yang berhubungan dengan peristiwa. Multithreading berguna untuk aplikasi yang melakukan sejumlah dasarnya tugas independen yang tidak perlu serialized.An contoh adalah database server yang mendengarkan dan proses berbagai klien requests.With beberapa thread berjalan dalam proses yang sama, berpindah bolak-balik antara benang melibatkan kurang prosesor overhead dari switch proses utama antara proses yang berbeda.

Thread juga berguna untuk penataan proses yang merupakan bagian dari kernel OS sebagai dijelaskan dalam bab berikutnya. Sampai saat ini, hampir semua single-user komputer pribadi dan workstation berisi mikroprosesor tujuan umum tunggal. Sebagai tuntutan untuk kinerja meningkatkan dan sebagai biaya mikroprosesor terus menurun, vendor telah memperkenalkan komputer dengan beberapa mikroprosesor. Untuk mencapai efisiensi dan kehandalan, salah satu teknik adalah dengan menggunakan symmetric multiprocessing (SMP), istilah yang yang mengacu pada arsitektur perangkat keras komputer dan juga dengan perilaku OS yang mengeksploitasi arsitektur itu. Sebuah multiprosesor simetris dapat didefinisikan sebagai standalone komputer sistem dengan karakteristik sebagai berikut: 1. Ada beberapa prosesor. 2. Prosesor berbagi memori utama yang sama dan I / O fasilitas, saling berhubungan oleh bus komunikasi atau skema koneksi internal lainnya. 3. Semua prosesor dapat melakukan fungsi yang sama (maka istilah simetris). Dalam beberapa tahun terakhir, sistem dengan prosesor ganda pada satu chip telah menjadi banyak digunakan, disebut sebagai sistem multiprosesor chip. Banyak dari masalah desain adalah sama, apakah berurusan dengan multiprosesor chip atau kelipatan-chip SMP. OS dari sebuah proses atau thread jadwal SMP di semua prosesor. SMP memiliki sejumlah keunggulan dibandingkan dengan arsitektur prosesor tunggal, termasuk sebagai berikut: Kinerja: Jika pekerjaan yang harus dilakukan oleh komputer dapat diatur sehingga beberapa bagian dari pekerjaan dapat dilakukan secara paralel, maka sistem dengan beberapa prosesor akan menghasilkan kinerja lebih besar dari satu dengan prosesor tunggal tipe yang sama. Ini diilustrasikan dalam Gambar 2.12.With multiprogramming, hanya satu proses dapat mengeksekusi pada suatu waktu, sementara semua proses yang sedang menunggu untuk multiprocessing processor.With, lebih dari satu proses dapat berjalan secara bersamaan, masing-masing pada prosesor yang berbeda. Ketersediaan: Dalam multiprosesor simetris, karena semua prosesor dapat melakukan fungsi yang sama, kegagalan prosesor tunggal tidak menghentikan sistem. Sebaliknya, sistem dapat terus berfungsi pada kinerja berkurang. Tambahan pertumbuhan: Seorang pengguna dapat meningkatkan kinerja sistem dengan menambahkan prosesor tambahan. Scaling: Vendor dapat menawarkan berbagai produk dengan harga yang berbeda dan kinerja karakteristik berdasarkan jumlah prosesor dikonfigurasi dalam sistem. Penting untuk dicatat bahwa ini adalah potensi, bukan dijamin, manfaat. Itu OS harus menyediakan alat-alat dan fungsi untuk mengeksploitasi paralelisme dalam sistem SMP. Multithreading dan SMP sering dibahas bersama, tetapi keduanya independen fasilitas. Bahkan pada sistem uniprocessor, multithreading berguna untuk penataan aplikasi dan proses kernel. Sistem SMP berguna bahkan untuk nonthreaded proses, karena beberapa proses dapat berjalan secara paralel. Namun, dua fasilitas melengkapi satu sama lain dan dapat digunakan secara efektif bersama-sama.

Sebuah fitur menarik dari SMP adalah bahwa keberadaan beberapa prosesor adalah transparan kepada pengguna. OS menangani penjadwalan thread atau proses pada prosesor individu dan sinkronisasi antara buku processors.This membahas mekanisme penjadwalan dan sinkronisasi digunakan untuk menyediakan sistem singlepenampilan untuk masalah user.A berbeda adalah untuk memberikan penampilan tunggal sistem untuk sekelompok komputer yang terpisah-sistem multicomputer. Dalam hal ini, kami berurusan dengan koleksi entitas (komputer), masing-masing dengan memori sendiri utamanya, memori sekunder, dan I / O sistem operasi terdistribusi menyediakan modules.A ilusi ruang memori tunggal utama dan ruang memori tunggal sekunder, ditambah fasilitas lain akses terpadu, seperti cluster system.Although file terdistribusi menjadi semakin populer, dan ada produk cluster yang banyak di pasar, keadaan seni untuk sistem operasi terdistribusi yang tertinggal dari uniprocessor dan SMP operasi systems.We memeriksa sistem seperti di Bagian Delapan. Inovasi lain di OS desain adalah penggunaan teknologi berorientasi objek. Desain berorientasi obyek meminjamkan disiplin untuk proses penambahan ekstensi modular ke kernel.At kecil tingkat OS, struktur berbasis obyek memungkinkan programmer untuk menyesuaikan OS tanpa mengganggu integritas sistem. Obyek orientasi juga memudahkan pengembangan alat terdistribusi dan full-blown sistem operasi terdistribusi. 2,5 MICROSOFT WINDOWS GAMBARAN Sejarah Kisah Windows diawali dengan OS yang sangat berbeda, yang dikembangkan oleh Microsoft untuk IBM komputer pribadi pertama dan disebut sebagai MS-DOS atau PC-DOS. Awal versi, DOS 1.0, dirilis pada bulan Agustus 1981. Ini terdiri dari 4000 baris perakitan bahasa sumber kode dan berlari di 8 Kbytes memori menggunakan prosesor Intel 8086 mikroprosesor. Ketika IBM mengembangkan komputer berbasis disk drive pribadi, PC XT, Microsoft mengembangkan DOS 2.0, dirilis pada tahun 1983. Isinya dukungan untuk hard disk dan disediakan untuk direktori hirarkis. Sampai sekarang, disk bisa hanya berisi satu direktori file, mendukung maksimal 64 files.While ini adalah memadai dalam era disket, itu terlalu terbatas untuk hard disk, dan pembatasan tunggal direktori terlalu canggung. Rilis terbaru ini memungkinkan direktori mengandung subdirektori serta rilis baru files.The juga berisi satu set kaya perintah tertanam di OS untuk menyediakan fungsi yang harus dilakukan oleh program eksternal yang diberikan sebagai utilitas dengan Release 1.Among kemampuan tambahan yang UNIXlike beberapa fitur, seperti pengalihan I / O, yang adalah kemampuan untuk mengubah input atau keluaran identitas untuk aplikasi tertentu, dan pencetakan latar belakang. Memori-penduduk bagian tumbuh hingga 24 Kbytes. Ketika IBM mengumumkan PC AT pada tahun 1984, Microsoft memperkenalkan DOS 3.0.The AT berisi prosesor Intel 80286 prosesor, yang disediakan diperpanjang dan menangani memori fitur perlindungan. Ini tidak digunakan oleh DOS. Untuk tetap kompatibel dengan rilis sebelumnya, OS hanya menggunakan 80286 sebagai OS melakukan "8086 cepat." menyediakan dukungan untuk keyboard baru dan peripheral harddisk. Meskipun demikian, memori persyaratan tumbuh hingga 36 Kbytes. Ada beberapa upgrade penting ke rilis 3.0. DOS 3.1, dirilis pada tahun 1984, berisi dukungan untuk jaringan ukuran PCs.The

dari bagian penduduk tidak berubah, ini dicapai dengan meningkatkan jumlah dari OS yang dapat ditukarkan. DOS 3.3, dirilis pada tahun 1987, memberikan dukungan untuk baris baru komputer IBM, PS / 2. Sekali lagi, rilis ini tidak mengambil keuntungan dari kemampuan prosesor PS / 2, yang disediakan oleh 80286 dan 32-bit 80386 penduduk bagian chips.The pada tahap ini telah berkembang menjadi minimal 46 Kbytes, dengan lebih diperlukan jika ekstensi tertentu opsional dipilih. M02_STAL6329_06_SE_C02.QXD 2/22/08 7:02 Page 80 2,5 / MICROSOFT WINDOWS TINJAUAN 81 Pada saat ini, DOS telah digunakan di lingkungan yang jauh melampaui kemampuannya. Pengenalan 80486 dan kemudian Intel Pentium chip yang diberikan kuasa dan fitur yang tidak dapat dimanfaatkan oleh berpikiran sederhana DOS. Sementara itu, mulai pada awal tahun 1980, Microsoft memulai pengembangan sebuah antarmuka pengguna grafis (GUI) yang akan sela antara pengguna dan DOS. Microsoft niat adalah untuk bersaing dengan Macintosh, yang OS adalah upayanya untuk kemudahan penggunaan. Oleh 1990, Microsoft memiliki versi GUI, dikenal sebagai Windows 3.0, yang digabungkan beberapa fitur ramah pengguna Macintosh. Namun, masih sembelih oleh kebutuhan untuk berjalan di atas DOS. Setelah upaya gagal oleh Microsoft untuk mengembangkan dengan IBM generasi berikutnya OS, yang akan memanfaatkan kekuatan microprocessors yang baru dan akan menggabungkan kemudahan penggunaan fitur Windows, Microsoft memukul keluar nya sendiri dan mengembangkan OS baru dari bawah ke atas, Windows NT mengeksploitasi NT.Windows kemampuan mikroprosesor dan menyediakan multitasking kontemporer dalam lingkungan single-user atau multi-user. Versi pertama Windows NT (3.1) dirilis pada tahun 1993, dengan GUI yang sama sebagai Windows 3.1, OS lain Microsoft (tindak-on ke Windows 3.0). Namun, NT 3.1 adalah 32-bit OS baru dengan kemampuan untuk mendukung DOS lama dan Windows aplikasi serta menyediakan OS / 2 dukungan. Setelah beberapa versi NT 3.x, Microsoft merilis NT 4.0. NT 4.0 memiliki dasarnya arsitektur internal sama dengan perubahan eksternal 3.x.The paling penting adalah bahwa NT 4.0 menyediakan antarmuka pengguna yang sama sebagai Windows 95 (upgrade ditingkatkan untuk Windows 3.1). Perubahan arsitektur utama adalah bahwa beberapa grafis komponen yang berjalan dalam modus pengguna sebagai bagian dari subsistem Win32 dalam 3.x telah dipindahkan ke Windows NT Eksekutif, yang berjalan di kernel mode.The mendapatkan keuntungan dari perubahan ini untuk mempercepat pengoperasian fungsi-fungsi penting. Kelemahan potensial adalah bahwa fungsi-fungsi grafis sekarang memiliki akses langsung ke tingkat rendah layanan sistem, yang dapat mempengaruhi keandalan dari OS. Pada tahun 2000, Microsoft memperkenalkan upgrade besar berikutnya: Windows 2000. Sekali lagi, Eksekutif yang mendasari dan arsitektur Kernel dasarnya sama seperti pada NT 4.0, tetapi fitur baru telah penekanan added.The pada Windows 2000 adalah penambahan

layanan dan fungsi untuk mendukung proses didistribusikan. Unsur sentral fitur baru Windows 2000 adalah Active Directory, yang merupakan terdistribusi direktori mampu memetakan nama benda sewenang-wenang untuk setiap jenis layanan informasi tentang orang objects.Windows 2000 juga menambahkan plug-and-play dan power-management sarana yang sudah di Windows 98, pengganti Windows 95. Fitur-fitur ini sangat penting untuk komputer laptop, yang sering menggunakan stasiun docking dan berjalan di baterai. Satu titik akhir umum untuk membuat tentang Windows 2000 adalah perbedaan antara Windows 2000 Server dan desktop Windows 2000. Pada dasarnya, kernel dan arsitektur eksekutif dan layanan tetap sama, tetapi Server termasuk beberapa layanan diperlukan untuk digunakan sebagai server jaringan. Pada tahun 2001, versi desktop baru dari Windows dirilis, yang dikenal sebagai Windows XP. Kedua PC rumah dan versi workstation bisnis XP ditawarkan. Pada tahun 2003, Microsoft memperkenalkan versi server baru, yang dikenal sebagai Windows Server 2003, mendukung baik 32-bit dan 64-bit processors.The versi 64-bit Server 2003 dirancang khusus untuk Itanium 64-bit Intel hardware.With paket layanan pertama M02_STAL6329_06_SE_C02.QXD 2/28/08 3:34 Page 81 82 BAB 2 / TINJAUAN SISTEM OPERASI update untuk Server 2003, Microsoft memperkenalkan dukungan untuk arsitektur prosesor AMD64 untuk desktop dan server. Pada tahun 2007, versi desktop terbaru dari Windows dirilis, yang dikenal sebagai Jendela Vista.Vista mendukung kedua Intel x86 dan x64 AMD arsitektur. Itu Fitur utama dari rilis ini adalah perubahan pada GUI dan perbaikan keamanan. Rilis server yang sesuai adalah Windows Server 2008. Single-User Multitasking Windows (dari Windows 2000 dan seterusnya) adalah contoh yang signifikan dari apa yang telah menjadi gelombang baru dalam sistem operasi komputer mikro (contoh lainnya adalah Linux dan MacOS). Windows itu didorong oleh kebutuhan untuk memanfaatkan kemampuan pengolahan dari hari ini 32-bit dan 64-bit mikroprosesor, yang mainframe saingan dari hanya beberapa tahun lalu dalam kecepatan, kecanggihan hardware, dan kapasitas memori. Salah satu fitur yang paling signifikan dari sistem operasi baru adalah bahwa, meskipun mereka masih ditujukan untuk mendukung pengguna interaktif, mereka multitasking sistem operasi. Dua perkembangan utama memicu kebutuhan untuk multitasking pada komputer pribadi, workstation, dan server. Pertama, dengan meningkatkan kecepatan dan kapasitas memori dari mikroprosesor, bersama dengan dukungan untuk memori virtual, aplikasi menjadi lebih kompleks dan saling terkait. Untuk Misalnya, pengguna mungkin ingin mempekerjakan pengolah kata, program gambar, dan aplikasi spreadsheet secara bersamaan untuk menghasilkan document.Without multitasking, jika pengguna ingin membuat gambar dan sisipkan ke dalam dokumen pengolah kata, langkah-langkah berikut diperlukan: 1. Buka program gambar. 2. Membuat gambar dan menyimpannya dalam sebuah file atau pada clipboard sementara.

3. Tutup program gambar. 4. Buka program pengolah kata. 5. Masukkan gambar di lokasi yang benar. Jika ada perubahan yang diinginkan, pengguna harus menutup program pengolah kata, buka program gambar, edit gambar grafis, menyimpannya, menutup program menggambar, membuka program pengolah kata, dan menyisipkan gambar diperbarui. Hal ini menjadi membosankan sangat cepat. Sebagai layanan dan kemampuan tersedia untuk pengguna menjadi lebih kuat dan bervariasi, lingkungan single-tugas menjadi lebih canggung dan tidak ramah pengguna. Dalam lingkungan multitasking, pengguna membuka setiap aplikasi sesuai kebutuhan, dan daun terbuka. Informasi dapat dipindah-pindahkan di antara jumlah aplikasi dengan mudah. Setiap aplikasi memiliki satu atau lebih jendela terbuka, dan antarmuka grafis dengan perangkat penunjuk seperti mouse memungkinkan pengguna untuk menavigasi cepat dalam lingkungan ini. Sebuah motivasi kedua untuk multitasking adalah perkembangan klien / server komputasi. Dengan klien / server komputasi, komputer pribadi atau workstation (klien) dan host sistem (server) digunakan bersama-sama untuk menyelesaikan aplikasi tertentu. Keduanya berhubungan, dan masing-masing diberikan bagian dari pekerjaan yang sesuai capabilities.Client nya / server dapat dicapai dalam jaringan area lokal dari komputer pribadi dan server atau dengan sarana hubungan antara sistem pengguna dan sejumlah besar seperti mainframe. Sebuah M02_STAL6329_06_SE_C02.QXD 2/22/08 7:02 Page 82 2,5 / MICROSOFT WINDOWS TINJAUAN 83 aplikasi mungkin melibatkan satu atau lebih komputer pribadi dan satu atau lebih server devices.To memberikan respon yang diperlukan, OS harus mendukung kecepatan tinggi jaringan interface dan terkait protokol komunikasi dan transfer data arsitektur sementara pada saat yang sama mendukung interaksi pengguna yang sedang berlangsung. Pernyataan tersebut di atas berlaku untuk versi desktop dari Windows. Server versi juga multitasking tetapi mungkin mendukung beberapa pengguna. Mereka mendukung beberapa lokal server koneksi serta menyediakan layanan bersama yang digunakan oleh beberapa pengguna di jaringan. Sebagai server Internet, Windows dapat mendukung ribuan simultan Web koneksi. Arsitektur Gambar 2.13 menggambarkan keseluruhan struktur Windows 2000; rilis terbaru dari Windows, termasuk Vista, pada dasarnya memiliki struktur yang sama di tingkat detail. -Nya struktur modular memberikan fleksibilitas Windows yang cukup besar. Hal ini dirancang untuk mengeksekusi pada berbagai platform perangkat keras dan mendukung aplikasi yang ditulis untuk berbagai lain sistem operasi. Pada tulisan ini, desktop Windows hanya diimplementasikan pada Intel x86 dan AMD64 hardware server platforms.Windows juga mendukung Intel IA64 (Itanium). Seperti dengan sistem operasi hampir semua, Windows memisahkan applicationoriented

perangkat lunak dari inti OS yang terakhir software.The, yang meliputi Eksekutif, Kernel, device driver, dan lapisan abstraksi perangkat keras, berjalan dalam mode kernel. Kernel perangkat lunak mode memiliki akses ke data sistem dan ke hardware.The tersisa perangkat lunak, berjalan dalam mode pengguna, telah membatasi akses ke data sistem. Sistem Operasi Organisasi Windows memiliki arsitektur yang sangat modular. Setiap fungsi sistem dikelola oleh hanya satu komponen dari OS. Sisa OS dan semua aplikasi mengakses fungsi melalui komponen yang bertanggung jawab menggunakan data standar interfaces.Key sistem hanya dapat diakses melalui yang sesuai fungsi. Pada prinsipnya, setiap modul dapat dihapus, upgrade, atau diganti tanpa menulis ulang seluruh sistem atau standar aplikasi program antarmuka (API). Kernel-mode komponen Windows adalah sebagai berikut: Eksekutif: Berisi dasar layanan OS, seperti manajemen memori, proses dan manajemen thread, keamanan, I / O, dan interprocess komunikasi. Kernel: Kontrol pelaksanaan prosesor (s). Kernel mengelola benang penjadwalan, proses switching, pengecualian dan mengganggu penanganan, dan multiprosesor sinkronisasi. Tidak seperti sisa Eksekutif dan tingkat pengguna, kode sendiri Kernel yang tidak berjalan di benang. Hardware lapisan abstraksi (HAL): Maps antara perintah perangkat keras generik dan tanggapan dan mereka yang unik untuk platform tertentu. Ini mengisolasi OS dari platform-spesifik perangkat keras differences.The HAL membuat setiap komputer sistem bus, memori akses langsung (DMA) controller, interrupt controller, sistem timer, dan modul memori terlihat sama dengan Eksekutif dan Kernel komponen. Hal ini juga memberikan dukungan yang diperlukan untuk multiprocessing simetris (SMP), menjelaskan kemudian. Device driver: perpustakaan Dinamis yang memperluas fungsionalitas dari Eksekutif. Ini termasuk driver perangkat keras yang menterjemahkan pengguna I / O fungsi panggilan ke perangkat hardware tertentu I / O permintaan dan komponen perangkat lunak untuk mengimplementasikan file sistem, protokol jaringan, dan setiap ekstensi sistem lainnya yang perlu dijalankan dalam mode kernel. Windowing dan sistem grafis: Mengimplementasikan antarmuka pengguna grafis (GUI) fungsi, seperti berhadapan dengan jendela, antarmuka pengguna kontrol, dan menggambar. Eksekutif Windows termasuk komponen untuk fungsi sistem spesifik dan menyediakan sebuah API untuk user-mode perangkat lunak. Berikut ini adalah deskripsi singkat dari masing-masing dari modul Eksekutif: I / O manager: Menyediakan kerangka kerja yang melalui I / O device dapat diakses untuk aplikasi, dan bertanggung jawab untuk pengiriman ke driver perangkat yang sesuai untuk diproses lebih lanjut. Manajer I / O menerapkan semua Windows I / O API dan keamanan menegakkan dan penamaan untuk perangkat, protokol jaringan, dan file sistem (menggunakan manajer objek). Windows saya / O dibahas dalam Bab 11. M02_STAL6329_06_SE_C02.QXD 2/22/08 7:02 Page 84 2,5 / MICROSOFT WINDOWS TINJAUAN 85 Cache manager: Meningkatkan kinerja file berbasis I / O dengan menyebabkan baru-baru ini file data direferensikan berada dalam memori utama untuk akses cepat, dan dengan menunda disk menulis dengan memegang pembaruan dalam memori untuk waktu yang singkat sebelum

mengirimkan mereka ke disk. Object manager: Membuat, mengelola, dan menghapus objek Windows Eksekutif dan tipe data abstrak yang digunakan untuk mewakili sumber daya seperti proses, benang, dan objek sinkronisasi. Ini memberlakukan aturan seragam untuk penahan, penamaan, dan pengaturan keamanan objek. Manajer objek juga menciptakan objek menangani, yang terdiri dari informasi kontrol akses dan pointer ke objek object.Windows akan kita bicarakan nanti dalam bagian ini. Plug-and-play Manajer: Menentukan driver yang diperlukan untuk mendukung tertentu dan beban perangkat mereka driver. Power manager: dan Koordinat manajemen daya di antara berbagai perangkat dapat dikonfigurasi untuk mengurangi konsumsi daya dengan mematikan perangkat idle, menempatkan prosesor tidur, dan bahkan menulis semua memori ke disk dan menutup aliran listrik ke seluruh sistem. Keamanan referensi monitor: memaksa akses-validasi dan audit generasi rules.The Windows berorientasi objek memungkinkan untuk model yang konsisten dan seragam melihat keamanan, sampai ke entitas mendasar yang membentuk Eksekutif. Dengan demikian, Windows menggunakan rutinitas yang sama untuk validasi akses dan untuk Audit memeriksa semua objek yang dilindungi, termasuk file, proses, ruang alamat, dan I / O devices.Windows keamanan dibahas dalam Bab 15. manajer memori virtual: Mengelola alamat virtual, memori fisik, dan file paging pada disk. Mengontrol perangkat keras manajemen memori dan data struktur yang peta alamat virtual dalam ruang alamat proses untuk fisik halaman dalam komputer manajemen memori virtual adalah memory.Windows dijelaskan dalam Bab 8. Proses / thread manager: Membuat, mengelola, dan menghapus proses dan benang objects.Windows proses dan manajemen thread dijelaskan dalam Bab 4. Konfigurasi manajer: Bertanggung jawab untuk melaksanakan dan mengelola sistem registri, yang repositori untuk kedua sistem lebar dan per-user setting berbagai parameter. prosedur panggilan lokal (LPC) fasilitas: Implements yang efisien lintas-proses prosedur panggilan mekanisme komunikasi antara proses daerah yang melaksanakan layanan dan subsistem. Serupa dengan remote procedure call (RPC) fasilitas yang digunakan untuk pengolahan terdistribusi. Pengguna Mode Proses Empat jenis dasar user-mode proses yang didukung oleh Windows: proses sistem khusus: layanan modus Pengguna yang dibutuhkan untuk mengelola sistem, seperti manajer sesi, subsistem otentikasi, manajer layanan, dan proses logon Layanan proses: The spooler printer, logger acara, pengguna modus komponen yang bekerja sama dengan perangkat driver, berbagai layanan jaringan, dan banyak, banyak orang lain. Layanan yang digunakan oleh Microsoft dan pengembang perangkat lunak eksternal untuk M02_STAL6329_06_SE_C02.QXD 2/22/08 7:02 Page 85 86 BAB 2 / TINJAUAN SISTEM OPERASI memperluas fungsi sistem karena mereka adalah satu-satunya cara untuk menjalankan latar belakang pengguna

Modus kegiatan pada sistem Windows. Subsistem Lingkungan: Sediakan kepribadian yang berbeda OS (lingkungan). Subsistem yang didukung adalah Win32/WinFX dan POSIX. Lingkungan masing-masing subsistem termasuk proses subsistem dibagi di antara semua aplikasi yang menggunakan subsistem dan perpustakaan link dinamis (DLL) yang mengkonversi aplikasi pengguna panggilan ke panggilan LPC pada proses subsistem, dan / atau Windows asli panggilan. Pengguna aplikasi: executables (uang) dan DLL yang menyediakan fungsi pengguna menjalankan untuk menggunakan sistem. Ongkos dan DLL umumnya ditargetkan pada subsistem lingkungan tertentu, meskipun beberapa program yang disediakan sebagai bagian dari OS menggunakan antarmuka sistem asli (NTAPI). Ada juga dukungan untuk menjalankan 16-bit program yang ditulis untuk Windows 3.1 atau MS-DOS. Windows disusun untuk mendukung aplikasi yang ditulis untuk OS kepribadian ganda. Windows menyediakan dukungan ini menggunakan seperangkat komponen mode kernel yang mendasari subsistem lingkungan yang dilindungi. Pelaksanaan setiap subsistem termasuk proses terpisah, yang berisi struktur data bersama, hak istimewa, dan objek Eksekutif menangani dibutuhkan untuk menerapkan tertentu kepribadian. Proses ini dimulai oleh Session Manager Windows ketika pertama aplikasi dari tipe tersebut dimulai. Proses subsistem berjalan sebagai pengguna sistem, sehingga Eksekutif akan melindungi ruang alamat dari proses yang dijalankan oleh pengguna biasa. Sebuah subsistem dilindungi menyediakan antarmuka pengguna grafis atau baris perintah yang mendefinisikan tampilan dan nuansa OS untuk pengguna. Selain itu, setiap subsistem dilindungi menyediakan API untuk itu environment.This operasi tertentu berarti bahwa aplikasi diciptakan untuk lingkungan operasi tertentu dapat berjalan tidak berubah pada Windows, karena interface OS yang mereka lihat adalah sama dengan yang mereka ditulis. Subsistem yang paling penting adalah Win32. Win32 API diimplementasikan pada Windows NT dan Windows 95 dan kemudian melepaskan dari Windows 9x. Banyak Win32 aplikasi yang ditulis untuk garis Windows 9x sistem operasi berjalan pada sistem NT tidak berubah. Pada peluncuran Windows XP, Microsoft berfokus pada peningkatan kompatibilitas dengan Windows 9x sehingga cukup aplikasi (dan driver perangkat) akan lari bahwa mereka bisa berhenti setiap dukungan lebih lanjut untuk 9x dan fokus pada NT. API pemrograman yang paling terakhir untuk Windows WinFX, yang didasarkan pada Microsoft itu. Model pemrograman BERSIH. WinFX diimplementasikan pada Windows sebagai lapisan di atas Win32 dan bukan sebagai subsistem berbeda jenis Client / Server Model Windows layanan sistem operasi, subsistem yang dilindungi, dan aplikasi terstruktur dengan menggunakan model klien / server komputasi, yang merupakan umum model untuk komputasi terdistribusi dan yang dibahas dalam Bagian Enam. Ini arsitektur yang sama dapat diadopsi untuk penggunaan internal ke satu sistem, seperti halnya dengan Windows. PB asli API adalah seperangkat layanan berbasis kernel yang menyediakan abstraksi inti digunakan oleh sistem, seperti proses, benang, memori virtual, I / O, dan komunikasi. Windows menyediakan satu set jauh lebih kaya dari layanan dengan menggunakan klien / server memodelkan untuk melaksanakan fungsi di user-mode proses. Kedua lingkungan M02_STAL6329_06_SE_C02.QXD 2/22/08 7:02 Page 86 2,5 / MICROSOFT WINDOWS TINJAUAN 87

subsistem dan Windows user-mode layanan diimplementasikan sebagai proses yang berkomunikasi dengan klien melalui RPC. Setiap proses server menunggu permintaan dari klien untuk salah satu layanan (misalnya, memori, layanan proses penciptaan, atau jaringan layanan). Seorang klien, yang dapat menjadi sebuah program aplikasi atau server lain program, permintaan layanan dengan mengirimkan pesan message.The disalurkan melalui Eksekutif ke server server.The tepat melakukan operasi yang diminta dan mengembalikan hasil atau status informasi melalui pesan lain, yang diarahkan melalui bagian belakang Eksekutif ke klien. Keuntungan dari arsitektur client / server adalah sebagai berikut: Ini menyederhanakan Eksekutif. Hal ini dimungkinkan untuk membangun berbagai API diimplementasikan di user-mode server tanpa konflik atau duplikasi di Eksekutif. API baru dapat ditambahkan dengan mudah. Ini meningkatkan kehandalan. Setiap server baru berjalan di luar kernel, dengan sendiri partisi memori, dilindungi dari server lain. Sebuah server tunggal dapat gagal tanpa menabrak atau merusak sisa dari OS. Menyediakan sarana seragam untuk aplikasi untuk berkomunikasi dengan layanan melalui RPC tanpa membatasi fleksibilitas. Proses pesan-melewati tersembunyi dari aplikasi klien oleh bertopik fungsi, yang adalah bagian kecil dari kode yang membungkus aplikasi RPC call.When sebuah membuat panggilan API untuk lingkungan subsistem atau layanan, rintisan di aplikasi klien membungkus yang parameter untuk panggilan dan mengirimkannya sebagai pesan ke subsistem server yang mengimplementasikan panggilan. Menyediakan dasar yang cocok untuk didistribusikan computing.Typically, komputasi terdistribusi yang menggunakan model client / server, dengan prosedur remote panggilan dilaksanakan menggunakan klien didistribusikan dan modul server dan pertukaran pesan antara klien dan servers.With Windows, server lokal bisa mengirimkan pesan ke server jauh untuk memproses atas nama aplikasi klien lokal. Klien tidak perlu tahu apakah permintaan dilayani secara lokal atau jarak jauh. Memang, apakah permintaan dilayani secara lokal atau jarak jauh dapat berubah secara dinamis berdasarkan kondisi beban saat ini dan pada perubahan konfigurasi dinamis. Threads dan SMP Dua karakteristik penting Windows adalah dukungan untuk benang dan simetris untuk multiprocessing (SMP), yang keduanya diperkenalkan dalam Bagian 2.4. [RUSS05] daftar fitur berikut Windows yang mendukung benang dan SMP: OS rutinitas dapat berjalan pada prosesor yang tersedia, dan rutinitas yang berbeda dapat mengeksekusi secara bersamaan pada prosesor yang berbeda. Windows mendukung penggunaan beberapa thread eksekusi di dalam satu proses. Beberapa thread dalam proses yang sama dapat dijalankan pada berbagai prosesor secara bersamaan. proses Server dapat menggunakan beberapa benang untuk memproses permintaan dari lebih dari satu klien secara bersamaan. Windows menyediakan mekanisme untuk berbagi data dan sumber daya antara proses

dan fleksibel interprocess kemampuan komunikasi. M02_STAL6329_06_SE_C02.QXD 2/22/08 7:02 Page 87 88 BAB 2 / TINJAUAN SISTEM OPERASI Jendela Objects Jendela sangat menarik pada konsep pendekatan berorientasi obyek design.This memfasilitasi berbagi sumber daya dan data antara proses dan perlindungan sumber daya dari access.Among tidak sah berorientasi objek konsep kunci yang digunakan oleh Windows adalah sebagai berikut: Encapsulation: Sebuah benda terdiri dari satu atau lebih item dari data, yang disebut atribut, dan satu atau lebih prosedur yang dapat dilakukan pada data tersebut, yang disebut satunya cara services.The untuk mengakses data dalam suatu objek adalah dengan menerapkan salah satu objek layanan. Dengan demikian, data dalam objek mudah dapat dilindungi dari penggunaan yang tidak sah dan dari penggunaan yang salah (misalnya, mencoba untuk melaksanakan nonexecutable bagian dari data). Object class dan instance: Sebuah objek kelas adalah template yang daftar atribut dan layanan dari sebuah objek dan mendefinisikan objek tertentu characteristics.The OS dapat membuat contoh spesifik dari suatu kelas objek yang diperlukan. Misalnya, ada proses tunggal objek kelas dan satu objek untuk setiap proses yang sedang aktif pendekatan process.This menyederhanakan objek penciptaan dan manajemen. Warisan: Meskipun pelaksanaan adalah kode tangan, Eksekutif menggunakan warisan untuk memperpanjang kelas obyek dengan menambahkan fitur baru. Setiap Eksekutif kelas didasarkan pada basis kelas yang menentukan metode virtual yang mendukung membuat, penamaan, mengamankan, dan menghapus objek. Dispatcher adalah objek Eksekutif objek yang mewarisi properti dari sebuah objek acara, sehingga mereka dapat menggunakan umum sinkronisasi metode. Lain objek tipe tertentu, seperti kelas perangkat, memungkinkan kelas untuk perangkat khusus untuk mewarisi dari kelas dasar, dan menambahkan tambahan data dan metode. Polimorfisme: Secara internal, Windows menggunakan set umum fungsi API untuk memanipulasi objek dari jenis apa pun, ini adalah fitur polymorphism, sebagaimana ditetapkan dalam Lampiran B. Namun, Windows tidak sepenuhnya polymorphic karena ada adalah banyak API yang khusus untuk jenis objek tertentu. Pembaca yang tidak terbiasa dengan konsep berorientasi obyek harus meninjau Lampiran B di akhir buku ini. Tidak semua entitas pada Windows adalah objects.Objects digunakan dalam kasus di mana data dimaksudkan untuk akses user mode atau ketika akses data dibagi atau restricted.Among yang entitas diwakili oleh objek file, proses, benang, Semaphore, timer, dan windows.Windows menciptakan dan mengelola semua jenis benda dengan cara yang seragam, melalui objek manajer objek manager.The bertanggung jawab untuk menciptakan dan menghancurkan benda-benda atas nama aplikasi dan untuk memberikan akses ke layanan obyek dan data.

Setiap objek dalam Eksekutif, kadang-kadang disebut sebagai objek kernel (untuk membedakan dari level user objek tidak menjadi perhatian Eksekutif), ada sebagai memori memblokir dialokasikan oleh kernel dan secara langsung dapat diakses hanya dengan komponen mode kernel. Beberapa elemen dari struktur data (misalnya, nama objek, parameter keamanan, penggunaan count) yang umum untuk semua jenis objek, sedangkan unsur-unsur lain yang khusus untuk Jenis objek tertentu (misalnya, prioritas objek thread). Karena data objek struktur berada dalam bagian dari ruang alamat setiap proses yang hanya dapat diakses oleh kernel, tidak mungkin untuk suatu aplikasi untuk referensi struktur data dan membaca atau menulis mereka secara langsung. Sebaliknya, aplikasi memanipulasi objek secara tidak langsung melalui mengatur fungsi manipulasi objek didukung oleh Executive.When obyek adalah M02_STAL6329_06_SE_C02.QXD 2/28/08 3:35 Page 88 2,5 / MICROSOFT WINDOWS TINJAUAN 89 dibuat, aplikasi yang diminta penciptaan menerima kembali pegangan untuk objek. Pada dasarnya pegangan adalah indeks ke tabel Eksekutif yang mengandung pointer ke obyek yang dirujuk. Pegangan ini kemudian dapat digunakan oleh setiap thread dalam yang sama proses untuk memanggil fungsi Win32 yang bekerja dengan objek, atau dapat digandakan ke lain proses. Objek mungkin memiliki informasi keamanan yang terkait dengan mereka, dalam bentuk Keamanan Descriptor (SD). Informasi keamanan dapat digunakan untuk membatasi akses ke objek berdasarkan isi dari objek tanda yang menggambarkan pengguna tertentu. Untuk Misalnya, proses yang mungkin membuat objek semafor bernama dengan maksud bahwa hanya pengguna tertentu harus dapat membuka dan menggunakan semaphore itu. SD untuk semaphore objek bisa daftar para pengguna yang diizinkan (atau ditolak) akses ke semafor objek bersama dengan jenis akses yang diijinkan (membaca, menulis, mengubah, dll). Pada Windows, objek dapat memiliki nama atau unnamed.When proses menciptakan obyek yang tidak disebutkan namanya, manajer objek kembali pegangan ke objek tersebut, dan pegangan satu-satunya cara untuk merujuk ke sana. Objek Dinamakan juga diberi nama yang lain proses dapat digunakan untuk mendapatkan pegangan ke objek. Misalnya, jika proses Sebuah keinginan untuk melakukan sinkronisasi dengan proses B, bisa membuat objek acara bernama dan lulus nama acara untuk B. Proses B maka bisa membuka dan menggunakan objek acara. Namun, jika A hanya ingin menggunakan acara tersebut untuk menyinkronkan dua benang dalam dirinya sendiri, itu akan menciptakan objek acara yang tidak disebutkan namanya, karena tidak ada kebutuhan untuk proses lainnya untuk dapat menggunakan peristiwa itu. Ada dua kategori obyek yang digunakan oleh Windows untuk sinkronisasi penggunaan prosesor: Dispatcher objek: Bagian dari objek Eksekutif yang benang dapat menunggu untuk mengontrol pengiriman dan sinkronisasi benang berbasis operasi sistem. Hal ini dijelaskan dalam Bab 6.

Kontrol objek: Digunakan oleh Kernel komponen untuk mengelola pengoperasian prosesor di daerah yang tidak dikelola oleh penjadwalan benang normal. Tabel 2.5 daftar objek Kernel kontrol. Windows bukanlah full-blown berorientasi objek OS. Hal ini tidak diimplementasikan dalam bahasa berorientasi objek. Struktur data yang berada sepenuhnya dalam waktu satu Eksekutif komponen tidak terwakili sebagai obyek. Namun demikian, Windows menggambarkan kekuatan teknologi berorientasi objek dan merupakan tren meningkat terhadap penggunaan teknologi ini di desain OS. 2,6 TRADISIONAL UNIX SISTEM Sejarah Sejarah UNIX adalah sebuah kisah yang sering diceritakan dan tidak akan terulang secara detail di sini. Sebaliknya, kami memberikan ringkasan singkat. UNIX awalnya dikembangkan di Bell Labs dan menjadi operasional pada PDP-7 pada tahun 1970. Beberapa orang yang terlibat di Bell Labs juga berpartisipasi dalam berbagi waktu yang pekerjaan yang dilakukan di proyek MAC.That MIT Proyek menyebabkan pembangunan dari CTSS pertama dan kemudian Multics.Although itu adalah umum untuk mengatakan bahwa UNIX asli itu versi skala-down dari Multics, para pengembang UNIX sebenarnya diklaim lebih dipengaruhi oleh CTSS [RITC78]. Namun demikian, UNIX dimasukkan banyak ide dari Multics. Bekerja pada UNIX di Bell Labs, dan kemudian di tempat lain, menghasilkan serangkaian versi dari tonggak penting UNIX.The pertama porting sistem UNIX dari PDP-7 untuk PDP-11. Ini adalah petunjuk pertama bahwa UNIX akan menjadi sistem operasi untuk semua tonggak penting computers.The berikutnya adalah menulis ulang UNIX dalam pemrograman C.This bahasa adalah keterlaluan strategi pada saat itu. Itu umumnya merasa bahwa sesuatu yang kompleks seperti sistem operasi, yang harus berurusan dengan timecritical peristiwa, harus ditulis secara eksklusif dalam bahasa assembly. Alasan untuk ini sikap antara lain: Memori (baik RAM dan toko sekunder) itu kecil dan mahal dengan hari ini standar, sehingga penggunaan efektif itu important.This termasuk berbagai teknik untuk overlay memori dengan kode yang berbeda dan segmen data, dan memodifikasi diri kode. Meskipun compiler telah tersedia sejak 1950-an, industri komputer secara umum skeptis terhadap kualitas kode otomatis. Dengan kapasitas sumber daya kode, kecil efisien, baik dalam hal waktu dan ruang, sangat penting. Prosesor dan bus kecepatan relatif lambat, sehingga menghemat siklus clock bisa membuat perbedaan besar dalam waktu eksekusi. Pelaksanaan C menunjukkan keuntungan menggunakan bahasa tingkat tinggi untuk kebanyakan jika tidak semua code.Today sistem, hampir semua implementasi UNIX ditulis dalam C. Ini versi awal dari UNIX yang populer dalam Bell Labs. Pada tahun 1974,

UNIX sistem digambarkan dalam jurnal teknis untuk pertama kalinya [RITC74]. Ini memacu minat yang besar dalam sistem. Lisensi untuk UNIX diberikan untuk komersial lembaga serta versi banyak tersedia universities.The pertama di luar Bell Labs adalah Versi 6, di 1976.The tindak pada Versi 7, dirilis pada tahun 1978, adalah leluhur M02_STAL6329_06_SE_C02.QXD 2/22/08 7:02 Page 90 2,6 / UNIX SISTEM TRADISIONAL 91 dari systems.The UNIX paling modern yang paling penting dari non-AT & T sistem menjadi dikembangkan dilakukan di University of California di Berkeley, yang disebut UNIX BSD (Berkeley Software Distribution), menjalankan pertama pada PDP dan kemudian komputer VAX. AT & T terus mengembangkan dan menyempurnakan system.By 1982, Bell Labs telah dikombinasikan beberapa AT & T varian dari UNIX ke dalam sistem tunggal, dipasarkan secara komersial sebagai UNIX Sistem III.A sejumlah fitur ini kemudian ditambahkan ke sistem operasi untuk menghasilkan Sistem UNIX V. Deskripsi Gambar 2.14 memberikan gambaran umum dari klasik UNIX architecture.The mendasari hardware dikelilingi oleh OS software.The OS sering disebut sistem kernel, atau hanya kernel, untuk menekankan isolasi dari user dan aplikasi. Ini adalah kernel UNIX yang kita akan peduli dengan dalam penggunaan UNIX sebagai contoh dalam buku ini. UNIX juga dilengkapi dengan sejumlah pengguna jasa dan interface yang dianggap sebagai bagian dari sistem. Ini dapat dikelompokkan ke dalam kulit, perangkat lunak antarmuka lain, dan komponen dari kompiler C (Kompilator, assembler, loader) Lapisan luar ini terdiri. Aplikasi pengguna dan antarmuka pengguna untuk C compiler. Sebuah melihat lebih dekat pada kernel disediakan pada Gambar 2.15. Program-program dapat memanggil OS jasa baik secara langsung atau melalui sistem antarmuka panggilan perpustakaan programs.The adalah batas dengan pengguna dan memungkinkan tingkat yang lebih tinggi perangkat lunak untuk mendapatkan akses ke fungsi kernel tertentu. Di ujung lain, OS berisi rutin primitif yang berinteraksi langsung dengan perangkat keras. Antara kedua interface, sistem ini dibagi menjadi dua bagian utama, satu berkaitan dengan pengendalian proses dan yang lain yang bersangkutan dengan manajemen file dan I / O.The subsistem proses kontrol bertanggung jawab untuk manajemen memori, penjadwalan dan pengiriman proses, dan sinkronisasi dan interprocess komunikasi proses. Sistem file menukar data antara memori dan perangkat eksternal baik sebagai aliran karakter atau dalam blocks.To mencapai hal ini, berbagai driver perangkat yang digunakan. Untuk blok berorientasi transfer, pendekatan disk cache yang digunakan: penyangga sistem di memori utama yang sela antara ruang pengguna alamat dan perangkat eksternal. Uraian pada ayat ini telah menangani apa yang mungkin disebut tradisional Sistem UNIX; [VAHA96] menggunakan istilah ini untuk mengacu pada System V Release 3

(SVR3), 4.3BSD, dan sebelumnya versions.The menyusul pernyataan umum dapat dibuat tentang sebuah sistem UNIX tradisional. Hal ini dirancang untuk berjalan pada prosesor tunggal dan tidak memiliki kemampuan untuk melindungi struktur data dari akses bersamaan oleh beberapa prosesor. Kernel adalah tidak sangat fleksibel, mendukung satu jenis sistem file, penjadwalan proses kebijakan, dan file executable format.The tradisional UNIX kernel tidak dirancang untuk diperluas dan memiliki beberapa fasilitas untuk penggunaan kembali kode. Hasilnya adalah bahwa, sebagai fitur baru yang ditambahkan ke dalam berbagai versi UNIX, kode baru banyak yang harus ditambahkan, menghasilkan sebuah kernel kembung dan unmodular. 2,7 MODERN SISTEM UNIX Sebagai UNIX berevolusi, jumlah implementasi yang berbeda berkembang biak, masing-masing memberikan beberapa fitur yang berguna. Ada kebutuhan untuk menghasilkan implementasi baru bahwa banyak terpadu satu inovasi penting, tambah lainnya fitur modern OS desain, dan menghasilkan architecture.Typical lebih modular dari kernel UNIX yang modern adalah arsitektur digambarkan pada Gambar 2.16. Ada sebuah inti kecil fasilitas, ditulis secara modular, yang menyediakan fungsi dan layanan yang dibutuhkan dengan nomor proses OS. Setiap lingkaran luar merupakan fungsi dan interface yang dapat diimplementasikan dalam berbagai cara. Kita sekarang beralih ke beberapa contoh sistem UNIX modern. System V Release 4 (SVR4) SVR4, dikembangkan bersama oleh AT & T dan Sun Microsystems, menggabungkan fitur dari SVR3, 4.3BSD, Microsoft Xenix System V, dan SunOS. Saat itu hampir penulisan ulang jumlah dari kernel System V dan menghasilkan yang bersih, jika kompleks, implementasi. Fitur baru dalam rilis ini meliputi dukungan real-time pengolahan, kelas proses penjadwalan, dialokasikan secara dinamis struktur data, manajemen memori virtual, sistem berkas virtual, dan kernel preemptive. SVR4 mengacu pada upaya dari kedua desainer komersial dan akademis dan dikembangkan untuk menyediakan sebuah platform yang seragam untuk penyebaran UNIX komersial. Itu telah berhasil dalam tujuan ini dan mungkin merupakan varian UNIX yang paling penting. Itu menggabungkan sebagian besar fitur penting yang pernah dikembangkan pada setiap sistem UNIX dan melakukannya dengan cara, terintegrasi komersial. SVR4 berjalan pada prosesor mulai dari 32-bit mikroprosesor hingga superkomputer. BSD The Berkeley Software Distribution (BSD) seri rilis UNIX telah memainkan peran kunci dalam pengembangan teori desain OS. 4.xBSD banyak digunakan dalam akademik instalasi dan telah menjabat sebagai dasar dari sejumlah produk UNIX komersial. Hal ini mungkin aman untuk mengatakan bahwa BSD adalah bertanggung jawab untuk banyak popularitas UNIX dan bahwa hampir semua perangkat tambahan untuk UNIX pertama kali muncul dalam versi BSD. 4.4BSD adalah versi terakhir dari BSD akan dirilis oleh Berkeley, dengan desain

dan organisasi pelaksanaan kemudian dibubarkan. Ini adalah upgrade besar untuk 4.3BSD dan termasuk sistem memori virtual baru, perubahan dalam struktur kernel, dan daftar panjang fitur tambahan lainnya. Salah satu versi yang paling banyak digunakan dan terbaik didokumentasikan BSD FreeBSD. FreeBSD adalah populer untuk Internet berbasis server dan firewall dan digunakan dalam sejumlah sistem embedded. Versi terbaru dari sistem operasi Macintosh, Mac OS X, didasarkan pada FreeBSD 5.0 dan mikrokernel Mach 3.0. Solaris 10 Solaris adalah SVR4 berbasis UNIX Sun rilis, dengan versi terbaru menjadi 10. Solaris menyediakan semua fitur dari SVR4 ditambah sejumlah fitur yang lebih maju, seperti sebagai kernel, sepenuhnya preemptable multithreaded, dukungan penuh untuk SMP, dan objectoriented antarmuka untuk file sistem. Solaris adalah yang paling banyak digunakan dan paling sukses UNIX komersial implementasi. 2,8 LINUX Sejarah Linux dimulai sebagai UNIX varian untuk IBM PC (Intel 80386) arsitektur. Linus Torvalds, seorang mahasiswa Finlandia ilmu komputer, menulis version.Torvalds awal diposting versi awal Linux di Internet pada tahun 1991. Sejak itu, angka orang, bekerjasama melalui Internet, telah memberi kontribusi pada pengembangan Linux, semua di bawah kontrol Torvalds. Karena Linux adalah gratis dan kode sumber tersedia, menjadi alternatif dini untuk workstation UNIX, seperti yang ditawarkan oleh Sun Microsystems dan IBM.Today, Linux adalah fitur lengkap sistem UNIX yang berjalan pada semua platform dan banyak lagi, termasuk Intel Pentium dan Itanium, dan Motorola / IBM PowerPC. Kunci keberhasilan Linux telah ketersediaan paket perangkat lunak bebas di bawah naungan Free Software Foundation (FSF). Tujuan FSF stabil, platformindependen perangkat lunak yang bebas, kualitas tinggi, dan dianut oleh masyarakat pengguna. FSF GNU project2 menyediakan alat untuk pengembang perangkat lunak, dan GNU Public License (GPL) adalah meterai persetujuan FSF. Torvalds digunakan alat GNU dalam mengembangkan nya kernel, yang kemudian dirilis di bawah GPL.Thus, distribusi Linux yang Anda lihat hari ini adalah produk dari proyek GNU FSF, Torvald yang individu usaha, dan banyak kolaborator di seluruh dunia. Selain penggunaannya oleh banyak individu pemrogram, Linux kini telah dibuat penetrasi yang signifikan ke dalam world.This perusahaan tidak hanya karena bebas perangkat lunak, tetapi juga karena kualitas kernel Linux. Banyak programmer berbakat telah memberi kontribusi pada versi saat ini, sehingga secara teknis mengesankan produk. Selain itu, Linux adalah sangat modular dan mudah configured.This membuatnya Plus,

1. 2.

modul.

Tabel 2.6

dalam setiap kategori

selama bertahun-tahun. sistem operasi.

Tinjauan Pertanyaan

Masalah karakteristik.

a. b.

Its tujuan

Setiap frame Jika halaman

Urungkan pengeditan Baru! Klik kata di atas untuk melihat terjemahan alternatif. Tutup Google Terjemahan untuk Bisnis:Perangkat PenerjemahPenerjemah Situs WebPeluang Pasar Global Matikan terjemahan instanTentang Google TerjemahanSelulerPrivasiBantuanKirimkan masukan

You might also like