Monday 25 September 2017

Konsep Sistem Informasi


Sistem operasi adalah program yang mengelola perangkat keras komputer. hal ini juga memberikan dasar untuk program aplikasi dan bertindak sebagai perantara antara pengguna komputer dan perangkat keras komputer. Aspek menakjubkan dari sistem operasi adalah bagaimana bervariasi mereka dalam menyelesaikan tugas ini. sistem operasi mainframe dirancang terutama untuk mengoptimalkan pemanfaatan hardware. Personal computer (PC) sistem operasi mendukung permainan yang kompleks, aplikasi bisnis, dan segala sesuatu di antaranya. sistem operasi untuk komputer genggam yang dirancang untuk menyediakan lingkungan di mana pengguna dapat dengan mudah antarmuka dengan komputer untuk mengeksekusi program. Dengan demikian, beberapa sistem operasi dirancang untuk menjadi nyaman, orang lain untuk menjadi efisien, dan lain-lain beberapa kombinasi dari keduanya. Sebelum kita dapat menjelajahi rincian operasi sistem komputer, kita perlu tahu sesuatu tentang struktur sistem. Kita mulai dengan membahas fungsi dasar sistem startup, I / O, dan penyimpanan. Gambaran arsitektur komputer dasar yang memungkinkan untuk menulis sistem operasi fungsional. Karena sistem operasi besar dan kompleks, harus dibuat sepotong demi sepotong. Masing-masing potongan-potongan ini harus menjadi bagian yang digambarkan dari sistem, dengan input yang didefinisikan dengan hati-hati, output, dan fungsi. Dalam bab ini kita memberikan gambaran umum komponen utama dari sebuah sistem operasi.


melihat peran sistem operasi dalam sistem komputer secara keseluruhan. Sebuah sistem komputer dapat dibagi secara kasar menjadi empat komponen: perangkat keras, sistem operasi, program aplikasi, dan pengguna


Hardware-unit pengolahan pusat (CPU), memori, dan input / output (I / O) perangkat-menyediakan sumber daya dasar komputasi untuk sistem. Program-seperti aplikasi pengolah kata, spreadsheet, kompiler, dan web browser-menentukan cara di mana sumber daya ini digunakan untuk memecahkan masalah komputasi pengguna. Kontrol sistem operasi dan mengkoordinasikan penggunaan hardware diantara berbagai program aplikasi untuk berbagai pengguna. dari gambar tersebut juga bisa melihat sebuah sistem komputer sebagai terdiri dari perangkat keras, perangkat lunak, dan data. Sistem operasi menyediakan sarana untuk penggunaan yang tepat dari sumber daya ini dalam pengoperasian sistem komputer. Sebuah sistem operasi mirip dengan pemerintah. Seperti pemerintah, ia melakukan fungsi yang berguna dengan sendirinya. Ini hanya menyediakan lingkungan di mana program lain dapat melakukan pekerjaan yang bermanfaat. Untuk memahami lebih lengkap peran sistem operasi, selanjutnya mengeksplorasi sistem operasi dari dua sudut pandang: dari pengguna dan sistem.
Tampilan pengguna
Pemandangan pengguna komputer bervariasi sesuai dengan antarmuka yang digunakan. Sebagian besar pengguna komputer duduk di depan PC, yang terdiri dari monitor, keyboard, mouse, dan unit sistem. Sistem seperti ini dirancang untuk satu user untuk memonopoli sumber daya. Tujuannya adalah untuk memaksimalkan pekerjaan (atau bermain) bahwa pengguna melakukan. Dalam hal ini, sistem operasi dirancang sebagian besar untuk kemudahan penggunaan, dengan beberapa perhatian dibayar untuk kinerja dan tidak dibayar untuk pemanfaatan sumber daya-bagaimana berbagai sumber daya perangkat keras dan perangkat lunak dibagi. Kinerja, tentu saja, penting untuk pengguna; tapi daripada pemanfaatan sumber daya, sistem seperti yang dioptimalkan untuk pengalaman pengguna tunggal.


Dalam kasus lain, pengguna duduk di sebuah terminal terhubung ke mainframe atau komputer mini. pengguna lain mengakses komputer yang sama melalui terminal lainnya. para pengguna berbagi sumber daya dan dapat bertukar informasi. Sistem operasi dalam kasus tersebut dirancang untuk memaksimalkan utilization- sumber daya untuk memastikan bahwa semua tersedia waktu CPU, memori, dan I / O yang digunakan secara efisien dan bahwa tidak ada pengguna individu mengambil lebih dari adil nya. Dalam kasus masih lainnya, pengguna duduk di workstation terhubung ke jaringan workstation lain dan server. Pengguna ini telah mendedikasikan sumber yang mereka miliki, tetapi mereka juga berbagi sumber daya seperti jaringan dan server file, menghitung, dan server cetak. Oleh karena itu, sistem operasi mereka dirancang untuk kompromi antara kegunaan individu dan pemanfaatan sumber daya. Baru-baru ini, banyak jenis komputer genggam telah datang ke fashion. Sebagian besar perangkat ini adalah unit mandiri untuk pengguna individu. Beberapa yang terhubung ke jaringan, baik secara langsung oleh kawat atau (lebih sering) melalui modem nirkabel dan jaringan. Karena kekuatan, kecepatan, dan keterbatasan antarmuka, mereka melakukan relatif sedikit operasi jauh. sistem operasi mereka dirancang sebagian besar untuk kegunaan individu, tetapi kinerja per jumlah baterai adalah penting juga. Beberapa komputer memiliki sedikit atau tidak ada pandangan pengguna. Misalnya, komputer tertanam dalam perangkat rumah dan mobil mungkin memiliki keypad
1.Tampilan sistem Dari titik pandang komputer, sistem operasi adalah program yang paling erat terlibat dengan perangkat keras. Dalam konteks ini, kita bisa melihat sebuah sistem operasi sebagai pengalokasi sumber daya. Sebuah sistem komputer memiliki banyak sumber daya yang mungkin diperlukan untuk memecahkan masalah: CPU time, ruang memori, ruang penyimpanan file, perangkat I / O, dan sebagainya. Sistem operasi bertindak sebagai manajer sumber daya ini. Menghadapi banyak dan mungkin bertentangan permintaan untuk sumber daya, sistem operasi harus memutuskan bagaimana mengalokasikan mereka untuk program dan pengguna tertentu sehingga dapat mengoperasikan sistem komputer secara efisien dan adil. Sebagaimana telah kita lihat, alokasi sumber daya sangat penting di mana banyak pengguna mengakses mainframe yang sama atau komputer mini. Sebuah pandangan yang sedikit berbeda dari sistem operasi menekankan kebutuhan untuk mengontrol I / O perangkat dan program pengguna berbagai. Sebuah sistem operasi adalah program kontrol. Sebuah program pengendalian mengelola pelaksanaan program pengguna untuk mencegah kesalahan dan penyalahgunaan komputer. Hal ini terutama berkaitan dengan operasi dan kontrol dari I / O perangkat.
2.Mendefinisikan Sistem Operasi
Kami telah melihat peran sistem operasi dari pandangan pengguna dan sistem. Bagaimana, meskipun, dapat kita mendefinisikan apa sistem operasi ini? Secara umum, kita tidak memiliki definisi benar-benar memadai dari sistem operasi. Sistem operasi ada karena mereka menawarkan cara yang masuk akal untuk memecahkan masalah menciptakan sebuah sistem komputasi yang dapat digunakan. Tujuan dasar sistem komputer adalah untuk melaksanakan program-program pengguna dan membuat pemecahan masalah pengguna lebih mudah. Menuju tujuan ini, hardware komputer dibangun. Sejak hardware telanjang sendirian tidak terlalu mudah digunakan, program aplikasi yang dikembangkan. Program-program ini memerlukan operasi umum tertentu, seperti yang mengontrol perangkat I / O. Fungsi umum mengendalikan dan mengalokasikan sumber daya yang kemudian dibawa bersama menjadi satu bagian dari perangkat lunak: sistem operasi. Selain itu, kita tidak memiliki definisi yang diterima secara universal apa yang merupakan bagian dari sistem operasi. Sebuah sudut pandang yang sederhana adalah bahwa hal itu mencakup segala sesuatu vendor kapal ketika Anda memesan "sistem operasi." Fitur yang disertakan, bagaimanapun, sangat bervariasi di seluruh sistem. Beberapa sistem mengambil kurang dari 1 megabyte ruang dan kekurangan bahkan editor layar penuh, sedangkan yang lain memerlukan gigabyte ruang dan seluruhnya didasarkan pada sistem windowing grafis. (A kilobyte, atau KB, adalah 1.024 byte, megabyte, atau MB, adalah l, 0242 bytes, dan gigabyte, atau GB, adalah l, 0243 bytes produsen komputer sering membulatkan angka-angka ini dan mengatakan bahwa megabyte adalah 1. juta byte dan gigabyte adalah 1 miliar byte.) definisi yang lebih umum adalah bahwa sistem operasi adalah satu program yang berjalan setiap saat pada komputer (biasanya disebut kernel), dengan semua program sistem yang lain menjadi dan program aplikasi. Definisi terakhir ini adalah salah satu yang umumnya kita ikuti. Soal apa yang merupakan sistem operasi telah menjadi semakin penting. Pada tahun 1998, Amerika Serikat Departemen Kehakiman mengajukan gugatan terhadap Microsoft, pada dasarnya mengklaim bahwa Microsoft termasuk terlalu banyak fungsi di sistem operasi dan dengan demikian mencegah vendor aplikasi dari bersaing. Misalnya, web browser adalah bagian integral dari sistem operasi. Akibatnya, Microsoft dinyatakan bersalah menggunakan sistem monopoli operasi untuk membatasi persaingan.

Komputer-Sistem Organisasi
Sebelum kita dapat menjelajahi rincian tentang bagaimana sistem komputer beroperasi, kita perlu pengetahuan umum tentang struktur sistem komputer. Pada bagian ini, kita melihat beberapa bagian dari struktur ini untuk melengkapi pengetahuan latar belakang kita. Bagian ini sebagian besar berkaitan dengan organisasi komputer-sistem, sehingga Anda dapat skim atau lewatkan saja jika Anda sudah memahami konsep-konsep



Komputer-Sistem OperasiSebuah sistem komputer tujuan umum modern terdiri dari satu atau lebih CPU dan sejumlah pengendali perangkat terhubung melalui bus umum yang menyediakan akses ke memori bersama (Gambar 1.2). Setiap device controller bertugas jenis tertentu perangkat (misalnya, disk drive, perangkat audio, dan menampilkan video). CPU dan pengendali perangkat dapat mengeksekusi secara bersamaan, bersaing untuk siklus memori. Untuk menjamin akses teratur ke memori bersama, kontroler memori yang tersedia yang fungsinya untuk sinkronisasi akses ke memori. Untuk komputer untuk mulai berjalan-misalnya, ketika dinyalakan atau reboot-itu harus memiliki program awal untuk menjalankan. Program ini awal, atau program bootstrap, cenderung sederhana. Biasanya, akan disimpan dalam read-only memory (ROM) atau elektrik bisa dihapus programmable read-only memory (EEPROM), yang dikenal dengan firmware istilah umum, dalam perangkat keras komputer. Ini menginisialisasi semua aspek dari sistem, dari CPU register ke perangkat controller untuk isi memori. Program bootstrap harus tahu bagaimana untuk memuat sistem operasi dan untuk mulai menjalankan sistem itu. Untuk mencapai tujuan ini, program bootstrap harus mencari dan memuat ke dalam memori kernel operatingsystem. Sistem operasi kemudian mulai melaksanakan proses pertama, seperti "init," dan menunggu beberapa peristiwa terjadi. Terjadinya suatu peristiwa biasanya ditandai dengan interupsi baik dari perangkat keras atau perangkat lunak. Hardware dapat memicu interupsi setiap saat dengan mengirimkan sinyal ke CPU, biasanya dengan cara sistem bus. Software dapat memicu interupsi dengan mengeksekusi operasi khusus yang disebut system call (juga disebut monitor panggilan). Ketika CPU terganggu, berhenti apa yang dilakukannya dan segera mentransfer eksekusi ke lokasi tetap. Lokasi tetap biasanya berisi alamat awal di mana layanan rutin interupsi tersebut berada. Interupsi layanan mengeksekusi rutin; pada saat penyelesaian, CPU resume perhitungan terganggu. Sebuah garis waktu dari operasi ini ditunjukkan pada Gambar 1.3. Interupsi merupakan bagian penting dari arsitektur komputer. Setiap desain komputer memiliki mekanisme interrupt sendiri, tetapi beberapa fungsi yang umum. interrupt harus mentransfer kontrol ke rutin layanan interupsi yang sesuai

itu langsung metode untuk menangani transfer ini akan memanggil rutin generik untuk memeriksa informasi interrupt; rutin, pada gilirannya, akan memanggil interrupt handler spesifik. Namun, interupsi harus ditangani dengan cepat. Karena hanya sejumlah yang telah ditetapkan interupsi adalah mungkin, tabel pointer untuk mengganggu rutinitas dapat digunakan sebagai pengganti untuk memberikan kecepatan yang diperlukan. The rutin interupsi disebut secara tidak langsung melalui meja, tanpa rutinitas menengah diperlukan. Umumnya, tabel pointer disimpan dalam memori rendah (100 pertama atau lebih lokasi). Lokasi ini terus alamat interrupt service routine untuk berbagai perangkat. array ini, atau mengganggu vektor, alamat kemudian diindeks oleh sejumlah perangkat unik, diberikan dengan permintaan interupsi, untuk menyediakan alamat rutin layanan interupsi untuk perangkat menyela. sistem operasi yang berbeda seperti Windows dan UNIX interupsi pengiriman dengan cara ini. Interrupt arsitektur juga harus menyimpan alamat instruksi terputus. Banyak desain lama hanya menyimpan alamat interrupt di lokasi tetap atau di lokasi yang diindeks dengan jumlah perangkat. arsitektur yang lebih baru menyimpan alamat pengirim pada sistem stack. Jika kebutuhan rutin interupsi untuk mengubah prosesor contoh negara-untuk, dengan memodifikasi daftar nilai-itu harus secara eksplisit menyelamatkan negara saat ini dan kemudian mengembalikan negara itu sebelum kembali. Setelah interupsi dilayani, alamat pengirim yang disimpan dimuat ke dalam program counter, dan perhitungan terganggu resume seolah-olah mengganggu tidak

Struktur penyimpananProgram komputer harus berada di memori utama (juga disebut random-access memory atau RAM) untuk dieksekusi. memori utama adalah satu-satunya tempat penyimpanan yang besar (jutaan hingga miliaran byte) yang prosesor dapat mengakses langsung. Ini biasanya diimplementasikan dalam teknologi semikonduktor yang disebut dynamic random-access memory (DRAM), yang membentuk array kata memori. Setiap kata memiliki alamat sendiri. Interaksi dicapai melalui urutan beban atau menyimpan instruksi ke alamat memori tertentu. Instruksi beban bergerak kata dari memori utama untuk mendaftar internal dalam CPU, sedangkan instruksi toko bergerak isi register ke memori utama. Selain beban eksplisit dan toko, CPU secara otomatis memuat instruksi dari memori utama untuk eksekusi. Sebuah siklus instruksi-eksekusi khas, seperti dijalankan pada sistem dengan arsitektur von Neumann, pertama mengambil instruksi dari memori dan toko yang instruksi di register instruksi. instruksi tersebut kemudian diterjemahkan dan dapat menyebabkan operan akan diambil dari memori dan disimpan di beberapa daftar internal. Setelah instruksi pada operan telah dieksekusi, hasilnya dapat disimpan kembali memori. Perhatikan bahwa unit memori hanya melihat aliran alamat memori; tidak tahu bagaimana mereka dihasilkan (oleh counter instruksi, pengindeksan, tipuan, alamat literal, atau cara lain) atau apa yang mereka adalah untuk (instruksi atau data). Dengan demikian, kita dapat mengabaikan alamat memori yang dihasilkan oleh program. Kita hanya tertarik pada urutan alamat memori yang dihasilkan oleh program berjalan. Idealnya, kami ingin program dan data untuk berada di memori utama secara permanen. Pengaturan ini biasanya tidak mungkin untuk dua alasan berikut:
1. Memori utama biasanya terlalu kecil untuk menyimpan semua program yang dibutuhkan dan data secara permanen.

2. Memori utama adalah perangkat penyimpanan yang mudah menguap yang kehilangan isinya ketika power dimatikan atau hilang.


Dengan demikian, sebagian besar sistem komputer menyediakan penyimpanan sekunder sebagai perpanjangan dari memori utama. Syarat utama untuk penyimpanan sekunder adalah bahwa hal itu dapat menahan sejumlah besar data secara permanen. Perangkat sekunder penyimpanan yang paling umum adalah disk magnetik, yang menyediakan penyimpanan untuk kedua program dan data. Kebanyakan program (web browser, kompiler, pengolah kata, spreadsheet, dan sebagainya) disimpan pada disk sampai mereka dimuat ke memori. Banyak program kemudian menggunakan disk baik sebagai sumber dan tujuan dari informasi untuk pengolahan mereka. Oleh karena itu, manajemen yang tepat penyimpanan disk adalah sangat penting untuk sistem komputer, seperti yang kita bahas dalam Bab 12. Dalam arti yang lebih besar, bagaimanapun, struktur penyimpanan yang kita telah described- terdiri dari register, memori utama, dan disks- magnetik hanya salah satu dari banyak sistem penyimpanan mungkin. Lainnya termasuk memori cache, CD-ROM, tape magnetik, dan sebagainya. Setiap sistem penyimpanan memberikan fungsi dasar menyimpan datum dan memegang datum yang sampai diambil di lain waktu. Perbedaan utama antara berbagai sistem penyimpanan terletak pada kecepatan, biaya, ukuran, dan volatilitas
umumnya menurun, sedangkan waktu akses umumnya meningkat. Ini trade-off adalah wajar; jika sistem penyimpanan yang diberikan berdua lebih cepat dan lebih murah dari yang lain-lain sifat yang sama-maka tidak akan ada alasan untuk menggunakan lebih lambat, memori lebih mahal. Bahkan, banyak perangkat penyimpanan awal, termasuk pita kertas dan kenangan inti, diturunkan ke museum sekarang bahwa pita magnetik dan memori semikonduktor telah menjadi lebih cepat dan lebih murah. Atas empat tingkat memori pada Gambar 1.4 dapat dibangun menggunakan memori semikonduktor. Selain berbeda dalam kecepatan dan biaya, berbagai sistem penyimpanan yang baik volatile atau mudah menguap. Seperti disebutkan sebelumnya, volatile penyimpanan kehilangan isinya ketika daya ke perangkat dihapus. Dengan tidak adanya sistem baterai dan generator cadangan mahal, data harus ditulis ke penyimpanan nonvolatile untuk diamankan. Dalam hirarki yang ditunjukkan pada Gambar 1.4, sistem penyimpanan di atas disk elektronik yang tidak stabil, sedangkan orang-orang di bawah ini adalah nonvolatile. Disk elektronik dapat dirancang untuk menjadi baik volatile atau mudah menguap. Selama operasi normal, elektronik toko data disk dalam array DRAM besar, yang volatile. Tapi banyak perangkat elektronik-disk berisi hard disk magnetik tersembunyi dan baterai untuk daya cadangan. Jika daya eksternal terganggu, elektronik-disk controller salinan data dari RAM ke disk magnetik. Ketika daya eksternal dipulihkan, salinan pengontrol data kembali ke RAM. Bentuk lain disk elektronik memori flash, yang populer di kamera dan
I / O Struktur
Storage hanya salah satu dari banyak jenis I / O device dalam komputer. Sebagian besar kode sistem operasi didedikasikan untuk mengelola I / O, baik karena pentingnya untuk keandalan dan kinerja sistem dan karena sifat berbagai perangkat. Oleh karena itu, kita sekarang memberikan gambaran dari I / O. Sebuah sistem komputer tujuan umum terdiri dari CPU dan perangkat beberapa controller yang terhubung melalui sebuah bus umum. Setiap device controller bertugas jenis tertentu perangkat. Tergantung pada controller, mungkin ada lebih dari satu perangkat yang terpasang. Misalnya, tujuh atau lebih perangkat dapat dilampirkan ke kecil antarmuka komputer-sistem (SCSI) kontroler. Sebuah controller perangkat mempertahankan beberapa penyimpanan buffer lokal dan satu set register tujuan khusus. Perangkat controller bertanggung jawab untuk memindahkan data antara perangkat periferal yang mengontrol dan penyimpanan penyangga lokal. Biasanya, sistem operasi memiliki device driver untuk setiap controller perangkat. Alat ini driver mengerti controller perangkat dan menyajikan antarmuka seragam ke perangkat ke seluruh sistem operasi. Untuk memulai operasi I / O, driver perangkat load register yang sesuai dalam kontroler perangkat. Perangkat controller, pada gilirannya, memeriksa isi register ini untuk menentukan tindakan apa untuk mengambil (seperti "membaca karakter dari keyboard") - Controller dimulai transfer data dari perangkat ke penyangga lokal. Setelah transfer data selesai, perangkat controller memberitahu driver perangkat melalui interupsi yang telah selesai operasinya. Driver perangkat kemudian kembali kontrol untuk sistem operasi, mungkin mengembalikan data atau pointer ke data jika operasi itu membaca. Untuk operasi lainnya, driver perangkat mengembalikan informasi status. Bentuk interrupt-driven I / O baik-baik saja untuk memindahkan data dalam jumlah kecil tetapi dapat menghasilkan overhead yang tinggi ketika digunakan untuk gerakan data massal seperti disk I / O. Untuk mengatasi masalah ini, langsung akses memori (DMA) digunakan. Setelah menyiapkan buffer, pointer, dan counter untuk perangkat I / O, perangkat pengendali transfer seluruh blok data langsung ke atau dari penyimpanan buffer sendiri untuk memori, tanpa intervensi CPU. Hanya satu interrupt dihasilkan per blok, untuk memberitahu driver perangkat bahwa operasi telah selesai, daripada satu interrupt per byte yang dihasilkan untuk perangkat kecepatan rendah. Sementara perangkat controller melakukan operasi ini, CPU tersedia untuk menyelesaikan pekerjaan lainnya. Beberapa sistem high-end menggunakan switch daripada arsitektur bus. Pada sistem ini, beberapa komponen

Arsitektur sistem komputer
Dalam Bagian 1.2 kita memperkenalkan struktur umum dari sebuah sistem komputer yang khas. Sebuah sistem komputer dapat diatur dalam sejumlah cara yang berbeda, yang kita dapat mengkategorikan kasar sesuai dengan jumlah prosesor untuk tujuan umum digunakan.


tunggal Processor Sistem
Kebanyakan sistem ragum prosesor tunggal. Berbagai sistem prosesor tunggal mungkin mengejutkan, namun, karena sistem ini berkisar dari PDA melalui mainframe. Pada sistem prosesor tunggal, ada satu CPU utama mampu melaksanakan tujuan umum set instruksi, termasuk instruksi dari proses pengguna. Hampir semua sistem memiliki prosesor tujuan khusus lainnya juga. Mereka mungkin datang dalam bentuk perangkat-spesifik prosesor, seperti disk, keyboard, dan pengendali grafis; atau, pada mainframe, mereka mungkin datang dalam bentuk prosesor tujuan umum yang lebih, seperti I O prosesor / yang memindahkan data dengan cepat di antara komponen-komponen sistem. Semua prosesor tujuan khusus ini menjalankan set instruksi yang terbatas dan tidak menjalankan proses pengguna. Kadang-kadang mereka dikelola oleh sistem operasi, dalam sistem operasi mengirim mereka informasi tentang tugas mereka berikutnya dan memonitor status. Misalnya, disk-controller mikroprosesor menerima urutan permintaan dari CPU utama dan mengimplementasikan antrian disk dan algoritma penjadwalan sendiri. Susunan ini mengurangi CPU utama overhead penjadwalan disk. PC berisi mikroprosesor di keyboard untuk mengubah keystrokes ke kode yang akan dikirim ke CPU. Dalam sistem lain atau keadaan, prosesor tujuan khusus adalah komponen tingkat rendah yang dibangun ke dalam perangkat keras. Sistem operasi tidak dapat berkomunikasi dengan prosesor ini; mereka melakukan pekerjaan mereka secara mandiri. Penggunaan mikroprosesor tujuan khusus adalah umum dan tidak mengubah sistem prosesor tunggal dalam multiprosesor a. Jika hanya ada satu tujuan umum CPU, maka sistem adalah sistem prosesor tunggal.

multiprosesor Sistem
Meskipun sistem prosesor tunggal yang paling umum, sistem multiprosesor (juga dikenal sebagai sistem paralel atau sistem ketat ditambah) yang semakin penting. Sistem seperti memiliki dua atau lebih prosesor dalam komunikasi yang erat, berbagi bus komputer dan kadang-kadang jam, memori, dan perangkat periferal. sistem multiprosesor memiliki tiga keunggulan utama:

1. Peningkatan Throughput. Dengan meningkatkan jumlah prosesor, kami berharap untuk mendapatkan lebih banyak pekerjaan dilakukan dalam waktu kurang. Rasio kecepatan-up dengan prosesor N tidak N, namun; bukan, itu adalah kurang dari N. Ketika beberapa prosesor bekerja sama pada tugas, sejumlah overhead yang dikeluarkan dalam menjaga semua bagian bekerja dengan benar. overhead ini, ditambah anggapan untuk berbagi sumber daya, menurunkan keuntungan yang diharapkan dari prosesor tambahan. Demikian pula, N programmer bekerja sama erat tidak menghasilkan N kali jumlah pekerjaan programmer tunggal akan menghasilkan
2. Ekonomi skala. sistem multiprosesor dapat biaya kurang dari sistem setara beberapa prosesor tunggal, karena mereka dapat berbagi peripheral, mass storage, dan pasokan listrik. Jika beberapa program beroperasi pada set data yang sama, lebih murah untuk menyimpan data mereka pada satu disk dan memiliki semua prosesor berbagi mereka daripada memiliki banyak komputer dengan disk lokal dan banyak salinan data.
3. Peningkatan kehandalan. Jika fungsi dapat didistribusikan dengan baik di antara beberapa prosesor, maka kegagalan satu prosesor tidak akan menghentikan sistem, hanya memperlambatnya. Jika kita memiliki sepuluh prosesor dan satu gagal, maka masing-masing sembilan prosesor yang tersisa dapat mengambil bagian dari pekerjaan prosesor gagal. Dengan demikian, seluruh sistem berjalan hanya 10 persen lebih lambat, daripada gagal sama sekali.
Peningkatan keandalan sistem komputer sangat penting dalam banyak aplikasi. Kemampuan untuk terus memberikan pelayanan sebanding dengan tingkat hidup hardware disebut degradasi anggun. Beberapa sistem melampaui degradasi anggun dan disebut fault tolerant, karena mereka dapat mengalami kegagalan dari setiap komponen tunggal dan masih terus beroperasi. Perhatikan bahwa toleransi kesalahan membutuhkan mekanisme untuk memungkinkan kegagalan untuk dideteksi, didiagnosis, dan, jika mungkin, dikoreksi. HP sistem NonStop (sebelumnya Tandem) sistem menggunakan hardware dan software duplikasi untuk memastikan operasi lanjutan meskipun kesalahan. Sistem ini terdiri dari beberapa pasang CPU, bekerja berbaris. Kedua prosesor pada pasangan mengeksekusi setiap instruksi dan membandingkan hasilnya. Jika hasilnya berbeda, maka salah satu CPU dari pasangan yang bersalah, dan keduanya dihentikan. Proses yang sedang dieksekusi kemudian dipindahkan ke sepasang CPU, dan instruksi yang gagal di-restart. Solusi ini mahal, karena melibatkan perangkat keras khusus dan cukup duplikasi hardware. Sistem multi-prosesor yang digunakan saat ini terdiri dari dua jenis. Beberapa sistem menggunakan multiprocessing asimetris, di mana setiap prosesor diberikan tugas tertentu. Sebuah prosesor utama mengendalikan sistem; prosesor lain baik melihat ke master untuk instruksi atau memiliki tugas yang telah ditetapkan. Skema ini mendefinisikan hubungan tuan-budak. Jadwal prosesor utama dan mengalokasikan bekerja untuk prosesor slave. Sistem yang paling umum menggunakan Symmetric


bisa menjalankan proses secara bersamaan-N dapat berjalan jika ada N CPU-tanpa menyebabkan kerusakan yang signifikan dari kinerja. Namun, kita harus hati-hati mengontrol I / O untuk memastikan bahwa data mencapai prosesor yang sesuai. Juga, karena CPU terpisah, satu dapat duduk diam sementara yang lain kelebihan beban, sehingga inefisiensi. inefisiensi ini dapat dihindari jika prosesor berbagi struktur data tertentu. Sebuah sistem multiprosesor dari formulir ini akan memungkinkan proses dan sumber daya-seperti memori-untuk dibagikan secara dinamis di antara berbagai prosesor dan dapat menurunkan variance antara prosesor. Sistem tersebut harus ditulis dengan hati-hati, seperti yang akan kita lihat dalam Bab 6. Hampir semua sistem-termasuk operasi modern Windows, Windows XP, Mac OS X, dan Linux-sekarang memberikan dukungan untuk SMP. Perbedaan antara multiprocessing simetris dan asimetris dapat mengakibatkan baik dari perangkat keras atau perangkat lunak. hardware khusus dapat membedakan beberapa prosesor, atau perangkat lunak yang dapat ditulis untuk memungkinkan hanya satu master dan beberapa budak. Misalnya, sistem operasi Sun SunOS Versi 4 tersedia multiprocessing simetris, sedangkan Versi 5 (Solaris) adalah simetris pada hardware yang sama. Tren terbaru dalam desain CPU adalah untuk menyertakan beberapa core menghitung pada satu chip. Pada dasarnya, ini adalah chip multiprosesor. Dua arah chip menjadi mainstream, sedangkan N-cara chip akan menjadi umum dalam sistem high-end. Selain pertimbangan arsitektur seperti cache, memori, dan pertentangan bus, CPU

clustered SistemTipe lain dari sistem multi-CPU adalah sistem berkerumun. Seperti sistem multiprosesor, sistem berkerumun berkumpul bersama beberapa CPU untuk menyelesaikan pekerjaan komputasi. sistem berkerumun berbeda dari sistem multiprosesor, namun, dalam bahwa mereka terdiri dari dua atau lebih sistem individu digabungkan bersama-sama. Definisi istilah berkerumun tidak konkret; banyak paket komersial bergulat dengan apa sistem cluster dan mengapa salah satu bentuk yang lebih baik daripada yang lain. Definisi yang berlaku umum adalah bahwa penyimpanan komputer berkerumun saham dan terkait erat melalui jaringan area lokal (LAN) (seperti yang dijelaskan dalam Bagian 1.10) atau interkoneksi yang lebih cepat seperti InfiniBand. Clustering biasanya digunakan untuk menyediakan layanan ketersediaan tinggi; yaitu, layanan akan terus bahkan jika satu atau lebih sistem di cluster gagal. ketersediaan tinggi umumnya diperoleh dengan menambahkan tingkat redundansi dalam sistem. Sebuah lapisan software cluster berjalan pada node cluster. Setiap node dapat memantau satu atau lebih dari yang lain (melalui LAN). Jika mesin dipantau gagal, mesin monitor dapat mengambil kepemilikan penyimpanan dan restart aplikasi yang berjalan pada mesin gagal. Pengguna dan klien dari aplikasi hanya melihat gangguan singkat pelayanan.


Struktur Sistem OperasiSekarang kita telah membahas informasi dasar tentang organisasi komputer-sistem dan arsitektur, kami siap untuk berbicara tentang sistem operasi. Sebuah sistem operasi menyediakan lingkungan dimana program dijalankan. Secara internal, sistem operasi sangat bervariasi dalam makeup mereka, karena mereka diatur bersama banyak baris yang berbeda. Namun demikian, banyak kesamaan, yang kita bahas dalam bagian ini. Salah satu aspek yang paling penting dari sistem operasi adalah kemampuan untuk multiprogram. Seorang pengguna tunggal tidak dapat, secara umum, tetap baik CPU atau perangkat I / O sibuk sepanjang waktu. Multiprogramming meningkatkan utilisasi CPU dengan mengorganisir pekerjaan (kode dan data) sehingga CPU selalu memiliki satu untuk mengeksekusi. Idenya adalah sebagai berikut: Sistem operasi membuat beberapa pekerjaan dalam memori secara bersamaan (Gambar 1.7). Ini set pekerjaan dapat menjadi bagian dari pekerjaan disimpan dalam pekerjaan kolam renang-yang berisi semua pekerjaan yang masuk ke sistem-karena jumlah pekerjaan yang dapat disimpan secara bersamaan dalam memori biasanya lebih kecil dari jumlah pekerjaan yang bisa disimpan di kolam renang pekerjaan. Sistem operasi mengambil dan mulai melaksanakan salah satu pekerjaan dalam memori. Akhirnya, pekerjaan mungkin harus menunggu untuk beberapa tugas, seperti operasi I / O, untuk menyelesaikan. Di sebuah

sistem non-Multiprogrammed, CPU akan duduk diam. Dalam sistem Multiprogrammed, sistem operasi hanya beralih ke, dan mengeksekusi, pekerjaan lain. Ketika pekerjaan yang perlu menunggu, CPU beralih ke pekerjaan lain, dan sebagainya. Akhirnya, pekerjaan pertama selesai menunggu dan mendapat CPU kembali. Selama setidaknya satu pekerjaan perlu mengeksekusi, CPU tidak pernah menganggur. Ide ini umum dalam situasi kehidupan lainnya. Seorang pengacara tidak bekerja untuk satu klien pada suatu waktu, misalnya. Sementara satu kasus yang menunggu untuk pergi ke pengadilan atau memiliki surat-surat diketik, pengacara dapat bekerja pada kasus lain. Jika ia memiliki klien yang cukup, pengacara tidak akan menganggur karena kurangnya pekerjaan. (Pengacara Menganggur cenderung menjadi politisi, sehingga ada nilai sosial tertentu dalam menjaga pengacara sibuk.) Sistem Multiprogrammed menyediakan lingkungan di mana berbagai sumber daya sistem (misalnya, CPU, memori, dan perangkat periferal) dimanfaatkan secara efektif, tetapi mereka tidak menyediakan untuk interaksi pengguna dengan sistem komputer. berbagi (atau multitasking) waktu adalah perpanjangan logis dari multiprogramming. Dalam sistem time-sharing, CPU mengeksekusi beberapa pekerjaan dengan beralih di antara mereka, tetapi switch terjadi begitu sering bahwa pengguna dapat berinteraksi dengan setiap program ketika sedang berjalan. Waktu berbagi membutuhkan interaktif (atau tangan-on) sistem komputer, yang menyediakan komunikasi langsung antara pengguna dan sistem. Pengguna memberikan instruksi untuk sistem operasi atau program secara langsung, menggunakan perangkat input seperti keyboard atau mouse, dan menunggu hasil langsung dari perangkat output. Dengan demikian, waktu respon harus pendek-biasanya kurang dari satu detik. Sebuah sistem operasi waktu-berbagi memungkinkan banyak pengguna untuk berbagi komputer secara bersamaan. Karena setiap tindakan atau perintah dalam sistem waktu-berbagi cenderung singkat, hanya waktu CPU sedikit yang diperlukan untuk setiap pengguna. Sebagai sistem beralih cepat dari satu pengguna ke depan, setiap pengguna diberikan kesan bahwa sistem komputer seluruh didedikasikan untuk penggunaannya, meskipun sedang dibagi di antara banyak pengguna. Sebuah sistem operasi waktu-berbagi menggunakan penjadwalan CPU dan multiprogramming untuk memberikan setiap pengguna dengan porsi kecil dari komputer time-shared. Setiap pengguna memiliki setidaknya satu program yang terpisah dalam memori. Sebuah program dimuat ke

memori dan mengeksekusi disebut proses. Ketika proses dijalankan, itu biasanya mengeksekusi hanya untuk waktu yang singkat sebelum baik selesai atau perlu melakukan I / O. I / O mungkin interaktif; yaitu, output yang pergi ke layar bagi pengguna, dan masukan berasal dari pengguna keyboard, mouse, atau perangkat lainnya. Karena saya interaktif / O biasanya berjalan pada "kecepatan orang," mungkin memakan waktu lama untuk menyelesaikan. Masukan, misalnya, dapat dibatasi oleh kecepatan mengetik pengguna; tujuh karakter per detik cepat bagi orang-orang tetapi sangat lambat untuk komputer. Daripada membiarkan CPU duduk diam sebagai input interaktif ini berlangsung, sistem operasi akan cepat beralih CPU untuk program beberapa pengguna lainnya. Time-sharing dan multiprogramming memerlukan beberapa pekerjaan untuk disimpan secara bersamaan dalam memori. Karena dalam memori utama umumnya terlalu kecil untuk menampung semua pekerjaan, pekerjaan disimpan awalnya pada disk di kolam pekerjaan. Kolam renang ini terdiri dari semua proses yang berada pada disk menunggu alokasi memori utama. Jika beberapa pekerjaan siap untuk dibawa ke dalam memori, dan jika tidak ada cukup ruang untuk mereka semua, maka sistem harus memilih di antara mereka. Membuat keputusan ini adalah penjadwalan pekerjaan, yang dibahas dalam Bab 5. Ketika sistem operasi memilih pekerjaan dari kolam pekerjaan, beban pekerjaan yang ke dalam memori untuk eksekusi. Memiliki beberapa program di memori pada saat yang sama membutuhkan beberapa bentuk manajemen memori, yang tercakup dalam Bab 8 dan

Operasi Sistem Operasi
Seperti disebutkan sebelumnya, sistem operasi modern interrupt driven. Jika tidak ada proses untuk mengeksekusi, tidak ada perangkat I / O ke layanan, dan tidak ada pengguna untuk siapa untuk merespon, sistem operasi akan duduk diam, menunggu sesuatu terjadi. Peristiwa hampir selalu ditandai dengan terjadinya interupsi atau jebakan. Sebuah perangkap (atau pengecualian) adalah interrupt software yang dihasilkan disebabkan baik oleh kesalahan (misalnya, pembagian dengan nol atau akses memori yang tidak valid) atau dengan permintaan khusus dari program pengguna bahwa layanan sistem operasi dilakukan. Sifat interrupt-driven sistem operasi mendefinisikan struktur umum bahwa sistem ini. Untuk setiap jenis interrupt, segmen yang terpisah dari kode di sistem operasi menentukan tindakan apa yang harus diambil. Rutin layanan interupsi disediakan yang bertanggung jawab untuk menangani interupsi. Karena sistem operasi dan pengguna berbagi perangkat keras dan perangkat lunak sumber daya dari sistem komputer, kita perlu memastikan bahwa kesalahan dalam program pengguna bisa menyebabkan masalah hanya untuk satu program yang sedang dijalankan. Dengan berbagi, banyak proses dapat terpengaruh oleh bug dalam satu program. Misalnya, jika suatu proses terjebak dalam loop tak terbatas, lingkaran ini bisa mencegah operasi yang benar dari banyak proses lainnya. kesalahan lebih halus dapat terjadi dalam sistem multiprogramming, di mana satu program yang salah dapat memodifikasi program lain, data dari program lain, atau bahkan sistem operasi itu sendiri. Tanpa perlindungan terhadap hal-kesalahan, baik komputer harus mengeksekusi hanya satu proses pada suatu waktu atau seluruh output harus menjadi tersangka. Sebuah sistem operasi yang dirancang dengan baik harus memastikan bahwa program yang salah (atau berbahaya) tidak dapat menyebabkan program lain untuk menjalankan salah.

Dual-mode Operasi Dalam rangka untuk memastikan pelaksanaan yang tepat dari sistem operasi, kita harus bisa membedakan antara eksekusi kode sistem operasi dan kode userdefined. Pendekatan yang dilakukan oleh sebagian besar sistem komputer adalah untuk memberikan dukungan hardware yang memungkinkan kita untuk membedakan antara berbagai mode eksekusi. Setidaknya, kita perlu dua mode operasi: mode pengguna dan kernel mode (juga disebut modus supervisor, modus sistem, atau modus istimewa). Sedikit, disebut mode bit, ditambahkan ke perangkat keras komputer untuk menunjukkan mode saat ini: kernel (0) atau user (1). Dengan bit mode, kita dapat membedakan antara tugas yang dijalankan atas nama sistem operasi dan satu yang dieksekusi atas nama pengguna. Ketika sistem komputer mengeksekusi atas nama pengguna aplikasi, sistem ini dalam mode pengguna. Namun, ketika aplikasi permintaan pengguna layanan dari sistem operasi (melalui panggilan sistem), itu harus transisi dari pengguna ke mode kernel untuk memenuhi permintaan. Hal ini ditunjukkan pada Gambar 1.8. Seperti yang akan kita lihat, peningkatan arsitektur ini berguna untuk banyak aspek lain dari sistem operasi juga. Pada sistem waktu boot, hardware dimulai dalam mode kernel. Sistem operasi ini kemudian dimuat dan mulai aplikasi pengguna dalam mode pengguna. Setiap kali perangkap atau interrupt terjadi, switch hardware dari mode pengguna ke mode kernel (yaitu, mengubah keadaan bit mode dengan 0). Dengan demikian, setiap kali operasi sistem kontrol keuntungan dari komputer, itu adalah dalam mode kernel. Sistem ini selalu beralih ke mode pengguna dapat menyebabkan kerusakan sebagai petunjuk istimewa. hardware yang memungkinkan instruksi privileged akan dieksekusi hanya dalam mode kernel. Jika dilakukan usaha untuk mengeksekusi instruksi istimewa dalam mode pengguna, hardware tidak melaksanakan instruksi melainkan memperlakukan sebagai ilegal dan perangkap untuk sistem operasi. Instruksi untuk beralih ke mode pengguna adalah contoh dari instruksi istimewa. Beberapa contoh lain termasuk I / O control, manajemen waktu, dan mengganggu manajemen. Sebagaimana akan kita lihat seluruh teks, ada banyak petunjuk istimewa tambahan. Kita sekarang dapat melihat siklus hidup dari eksekusi instruksi dalam sistem komputer. kontrol awal adalah dalam sistem operasi, di mana instruksi dieksekusi dalam mode kernel. Ketika kontrol diberikan untuk aplikasi pengguna, mode diatur ke mode pengguna. Akhirnya, kontrol beralih kembali ke sistem operasi melalui interupsi, perangkap, atau system call. panggilan sistem menyediakan sarana untuk program pengguna untuk meminta sistem operasi untuk melakukan tugas-tugas dicadangkan untuk sistem operasi atas nama program pengguna. Sebuah system call dipanggil dalam berbagai cara, tergantung pada fungsi yang disediakan oleh prosesor yang mendasarinya. Dalam semua bentuk, itu adalah metode yang digunakan oleh proses untuk meminta tindakan oleh sistem operasi. Sebuah sistem panggilan biasanya mengambil bentuk jebakan ke lokasi tertentu di vektor interupsi. perangkap ini dapat dieksekusi oleh instruksi trap generik, meskipun beberapa sistem (seperti keluarga MIPS R2000) memiliki instruksi syscall spesifik. Ketika panggilan sistem dijalankan, itu diperlakukan dengan hardware sebagai interrupt software. Kontrol melewati vektor interupsi untuk layanan rutin di sistem operasi, dan bit mode diatur ke mode kernel. Layanan systemcall rutin adalah bagian dari sistem operasi. kernel meneliti instruksi menyela untuk menentukan sistem apa panggilan telah terjadi; parameter menunjukkan apa jenis layanan program pengguna meminta. Informasi tambahan yang diperlukan untuk permintaan dapat dilewatkan dalam register, di stack, atau dalam memori (dengan pointer ke lokasi memori berlalu dalam register). kernel memverifikasi bahwa parameter yang benar dan legal, mengeksekusi permintaan tersebut, dan kembali kontrol ke instruksi berikut sistem panggilan. Kami menggambarkan sistem panggilan lebih lengkap dalam Bagian 2.3. Kurangnya dual mode hardware yang didukung dapat menyebabkan kekurangan serius dalam sistem operasi. Misalnya, MS-DOS ditulis untuk arsitektur Intel 8088, yang tidak memiliki bit mode dan karena itu tidak ada dual mode. Sebuah program pengguna menjalankan serba salah dapat menghapus sistem operasi dengan menulis di atasnya dengan data; dan beberapa program yang dapat menulis ke perangkat pada saat yang sama,dengan hasil kemungkinan bencana. Versi terbaru dari CPU Intel, seperti Pentium, lakukan menyediakan operasi dual-mode. Dengan demikian, sebagian besar sistem operasi kontemporer, seperti Microsoft Windows 2000 dan Windows XP, dan Linux dan Solaris untuk sistem x86, mengambil keuntungan dari fitur ini dan memberikan perlindungan yang lebih besar untuk sistem operasi. Setelah perlindungan hardware di tempat, kesalahan melanggar mode terdeteksi oleh perangkat keras. Kesalahan ini biasanya ditangani oleh sistem operasi. Jika program pengguna gagal dalam beberapa cara-seperti dengan membuat upaya baik untuk mengeksekusi instruksi ilegal atau untuk mengakses memori yang tidak alamat ruang-maka hardware pengguna trap ke sistem operasi. Transfer perangkap mengontrol melalui vektor interupsi untuk sistem operasi, seperti interupsi tidak. Ketika terjadi kesalahan program, sistem operasi harus mengakhiri program normal. Situasi ini ditangani oleh kode yang sama seperti adalah normal pemutusan pengguna meminta. Pesan kesalahan yang sesuai diberikan, dan memori dari program dapat dibuang. Dump memori biasanya ditulis ke file sehingga pengguna atau programmer dapat memeriksanya dan mungkin memperbaikinya dan restart program.

Timer
Kami harus memastikan bahwa sistem operasi mempertahankan kontrol atas CPU. Kita harus mencegah program pengguna dari terjebak dalam loop tak terbatas atau tidak menelepon layanan sistem dan tidak pernah kembali kontrol untuk sistem operasi. Untuk mencapai tujuan ini, kita dapat menggunakan timer. Sebuah timer dapat diatur untuk mengganggu komputer setelah jangka waktu tertentu. periode dapat diperbaiki (misalnya, 1/60 detik) atau variabel (misalnya, dari 1 milidetik untuk 1 detik). Sebuah timer variabel umumnya dilaksanakan oleh sebuah jam dengan suku bunga tetap dan counter. Sistem operasi set meja. Setiap kali jam kutu, counter decremented. Ketika counter mencapai 0, interrupt terjadi. Misalnya, 10-bit counter dengan jam 1-milidetik memungkinkan interupsi pada interval dari 1 milidetik untuk 1.024 milidetik, dalam langkah 1 milidetik. Sebelum membalik kontrol untuk pengguna, sistem operasi memastikan bahwa timer diatur untuk mengganggu. Jika interupsi timer, mengontrol transfer otomatis ke sistem operasi, yang mungkin memperlakukan interrupt sebagai kesalahan fatal atau dapat memberikan program lebih banyak waktu. Jelas, instruksi yang mengubah isi timer yang istimewa. Dengan demikian, kita dapat menggunakan timer untuk mencegah program pengguna dari berjalan terlalu lama. Sebuah teknik sederhana adalah untuk menginisialisasi counter dengan jumlah waktu yang program diperbolehkan untuk menjalankan. Sebuah program dengan batas waktu 7 menit, misalnya, akan memiliki counter diinisialisasi ke 420. Setiap detik, menyela timer dan counter decremented oleh 1. Selama counter positif, kontrol dikembalikan ke program pengguna . Ketika counter menjadi negatif, sistem operasi berakhir program untuk melebihi batas waktu yang ditetapkan.

Manajemen proses
Sebuah program tidak apa-apa kecuali instruksi yang dijalankan oleh CPU. Sebuah program di eksekusi, seperti yang disebutkan, adalah sebuah proses. Sebuah program pengguna waktu bersama seperti compiler adalah sebuah proses. Sebuah program pengolah kata yang dijalankan oleh pengguna individu pada PC adalah sebuah proses. Sebuah tugas sistem, seperti mengirim © utput ke printer, juga dapat menjadi proses (atau setidaknya bagian dari satu). Untuk saat ini, Anda dapat mempertimbangkan proses untuk menjadi pekerjaan atau program-waktu bersama, tetapi kemudian Anda akan belajar bahwa konsep ini lebih umum. Seperti yang akan kita lihat dalam Bab 3, adalah mungkin untuk memberikan panggilan sistem yang memungkinkan proses untuk membuat subproses untuk mengeksekusi secara bersamaan. Sebuah proses membutuhkan sumber-termasuk tertentu waktu CPU, memori, file, dan I / O perangkat-untuk menyelesaikan tugasnya. sumber daya ini baik diberikan untuk proses ketika dibuat atau dialokasikan untuk itu ketika sedang berjalan. Selain berbagai sumber daya fisik dan logis bahwa suatu proses memperoleh ketika dibuat, berbagai data inisialisasi (input) dapat diteruskan. Misalnya, pertimbangkan proses yang berfungsi untuk menampilkan status file pada layar terminal. Proses ini akan diberikan sebagai masukan nama file dan akan menjalankan instruksi yang tepat dan sistem panggilan untuk mendapatkan dan ditampilkan pada terminal informasi yang diinginkan. Ketika proses berakhir, sistem operasi akan merebut kembali sumber daya dapat digunakan kembali. Kami menekankan bahwa program dengan sendirinya bukan proses; Program adalah sebuah entitas pasif, seperti isi file yang disimpan pada disk, sedangkan proses adalah suatu entitas aktif. Sebuah proses single-threaded memiliki satu program counter menentukan instruksi berikutnya untuk mengeksekusi. (Thread akan dibahas dalam Bab 4.) Pelaksanaan proses tersebut harus berurutan. CPU mengeksekusi satu instruksi dari proses demi satu, sampai proses selesai. Selanjutnya, setiap saat, satu instruksi paling dijalankan atas nama proses. Jadi, meskipun dua proses dapat dikaitkan dengan program yang sama, mereka tetap dianggap dua urutan eksekusi terpisah. Sebuah proses multithreaded memiliki beberapa counter Program, masing-masing menunjuk ke instruksi berikutnya untuk mengeksekusi untuk thread tertentu. Proses adalah unit kerja dalam suatu sistem. Sistem seperti terdiri dari kumpulan proses, beberapa di antaranya adalah proses operasi-sistem (yang mengeksekusi kode sistem) dan sisanya dari yang proses pengguna (orang-orang yang mengeksekusi kode pengguna). Semua proses ini berpotensi dapat mengeksekusi concurrently- oleh multiplexing CPU di antara mereka pada CPU tunggal, misalnya. Sistem operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan manajemen proses:• Membuat dan menghapus kedua pengguna dan sistem proses• proses menangguhkan dan melanjutkan• Menyediakan mekanisme untuk sinkronisasi proses• Menyediakan mekanisme untuk proses komunikasi• Menyediakan mekanisme untuk penanganan deadlockKami membahas teknik proses manajemen dalam Bab 3 sampai 6.

Manajemen memori
Seperti yang kita bahas dalam Bagian 1.2.2, memori utama adalah pusat operasi dari sebuah sistem komputer modern. memori utama adalah array besar kata-kata atau byte, ukuran mulai dari ratusan ribu hingga miliaran. Setiap kata atau byte memiliki alamat sendiri. memori utama adalah gudang data dengan cepat diakses bersama oleh CPU dan I / O perangkat. Prosesor pusat membaca instruksi dari memori utama selama instruksi-fetch cycle dan kedua membaca dan menulis data dari memori utama selama siklus data mengambil (pada arsitektur Von Neumann). Memori utama umumnya hanya perangkat penyimpanan yang besar bahwa CPU mampu mengatasi dan akses langsung. Misalnya, untuk CPU untuk memproses data dari disk, data tersebut pertama harus ditransfer ke memori utama oleh I / O panggilan CPU yang dihasilkan. Dengan cara yang sama, instruksi harus dalam memori untuk CPU untuk mengeksekusi mereka. Untuk program yang akan dieksekusi, itu harus dipetakan ke alamat absolut dan dimuat ke memori. Sebagai program dijalankan, ia mengakses instruksi program dan data dari memori dengan menghasilkan ini alamat absolut. Akhirnya, program berakhir, ruang memori dinyatakan tersedia, dan program berikutnya dapat dimuat dan dieksekusi. Untuk meningkatkan baik pemanfaatan CPU dan kecepatan respon komputer untuk para penggunanya, tujuan umum komputer harus menjaga beberapa program di memori, menciptakan kebutuhan untuk manajemen memori. Banyak skema MemoryManagement berbeda digunakan. Skema ini mencerminkan berbagai pendekatan, dan efektivitas algoritma yang diberikan tergantung pada situasi. Dalam memilih skema manajemen memori untuk sistem tertentu, kita harus memperhitungkan banyak faktor-terutama pada desain hardware dari sistem. Setiap algoritma memerlukan dukungan hardware sendiri. Sistem operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan manajemen memori:• Menjaga track dari bagian mana dari memori yang sedang digunakan dan oleh siapa• Memutuskan proses (atau bagiannya) dan data bergerak masuk dan keluar dari memori• Mengalokasikan dan deallocating ruang memori yang diperlukanteknik manajemen memori akan dibahas dalam Bab 8 dan 9
Manajemen penyimpanan
Untuk membuat sistem komputer nyaman bagi pengguna, sistem operasi menyediakan seragam, pandangan logis penyimpanan informasi. Sistem operasi abstrak dari sifat fisik perangkat penyimpanan untuk menentukan unit penyimpanan logis, file. Sistem operasi memetakan file ke media fisik dan mengakses file tersebut melalui perangkat penyimpanan.

1.Manajemen 1.8.1 File-Sistem

Manajemen file adalah salah satu komponen yang paling terlihat dari sebuah sistem operasi. Komputer dapat menyimpan informasi pada beberapa jenis media fisik. Magnetic disk, optical disk, dan tape magnetik adalah yang paling umum. Masing-masing media tersebut memiliki karakteristik sendiri dan organisasi fisik. Setiap media dikendalikan oleh perangkat, seperti disk drive atau tape drive, yang juga memiliki karakteristik yang unik. Properti ini termasuk accessspeed, kapasitas ', tingkat transfer data, dan metode akses (berurutan atau random). Sebuah file adalah kumpulan informasi yang berhubungan yang didefinisikan oleh penciptanya. Umumnya, file mewakili program (baik sumber dan bentuk objek) dan data. file data mungkin angka, abjad, alfanumerik, atau biner. File mungkin bebas-bentuk (misalnya, file teks), atau mereka mungkin diformat kaku (misalnya, bidang tetap). Jelas, konsep file adalah salah satu yang sangat umum. Sistem operasi mengimplementasikan konsep abstrak dari file dengan mengelola media penyimpanan massa, seperti kaset dan disk, dan perangkat yang mengendalikan mereka. Juga, file biasanya diatur dalam direktori untuk membuat mereka lebih mudah untuk useFinally, ketika beberapa pengguna memiliki akses ke file, mungkin diinginkan untuk mengontrol oleh siapa dan dengan cara apa (misalnya, membaca, menulis, tambahkan) file dapat diakses. Sistem operasi bertanggung jawab atas aktifitas yang berhubungan dengan manajemen file:• Membuat dan menghapus file• Membuat dan menghapus direktori untuk mengatur file• Mendukung primitif untuk memanipulasi file dan direktori• file Pemetaan ke penyimpanan sekunder• Back up file pada stabil (nonvolatile) media penyimpananteknik File-manajemen akan dibahas dalam Bab 10 dan 11

Manajemen massal StorageSeperti yang telah kita lihat, karena memori utama terlalu kecil untuk menampung semua data dan program, dan karena data yang dimilikinya hilang saat listrik terputus, sistem komputer harus menyediakan penyimpanan sekunder untuk membuat cadangan memori utama. Kebanyakan sistem komputer modern menggunakan disk sebagai kepala sekolah on-line media penyimpanan untuk kedua program dan data. Kebanyakan program-termasuk kompiler, perakit, pengolah kata, editor, dan formatters-disimpan pada disk sampai dimuat ke memori dan kemudian menggunakan disk baik sebagai sumber dan tujuan pengolahan mereka. Oleh karena itu, manajemen yang tepat penyimpanan disk adalah sangat penting untuk sistem komputer. Sistem operasi bertanggung jawab atas aktifitas yang berhubungan dengan manajemen disk:• manajemen Free-space• Alokasi Penyimpanan• penjadwalan DiskKarena penyimpanan sekunder sering digunakan, harus digunakan secara efisien. Seluruh kecepatan operasi komputer mungkin bergantung pada kecepatan dari subsistem disk dan algoritma yang memanipulasi subsistem itu. Namun demikian, banyak kegunaan untuk penyimpanan yang lebih lambat dan lebih rendah biaya (dan kadang-kadang kapasitas yang lebih tinggi) dari penyimpanan sekunder. Backup data disk, data yang jarang digunakan, dan penyimpanan arsip jangka panjang adalah pita magnetik drive dan kaset dan CD dan DVD drive dan piring-piring adalah perangkat penyimpanan tersier khas. Media (kaset dan piring-piring optik) bervariasi antara WORM (menulis-sekali, baca-banyak-kali) dan RW (baca-tulis) format. penyimpanan tersier tidak penting untuk kinerja sistem, tetapi masih harus dikelola. Beberapa sistem operasi melakukan tugas ini, sementara yang lain meninggalkan manajemen tersier penyimpanan untuk program aplikasi. Beberapa fungsi yang sistem operasi dapat menyediakan termasuk pemasangan dan unmounting media dalam perangkat, mengalokasikan dan membebaskan perangkat untuk penggunaan eksklusif oleh proses, dan migrasi data dari sekunder untuk penyimpanan tersier. Teknik untuk manajemen penyimpanan sekunder dan tersier akan dibahas dalam Bab 12.

cachingCaching merupakan prinsip penting dari sistem komputer. Informasi biasanya disimpan dalam beberapa sistem penyimpanan (seperti memori utama). Seperti yang digunakan, itu disalin ke sistem-penyimpanan yang lebih cepat secara sementara cache-on. Ketika kita membutuhkan bagian tertentu dari informasi, kita periksa dulu apakah itu dalam cache. Jika ya, kami menggunakan informasi langsung dari cache; jika tidak, kita menggunakan informasi dari sumber, menempatkan salinan dalam cache di bawah asumsi bahwa kita akan membutuhkannya lagi segera. Selain itu, register diprogram internal, seperti register indeks, menyediakan cache berkecepatan tinggi untuk memori utama. Programmer (atau kompilator) mengimplementasikan register-alokasi dan mendaftarkan penggantian algoritma untuk memutuskan informasi yang perlu register dan yang perlu memori utama. Ada juga cache yang diimplementasikan benar-benar dalam perangkat keras. Misalnya, kebanyakan sistem memiliki cache instruksi untuk memegang petunjuk selanjutnya diharapkan akan dieksekusi. Tanpa cache ini, CPU akan harus menunggu beberapa siklus sementara instruksi yang diambil dari memori utama. Untuk alasan yang sama, kebanyakan sistem memiliki satu atau lebih cache data berkecepatan tinggi dalam hirarki memori. Kami tidak peduli dengan cache hardware-satunya ini dalam teks ini, karena mereka berada di luar kendali sistem operasi. Karena cache telah ukuran terbatas, manajemen cache merupakan masalah desain penting. hati-hati memilih ukuran cache dan kebijakan penggantian dapat mengakibatkan sangat meningkat kinerja. Lihat Gambar 1.9 untuk perbandingan kinerja penyimpanan di workstation besar dan server kecil yang menunjukkan kebutuhan untuk caching. Berbagai algoritma pengganti cache software yang dikendalikan dibahas dalam Bab 9. memori utama dapat dilihat sebagai cache cepat untuk penyimpanan sekunder, karena data di penyimpanan sekunder harus disalin ke memori utama untuk digunakan, dan data harus berada di memori utama sebelum menjadi pindah ke penyimpanan sekunder untuk diamankan. File-data sistem, yang berada permanen di penyimpanan sekunder, dapat muncul pada beberapa tingkat dalam hirarki storage. Pada tingkat tertinggi, sistem operasi dapat mempertahankan cache data file sistem di memori utama Juga, elektronik disk RAM (juga dikenal sebagai disk solid-state) dapat digunakan untuk penyimpanan berkecepatan tinggi yang diakses melalui file-sistem antarmuka. Sebagian besar penyimpanan sekunder adalah pada disk magnetik. Penyimpanan magnetik-disk, pada gilirannya, sering mundur ke tape magnetik atau removable disk untuk melindungi terhadap kehilangan data dalam kasus kegagalan hard-disk. Beberapa sistem otomatisarsip data file lama dari penyimpanan sekunder untuk penyimpanan tersier, seperti jukebox tape, untuk menurunkan biaya penyimpanan (lihat Bab 12). Pergerakan informasi antara tingkat dari hirarki penyimpanan dapat berupa eksplisit atau implisit, tergantung pada desain hardware dan software sistem operasi pengendali. Misalnya, transfer data dari cache ke CPU dan register biasanya fungsi hardware, tanpa sistem operasi intervensi. Sebaliknya, transfer data dari disk ke memori biasanya dikontrol oleh sistem operasi. Dalam struktur penyimpanan hirarkis, data yang sama mungkin muncul di tingkat yang berbeda dari sistem penyimpanan. Misalnya, bahwa integer A yang akan bertambah 1 terletak di file B, dan file B berada pada magnetic disk. Operasi increment hasil dengan terlebih dahulu mengeluarkan I / O operasi untuk menyalin blok disk yang A berada ke memori utama. Operasi ini diikuti dengan menyalin A ke cache dan register internal. Dengan demikian, salinan A muncul di beberapa tempat: pada disk magnetik, dalam memori utama, dalam cache, dan dalam mendaftar internal (lihat Gambar 1.10). Setelah kenaikan berlangsung dalam daftar internal, nilai A berbeda di berbagai sistem penyimpanan. Nilai A menjadi sama setelah nilai baru dari A ditulis dari register internal yang kembali ke disk magnetik. Dalam lingkungan komputasi di mana hanya satu proses mengeksekusi pada suatu waktu, pengaturan ini tidak menimbulkan kesulitan, karena akses ke integer A akan selalu untuk salin pada tingkat tertinggi hirarki. Namun, dalam lingkungan multitasking, di mana CPU diaktifkan bolak-balik antara berbagai proses, sangat hati-hati harus diambil untuk memastikan bahwa, jika beberapa proses ingin mengakses A, maka masing-masing proses akan mendapatkan nilai yang terakhir diperbarui dari A .

Situasi menjadi lebih rumit dalam lingkungan multiprosesor mana, selain untuk menjaga internal register, masing-masing dari CPU juga berisi cache lokal. Dalam lingkungan seperti itu, salinan A mungkin ada secara bersamaan di beberapa cache. Karena berbagai CPU semua dapat mengeksekusi bersamaan, kita harus memastikan bahwa update untuk nilai A dalam satu cache segera tercermin dalam semua cache lain di mana A berada. Situasi ini disebut cache koherensi, dan biasanya masalah hardware (ditangani di bawah tingkat sistem operasi). Dalam lingkungan terdistribusi, situasi menjadi lebih kompleks. Dalam lingkungan ini, beberapa salinan (atau replika) dari file yang sama dapat disimpan pada komputer yang berbeda yang didistribusikan dalam ruang. Karena berbagai replika dapat diakses dan diperbarui secara bersamaan, beberapa sistem terdistribusi memastikan bahwa, ketika replika diperbarui di satu tempat, semua replika lainnya dibawa up to date sesegera mungkin. Ada berbagai cara untuk mencapai jaminan ini, seperti yang kita bahas dalam Bab 17.

I / O Sistem
Salah satu tujuan dari sistem operasi adalah untuk menyembunyikan keanehan perangkat keras dari pengguna. Misalnya, di UNIX, kekhasan perangkat I / O yang tersembunyi dari sebagian besar sistem operasi itu sendiri dengan I / O subsistem. I / O subsistem terdiri dari beberapa komponen:
• Sebuah komponen memori-manajemen yang meliputi buffering, caching, dan spooling
• Sebuah antarmuka perangkat-driver umum
• Driver untuk perangkat keras tertentu
Hanya driver perangkat tahu kekhasan perangkat khusus untuk yang ditugaskan. Kami dibahas dalam Bagian 1.2.3 bagaimana penangan dan driver perangkat interrupt digunakan dalam pembangunan I / O subsistem efisien. Dalam Bab 13, kita membahas bagaimana I / O subsistem interface untuk komponen sistem lainnya, mengelola perangkat, transfer data, dan mendeteksi I / O selesai.

Perlindungan dan Keamanan
Jika sistem komputer memiliki beberapa pengguna dan memungkinkan pelaksanaan bersamaan dari beberapa proses, maka akses ke data harus diatur. Untuk itu, mekanisme memastikan bahwa file, segmen memori, CPU, dan sumber daya lainnya dapat dioperasikan oleh hanya proses-proses yang telah mendapatkan otorisasi yang tepat dari sistem operasi. Misalnya, hardware memori-menangani memastikan bahwa proses dapat mengeksekusi hanya dalam ruang alamat sendiri. timer memastikan bahwa tidak ada proses dapat menguasai CPU tanpa akhirnya melepaskan kontrol. register perangkat kontrol yang tidak dapat diakses oleh pengguna, sehingga integritas berbagai perangkat periferal dilindungi. Perlindungan, kemudian, adalah mekanisme untuk mengendalikan akses proses atau pengguna ke sumber daya yang didefinisikan oleh sistem komputer. Mekanisme ini harus menyediakan sarana untuk spesifikasi kontrol untuk dikenakan dan berarti untuk penegakan hukum. Perlindungan dapat meningkatkan kehandalan dengan mendeteksi kesalahan laten pada antarmuka antara subsistem komponen. Deteksi dini kesalahan antarmuka sering dapat mencegah kontaminasi dari subsistem sehat dengan subsistem lain yang rusak. Sebuah sumber yang tidak dilindungi tidak bisa membela terhadap penggunaan (atau penyalahgunaan) oleh pengguna yang tidak sah atau tidak kompeten. Sebuah sistem perlindungan berorientasi menyediakan sarana untuk membedakan antara penggunaan yang sah dan tidak sah, seperti yang kita bahas dalam Bab 14. Sebuah sistem dapat memiliki perlindungan yang memadai tetapi masih rentan terhadap kegagalan dan memungkinkan akses yang tidak pantas. Mempertimbangkan pengguna yang otentikasi informasi (berarti dia mengidentifikasi dirinya ke sistem) dicuri. Data nya bisa disalin atau dihapus, meskipun berkas dan perlindungan memori bekerja. Ini adalah tugas keamanan untuk mempertahankan sistem dari serangan eksternal dan internal. serangan tersebut tersebar di berbagai besar dan termasuk virus dan worm, serangan denial-ofservice (yang menggunakan semua sumber daya sistem dan begitu menjaga pengguna yang sah dari sistem), pencurian identitas, dan pencurian pelayanan (penggunaan yang tidak sah dari sistem) . Pencegahan dari beberapa serangan ini adalah mempertimbangkan fungsi operatingsystem pada beberapa sistem, sementara yang lain meninggalkan pencegahan kebijakan atau software tambahan. Karena kenaikan mengkhawatirkan dalam insiden keamanan, fitur keamanan operatingsystem mewakili wilayah cepat tumbuh dari penelitian dan implementasi. Keamanan dibahas dalam Bab 15. Perlindungan dan keamanan memerlukan sistem untuk dapat membedakan antara semua penggunanya. Sebagian besar sistem operasi mempertahankan daftar nama pengguna dan pengidentifikasi pengguna yang terkait (user ID). Pada Windows NT istilah, ini adalah ID keamanan (SID). Ini ID numerik yang unik, satu per pengguna. Ketika seorang pengguna log in ke sistem, tahap otentikasi menentukan ID pengguna yang sesuai bagi pengguna. Yang ID pengguna dikaitkan dengan semua proses pengguna dan benang. Ketika sebuah ID harus user dibaca, itu diterjemahkan kembali ke nama pengguna melalui daftar nama pengguna. Dalam beberapa keadaan, kita ingin membedakan antara set pengguna daripada pengguna individu. Misalnya, pemilik sebuah file pada sistem UNIX mungkin diperbolehkan untuk mengeluarkan semua operasi pada file itu, sedangkan set yang dipilih pengguna hanya dapat diizinkan untuk membaca file. Untuk mencapai hal ini, kita perlu mendefinisikan nama kelompok dan kumpulan pengguna milik kelompok itu. fungsi kelompok dapat diimplementasikan sebagai daftar sistem-macam nama kelompok dan pengenal kelompok. Seorang pengguna dapat dalam satu atau lebih kelompok, tergantung pada keputusan desain sistem operasi. ID kelompok pengguna juga termasuk dalam setiap proses terkait dan benang. Dalam perjalanan penggunaan normal dari sistem, user ID dan ID grup untuk pengguna yang cukup. Namun, pengguna kadang-kadang perlu meningkatkan hak untuk mendapatkan izin tambahan untuk suatu kegiatan. pengguna mungkin perlu akses ke perangkat yang dibatasi, misalnya. Sistem operasi menyediakan berbagai metode untuk memungkinkan eskalasi hak istimewa. Pada UNIX, misalnya, atribut setuid pada program menyebabkan program untuk menjalankan dengan ID pengguna dari pemilik file, bukan ID pengguna saat ini. proses berjalan dengan UID efektif sampai mati hak-hak tambahan atau berakhir. Pertimbangkan contoh bagaimana hal ini dilakukan dalam Solaris 10. Pengguna pbg memiliki ID pengguna 101 dan kelompok ID 14, yang ditugaskan melalui / etc / passwd: pbg: x: 101: 14 :: / ekspor / home / pbg: / usr / bin / bash

Sistem Terdistribusi *Sebuah sistem terdistribusi adalah kumpulan yang terpisah secara fisik, sistem komputer mungkin heterogen yang jaringan untuk menyediakan pengguna dengan akses ke berbagai sumber daya yang sistem mempertahankan. Akses ke sumber daya bersama meningkatkan kecepatan komputasi, fungsi, ketersediaan data, dan kehandalan. Beberapa sistem operasi generalisasi akses jaringan sebagai bentuk akses file, dengan rincian networking yang terkandung dalam driver perangkat antarmuka jaringan. Orang lain membuat pengguna khusus memanggil fungsi jaringan. Umumnya, sistem mengandung campuran dari dua mode-misalnya FTP dan NFS. Protokol yang menciptakan sistem terdistribusi dapat sangat mempengaruhi utilitas sistem dan popularitas. Sebuah jaringan, dalam istilah yang paling sederhana, adalah jalur komunikasi antara dua atau lebih sistem. sistem terdistribusi tergantung pada jaringan untuk fungsi mereka. Jaringan bervariasi dengan protokol yang digunakan, jarak antara node, dan media transportasi. TCP / IP adalah protokol jaringan yang paling umum, meskipun ATM dan protokol lainnya yang digunakan secara luas. Demikian juga, dukungan operatingsystem protokol bervariasi. Sebagian besar sistem operasi mendukung TCP / IP, termasuk sistem operasi Windows dan UNIX. Beberapa sistem mendukung protokol proprietary untuk memenuhi kebutuhan mereka. Untuk sistem operasi, protokol jaringan hanya perlu sebuah antarmuka perangkat-adaptor jaringan, untuk misalnya-- dengan driver perangkat untuk mengelolanya, serta perangkat lunak untuk menangani data. Konsep-konsep ini dibahas dalam buku ini

Jaringan ditandai berdasarkan jarak antar node mereka. Sebuah jaringan area lokal (LAN) menghubungkan komputer dalam sebuah kamar, lantai, atau bangunan. Sebuah jaringan wide-area (WAN) biasanya menghubungkan bangunan, kota, atau negara. Sebuah perusahaan global mungkin memiliki WAN untuk menghubungkan kantor di seluruh dunia. Jaringan ini dapat menjalankan satu protokol atau beberapa protokol. Munculnya terus teknologi baru membawa bentuk-bentuk baru dari jaringan. Misalnya, jaringan metropolitan-area (MAN) bisa menghubungkan bangunan di dalam kota. BlueTooth dan 802.11 perangkat menggunakan teknologi nirkabel untuk berkomunikasi melalui jarak beberapa kaki, pada dasarnya menciptakan jaringan-daerah kecil seperti mungkin ditemukan dalam sebuah rumah. Media untuk membawa jaringan sama-sama bervariasi. Mereka termasuk kabel tembaga, helai serat, dan transmisi nirkabel antara satelit, piring microwave, dan radio. Ketika perangkat komputer yang terhubung ke telepon selular, mereka membuat jaringan. Bahkan sangat jarak pendek komunikasi inframerah dapat digunakan untuk jaringan. Pada tingkat dasar, setiap kali komputer berkomunikasi, mereka menggunakan atau membuat jaringan. Jaringan ini juga bervariasi dalam kinerja dan kehandalan mereka. Beberapa sistem operasi telah mengambil konsep jaringan dan sistem terdistribusi lebih jauh dari gagasan menyediakan konektivitas jaringan. Sebuah sistem operasi jaringan adalah sistem operasi yang menyediakan fitur seperti file sharing di jaringan dan itu termasuk skema komunikasi yang memungkinkan proses yang berbeda pada komputer yang berbeda untuk bertukar pesan. Sebuah komputer yang menjalankan sistem operasi jaringan bertindak secara otonom dari semua komputer lain pada jaringan, meskipun menyadari jaringan dan mampu berkomunikasi dengan jaringan komputer lainnya. Sebuah sistem operasi terdistribusi menyediakan lingkungan yang kurang otonom: The operasi yang berbeda sistem berkomunikasi cukup erat untuk memberikan ilusi bahwa hanya satu sistem operasi mengontrol jaringan. Kami menutup jaringan komputer dan sistem terdistribusi dalam Bab 16 sampai 18

Sistem khusus-Purposediskusi sejauh ini difokuskan pada sistem komputer tujuan umum bahwa kita semua akrab dengan. Namun demikian, kelas yang berbeda dari sistem komputer yang fungsinya lebih terbatas dan yang bertujuan untuk menangani domain perhitungan yang terbatas.1.11.1 Sistem Real-Time Tertanamkomputer tertanam adalah bentuk paling umum dari komputer yang ada. Perangkat ini ditemukan di mana-mana, dari mesin mobil dan robot manufaktur untuk VCR dan oven microwave. Mereka cenderung memiliki tugas yang sangat spesifik. Sistem mereka berjalan di biasanya primitif, dan sistem operasi menyediakan fitur terbatas. Biasanya, mereka memiliki antarmuka sedikit atau tidak ada pengguna, lebih memilih untuk menghabiskan waktu mereka memantau dan mengelola perangkat keras, seperti mesin mobil dan lengan robot. Sistem embedded bervariasi. Beberapa tujuan umum komputer, menjalankan sistem-seperti operasi standar UNIX-dengan aplikasi tujuan khusus untuk melaksanakan fungsi tersebut. Lainnya adalah perangkat keras dengan tujuan khusus tertanam sistem operasi menyediakan hanya fungsi yang diinginkan. Namun lain perangkat keras dengan aplikasi-spesifik sirkuit terpadu (ASICs) yang melakukan tugas mereka tanpa sistem operasi. Penggunaan sistem tertanam terus berkembang. Kekuatan perangkat ini, baik sebagai unit mandiri dan sebagai anggota jaringan dan Web, pasti meningkat juga. Bahkan sekarang, seluruh rumah bisa terkomputerisasi, sehingga pusat komputer baik komputer tujuan umum atau tertanam sistem dapat mengontrol pemanasan dan pencahayaan, sistem alarm, dan bahkan pembuat kopi. akses web dapat memungkinkan pemilik rumah untuk memberitahu rumah untuk memanaskan sebelum ia tiba di rumah. Suatu hari, kulkas dapat menghubungi toko kelontong ketika pemberitahuan susu itu hilang. embedded system hampir selalu menjalankan sistem operasi real-time. Sebuah sistem real-time digunakan ketika persyaratan waktu kaku telah ditempatkan pada operasi prosesor atau aliran data; dengan demikian, sering digunakan sebagai alat kontrol dalam aplikasi khusus. Sensor membawa data ke komputer. komputer harus menganalisis data dan mungkin menyesuaikan kontrol untuk memodifikasi input sensor. Sistem yang mengontrol percobaan ilmiah, sistem pencitraan medis, sistem kontrol industri, dan sistem display tertentu sistem realtime. Beberapa sistem mobil-mesin bahan bakar injeksi, pengendali rumah-alat, dan sistem senjata juga sistem real-time. Sebuah sistem real-time telah didefinisikan dengan baik, kendala waktu tetap. Pengolahan mustbe dilakukan dalam batasan yang ditetapkan, atau sistem akan gagal. Misalnya, tidak akan lakukan untuk lengan robot harus diinstruksikan untuk menghentikan setelah itu menabrak mobil itu membangun. Sebuah fungsi sistem real-time dengan benar hanya jika mengembalikan hasil yang benar dalam batasan waktu. Kontras sistem ini dengan sistem time-sharing, di mana hal ini diinginkan (tapi tidak wajib) untuk merespon dengan cepat, atau sistem batch, yang mungkin tidak memiliki kendala waktu sama sekali. Dalam Bab 19, kita menutupi embedded system real-time rinci. Dalam Bab 5, kita mempertimbangkan fasilitas penjadwalan yang diperlukan untuk melaksanakan fungsi real-time dalam sistem operasi. Dalam Bab 9, kita menggambarkan desain manajemen memori untuk komputasi real-time. Akhirnya, dalam Bab 22, kita menggambarkan komponen real-time dari sistem operasi Windows XP.

Sistem MultimediaSebagian besar sistem operasi dirancang untuk menangani data konvensional seperti file teks, program, dokumen pengolah kata, spreadsheet dan. Namun, tren terbaru dalam teknologi adalah penggabungan data multimedia ke dalam sistem komputer. data multimedia terdiri dari file audio dan video serta file konvensional. Data ini berbeda dari data konvensional dalam bahwa data-seperti multimedia sebagai frame video-harus disampaikan (dialirkan) menurut pembatasan tertentu waktu (misalnya, 30 frame per detik). Multimedia menggambarkan berbagai aplikasi yang digunakan populer saat ini. Ini termasuk file audio seperti DVD film MP3, video conferencing, dan klip video pendek dari preview film atau berita-download melalui Internet. aplikasi multimedia mungkin juga termasuk webcast hidup (siaran melalui World Wide Web) dari pidato atau acara olahraga dan bahkan Webcam hidup yang memungkinkan pemirsa di Manhattan untuk mengamati pelanggan di sebuah kafe di Paris. aplikasi multimedia tidak perlu baik audio atau video; bukan, aplikasi multimedia sering kali berisi kombinasi keduanya. Misalnya, film dapat terdiri dari track audio dan video terpisah. Atau aplikasi keharusan multimedia dikirimkan hanya untuk komputer desktop pribadi. Semakin, mereka sedang diarahkan perangkat yang lebih kecil, termasuk PDA dan telepon selular. Misalnya, pedagang saham mungkin memiliki harga saham yang disampaikan secara nirkabel dan secara real time untuk PDA-nya. Dalam Bab 20, kami mengeksplorasi tuntutan aplikasi multimedia, bagaimana data multimedia berbeda dari data konvensional, dan bagaimana sifat data tersebut mempengaruhi desigii dari sistem operasi yang mendukung persyaratan sistem multimedia.

Sistem genggam
sistem genggam termasuk asisten pribadi digital (PDA), seperti Palm dan Pocket-PC, dan telepon seluler, banyak yang menggunakan sistem operasi tujuan khusus tertanam. Pengembang sistem genggam dan aplikasi menghadapi banyak tantangan, yang sebagian besar adalah karena ukuran terbatas perangkat tersebut. Misalnya, PDA biasanya sekitar 5 inci tinggi dan 3 inci lebar, dan berat kurang dari satu-setengah pon. Karena ukuran mereka, sebagian besar perangkat genggam memiliki sejumlah kecil memori, prosesor lambat, dan layar tampilan kecil. Kami akan lihat sekarang di masing-masing keterbatasan ini. Jumlah memori fisik dalam genggam tergantung pada perangkat, tetapi biasanya adalah suatu tempat antara 512 KB dan 128 MB. (Kontras ini dengan PC biasa atau workstation, yang mungkin memiliki beberapa gigabyte memori!) Akibatnya, sistem operasi dan aplikasi harus mengelola memori secara efisien. Ini termasuk kembali semua memori yang dialokasikan kembali ke memori Manajer bila memori tidak digunakan. Dalam Bab 9, kita akan mengeksplorasi memori virtual, yang memungkinkan pengembang untuk menulis program yang berperilaku seolah-olah sistem memiliki memori lebih dari yang tersedia secara fisik. Saat ini, tidak banyak perangkat genggam menggunakan teknik memori virtual, sehingga para pengembang program harus bekerja dalam batas-batas dari memori fisik terbatas. Isu kedua yang menjadi perhatian pengembang perangkat genggam adalah kecepatan prosesor yang digunakan dalam perangkat. Prosesor untuk sebagian besar perangkat genggam menjalankan di sebagian kecil dari kecepatan prosesor di PC. prosesor yang lebih cepat membutuhkan daya lebih. Untuk menyertakan prosesor yang lebih cepat di perangkat genggam akan membutuhkan baterai yang lebih besar, yang akan mengambil lebih banyak ruang dan harus diganti (atau diisi ulang) lebih sering. Kebanyakan perangkat genggam menggunakan lebih kecil, prosesor lebih lambat yang mengkonsumsi daya yang lebih kecil. Oleh karena itu, sistem operasi dan aplikasi harus didesain untuk tidak pajak prosesor. Isu terakhir menghadapi perancang program untuk perangkat genggam adalah I / O. Kurangnya metode masukan batas ruang fisik untuk keyboard kecil, pengenalan tulisan tangan, atau kecil keyboard berbasis layar. Tampilan layar kecil membatasi pilihan output. Sedangkan monitor untuk komputer rumah dapat mengukur sampai 30 inci, layar untuk perangkat genggam sering tidak lebih dari 3 inci persegi. tugas akrab, seperti membaca e-mail dan browsing halaman web, harus diringkas menjadi display yang lebih kecil. Salah satu pendekatan untuk menampilkan konten dalam halaman web adalah web kliping, di mana hanya sebagian kecil dari halaman web yang disampaikan dan ditampilkan pada perangkat genggam Beberapa perangkat genggam menggunakan teknologi nirkabel, seperti Bluetooth atau 802,11, yang memungkinkan akses jarak jauh ke e-mail dan web browsing. telepon seluler dengan konektivitas ke Internet termasuk dalam kategori ini. Namun, untuk PDA yang tidak menyediakan akses nirkabel, download data biasanya mengharuskan pengguna untuk pertama men-download data ke PC atau workstation dan kemudian men-download data ke PDA. Beberapa PDA memungkinkan data yang akan langsung disalin dari satu perangkat ke perangkat lain menggunakan link inframerah. Secara umum, keterbatasan dalam fungsi PDA seimbang dengan kenyamanan dan portabilitas mereka. Penggunaan mereka terus berkembang sebagai koneksi jaringan menjadi lebih tersedia dan pilihan lain, seperti kamera digital dan MP3 player, memperluas utilitas mereka.
Lingkungan komputasi
Sejauh ini, kami telah menyediakan gambaran organisasi komputer-sistem dan komponen sistem operasi utama. Kami menyimpulkan dengan gambaran singkat tentang bagaimana ini digunakan dalam berbagai lingkungan komputasi.
1.12.1 Tradisional Computing
Sebagai komputasi matang, garis yang memisahkan banyak lingkungan komputasi tradisional kabur. Pertimbangkan "lingkungan kantor yang khas." Hanya beberapa tahun yang lalu, lingkungan ini terdiri dari PC yang terhubung ke jaringan, dengan server menyediakan layanan file dan print. Akses remote canggung, dan portabilitas dicapai dengan penggunaan komputer laptop. Terminal melekat mainframe yang lazim di banyak perusahaan juga, dengan akses remote bahkan lebih sedikit dan pilihan portabilitas.

Kecenderungan saat ini adalah menuju menyediakan lebih banyak cara untuk mengakses lingkungan komputasi ini. teknologi web peregangan batas-batas komputasi tradisional. Perusahaan membangun portal, yang menyediakan aksesibilitas web untuk server internal mereka. jaringan komputer pada dasarnya terminal yang memahami komputasi berbasis web. komputer genggam dapat melakukan sinkronisasi dengan PC untuk memungkinkan penggunaan yang sangat portabel informasi perusahaan. PDA genggam juga dapat terhubung ke jaringan nirkabel menggunakan portal web perusahaan (serta sumber daya web segudang lainnya). Di rumah, sebagian besar pengguna memiliki satu komputer dengan koneksi yang lambat modem ke kantor, internet, atau keduanya. Hari ini, kecepatan jaringan-koneksi sekali tersedia hanya dengan biaya besar relatif murah, memberikan pengguna rumah lebih banyak akses ke data yang lebih. Ini koneksi data yang cepat yang memungkinkan komputer rumah untuk melayani sampai halaman web dan untuk menjalankan jaringan yang mencakup printer, PC client, dan server. Beberapa rumah bahkan memiliki firewall untuk melindungi jaringan mereka dari pelanggaran keamanan. Mereka firewall biaya ribuan dolar beberapa tahun yang lalu dan bahkan tidak ada satu dekade lalu. Pada paruh kedua abad sebelumnya, sumber daya komputasi yang langka. (Sebelum itu, mereka tidak ada!) Untuk periode waktu, sistem yang baik batch atau interaktif. sistem batch diproses pekerjaan dalam jumlah besar, dengan masukan yang telah ditentukan (dari file atau sumber data lainnya). sistem interaktif menunggu masukan dari pengguna. Untuk mengoptimalkan penggunaan sumber daya komputasi, beberapa pengguna berbagi waktu pada sistem ini. sistem waktu-berbagi menggunakan timer dan penjadwalan algoritma untuk cepat proses siklus melalui CPU, memberikan setiap pengguna bagian dari sumber daya. Hari ini, sistem time-sharing tradisional jarang terjadi. Teknik penjadwalan yang sama masih digunakan pada workstation dan server, tetapi sering proses semua dimiliki oleh pengguna yang sama (atau satu pengguna dan sistem operasi). proses pengguna, dan proses sistem yang memberikan layanan kepada pengguna, dikelola sehingga setiap sering mendapat sepotong waktu komputer. Pertimbangkan jendela dibuat sementara pengguna bekerja pada PC, misalnya, dan fakta bahwa mereka dapat melakukan tugas yang berbeda pada waktu yang sama.

Server Computing klien
Sebagai PC menjadi lebih cepat, lebih kuat, dan lebih murah, desainer telah bergeser jauh dari arsitektur sistem terpusat. Terminal terhubung ke sistem terpusat yang sekarang sedang digantikan oleh PC. Sejalan dengan itu, fungsi userinterface sekali ditangani langsung oleh sistem terpusat semakin banyak ditangani oleh PC. Akibatnya, banyak dari sistem todays bertindak sebagai sistem server untuk memenuhi permintaan yang dihasilkan oleh sistem klien. Bentuk sistem terdistribusi khusus, yang disebut sistem client-server, memiliki struktur umum digambarkan pada Gambar 1.11. sistem server dapat dikategorikan sebagai server komputasi dan file server:

• Sistem menghitung-server menyediakan sebuah antarmuka yang klien dapat mengirim permintaan untuk melakukan tindakan (misalnya, membaca data); dalam menanggapi, server mengeksekusi tindakan dan mengirimkan kembali hasilnya ke klien. Sebuah server yang menjalankan database yang merespon permintaan klien untuk data adalah contoh dari svstem tersebut.

• Sistem file-server menyediakan antarmuka file sistem di mana klien dapat membuat, memperbarui, membaca, dan menghapus file. Contoh dari sistem tersebut adalah server web yang memberikan file ke klien menjalankan web browser

Peer-to-Peer Computing
Struktur lain untuk sistem terdistribusi adalah (P2P) model sistem peer-to-peer. Dalam model ini, klien dan server tidak dibedakan dari satu sama lain; sebaliknya, semua node dalam sistem dianggap rekan-rekan, dan masing-masing dapat bertindak baik sebagai klien atau server, tergantung pada apakah itu meminta atau memberikan layanan. Peer-to-peer sistem menawarkan keuntungan lebih dari sistem client-server tradisional. Dalam sistem client-server, server adalah hambatan; tetapi dalam sistem peer-to-peer, layanan dapat disediakan oleh beberapa simpul yang tersebar di jaringan. Untuk berpartisipasi dalam sistem peer-to-peer, simpul pertama harus bergabung dengan jaringan rekan-rekan. Setelah node telah bergabung jaringan, itu dapat mulai memberikan layanan kepada-dan meminta layanan dari-lain node dalam jaringan. Menentukan layanan apa yang tersedia adalah dicapai dalam satu dari dua cara umum

• Ketika sebuah node bergabung jaringan, itu register layanan dengan layanan pencarian terpusat pada jaringan. Setiap node menginginkan layanan tertentu kontak pertama layanan pencarian terpusat ini untuk menentukan simpul menyediakan layanan. Sisa komunikasi berlangsung antara klien dan penyedia layanan.
• Sebuah rekan bertindak sebagai klien pertama harus menemukan apa simpul menyediakan layanan yang diinginkan oleh penyiaran permintaan untuk layanan ke semua node lainnya dalam jaringan. Node (atau node) memberikan pelayanan yang tanggap terhadap rekan membuat permintaan tersebut. Untuk mendukung pendekatan ini, protokol penemuan harus disediakan yang memungkinkan rekan-rekan untuk menemukan layanan yang diberikan oleh rekan-rekan lain dalam jaringan.

jaringan peer-to-peer mendapatkan popularitas yang luas di akhir 1990-an dengan beberapa layanan file-sharing, seperti Napster dan Gnutella, yang memungkinkan rekan-rekan untuk bertukar file dengan satu sama lain. Sistem Napster menggunakan pendekatan yang sama dengan tipe pertama yang dijelaskan di atas: server terpusat mempertahankan indeks dari semua file yang tersimpan pada node rekan di jaringan Napster, dan sebenarnya bertukar file berlangsung antara node rekan. Sistem Gnutella menggunakan teknik yang sama untuk jenis kedua: a siaran klien permintaan berkas ke node lain dalam sistem, dan node yang dapat melayani permintaan merespon langsung ke klien. Masa depan bertukar file masih belum jelas karena banyak file yang dilindungi hak cipta (music, misalnya), dan ada hukum-hukum * mengatur distribusi materi berhak cipta. Dalam hal apapun, meskipun, teknologi peerto-rekan pasti akan memainkan peran di masa depan banyak sendees, seperti pencarian, pertukaran file, dan e-mail.1.12.4 Komputasi Berbasis WebWeb telah menjadi mana-mana, yang mengarah ke lebih banyak akses oleh berbagai perangkat yang lebih luas dari yang bermimpi beberapa tahun yang lalu. PC masih merupakan perangkat akses yang paling umum, dengan workstation, PDA genggam, dan bahkan ponsel juga menyediakan akses. komputasi web telah meningkatkan penekanan pada jaringan. Perangkat yang sebelumnya tidak jaringan sekarang termasuk kabel atau akses nirkabel. Perangkat yang jaringan sekarang memiliki konektivitas yang lebih cepat jaringan, yang disediakan oleh salah satu teknologi jaringan ditingkatkan, dioptimalkan kode implementasi jaringan, atau keduanya. Pelaksanaan komputasi berbasis web telah melahirkan kategori baru perangkat, seperti balancers beban, yang mendistribusikan koneksi jaringan antara kolam server yang sama. sistem operasi seperti Windows 95, yang bertindak sebagai klien web, telah berkembang menjadi Linux dan Windows XP, yang dapat bertindak sebagai server web serta klien. Umumnya, Web telah meningkatkan kompleksitas perangkat, karena pengguna mereka meminta mereka untuk menjadi web-enabled.


1.13 RingkasanSebuah sistem operasi adalah perangkat lunak yang mengelola perangkat keras komputer serta menyediakan lingkungan untuk program aplikasi untuk menjalankan. Mungkin aspek yang paling terlihat dari sebuah sistem operasi adalah antarmuka ke sistem komputer, ia menyediakan untuk pengguna manusia. Untuk komputer untuk melakukan tugasnya melaksanakan program, program harus berada di memori utama. memori utama adalah satu-satunya tempat penyimpanan besar yang prosesor dapat mengakses langsung. Ini adalah sebuah array dari kata-kata atau byte, ukuran mulai dari jutaan hingga miliaran. Setiap kata dalam memori memiliki alamat sendiri. Memori utama biasanya perangkat penyimpanan volatile yang kehilangan isinya ketika power dimatikan atau hilang. Kebanyakan sistem komputer menyediakan penyimpanan sekunder sebagai perpanjangan dari memori utama. penyimpanan sekunder menyediakan bentuk penyimpanan non-volatile yang mampu memegang sejumlah besar data secara permanen. Perangkat sekunder penyimpanan yang paling umum adalah disk magnetik, yang menyediakan penyimpanan kedua program dan data. Berbagai macam sistem penyimpanan dalam sistem komputer dapat diatur dalam hirarki sesuai dengan kecepatan dan biaya. Tingkat yang lebih tinggi yang mahal, tapi mereka cepat. Ketika kita bergerak ke bawah hirarki, biaya per bit generallydecreases, sedangkan waktu akses umumnya meningkat. Ada beberapa strategi yang berbeda untuk merancang sebuah sistem komputer. sistem prosesor tunggal hanya memiliki satu prosesor, sementara sistem multiprosesor berisi dua atau lebih prosesor yang berbagi memori fisik dan perangkat periferal. Desain multiprosesor paling umum adalah simetris multiprocessing (atau SMP), di mana semua prosesor yang rekan-rekan dan menjalankan dianggap independen satu sama lain. sistem Clustered adalah bentuk khusus dari sistem multiprosesor dan terdiri dari beberapa sistem komputer yang terhubung dengan jaringan area lokal. Terbaik untuk memanfaatkan CPU, sistem operasi modern menggunakan multiprogramming / yang memungkinkan beberapa pekerjaan untuk berada di memori pada saat yang sama, sehingga memastikan CPU selalu memiliki pekerjaan untuk mengeksekusi. sistem time sharing adalah perpanjangan dari multiprogramming dimana algoritma penjadwalan CPU cepat beralih antara pekerjaan, sehingga memberikan ilusi setiap pekerjaan berjalan secara bersamaan. Sistem operasi harus memastikan operasi yang benar dari sistem komputer. Untuk mencegah program pengguna dari mengganggu operasi yang tepat dari sistem, perangkat keras memiliki dua mode: mode pengguna dan kernel mode. Berbagai petunjuk (seperti I / O petunjuk dan instruksi berhenti) yang istimewa dan dapat dijalankan hanya dalam mode kernel. Memori yang bertempat tinggal sistem operasi juga harus dilindungi dari modifikasi oleh pengguna. Sebuah timer mencegah loop tak terbatas. Fasilitas ini (dual mode, instruksi istimewa, perlindungan memori, dan timer interrupt) adalah blok bangunan dasar yang digunakan oleh sistem operasi untuk mencapai operasi yang benar. Sebuah proses (atau pekerjaan) adalah unit dasar kerja dalam sistem operasi. proses manajemen termasuk menciptakan dan proses menghapus dan menyediakan mekanisme untuk proses untuk berkomunikasi dan melakukan sinkronisasi dengan yang lain. Sebuah sistem operasi mengelola memori dengan melacak apa bagian dari memori yang sedang digunakan dan oleh siapa. Sistem operasi ini juga bertanggung jawab untuk secara dinamis mengalokasikan dan membebaskan ruang memori. ruang penyimpanan juga dikelola oleh sistem operasi dan ini termasuk menyediakan sistem file untuk mewakili file dan direktori dan mengelola ruang pada perangkat penyimpanan massal. Sistem operasi juga harus peduli dengan melindungi dan mengamankan sistem operasi dan pengguna. Perlindungan mekanisme yang mengontrol akses dari proses atau pengguna ke sumber daya yang disediakan oleh sistem komputer. langkah-langkah keamanan yang bertanggung jawab untuk membela sistem komputer dari serangan eksternal atau internal

sistem terdistribusi memungkinkan pengguna untuk berbagi sumber daya pada geografis host terhubung melalui jaringan komputer. Layanan dapat diberikan baik melalui model client-server atau model peer-to-peer. Dalam sistem berkerumun, beberapa mesin dapat melakukan perhitungan pada data yang berada pada penyimpanan bersama, dan komputasi dapat terus bahkan ketika beberapa bagian dari anggota cluster gagal. LAN dan WAN adalah dua jenis dasar jaringan. LAN memungkinkan prosesor didistribusikan di wilayah geografis yang kecil untuk berkomunikasi, sedangkan WAN memungkinkan prosesor didistribusikan di wilayah yang lebih besar untuk berkomunikasi. LAN biasanya lebih cepat dari WAN. Ada beberapa sistem komputer yang melayani tujuan tertentu. Ini termasuk sistem operasi real-time yang dirancang untuk lingkungan tertanam seperti perangkat konsumen, mobil, dan robotika. sistem operasi real-time telah didefinisikan dengan baik, kendala waktu tetap. Pengolahan harus dilakukan dalam batasan yang ditetapkan, atau sistem akan gagal. sistem multimedia melibatkan pengiriman data multimedia dan sering memiliki persyaratan khusus menampilkan atau memutar audio, video, atau disinkronkan audio dan video stream. Baru-baru ini, pengaruh Internet dan World Wide Web telah mendorong pengembangan sistem operasi modern yang menyertakan web browser dan jaringan dan perangkat lunak komunikasi sebagai fitur yang tidak terpisahkan.

1 comment: