Anda di halaman 1dari 34

TINJAUAN

Sistem operasi bertindak sebagai perantara antara pengguna komputer dan perangkat
keras komputer. Tujuan dari sebuah sistem operasi adalah untuk menyediakan
lingkungan di mana pengguna dapat menjalankan program dengan cara yang mudah dan
efisien.
Sistem operasi adalah perangkat lunak yang mengelola perangkat keras komputer.
Dukungan yang ketat terhadap mekanisme keamanan memungkinkan pengoperasian
sistem komputer yang benar dan untuk mencegah agar program pengguna tidak
mengganggu pengoperasian sistem yang tepat.
Secara internal, sistem operasi sangat bervariasi dalam riasan mereka, karena semuanya
diatur dengan berbagai garis. Perancangan sistem operasi baru merupakan tugas utama.
Adalah penting bahwa tujuan sistem didefinisikan dengan baik sebelum desain dimulai.
Tujuan ini membentuk dasar untuk pilihan di antara berbagai algoritma dan strategi.

Karena sistem operasi itu besar dan rumit, maka harus dibuat sepotong demi sepotong.
Masing-masing bagian ini harus merupakan bagian sistem yang digambarkan dengan
baik, dengan masukan, keluaran, dan fungsi yang didefinisikan.
CHAPTER 1 INTRUDUCTION
Sistem operasi adalah program yang mengelola perangkat keras komputer. Ini juga
menyediakan dasar untuk program aplikasi dan bertindak sebagai perantara antara
pengguna komputer dan perangkat keras komputer. Membujuk sistem operasi adalah
bagaimana mereka bervariasi dalam menyelesaikan tugas ini. Sistem operasi mainframe
dirancang secara proporsional untuk mengoptimalkan perangkat keras. Sistem operasi
komputer pribadi (PC) mendukung permainan kompleks, aplikasi bisnis, dan segala
sesuatu di antaranya. Sistem operasi untuk komputer bergerak menyediakan lingkungan
di mana pengguna dapat dengan mudah berinteraksi dengan program executut
computerto. Dengan demikian, beberapa sistem operasi dirancang agar mudah, yang lain
menjadi efisien, dan yang lainnya menjadi kombinasi keduanya.
1.1 What Operating Systems Do

Kami memulai diskusi kami dengan melihat peran sistem operasi di keseluruhan sistem
komputer. Sistem komputer dapat dibedakan secara keseluruhan dari komponen kami:
perangkat keras, sistem operasi, program aplikasi, dan pengguna (Gambar 1.1).
Perangkat pemrosesan perangkat keras-thecentral (CPU), thememory, dan perangkat
input / output (I / O) - menyediakan sumber daya komputasi dasar untuk sistem.
Program aplikasi-seperti pengolah kata, spreadsheet, kompiler, dan browser Web-
menentukan cara sumber daya ini digunakan untuk mengatasi masalah komputasi
pengguna. Sistem operasi mengendalikan perangkat keras dan pegawainya
menggunakan berbagai program aplikasi untuk berbagai pengguna.
Kita juga bisa melihat sistem komputer yang terdiri dari perangkat keras, perangkat
lunak, dan data. Sistem operasi menyediakan sarana penggunaan yang tepat dari sumber
daya ini dalam pengoperasian sistem komputer. Sistem operasi adalah
similartoagovernment.Likeagovernment, itperformsnousefulfunctionful
itself.Itimplyprovidesan environment dimana program lain berguna.

1.1.1Tampilan Pengguna
Tampilan pengguna komputer bervariasi sesuai dengan antarmuka yang digunakan.
Sebagian besar pengguna komputer duduk di depan PC, terdiri dari monitor, keyboard,
mouse, dan unit sistem. Sistem seperti ini dirancang untuk satu untuk memonopoli
sumber dayanya.
Tujuannya adalah memaksimalkan pekerjaan (atau bermain) yang dilakukan pengguna.
Dalam kasus ini, sistem operasi dirancang sebagian besar untuk kemudahan penggunaan,
dengan beberapa perhatian diberikan pada kinerja dan tidak ada yang berbayar untuk
pemanfaatan sumber daya - bagaimana berbagai sumber daya perangkat keras dan
perangkat lunak dibagikan. Kinerja tentu saja penting bagi pengguna; namun sistem
seperti itu dioptimalkan untuk pengalaman pengguna tunggal daripada persyaratan
beberapa pengguna.

Beberapa komputer memiliki sedikit atau tanpa tampilan pengguna. Misalnya, komputer
yang disematkan di perangkat rumah dan mobil mungkin memiliki keypad numerik dan
mungkin juga mengingatkan lampu belakang, namun, dan sistem operasi mereka
dirancang terutama agar tidak berjalan tanpa campur tangan pengguna.
Dalam kasus lain, pengguna duduk di stasiun kerja yang terhubung ke jaringan
workstation dan server lain. Pengguna ini telah mendedikasikan sumber daya yang
mereka miliki, namun mereka juga berbagi sumber daya seperti jaringan dan server,
termasuk file, menghitung, dan sidik jari. Oleh karena itu, sistem operasi mereka
dirancang untuk mengendalikan kemampuan perorangan dan pemanfaatan sumber
daya. Baru-baru ini, banyak jenis komputer mobile, seperti smartphone dan tablet, yang
memiliki banyak pilihan. Sebagian besar pengguna komputer sangat rentan terhadap
pengguna individual. Cukup banyak, mereka menghubungkan jaringan telepon melalui
jaringan seluler atau teknologi nirkabel lainnya. Semakin banyak, komputer ini memiliki
komputer desktop dan laptop untuk orang-orang yang terutama tertarik untuk
menggunakan komputer untuk e-mail dan penjelajahan web. Antarmuka pengguna untuk
komputer mobile biasanya memiliki layar sentuh, di mana pemutar Anda berinteraksi
dengan sistem dengan menekan dan menggesekkan jari-jari di layar daripada
menggunakan keyboard dan mouse fisik.

1.1.2 Tampilan Sistem


Dari sudut 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. Sistem komputer
memiliki banyak sumber daya yang mungkin diperlukan untuk
memecahkan masalah: waktu CPU, ruang memori, ruang penyimpanan,
perangkat I / O, dan sebagainya. Sistem operasi bertindak sebagai manajer
atas sumber daya tersebut. Memeriksanilai dan mungkin memenuhi
permintaan untuk sumber daya, sistem operasi harus segera memantau
keseluruhan program dan pengguna sehingga dapat mengoperasikan sistem
komputer secara efisien dan memadai.
Tampilan yang sedikit berbeda dari sistem operasi menekankan perlunya
mengendalikan berbagai perangkat I / O dan program pengguna. Sistem
operasi adalah program kontrol. Program pengendalian mengelola eksekusi
program pengguna ke preventerrors dan penggunaan komputer yang tidak
semestinya. Hal ini terutama berkaitan dengan operasi dan pengendalian
perangkat I / O.

1.1.3 Mendefinisikan Sistem Operasi


Bynow, Anda dapat dengan mudah mengetahui bagaimana mengoperasikan sistem di
banyak fungsi dan fungsi. Begitulah, setidaknya sebagian, karena banyaknya desain dan
penggunaan komputer. Komputer hadir dalam pemanggang roti, mobil, kapal, pesawat
ruang angkasa, rumah, dan bisnis. Diambilan dasar untuk senapan, pemutar musik,
penyetel TV kabel, dan sistem kontrol industri. Meski komputer memiliki sejarah yang
relatif singkat, mereka berkembang dengan cepat. Komputasi dimulai sebagai percobaan
untuk menentukan apa yang bisa dilakukan dan dengan cepat dipindahkan ke sistem
tujuan tetap untuk keperluan militer, seperti pemecahan kode dan perencanaan lintasan,
dan penggunaan pemerintah, seperti perhitungan sensus. Komputer-komputer awal itu
berevolusi menjadi mainframe multifungsi, tujuan umum, dan sistem operasi saat itu.
Pada tahun 1960-an, Moore mengakui bahwa jumlah transistor di sirkuit terpadu akan
berlipat ganda setiap delapan belas bulan, dan prediksi tersebut telah benar. Komputer
didapat dalam fungsionalitas dan menyusut dalam ukuran, menyebabkan sejumlah besar
kegunaan dan sejumlah besar dan berbagai sistem operasi.
1.2 Organisasi Sistem Komputer
Operasi Sistem Komputer Sistem komputer tujuan umum modern terdiri dari satu
atau lebih CPU dan sejumlah perangkat pengendali terhubung melalui bus umum
yang menyediakan akses ke memori bersama (Gambar 1.2). Setiap pengontrol
perangkat bertanggung jawab atas jenis perangkat tertentu (misalnya, disk drive,
perangkat audio, atau display video). CPU dan perangkat pengendali dapat
mengeksekusi secara paralel, perlengkapan persaingan yang bersaing. Pengaman
yang bisa dilakukan pada peringatan yang tepat, pengendali memori
mensinkronisasi
Agar komputer mulai berjalan-misalnya, saat dinyalakan atau dihidupkan ulang-
perlu ada program awal yang harus dijalankan. Program awal ini, atau program
bootstrap, cenderung sederhana. Biasanya, perangkat ini tersimpan di dalam
perangkat keras komputer dalam memori hanya-baca (ROM) atau memori baca-
tulis yang dapat dihapus secara elektrik (EEPROM) yang dapat dihapus, yang
dikenal dengan istilah umum perangkat keras. Ini menginisialisasi semua aspek
sistem, dari register CPU hingga perangkat yang saling terkait. Catatan
bootstrapprogrammengetahui bagaimana melakukan load sistem operasi dan
bagaimana memulai menjalankan sistem itu.
Tujuan ini, program bootstrap harus mencari kernel sistem operasi dan
memasukkannya ke dalam memori. Setelah kernel dimuat dan dijalankan, ia
dapat mulai menyediakan layanan ke sistem dan penggunanya. Beberapa
layanan disediakan di luar kernel, oleh program sistem yang dimasukkan ke
memori pada saat boot untuk menjadi proses sistem, atau dasmon sistem
yang menjalankan seluruh waktu kernel berjalan. Pada UNIX, proses sistem
pertama adalah "init", dan mulai banyak dasmon lainnya. Setelah fase ini
selesai, sistem sepenuhnya di-boot, dan sistem menunggu beberapa
kejadian terjadi.
Terjadinya eventis biasanya ditandai oleh interupsi baik hardware maupun
software. Hardware dapat memicu interupsi setiap saat dengan
mengirimkan sinyal ke CPU, biasanya dengan cara bus sistem. Perangkat
lunak dapat memicu interupsi dengan menjalankan operasi khusus yang
disebut panggilan sistem (disebut juga panggilan monitor).
Bila CPU terganggu, berhenti melakukan apa dan segera memindahkan
eksekusi ke lokasi yang diperbaiki. Lokasi tetap biasanya berisi alamat awal
dimana rutinitas layanan untuk interrupt berada. Layanan rutin interupsi
dijalankan; Setelah selesai, CPU melanjutkan perhitungan terputus. Garis
waktu operasi ini ditunjukkan pada Gambar.
Menginterupsi sebagian besar arsitektur komputer. Desain komputer
memiliki mekanisme interupsi tersendiri, namun beberapa fungsi umum
terjadi. Interinterfrensi transferterdapatuntukmenginterupsipelatihan
ketat. Metode langsung untuk menangani transfer ini adalah dengan
meminta rutinitas umum untuk memeriksa informasi interupsi.
Rutinitasnya, pada gilirannya, akan menjadi pilihan yang paling tepat.
Namun, interruptsmustbehandled dengan cepat. Karena hanya sejumlah
kemungkinan interupsi yang mungkin terjadi, tabel pointer ke rutinitas
interupsi dapat digunakan sebagai pengganti untuk memberikan kecepatan
yang diperlukan. Rutin interupsi disebut secara tidak langsung melalui meja,
tanpa rutinitas perantara yang dibutuhkan. Umumnya, tabel pointer
disimpan dalam ingatan rendah (yang paling lambat ratusanorsolokasi)
Lokasi ini shold alamat dari rutinitas layanan interupsi sebagainya
perangkat evarious.

Struktur Penyimpanan
CPU hanya dapat memuat instruksi dari memori, jadi setiap program yang dijalankan
harus disimpan di sana. Komputer tujuan umum menjalankan sebagian besar program
mereka dari penulisan ulang, yang disebutmainmemory (juga disebut random-
accessmemory, atau RAM). Memori utama umumnya diimplementasikan dalam
teknologi semikonduktor yang disebut dynamic random access memory (DRAM).
Komputer menggunakan bentuk memori yang lebih baik. Memori read-only yang tidak
terukur, ROM) dan memori read-only yang dapat diprogram secara elektrik, EEPROM).
Karena hanya beberapa program mekanis, seperti program bootstrap yang dijelaskan
sebelumnya, disimpan di sana. Ketidakmampuan ROM digunakan pada cartridges game.
EEPROM dapat diubah tetapi tidak dapat diubah sering dan sebagian besar berisi
program statis. Misalnya, smartphone memiliki EEPROM untuk menyimpan program
yang diinstal pabrik mereka.
Idealnya, kita menginginkan program dan data berada dalam memori utama secara
permanen. Pengaturan ini biasanya tidak mungkin karena dua alasan berikut:
1. Memori utama biasanya terlalu kecil untuk menyimpan semua program dan data yang
dibutuhkan secara permanen.
2. Memori utama adalah perangkat penyimpanan yang mudah menguap yang kehilangan
isinya saat daya dimatikan atau hilang
Berbagai macam sistem penyimpanan dapat diatur dalam hirarki (Gambar 1.4) sesuai
dengan kecepatan dan biaya. Tingkat yang lebih tinggi mahal, tapi cepat. Saat kita
bergerak ke bawah hierarki, biaya per bit pada umumnya menurun, sedangkan waktu
akses umumnya meningkat. Perdagangan ini masuk akal; Jika sistem penyimpanan yang
diberikan lebih cepat dan lebih murah daripada properti lain yang sama, maka tidak ada
alasan untuk menggunakan memori yang lebih lambat dan lebih mahal. Padahal, banyak
perangkat penyimpan awal, termasuk kertas rekaman dan kenangan inti, terdegradasi ke
museum sekarang karena magnet dan memori semikonduktor telah menjadi lebih cepat
dan lebih murah.

Struktur I/O
Penyimpanan hanya satu dari sekian banyak jenis perangkat I / O di dalam
komputer. Sebagian besar kode sistem operasi didedikasikan untuk
mengelola I / O, keduanya karena
dari pentingnya untuk ada kewajiban dan kinerja suatu sistem dan karena
sifat yang berbeda dari perangkat. Selanjutnya, kami memberikan ikhtisar
dari I / O.
Sistem komputer tujuan umum terdiri dari CPU dan beberapa perangkat
pengendali yang terhubung melalui bus umum.
Setiap pengontrol perangkat bertanggung jawab atas jenis perangkat
tertentu. Bergantung pada kontroler, lebih dari satu perangkat mungkin
terpasang.
Misalnya, tujuh perangkat atau lebih dapat dihubungkan ke pengontrol
sistem komputer kecil (SCSI) controller.
Pengontrol perangkat menyimpan beberapa penyangga buffer lokal dan
satu set register tujuan khusus.
Pengontrol perangkat bertanggung jawab untuk memindahkan data antara
perangkat periferal yang dikontrolnya dan penyimpanan buffer lokalnya.
Biasanya, sistem operasi memiliki driver perangkat untuk setiap pengontrol
perangkat. Driver perangkat ini mengerti pengontrol perangkat dan
menyediakan sistem perimbangan theo dengan antarmuka.

Arsitektur Sistem Komputer


Pada Bagian1.2, kami memperkenalkan struktur umum dari sebuah sistem
komputer yang khas. Sistem komputer bisa diatur dengan berbagai cara,
yang mana kita dapat mengkategorikan kira-kira sesuai dengan jumlah
prosesor tujuan umum yang digunakan

Sistem Prosesor tunggal


Sampai saat ini, sebagian besar sistem komputer menggunakan satu
prosesor. Pada sistem prosesor tunggal, ada satu CPU utama yang mampu
mengeksekusi set instruksi tujuan umum, termasuk instruksi
dari proses pengguna Hampir semua sistem prosesor tunggal memiliki
prosesor tujuan khusus lainnya.
Mereka mungkin datang dalam bentuk perangkat prosesor tertentu, seperti
disk, keyboard, dan pengendali grafis atau, pada mainframe, mereka
mungkin datang dalam bentuk prosesor yang lebih umum,seperti prosesor I
/ O yang memindahkan data dengan cepat.

Sistem multiprocesor
Dalam beberapa tahun terakhir, sistem multi prosesor (juga dikenal sebagai
sistem paralel atau sistem multicore)
telah mulai mendominasi lanskap komputasi.Sistem tersebut memiliki dua
atau lebih prosesor dalam komunikasi yang erat,
berbagi bus komputer dan terkadang jam, memori, dan perangkat periferal.
Sistem multiprosesor pertama kali muncul muncul di server dan sejak itu
bermigrasi ke sistem desktop dan laptop.Baru-baru ini, beberapa prosesor
telah muncul di perangkat seluler seperti ponsel cerdas dan komputer
tablet.
Beberapa sistem prosesor yang digunakan saat ini terdiri dari dua jenis.
Beberapa sistem menggunakan simetris multi processing,
di mana setiap prosesor diberi tugas tertentu. Pengendali bos juga
mengendalikan sistem prosesor lain
lihat ke atasan untuk instruksi atau memiliki tugas yang telah ditentukan.
Skema ini mendefinisikan hubungan bos-pekerja.
Jadwal prosesor bos dan mengalokasikan pekerjaan ke pengolah kerja.
Akhirnya, server blade adalah perkembangan yang relatif baru di mana
beberapa papan prosesor, papan I / O,
dan papan jaringan ditempatkan di chassis yang sama. Perbedaan antara ini
dan tradisional
sistem multiprosesor adalah masing-masing papan prosesor blade secara
mandiri dan menjalankan sistem operasinya sendiri. Papan server web
adalah multiprosesor juga,yang mengaburkan garis antara jenis komputer

Sistem Clustered
Tipe lain dari sistem multiprosesor adalah sistem berkerumun, yang
mengumpulkan banyak CPU.
Sistem klaster berbeda dari sistem multiprosesor yang dijelaskan pada
Bagian 1.3.2 di dalamnya
mereka terdiri dari dua atau lebih sistem individu ornodes bergabung
bersama-sama.Sistem ini dipertimbangkan
Hubungan renggang. Setiap node mungkin merupakan sistem prosesor
tunggal atau sistem multicore. Kita harus mencatat itu
Definisi berkerumun tidak konkret; Banyak paket komersial bergulat
dengan mendefinisikan sistem berkerumun
dan mengapa satu bentuk lebih baik dari yang lain. Definisi yang berlaku
umum adalah bahwa komputer berkerumun berbagi
penyimpanan dan terkait erat melalui LAN area lokal
(seperti yang dijelaskan pada Bab 17) atau interkoneksi yang lebih cepat,
seperti In fi niBand.
Clustering dapat disusun secara asimetris atau simetris. Dalam
pengelompokan asimetris,
satu mesin adalah mode inhot-standby sedangkan yang lainnya
menjalankan aplikasi.
Mesin host siaga panas tidak melakukan apapun kecuali memantau server
aktif. Jika server gagal,
host siaga panas menjadi server aktif. Dalam clustering simetris, dua atau
lebih host adalah
menjalankan aplikasi dan saling memantau. Struktur ini jelas lebih efisien,
karena menggunakan semua perangkat keras yang tersediaNamun hal itu
mengharuskan lebih dari satu aplikasi tersedia untuk dijalankan.

Teknologi klaster berubah dengan cepat. Beberapa produk cluster


mendukung lusinan sistem dalam sebuah cluster,
serta node berkerumun yang dipisahkan oleh mil. Banyak perbaikan ini
dimungkinkan oleh
jaringan area penyimpanan (SAN), seperti yang dijelaskan pada Bagian
10.3.3, yang memungkinkan banyak sistem dilampirkan ke kolam
penyimpanan.
Jika aplikasi dan datanya tersimpan di SAN, maka perangkat lunak cluster
dapat menetapkan aplikasi untuk berjalan pada apapun
host yang terpasang pada SAN. Jika host gagal, maka host lain bisa
mengambil alih. Inadatabasecluster,puluhan host dapat berbagi database
yang sama, meningkatkan kinerja dan keandalan yang sangat
tinggi.Gambar1.8 menggambarkan struktur umum dari sistem yang
berkerumun.
Struktur sistem operasi
Sekarang setelah kita membahas tentang organisasi dan arsitektur sistem
komputer dasar, kita siap untuk membicarakan sistem operasi. Sistem
operasi menyediakan lingkungan dimana program dijalankan. Secara
internal, sistem operasi sangat bervariasi dalam riasan mereka, karena
semuanya diatur dengan berbagai garis. Namun, ada banyak kesamaan, yang
kita pertimbangkan di bagian ini. Salah satu aspek terpenting dari sistem
operasi adalah kemampuan untuk melakukan multiprogram.
Himpunan pekerjaan di memori bisa menjadi bagian dari pekerjaan yang
disimpan di kolam pekerjaan. Sistem operasi mengambil dan mulai
menjalankan salah satu pekerjaan di memori. Sistem multiprogram
menyediakan lingkungan di mana berbagai sumber daya sistem (misalnya,
CPU, memori, dan perangkat periferal) digunakan secara efektif, namun
tidak menyediakan interaksi pengguna dengan sistem komputer. Time
sharing (atau multitasking) adalah perpanjangan logis multiprogramming.
Waktu berbagi memerlukan sistem komputer interaktif, yang memberikan
komunikasi langsung antara pengguna dan sistem. Sistem operasi time-
shared memungkinkan banyak pengguna untuk berbagi komputer secara
bersamaan. Karena setiap tindakan atau perintah dalam sistem bersama
waktu cenderung berpindah-pindah, hanya sebagian kecil dari waktu yang
dibutuhkan untuk mendukungnya.
Sistem operasi time-shared menggunakan penjadwalan CPU dan
multiprogramming untuk memberi setiap pengguna sebagian kecil
komputer bersama waktu. Masing-masingmemungkinkanmempersiapkan
programmemori. Program dimuat ke memori dan penyelesaian tugas yang
sesuai.
Time sharing dan multiprogramming mengharuskan beberapa pekerjaan
dijaga serentak di memori.
Jika beberapa pekerjaan sare siap dibawa ke memori,
dan jika tidak ada cukup ruang untuk mereka semua, maka sistem harus
memilih di antara mereka.
Mengoperasikan sistem operasi
Seperti disebutkan sebelumnya, sistem operasi modern terganggu. Jika tidak
ada proses untuk dieksekusi,
tidak ada perangkat I / O yang melayani, dan tidak ada pengguna yang dapat
meresponsnya,sebuah sistem operasi akan duduk. Peristiwa hampir selalu
ditandai oleh terjadinya interupsi atau perangkap.

Dual Mode dan Multimode Operation


Untuk memastikan pelaksanaan sistem operasi yang tepat, kita harus dapat
membedakan antara eksekusi kode sistem operasi dan kode yang ditetapkan
pengguna. Pendekatan yang dilakukan oleh sebagian besar sistem komputer
adalah memberikan dukungan perangkat keras yang memungkinkan kita
untuk membedakan antara berbagai mode eksekusi.

Paling tidak, kita memerlukan dua mode operasi yang terpisah: mode
pengguna dan mode kernel (disebut juga mode supervisor, mode sistem,
atau mode tak terpakai).Pada saat boot sistem, perangkat keras dimulai
dalam mode kernel. Sistem operasi kemudian dimuat dan menjalankan
aplikasi pengguna dalam mode pengguna. Kapan pun terjadi gangguan
mengganggu,Penyihir perangkat keras dari mode pengguna ke mode kernel
(yaitu mengubah keadaan mode menjadi 0).
Modus operasi ganda menyediakan sarana untuk melindungi sistem operasi
dari pengguna yang salah - dan pengguna yang salah satu sama lain.
Kami mencapai perlindungan ini dengan menunjuk beberapa petunjuk
mesin yang dapat membahayakan sebagai instruksi istimewa.
Instruksi untuk beralih ke mode kernel adalah contoh instruksi istimewa.
1.6 Manajemen Proses
Sebuah program tidak melakukan apapun kecuali jika instruksi dijalankan
oleh CPU. Sebuah
program dalam pelaksanaan, seperti yang disebutkan, adalah sebuah proses.
Program pengguna bersama waktu seperti compiler adalah sebuah proses.
Program pengolah kata yang dijalankan oleh sebuah pengguna individual
pada PC adalah sebuah proses. Sebuah tugas sistem, seperti mengirim
output ke printer, juga bisa menjadi proses (atau paling tidak satu bagian
dari satu).

1.7 Manajemen Memori


Seperti yang telah kita bahas di Bagian 1.2.2, memori utama sangat penting bagi operasi
dari sistem komputer modern. Memori utama adalah array byte yang besar, mulai dalam
ukuran dari ratusan ribu sampai miliaran. Setiap byte memiliki alamat sendiri. Memori
utama adalah gudang data yang cepat diakses bersama oleh CPU dan perangkat I / O
Prosesor pusat membaca instruksi dari main memory during siklus instruksi-
pengambilan dan keduanya membaca dan menulis data dari memori utama selama siklus
pengambilan data (pada arsitektur von Neumann). Setiap algoritma membutuhkan
dukungan hardware sendiri. Sistem operasi bertanggung jawab untuk kegiatan berikut
yang berhubungan dengan manajemen memori:
Melacak bagian memori mana yang saat ini digunakan dan siapa menggunakan mereka
Menentukan proses (atau bagian proses) dan data yang akan digunakan dankehabisan
memori
Mengalokasikan dan mengalokasikan ruang memori seperlunya
Teknik pengelolaan memori dibahas pada Bab 8 dan 9.

1.8.1 Manajemen File-Sistem

Manajemen file adalah salah satu komponen sistem operasi yang paling
terlihat.Komputer dapat menyimpan informasi pada beberapa jenis media fisikyang
berbeda. Disk magnetik, cakram optik, dan pita magnetik adalah yang paling umum.
Setiap media ini memiliki ciri khas dan sifat fisik organisasi. Setiap media dikendalikan
oleh perangkat, seperti disk drive atau tape drive, itu juga memiliki karakteristik
tersendiri. Properti ini meliputi kecepatan akses, kapasitas, kecepatan transfer data, dan
metode akses (berurutan atau acak).
1.8.2 Manajemen Penyimpanan Massal

Seperti yang sudah kita lihat, karena memori utama terlalu kecil untuk menampung
semua data dan program, dan karena data yang dimilikinya hilang saat power hilang,
sistem komputer harus menyediakan secondary storage untuk back up main ingatan.
Sebagian besar sistem komputer modern menggunakan disk sebagai on-line utama
media penyimpanan untuk kedua program dan data. Sebagian besar program-termasuk
kompiler, perakit, pengolah kata, editor, dan formatters-disimpan pada disk sampai
dimuat ke memori. Mereka kemudian menggunakan disk sebagai sumbernya dan tujuan
pengolahannya.

1.8.3 Caching

Caching adalah prinsip penting dari sistem komputer. Begini cara kerjanya. Informasi
biasanya disimpan di beberapa sistem penyimpanan (seperti memori utama).
Seperti yang digunakan, ia disalin ke dalam sistem penyimpanan yang lebih cepat-
cache-on a.

Dasar sementara. Bila kita membutuhkan informasi tertentu, pertama kita periksa
apakah itu ada dalam cache Jika ya, kami menggunakan informasi langsung dari cache
Jika tidak, kami menggunakan informasi dari sumbernya, memasang salinannya dalam
cache di bawah asumsi bahwa kita akan membutuhkannya lagi segera. Selain itu, register
programmable internal, seperti register indeks, berikan cache berkecepatan tinggi untuk
memori utama. Pemrogram (atau compiler) menerapkan algoritma register-allocation
dan register-replacement untuk
putuskan informasi mana yang harus disimpan dalam register dan yang harus tetap di
main
ingatan. Cache lainnya diimplementasikan sepenuhnya di perangkat keras. Misalnya,
paling
sistem memiliki instruksi cache untuk menahan instruksi yang diharapkan dieksekusi
selanjutnya Tanpa cache ini, CPU harus menunggu beberapa siklus sementara sebuah
instruksi diambil dari memori utama.
Beberapa sistem secara otomatis mengarsipkan data file lama dari penyimpanan
sekunder untuk penyimpanan tersier, seperti jukebox tape, untuk menurunkan biaya
penyimpanan (lihat Bab 10).
1.9 Perlindungan dan Keamanan

Jika sistem komputer memiliki banyak pengguna dan memungkinkan


eksekusibersamaandari beberapa proses, maka akses terhadap data harus
diatur.Untuk alasan tersebut,mekanisme memastikan bahwa file, segmen
memori,CPU,dan sumber daya lainnya dapat di operasi hanya oleh proses
yang mendapatkan otorisasi yang tepat dari sistem operasi. Misalnya
hardware memory-addressing memastikan bahwa sebuah proses dapat
dijalankan hanya di dalam ruang alamatnya sendiri. Itu timer memastikan
bahwa tidak ada proses yang bisa mengendalikan CPU tanpa pada akhirnya
melepaskan kendali Register kontrol perangkat tidak dapat diakses oleh
pengguna integritas berbagai perangkat periferal dilindungi.
Perlindungan, kemudian, adalah mekanisme untuk mengendalikan akses
proses atau pengguna ke sumber daya yang ditentukan oleh sistem
komputer.
Perlindungan dan keamanan mengharuskan sistem untuk bisa membedakan
keduanya semua penggunanya. Sebagian besar sistem operasi menyimpan
daftar nama pengguna dan pengenal pengguna terkait (ID pengguna). Dalam
bahasa Windows, ini adalah keamanan ID (SID). ID numerik ini unik, satu
per pengguna. Saat pengguna masuk ke sistem, tahap otentikasi
menentukan ID pengguna yang sesuai pengguna.

1.10 Struktur Data Kernel

Kita beralih ke topik yang menjadi pusat penerapan sistem operasi: caranya data
terstruktur dalam sistem Pada bagian ini, kami secara singkat menjelaskan beberapa
struktur data fundamental digunakan secara luas dalam sistem operasi. Pembaca yang
memerlukan rincian lebih lanjut tentang struktur ini, dan juga pihak lain, harus
berkonsultasi bibliografi di akhir bab ini.

1.10.1 Daftar, Tumpukan, dan Antrian

Array adalah struktur data sederhana dimana setiap elemen dapat diakses langsung.
Misalnya, memori utama dibangun sebagai array. Jika item data disimpan lebih besar dari
satu byte, maka beberapa byte dapat dialokasikan ke item, dan item tersebut dialamatkan
sebagai nomor item ukuran barang. Tapi bagaimana dengan menyimpan barang yang
ukurannya mungkin berbeda? Dan bagaimana dengan mengeluarkan item jika posisi
relatif dari sisa barang harus dipertahankan? Dalam situasi seperti itu, array memberi
jalan ke struktur data lainnya.
Setelah array, daftar mungkin merupakan struktur data yang paling mendasar ilmu
Komputer. Sedangkan setiap item dalam array dapat diakses secara langsung, maka item
dalam daftar harus diakses dalam urutan tertentu. Artinya, daftar mewakili kumpulan
nilai data sebagai urutan. Untuk metode yang paling umum.
Gambar 1.13 Daftar terkait tunggal.
Implementasi struktur ini adalah linked list, dimana item dihubungkan ke satu
lain. Daftar tertaut terdiri dari beberapa jenis:
Dalam daftar satu-satunya, masing-masing item mengarah ke penggantinya, seperti
yang digambarkan di dalamnya Gambar 1.13.
Dalam daftar ganda terkait, item tertentu dapat merujuk ke pendahulunya atau
ke penggantinya, seperti yang diilustrasikan pada Gambar 1.14.
Dalam daftar yang terkait secara sirkular, elemen terakhir dalam daftar mengacu pada
yang pertama elemen, bukan null, seperti yang diilustrasikan pada Gambar1.15.Linked
list mengakomodasi item dengan berbagai ukuran dan memungkinkan penyisipan
mudah dan penghapusan barang. Salah satu potensi kerugian menggunakan daftar
adalah itu kinerja untuk mengambil item tertentu dalam daftar ukuran n adalah linier - O
(n), karena membutuhkan potensi untuk melintasi semua unsur dalam kasus terburuk.
Daftar terkadang digunakan secara langsung oleh algoritma kernel.
Seringkali,meskipunbegitu,merekadigunakan untuk membangun struktur data yang
lebih kuat,seperti tumpukan dan antrian.

Tumpukan adalah struktur data berurutan yang menggunakan yang terakhir masuk
terlebih dulu out (LIFO) untuk menambahkan dan menghapus barang, yang berarti item
terakhir ditempatkan ke tumpukan adalah item pertama dihapus. Operasi untuk
memasukkan dan menghapus item dari tumpukan dikenal sebagai push and pop, masing-
masing. Sebuah
sistem operasi sering menggunakan stack saat memanggil fungsi pemanggilan.
Parameter,
variabel lokal, dan alamat pengirim didorong ke tumpukan saat fungsi disebut; Kembali
dari fungsi panggil muncul barang - barang dari tumpukan. Antrian, sebaliknya, adalah
struktur data berurutan yang menggunakan pertama, keluar pertama (FIFO) prinsip:
barang dihapus dari antrian sesuai pesanan di mana mereka dimasukkan. Ada banyak
contoh antrian sehari-hari, termasuk pembeli yang menunggu di jalur kasir di sebuah
toko dan mobil mengantri
pada sinyal lalu lintas. Antrian juga cukup umum dalam sistem operasi-pekerjaan yang
dikirim ke printer biasanya dicetak sesuai urutannya disampaikan, misalnya. Seperti
yang akan kita lihat di Bab 6, tugas yang menunggu dijalankan pada CPU yang tersedia
sering diatur dalam antrian.

1.10.2 Pohon

Pohon adalah struktur data yang dapat digunakan untuk merepresentasikan data secara
hirarkis. Data nilai dalam struktur pohon dihubungkan melalui hubungan orang tua-
anak. Di sebuah pohon umum, orang tua mungkin memiliki jumlah anak yang tidak
terbatas. Dalam biner pohon, orang tua mungkin memiliki paling banyak dua anak, yang
kita sebut anak kiri dan anak yang tepat Pohon pencarian biner juga membutuhkan
pemesanan antara dua anak orang tua di mana anak laki-laki <= anak yang benar. Angka
1.16 memberikan contoh pohon pencarian biner. Saat kita mencari item di pohon
pencarian biner, kinerja terburuk adalah O (n) (pertimbangkan bagaimana ini bisa terjadi
terjadi). Untuk memperbaiki situasi ini, kita bisa menggunakan algoritma untuk
membuat keseimbangan pohon pencarian biner Di sini, pohon yang berisi n item paling
banyak memiliki tingkat lg n memastikan performa terburuk O (lg n). Kita akan lihat di
Bagian 6.7.1 itu Linux menggunakan pohon pencarian biner yang seimbang sebagai
bagian dari algoritma penjadwalan CPU-nya.
1.10.3 Fungsi Hash dan Maps

Fungsi hash mengambil data sebagai inputnya, melakukan operasi numerik


dalamhalinidata, dan mengembalikan nilai numerik. Nilai numerik ini kemudian bisa
digunakan sebagai indeks ke dalam tabel (biasanya array) untuk dengan cepat
mengambil data.Sedangkan mencari item data melalui daftar ukuran n bisa
membutuhkan hingga O (n) perbandingan dalam kasus terburuk, amenggunakan fungsi
hash untuk mengambil data dari meja bisa sama baiknya dengan O (1) dalam kasus
terburuk, tergantung implementasinya rincian. Karena kinerja ini, fungsi hash digunakan
secara ekstensif sistem operasi.

Gambar 1.17 peta Hash.

Salah satu potensi kesulitan dengan fungsi hash adalah dua input bisa dihasilkan dalam
nilai output yang sama-artinya, mereka dapat terhubung ke lokasi tabel yang sama. Kita
bisa mengakomodasi tabrakan hash ini
dengan memiliki linked list di meja itu lokasi yang berisi semua item dengan nilai hash
yang sama. Tentu saja tabrakan lebih banyak terjadi, fungsi hash yang kurang efisien
adalah. Salah satu penggunaan fungsi hash adalah menerapkan peta hash, yang
mengasosiasikannya (atau memetakan) pasangan [kunci: nilai] menggunakan fungsi
hash. Misalnya, kita bisa memetakan kunci yang beroperasi pada sistem nilai. Begitu
pemetaan terbentuk, kita bisa menerapkan fungsi hash ke kunci untuk mendapatkan nilai
dari peta hash (Gambar 1.17). Misalnya, anggap bahwa nama pengguna dipetakan ke kata
sandi.
Otentikasi password kemudian dilanjutkan sebagai berikut: pengguna memasukkan
nama penggunanya dan password Fungsi hash diterapkan pada nama pengguna, yang
saat itu digunakan untuk mengambil password Kata sandi yang diambil kemudian
dibandingkan dengan kata sandi yang dimasukkan oleh pengguna untuk otentikasi.

1.10.4 Bitmaps

Bitmap adalah string dari n digit biner yang dapat digunakan untuk mewakili status n
item misalnya, kita punya beberapa sumber, dan ketersediaannya dari setiap sumber
daya ditunjukkan oleh nilai digit biner: 0 berarti bahwa sumber daya tersedia, sementara
1 menunjukkan bahwa itu tidak tersedia (atau sebaliknya). Itu nilai dari posisi ke-i dalam
bitmap dikaitkan dengan sumber daya ith. Sebagai misalnya, perhatikan bitmap yang
ditunjukkan dibawah ini :001011101 Sumber daya 2, 4, 5, 6, dan 8 tidak tersedia; sumber
daya 0, 1, 3, dan 7 tersedia. Kekuatan bitmap menjadi jelas saat kita mempertimbangkan
ruang mereka efisiensi. Jika kita menggunakan nilai Boolean delapan bit dan bukan satu
bit saja, struktur data yang dihasilkan akan delapan kali lebih besar. Dengan demikian,
bitmap adalah biasa digunakan bila ada kebutuhan untuk mewakili ketersediaan yang
besar jumlah sumber daya Disk drive memberikan ilustrasi yang bagus. Berukuran
sedang, disk drive bisa dibagi menjadi beberapa ribu unit individual, disebut disk blok.
Bitmap dapat digunakan untuk menunjukkan ketersediaan setiap blok disk. Struktur data
tersebar luas dalam implementasi sistem operasi. Demikian,kita akan melihat struktur
yang dibahas di sini, bersama dengan orang lain, selama ini teks saat kita mengeksplorasi
algoritma kernel dan implementasinya.
STRUKTUR DATA LINUX KERNEL

Struktur data yang digunakan dalam kernel Linux tersedia di kernel kode. File include
<linux / list.h> menyediakan rincian daftar-linked struktur data yang digunakan di
seluruh kernel. Antrian di Linux dikenal sebagai sebuah kfifo, dan implementasinya dapat
ditemukan di file kfifo.c di direktori kernel kode sumber Linux juga menyediakan biner
yang seimbang Implementasi pohon pencarian menggunakan pohon merah-hitam.
Rincian dapat ditemukan di sertakan file <linux / rbtree.h>.

1.11 Lingkungan Komputasi

Sejauh ini, kita telah secara singkat menjelaskan beberapa aspek sistem komputer dan
sistem operasi yang mengelolanya. Kita sekarang beralih ke diskusi tentang bagaimana
caranya sistem operasi digunakan di berbagai lingkungan komputasi.

1.11.1 Komputasi Tradisional


Seiring komputasi telah matang, garis yang memisahkan banyak komputasi tradisional
lingkungan telah kabur. Pertimbangkan "lingkungan kantor yang khas". Beberapa tahun
yang lalu, lingkungan ini terdiri dari PC yang terhubung ke jaringan, dengan server
menyediakan layanan file dan cetak. Akses jarak jauh canggung, dan portabilitas dicapai
dengan menggunakan komputer laptop. Terminal terpasang untuk mainframe lazim di
banyak perusahaan juga, bahkan lebih sedikit lagi akses jarak jauh dan pilihan
portabilitas.Kecenderungan saat ini adalah untuk menyediakan lebih banyak cara untuk
mengakses komputasi ini lingkungan.Web teknologi
dan meningkatkan bandwidth WAN peregangan batas-batas komputasi tradisional.
Perusahaan membangun portal, yang mana menyediakan akses Web ke server internal
mereka.
Timer dan algoritma penjadwalan untuk proses siklus dengan cepat melalui CPU,
memberi setiap pengguna bagian dari sumber daya. Saat ini, sistem pembagian waktu
tradisional jarang terjadi. Penjadwalan yang sama teknik ini masih digunakan pada
komputer desktop, laptop, server, dan bahkan komputer mobile, tapi seringkali semua
prosesnya dimiliki sama
pengguna (atau pengguna tunggal dan sistem operasi). Proses pengguna, dan sistem
proses yang memberikan layanan kepada pengguna, dikelola sehingga sering dilakukan
mendapat sepotong waktu komputer Pertimbangkan jendela yang dibuat saat pengguna
sedang mengerjakan sebuah PC, misalnya, dan fakta bahwa mereka mungkin tampil tugas
yang berbeda pada saat bersamaan. Bahkan web browser pun bisa tersusun beberapa
proses, satu untuk setiap situs web yang saat ini dikunjungi, dengan waktu sharing
diterapkan pada setiap proses browser web.

1.11.2 Komputasi Bergerak

Komputasi mobile mengacu pada komputasi pada handheld smartphone dan tablet komputer.
Perangkat ini berbagi fitur fisik yang membedakan portabel dan ringan. Secara historis,
dibandingkan dengan desktop dan laptop komputer, sistem mobile memberikan ukuran layar,
kapasitas memori, dan keseluruhan fungsionalitas sebagai pengganti akses mobile genggam ke
layanan seperti e-mail dan browsing web. Selama beberapa tahun terakhir, ada fitur di ponsel
perangkat telah menjadi begitu kaya sehingga membedakan fungsi antara, katakanlah, laptop
konsumen dan komputer tablet mungkin sulit untuk membedakan. Faktanya, kita mungkin
berpendapat bahwa fitur dari perangkat mobile kontemporer memungkinkannya menyediakan
fungsionalitas yang tidak tersedia atau tidak praktis pada desktop atau komputer laptop. Saat ini,
sistem mobile tidak hanya digunakan untuk e-mail dan browsing web tapi juga untuk memutar
musik dan video, membaca buku digital, mengambil foto, dan merekam video berdefinisi tinggi.
Dengan demikian, pertumbuhan yang luar biasa terus berlanjut dalam berbagai aplikasi yang
berjalan pada perangkat tersebut.

1.11.3 Sistem Terdistribusi

Sistem terdistribusi adalah kumpulan fisik yang terpisah, mungkin heterogen, sistem
komputer yang terhubung untuk menyediakan akses bagi pengguna berbagai sumber
daya yang dipertahankan sistem. Akses ke sumber daya bersama meningkatkan
kecepatan komputasi, fungsionalitas, ketersediaan data, dan kehandalan. Beberapa
sistem operasi menggeneralisasi akses jaringan sebagai bentuk akses file, dengan rincian
jaringan yang terdapat pada driver perangkat antarmuka jaringan.

1.11.4 Komputasi Client-Server

Sebagai PC telah menjadi lebih cepat, lebih kuat, dan lebih murah, desainer telah bergeser
jauh dari arsitektur sistem terpusat. Terminal terhubung ke terpusat sistem sekarang
digantikan oleh PC dan perangkat mobile. Sejalan dengan itu, fungsi user-interface yang
pernah ditangani langsung oleh sistem terpusat semakin banyak ditangani oleh PC, cukup
sering melalui antarmuka web. Sebagai hasilnya, banyak sistem saat ini bertindak sebagai
sistem server untuk memenuhi permintaan dihasilkan oleh sistem klien.

Sistem penghitung-server menyediakan antarmuka yang bisa digunakan oleh klien


kirim permintaan untuk melakukan tindakan (misalnya membaca data). Sebagai
tanggapan, server mengeksekusi tindakan dan mengirimkan hasilnya ke klien. Server
menjalankan database yang merespons permintaan klien untuk data adalah sebuah
contoh dari sistem seperti itu.
Sistem file-server menyediakan antarmuka file-sistem dimana klien bisa membuat,
memperbarui, membaca, dan menghapus file. Contoh sistem seperti itu adalah aweb
server yang mengirimkan file ke klien yang menjalankan browser web.
1.11.6 Virtualisasi

Virtualisasi adalah teknologi yang memungkinkan sistem operasi berjalan sebagai


aplikasi dalam sistem operasi lainnya. Pada awalnya tersipu, sepertinya ada sedikit
alasan untuk fungsi tersebut. Tapi industri virtualisasi sangat luas dan tumbuh, yang
merupakan bukti utilitas dan kepentingannya. Secara umum, virtualisasi adalah salah
satu anggota kelas perangkat lunak itu juga termasuk persaingan. Emulasi digunakan
saat sumber tipe CPU Berbeda dengan tipe target CPU. Misalnya, saat Apple beralih dari
CPU Power IBM ke CPU Intel x86 untuk komputer desktop dan laptop, Ini termasuk
fasilitas emulasi yang disebut "Rosetta," yang memungkinkan aplikasi dikompilasi untuk
CPU IBM yang berjalan di CPU Intel.

1.11.7 Komputasi Awan


Komputasi awan adalah jenis komputasi yang memberikan komputasi, penyimpanan,
dan bahkan aplikasi sebagai layanan di jaringan. Dalam beberapa hal, ini perpanjangan
virtualisasi logis, karena menggunakan virtualisasi sebagai basis fungsinya. Misalnya
fasilitas Amazon Elastic Compute Cloud (EC2) memiliki ribuan server, jutaan mesin
virtual, dan petabyte penyimpanan tersedia untuk digunakan oleh siapapun di Internet.
Pengguna bayar per bulan berdasarkan caranya sebagian besar sumber daya yang
mereka gunakan. Sebenarnya ada banyak jenis cloud computing,
diantaranyasebagaiberikut:
Publik awan-awan tersedia melalui Internet untuk siapa pun bersedia membayar untuk
layanan.
Cloud pribadi-awan yang dijalankan oleh perusahaan untuk penggunaan
perusahaanitusendiri

Hibrida awan - awan yang mencakup awan publik dan swasta komponen

Perangkat lunak sebagai layanan (SaaS) - satu atau lebih aplikasi (seperti kata prosesor
atau spreadsheet) yang tersedia melalui Internet.

Platform sebagai layanan (PaaS) - tumpukan perangkat lunak siap untuk penggunaan
aplikasi melalui internet (misalnya, database server)

Infrastruktur sebagai layanan (IaaS) - server atau penyimpanan yang tersedia di


Internet (misalnya, penyimpanan tersedia untuk membuat salinan cadangan data
produksi)Jenis komputasi awan ini tidak diskrit, karena lingkungan komputasi awan
memungkinkan Anda kombinasi dari beberapa jenis. Misalnya, sebuah organisasi dapat
memberikan SaaS dan IaaS sebagai layanan publik. Tentu saja, ada sistem operasi
tradisional di dalam banyak jenis infrastruktur awan Di luar itu adalah VMM yang
mengelola mesin virtual di mana pengguna menjalankan proses.
1.11.8 Sistem Embedded Real-Time

Komputer tersemat adalah bentuk komputer yang paling lazim. Perangkat ini ditemukan di
mana-mana, mulai dari mesin mobil dan manufaktur robot untuk DVD dan oven microwave.
Mereka cenderung memiliki tugas yang sangat spesifik. Sistem yang mereka jalankan biasanya
primitif, sehingga sistem operasi menyediakan fitur terbatas. Biasanya, mereka memiliki sedikit
atau tidak ada user interface, lebih memilih untuk meluangkan waktu mereka memantau dan
mengelola perangkat keras, seperti mesin mobil dan lengan robot.Sistem embedded ini sangat
bervariasi.

1.13 Ringkasan

Sistem operasi adalah perangkat lunak yang mengelola perangkat keras komputer juga
seperti menyediakan lingkungan untuk program aplikasi untuk dijalankan. Mungkin itu
aspek yang paling terlihat dari sebuah sistem operasi adalah interface ke komputer
sistem yang diberikannya kepada pengguna manusia. Agar komputer bisa menjalankan
tugasnya dalam melaksanakan program, program harus masuk memori utama. Memori
utama adalah satu-satunya area penyimpanan yang besar yaitu prosesor bisa akses
langsung Ini adalah array byte, mulai dari ukuran dari jutaan ke miliaran. Setiap byte
dalam memori memiliki alamatnya sendiri. Memori utama biasanya perangkat
penyimpanan volatile yang kehilangan isinya saat power dimatikan atau kalah. Sebagian
besar sistem komputer menyediakan penyimpanan sekunder sebagai perpanjangan
dari memori utama. Penyimpanan sekunder memberikan bentuk penyimpanan
nonvolatile itu mampu menampung sejumlah besar data secara permanen. Yang paling
umum perangkat penyimpanan sekunder adalah disk magnetik, yang menyediakan
penyimpanan keduanya program dan data. Berbagai macam sistem penyimpanan dalam
sistem komputer bisa diatur dalam hirarki sesuai kecepatan dan biaya. Tingkat yang
lebih tinggi mahal,tapi mereka cepat Saat kita turun hirarki, biaya per bit umumnya
menurun, sedangkan waktu akses umumnya meningkat. Ada beberapa strategi berbeda
untuk merancang sebuah sistem komputer. Sistem single-processor hanya memiliki
satu prosesor, sedangkan multiprosesor sistem berisi dua atau lebih prosesor yang
berbagi memori fisik dan perangkat periferal Desain multiprosesor yang paling umum
adalah simetris
multiprocessing (atau SMP), dimana semua prosesor dianggap peer dan run mandiri
satu sama lain. Sistem klaster adalah bentuk khusus sistem multiprosesor dan terdiri
dari beberapa sistem komputer yang terhubung oleh jaringan area lokal. Untuk
memanfaatkan CPU dengan sebaik-baiknya, sistem operasi modern menggunakan
multiprogramming, yang memungkinkan beberapa pekerjaan menjadi inmemoryat
pada saat yang sama, sehingga memastikan bahwa CPU selalu memiliki pekerjaan untuk
dieksekusi. Sistem pembagian waktu adalah perpanjangan multiprogramming dimana
algoritma penjadwalan CPU cepat beralih antara pekerjaan, sehingga memberikan ilusi
bahwa setiap pekerjaan berjalan secara bersamaan. Sistem operasi harus memastikan
pengoperasian komputer yang benar sistem. Untuk mencegah agar program pengguna
tidak diintervensi dengan pengoperasian yang benar.

SISTEM OPERASI

Tidak pernah ada waktu yang cukup lama untuk mempelajari sistem operasi, dan itu
tidak pernah semudah ini. Gerakan open source telah berhasil menyusul sistem,
menyebabkan banyak dari mereka menjadi bustom yang tersedia di kedua sumber dan
biner (executable) format. Daftar sistem operasi tersedia dalam kedua format termasuk
Linux, BSD UNIX, Solaris, dan bagian dari Mac OS X. Ketersediaannya kode sumber
memungkinkan kita mempelajari sistem operasi dari dalam ke luar. Pertanyaan yang
pernah bisa kita jawab hanya dengan melihat dokumentasi atau perilaku suatu sistem
operasi sekarang bisa kita jawab dengan memeriksa kode itu sendiri sistem operasi yang
tidak lagi layak secara komersial open-source juga, memungkinkan kita untuk
mempelajari bagaimana sistem dioperasikan di waktu lebih sedikit sumber daya CPU,
memori, dan penyimpanan. Luas tapi daftar lengkap proyek sistem operasi open-source
tersedia dari http://dmoz.org/Computers/Software/Operating Systems / Open Source
/. Selain itu, munculnya virtualisasi sebagai mainstream (dan sering gratis), fungsi
komputer memungkinkan untuk menjalankan banyak sistem operasi di atas satu sistem
inti Misalnya, VMware (http://www.vmware.com) menyediakan "pemain" gratis untuk
Windows di mana ratusan "peralatan virtual" gratis dapat berlari. Virtualbox
(http://www.virtualbox.com) menyediakan opensource gratis manajer mesin virtual
pada banyak sistem operasi. Menggunakan itu alat, siswa bisa mencoba ratusan sistem
operasi tanpa dedikasi perangkat keras. Dalam beberapa kasus, simulator perangkat
keras tertentu juga tersedia, memungkinkan sistem operasi berjalan di perangkat keras
"asli", semuanya berada dalam batas-batasnya dari komputer modern dan sistem operasi
modern. Misalnya, DECSYSTEM-20 simulator yang berjalan pada Mac OS X bisa boot
TOPS-20, load sumber kaset, dan memodifikasi dan mengkompilasi kernel TOPS-20 yang
baru. Yang tertarik siswa bisa mencari di internet untuk mencari tulisan asli yang
menggambarkan sistem operasi, serta manual asli. Munculnya sistem operasi open
source juga mempermudah pindah dari pelajar ke pengembang sistem operasi. Dengan
beberapa pengetahuan, beberapa usaha, dan koneksi internet, seorang siswa bahkan bisa
menciptakannya sebuah distribusi sistem operasi baru. Beberapa tahun yang lalu, itu
sulit atau tidak mungkin untuk mendapatkan akses ke kode sumber Sekarang, akses
seperti itu dibatasi hanya oleh berapa banyak minat, waktu, dan ruang disk yang dimiliki
seorang siswa. Sistem, perangkat keras memiliki dua mode: mode pengguna dan mode
kernel. Berbagai instruksi (seperti instruksi I / O dan instruksi yang dihentikan) diberi
hak istimewa dan dapat dieksekusi hanya dalam mode kernel. Memori tempat operasi
sistem tinggal juga harus dilindungi dari modifikasi oleh pengguna. Timer
mencegah loop tak terbatas Fasilitas ini (dual mode, instruksi istimewa, proteksi memori,
dan timer interrupt) adalah blok bangunan dasar yang digunakan oleh sistem operasi
untuk mencapai operasi yang benar. Suatu proses (atau pekerjaan) adalah unit kerja
dasar dalam suatu sistem operasi. Manajemen proses mencakup pembuatan dan
penghapusan proses dan penyediaan mekanisme proses untuk berkomunikasi dan
melakukan sinkronisasi satu sama lain.

Catatan Pustaka

[Brookshear (2012)] memberikan gambaran umum tentang ilmu komputer secara


umum.
Cakupan menyeluruh struktur data dapat ditemukan di [Cormen et al. (2009)].
[Russinovich dan Solomon (2009)] memberikan gambaran umum tentang
MicrosoftWindows
dan mencakup detail teknis yang cukup besar tentang sistem internal dan komponen.
[McDougall dan Mauro (2007)] menutupi bagian dalam Solaris sistem operasi. Mac OS X
internal dibahas di [Singh (2007)]. [Cinta (2010)] memberikan gambaran umum tentang
sistem operasi Linux dan detailnya tentang struktur data yang digunakan di kernel Linux.
Banyak buku teks umum mencakup sistem operasi, termasuk [Stallings (2011)], [Deitel
dkk. (2004)], dan [Tanenbaum (2007)]. [Kurose dan Ross (2013)] memberikan
gambaran umum jaringan komputer, termasuk diskusi sistem client-server dan peer-to-
peer. [Tarkoma dan Lagerspetz (2011)] memeriksa beberapa sistem operasi mobile yang
berbeda, termasuk Android dan Android iOS [Hennessy and Patterson (2012)]
menyediakan cakupan sistem dan bus I / O dan arsitektur sistem pada umumnya. [Bryant
dan O'Hallaron (2010)] berikan gambaran menyeluruh tentang sistem komputer dari
sudut pandang komputer programmer. Rincian set instruksi Intel 64 dan mode privilege
dapat dilakukan ditemukan di [Intel (2011)].
Sejarah sumber terbuka dan manfaat dan tantangannya muncul di [Raymond (1999)].
Free Software Foundation telah menerbitkan filosofinya di
http://www.gnu.org/philosophy/free-software-for-freedom.html. Terbuka sumber Mac
OS X tersedia dari http: //www.apple.com/opensource/.

Daftar Pustaka

Wikipedia memiliki entri informatif tentang kontribusi Richard Stallman di


http://en.wikipedia.org/wiki/Richard Stallman. Kode sumber Multics tersedia di
http://web.mit.edu/multics-history/ source / Multics Internet Server / Multics
sources.html.

Bibliografi

[Brookshear (2012)] J. G. Brookshear, Ilmu Komputer: Gambaran Umum, Kesebelas


Edisi, Addison-Wesley (2012). [Bryant dan O'Hallaron (2010)] R. Bryant dan D.
O'Hallaron, Sistem Komputer: Perspektif Programer, Edisi Kedua, Addison-Wesley
(2010).
[Cormen et al. (2009)] T. H. Cormen, C. E. Leiserson, R. L. Rivest, dan C. Stein, Pengantar
Algoritma, Edisi Ketiga, MIT Press (2009). [Deitel dkk. (2004)] H. Deitel, P. Deitel, dan D.
Choffnes, Sistem Operasi, Edisi Ketiga, Prentice Hall (2004). [Hennessy and Patterson
(2012)] J. Hennessy dan D. Patterson, Arsitektur Komputer: Pendekatan Kuantitatif, Edisi
Kelima, Morgan Kaufmann (2012). [Intel (2011)] Perangkat Lunak Intel 64 dan IA-32
Arsitektur, Gabungan Volume: 1, 2A, 2B, 3A dan 3B. Intel Corporation (2011). [Kurose
dan Ross (2013)] J. Kurose dan K. Ross, Jaringan Komputer-A Top - Down Approach, Edisi
Keenam, Addison-Wesley (2013). [Love (2010)] R. Cinta, Pengembangan Kernel Linux,
Edisi Ketiga, Pengembang Perpustakaan (2010). [McDougall dan Mauro (2007)] R.
McDougall dan J. Mauro, Solaris Internals, Edisi Kedua, Prentice Hall (2007). [Raymond
(1999)] E. S. Raymond, Katedral dan Bazaar, O'Reilly & Associates (1999). [Russinovich
dan Solomon (2009)] M. E. Russinovich dan D. A. Solomon, Windows Internal: Termasuk
Windows Server 2008 dan Windows Vista, Edisi Kelima, Microsoft Press (2009). [Singh
(2007)] A. Singh, Mac OS X Internal: Pendekatan Sistem, Addison-
Wesley (2007). [Stallings (2011)] W. Stallings, Sistem Operasi, Edisi Ketujuh, Prentice
Hall
(2011). [Tanenbaum (2007)] A. S. Tanenbaum, Sistem Operasi Modern, Edisi Ketiga,
Prentice Hall (2007). [Tarkoma dan Lagerspetz (2011)] S. Tarkoma dan E. Lagerspetz,
"Mengarsir Mobile Computing Chasm: Platform dan Runtimes ", Komputer IEEE, Volume
44, (2011), halaman 22-28.