Video cara menginstal windows 7
Senin, 25 Agustus 2014
Perbedaan Open Source dan Closed Source
1. Apa itu Closed Source?
Closed Source adalah paket program yang tidak dapat didistribusikan lagi selain oleh Pembuat / Vendor Program / Software tersebut. Jika ada distribusi yang bukan oleh vendor program tersebut, maka itu dianggap sebagai pembajakan software. Atau dengan kata lain program yang Closed Source tidak dapat didistribusikan secara bebas, kecuali oleh Vendornya dan juga tidak dapat digandakan secara bebas.
Contohnya : Microsoft Windows, Microsoft Office, Apple Mac OS X, iOS, dan masih banyak lagi.
2. Apa itu Open Source?
Kata “Open Source” pertama kali muncul pada sebuah rapat di Palo Alto California. Ketika itu, Netscape yang merupakan pengembang browser Navigator ingin melepaskan kode sumber dari produk dengan nama Mozilla (yang sekarang kita kenal dengan browser Mozilla Firefox) di bulan Januari 1998. Mereka ingin membedakan diri dan menghindari konfrontasi ideologis maupun konotatif dengan istilah Free Software yang dipelopori oleh Richard Stallman.
Para penggagas istilah Open Source adalah: Christine Peterson, Todd Anderson, Larry Augustin, Jon Hall, Sam Ockman, and Eric S. Raymond.
Suatu program dengan lisensi Open Source berarti program tersebut membuka kode programnya (source code) bagi siapa saja yang ingin mempelajarinya, caranya dengan menyertakan kode program bersama dengan distribusi paket program yang sudah jadi (hasil kompilasi/compile). Dengan penyertaan kode program tersebut, pembeli atau pengguna program dapat mengutak-atik program tersebut, melakukan modifikasi sesuai dengan kebutuhannya, bahkan memperbaiki "bug" atau kesalahan logika dalam program tersebut. Contoh program yang Open Source adalah Linux dan Android. Dalam setiap distribusinya vendor Linux dan Android juga menyertakan Kode Programnya.
Seperti yang sudah saya bahas di awal bahwa Open Source tidak selalu tersedia secara gratis. Kita bisa saja membuat Software yang kita buka kode sumbernya, mempatenkan algoritmanya, medaftarkan hak ciptanya, dan tetap menjual perangkat lunak tersebut secara komersial. Tetap ada biaya yang dikeluarkan untuk membeli program tersebut. Contoh, misalnya Sistem Operasi RedHat Linux, program Linuxnya tetap dibeli dengan harga yang lebih murah.
Tujuan Open Source sebenarnya adalah ingin menghilangkan ketergantungan terhadap Vendor program, dimana pihak Vendor bisa saja bertindak seenaknya. Dalam program yang Closed Source, Vendor bisa saja menyisipkan kode-kode yang mungkin dapat membahayakan pengguna program, dan menghilangkan privasi pengguna. Selain itu, Open Source juga bertujuan menyediakan software yang mudah dijangkau oleh masyarakat luas, dan menghindari pengerukan keuntungan yang berlebihan oleh Vendor.
3. Keuntungan Open Source dan Closed Source
- Closed Source
1. Kurangnya kebingungan bagi pengguna
Banyak orang awam tidak tau apa keuntungan dari berbagai versi, android misalnya. Open source akan memberi banyak variasi karena kita diperbolehkan mengembangkannya. Dengan melarang orang untuk mengubah fitur inti itu, maka akan membuat lebih mudah untuk memilih produk yang pengguna inginkan, menjadikan hanya ada satu versi sehingga mudah pengguna beradaptasi.
2. Pengguna punya pengalaman sama
Karena tertutup pengembang dapat memilih layout, fitur, pilihan, warna, dan cukup banyak apa pun yang mereka pilih. Hal ini tampaknya membatasi, tapi setidaknya menjamin bahwa setiap pengguna akan memiliki pengalaman serupa dan memberikan standar yang tidak dapat diubah.
3. Lebih menguntungkan pihak Vendor / Pengembang
Sebuah model closed source dapat sangat menguntungkan bagi vendor dan pengembang karena dapat memperoleh banyak uang dan dapat merahasiakan dari kompetitor dengan tidak membuat desain yang tersedia bagi mereka untuk melihatnya.
- Open Source
1. Dukungan dari pengembang lebih besar
Dalam open source tiap orang dapat mengembangkan tiap platform, sehingga memberikan dukungan yang lebih besar untuk pengembang dan memberi kita lebih dari perasaan kepemilikan karena kita bisa mengubah apa pun yang kita suka.
2. Lebih bebas mengubah-ubah
Dalam skenario closed source, pengembang hanya diberikan pilihan untuk mengubah apa yang pengembang asli pilih, sebaliknya dalam open source kita memiliki kontrol penuh yang memungkinkan kita menyesuaikan nuansa tampilan dan bahkan fitur dari perangkat lunak yang memberikan kemungkinan lebih banyak.
3. Lebih Aman
Open source jauh lebih transparan daripada closed source, ini berarti bahwa setiap orang dapat melihat kode, dengan memiliki ribuan orang membaca kode tersebut, bug dan kerentanan yang ada lebih cepat diketahui untuk diperbaiki, juga memungkinkan kita mengetahui apakah bug telah diperbaiki karena kita dapat memeriksa kode tiap kali rilis.
4. Dukungan Komunitas lebih besar
Ketika pengembang asli berhenti mengembangkan dan meninggalkan produk tanpa perbaikan atau fitur baru, karena open source maka biasanya komunitas mengambil alih dan terus bekerja mengembangkannya sehinga dapat hidup dan menikmati fitur baru dimana jauh melampaui apa yang pengembang awal rencanakan.
Closed Source adalah paket program yang tidak dapat didistribusikan lagi selain oleh Pembuat / Vendor Program / Software tersebut. Jika ada distribusi yang bukan oleh vendor program tersebut, maka itu dianggap sebagai pembajakan software. Atau dengan kata lain program yang Closed Source tidak dapat didistribusikan secara bebas, kecuali oleh Vendornya dan juga tidak dapat digandakan secara bebas.
Contohnya : Microsoft Windows, Microsoft Office, Apple Mac OS X, iOS, dan masih banyak lagi.
2. Apa itu Open Source?
Kata “Open Source” pertama kali muncul pada sebuah rapat di Palo Alto California. Ketika itu, Netscape yang merupakan pengembang browser Navigator ingin melepaskan kode sumber dari produk dengan nama Mozilla (yang sekarang kita kenal dengan browser Mozilla Firefox) di bulan Januari 1998. Mereka ingin membedakan diri dan menghindari konfrontasi ideologis maupun konotatif dengan istilah Free Software yang dipelopori oleh Richard Stallman.
Para penggagas istilah Open Source adalah: Christine Peterson, Todd Anderson, Larry Augustin, Jon Hall, Sam Ockman, and Eric S. Raymond.
Suatu program dengan lisensi Open Source berarti program tersebut membuka kode programnya (source code) bagi siapa saja yang ingin mempelajarinya, caranya dengan menyertakan kode program bersama dengan distribusi paket program yang sudah jadi (hasil kompilasi/compile). Dengan penyertaan kode program tersebut, pembeli atau pengguna program dapat mengutak-atik program tersebut, melakukan modifikasi sesuai dengan kebutuhannya, bahkan memperbaiki "bug" atau kesalahan logika dalam program tersebut. Contoh program yang Open Source adalah Linux dan Android. Dalam setiap distribusinya vendor Linux dan Android juga menyertakan Kode Programnya.
Seperti yang sudah saya bahas di awal bahwa Open Source tidak selalu tersedia secara gratis. Kita bisa saja membuat Software yang kita buka kode sumbernya, mempatenkan algoritmanya, medaftarkan hak ciptanya, dan tetap menjual perangkat lunak tersebut secara komersial. Tetap ada biaya yang dikeluarkan untuk membeli program tersebut. Contoh, misalnya Sistem Operasi RedHat Linux, program Linuxnya tetap dibeli dengan harga yang lebih murah.
Tujuan Open Source sebenarnya adalah ingin menghilangkan ketergantungan terhadap Vendor program, dimana pihak Vendor bisa saja bertindak seenaknya. Dalam program yang Closed Source, Vendor bisa saja menyisipkan kode-kode yang mungkin dapat membahayakan pengguna program, dan menghilangkan privasi pengguna. Selain itu, Open Source juga bertujuan menyediakan software yang mudah dijangkau oleh masyarakat luas, dan menghindari pengerukan keuntungan yang berlebihan oleh Vendor.
3. Keuntungan Open Source dan Closed Source
- Closed Source
1. Kurangnya kebingungan bagi pengguna
Banyak orang awam tidak tau apa keuntungan dari berbagai versi, android misalnya. Open source akan memberi banyak variasi karena kita diperbolehkan mengembangkannya. Dengan melarang orang untuk mengubah fitur inti itu, maka akan membuat lebih mudah untuk memilih produk yang pengguna inginkan, menjadikan hanya ada satu versi sehingga mudah pengguna beradaptasi.
2. Pengguna punya pengalaman sama
Karena tertutup pengembang dapat memilih layout, fitur, pilihan, warna, dan cukup banyak apa pun yang mereka pilih. Hal ini tampaknya membatasi, tapi setidaknya menjamin bahwa setiap pengguna akan memiliki pengalaman serupa dan memberikan standar yang tidak dapat diubah.
3. Lebih menguntungkan pihak Vendor / Pengembang
Sebuah model closed source dapat sangat menguntungkan bagi vendor dan pengembang karena dapat memperoleh banyak uang dan dapat merahasiakan dari kompetitor dengan tidak membuat desain yang tersedia bagi mereka untuk melihatnya.
- Open Source
1. Dukungan dari pengembang lebih besar
Dalam open source tiap orang dapat mengembangkan tiap platform, sehingga memberikan dukungan yang lebih besar untuk pengembang dan memberi kita lebih dari perasaan kepemilikan karena kita bisa mengubah apa pun yang kita suka.
2. Lebih bebas mengubah-ubah
Dalam skenario closed source, pengembang hanya diberikan pilihan untuk mengubah apa yang pengembang asli pilih, sebaliknya dalam open source kita memiliki kontrol penuh yang memungkinkan kita menyesuaikan nuansa tampilan dan bahkan fitur dari perangkat lunak yang memberikan kemungkinan lebih banyak.
3. Lebih Aman
Open source jauh lebih transparan daripada closed source, ini berarti bahwa setiap orang dapat melihat kode, dengan memiliki ribuan orang membaca kode tersebut, bug dan kerentanan yang ada lebih cepat diketahui untuk diperbaiki, juga memungkinkan kita mengetahui apakah bug telah diperbaiki karena kita dapat memeriksa kode tiap kali rilis.
4. Dukungan Komunitas lebih besar
Ketika pengembang asli berhenti mengembangkan dan meninggalkan produk tanpa perbaikan atau fitur baru, karena open source maka biasanya komunitas mengambil alih dan terus bekerja mengembangkannya sehinga dapat hidup dan menikmati fitur baru dimana jauh melampaui apa yang pengembang awal rencanakan.
Open Source
Pengertian Open Source
Pengertian Open Source menurut organisasi.org adalah Open source software adalah istilah yang digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut. Dan yang menarik dan salah satu keunggulannya adalah bahwa Open source software dapat diperoleh dan digunakan secara gratis tanpa perlu membayar lisensi. Biasanya orang mendapatkan software ini dari internet. Salah satu open source software yang terkenal yaitu Linux. Sedangkan menurut id.wikipedia.org Open Source adalah Sumber terbuka (Inggris: open source) adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet). Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah
manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak. Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab. OSI (Open Source Initiative) menjalankan organisasi untuk mempromosikan atau kampanye Open Source, dengan mengelola dan promosi Definisi Open Source, dan sertifikasi terhadap lisensi dan produk yang open source (kode terbuka). Definisi Open Source adalah revisi dari dokumen kebijakan milik distribusi Debian GNU/Linux. Dokumen ini menjelaskan lisensilisensi mana saja yang termasuk bebas. OSI menjelaskan ide dasar dari open source:
"Ide dasar dari open source sangat sederhana: Bilamana pemrogram dapat membaca, menyebarkan, dan memodifikasi kode sumber dari sebuah perangkat lunak, maka perangkat lunak itu akan berkembang. Masyarakat memakai, membuatnya lebih baik dan memperbaiki kelemahannya."
Jadi intinya pengertian open source itu merupakan suatu kode sumber (source code) yang terbuka yang mana kita diberikan kebebasan dalam menggunakannya, baik untuk dipelajari, ditambahkan, dikurangi, dimodifikasi atau direvisi ulang semua itu boleh dan bebas tanpa harus membayar royaliti kepada pembuat sebelumnya, akan tetapi bebas dalam artian disini bukan berati bebas sebebas-bebasnya tanpa ada pertanggungjawaban, bebas yang dimaksud di sini bebas dengan mempertanggungjawabkan secara bersama dan tidak menghilangkan hak cipta (copyright) pembuatnya.
Kelebihan software open source :
1. Software open source yang biasanya dikembangkan oleh komunitas atau institusi non profit juga memiliki kemampuan yang sangat powerfull karena software dikembangkan secara bersama-sama sehingga masalah atau bug pada software cepat teratasi.
2.Fitur dan kemampuan software open source sangat kompleks dan banyak karena bisa dikembangkan oleh siapa saja tanpa terkecuali.
3.Software open source berlisensi GPL sehingga user tidak dikenakan biaya untuk mempergunakannya.
Kekurangan software open source :
1. GUI dari software biasanya kurang memuaskan untuk user yang awam.
2. Terkadang ada beberapa software open source yang tidak bisa menggantikan jenis software berbayar.
3. Software open source biasanya kurang diminati oleh user awam karena biasanya sulit dalam instalasi atau penggunaan.
Contoh open source software :
1. PHP
1. MySQL
3. Linux Apache (web server)
4. perl
5. fetchmail
Pengertian Open Source menurut organisasi.org adalah Open source software adalah istilah yang digunakan untuk software yang membuka/membebaskan source codenya untuk dilihat oleh orang lain dan membiarkan orang lain mengetahui cara kerja software tersebut dan sekaligus memperbaiki kelemahan-kelemahan yang ada pada software tersebut. Dan yang menarik dan salah satu keunggulannya adalah bahwa Open source software dapat diperoleh dan digunakan secara gratis tanpa perlu membayar lisensi. Biasanya orang mendapatkan software ini dari internet. Salah satu open source software yang terkenal yaitu Linux. Sedangkan menurut id.wikipedia.org Open Source adalah Sumber terbuka (Inggris: open source) adalah sistem pengembangan yang tidak dikoordinasi oleh suatu individu / lembaga pusat, tetapi oleh para pelaku yang bekerja sama dengan memanfaatkan kode sumber (source-code) yang tersebar dan tersedia bebas (biasanya menggunakan fasilitas komunikasi internet). Pola pengembangan ini mengambil model ala bazaar, sehingga pola Open Source ini memiliki ciri bagi komunitasnya yaitu adanya dorongan yang bersumber dari budaya memberi, yang artinya ketika suatu komunitas menggunakan sebuah program Open Source dan telah menerima sebuah
manfaat kemudian akan termotivasi untuk menimbulkan sebuah pertanyaan apa yang bisa pengguna berikan balik kepada orang banyak. Pola Open Source lahir karena kebebasan berkarya, tanpa intervensi berpikir dan mengungkapkan apa yang diinginkan dengan menggunakan pengetahuan dan produk yang cocok. Kebebasan menjadi pertimbangan utama ketika dilepas ke publik. Komunitas yang lain mendapat kebebasan untuk belajar, mengutak-ngatik, merevisi ulang, membenarkan ataupun bahkan menyalahkan, tetapi kebebasan ini juga datang bersama dengan tanggung jawab, bukan bebas tanpa tanggung jawab. OSI (Open Source Initiative) menjalankan organisasi untuk mempromosikan atau kampanye Open Source, dengan mengelola dan promosi Definisi Open Source, dan sertifikasi terhadap lisensi dan produk yang open source (kode terbuka). Definisi Open Source adalah revisi dari dokumen kebijakan milik distribusi Debian GNU/Linux. Dokumen ini menjelaskan lisensilisensi mana saja yang termasuk bebas. OSI menjelaskan ide dasar dari open source:
"Ide dasar dari open source sangat sederhana: Bilamana pemrogram dapat membaca, menyebarkan, dan memodifikasi kode sumber dari sebuah perangkat lunak, maka perangkat lunak itu akan berkembang. Masyarakat memakai, membuatnya lebih baik dan memperbaiki kelemahannya."
Jadi intinya pengertian open source itu merupakan suatu kode sumber (source code) yang terbuka yang mana kita diberikan kebebasan dalam menggunakannya, baik untuk dipelajari, ditambahkan, dikurangi, dimodifikasi atau direvisi ulang semua itu boleh dan bebas tanpa harus membayar royaliti kepada pembuat sebelumnya, akan tetapi bebas dalam artian disini bukan berati bebas sebebas-bebasnya tanpa ada pertanggungjawaban, bebas yang dimaksud di sini bebas dengan mempertanggungjawabkan secara bersama dan tidak menghilangkan hak cipta (copyright) pembuatnya.
Kelebihan software open source :
1. Software open source yang biasanya dikembangkan oleh komunitas atau institusi non profit juga memiliki kemampuan yang sangat powerfull karena software dikembangkan secara bersama-sama sehingga masalah atau bug pada software cepat teratasi.
2.Fitur dan kemampuan software open source sangat kompleks dan banyak karena bisa dikembangkan oleh siapa saja tanpa terkecuali.
3.Software open source berlisensi GPL sehingga user tidak dikenakan biaya untuk mempergunakannya.
Kekurangan software open source :
1. GUI dari software biasanya kurang memuaskan untuk user yang awam.
2. Terkadang ada beberapa software open source yang tidak bisa menggantikan jenis software berbayar.
3. Software open source biasanya kurang diminati oleh user awam karena biasanya sulit dalam instalasi atau penggunaan.
Contoh open source software :
1. PHP
1. MySQL
3. Linux Apache (web server)
4. perl
5. fetchmail
Closed Source
Close Source
Close Source adalah Sistem operasi yang codenya tidak dibuka untuk umum, pemilik code yang close source bisa membagi source codenya melalui lisensi dengan gratis maupun membayar. meskipun gratis, lisensi tertentu bisa membuat sebuah sistem operasi tidak sepenuhnya open source. Misalnya jika lisensi tersebut ada larangan untuk memodifikasi code, maka sistem operasi ini tidak open source.
Keuntungan Closed Source
1. Kestabilan sistem terjamin karena ada penangung jawab resmi.
2. Support langsung dari pemilik aplikasi /program.
3. Mudah mendapatkan sertifikasi.
4. Lebih mudah digunakan / dipelajari / dipahami karena mayoritas pengguna menggunakannya ( pada daerah tertentu ).
Kekurangan Close Source
1. Tidak ada support khusus / langsung dari pembuat (developer).
2. Celah yang terbuka, bisa dimanfaatkan untuk pengambilan informasi.
3. Sosialisasi pemakaian, agak sulit, karena umumnya pengguna menggunakan close source (e.g.Windows),hanya pada daerah tertentu).
4. Sulit untuk mendapatkan sertifikasi.
5. Adanya lisensi yang mengharuskan pengguna untuk menyediakan dana /financial.
6. Pengembangan terbatas.
7. Diperlukan antivirus.
8. Aplikasi umumnya tersedia berbayar.
9. Deteksi kelemahan aplikasi menunggu feedback dari pengguna.
Contoh Closed Source
1. Operating System (Sistem Operasi), contoh : Microsoft Windows
2. Languages (Bahasa Pemrograman), contoh : Visual Basic, ASP, Pascal
3. Web Browser, contoh : Internet Explorer
4. Aplication (Aplikasi), contoh : Adobe Photoshop, CorelDraw
5. Office Suites (Aplikasi perkantoran), contoh : Microsoft Office
6. Server Aplication (Server), contoh : ColdFusion, IIS
7. Antivirus, contoh : Norton Antivirus, McAfee
8. Games, contoh : FIFA 2006, Winning Eleven, Spiderman
Close Source adalah Sistem operasi yang codenya tidak dibuka untuk umum, pemilik code yang close source bisa membagi source codenya melalui lisensi dengan gratis maupun membayar. meskipun gratis, lisensi tertentu bisa membuat sebuah sistem operasi tidak sepenuhnya open source. Misalnya jika lisensi tersebut ada larangan untuk memodifikasi code, maka sistem operasi ini tidak open source.
Keuntungan Closed Source
1. Kestabilan sistem terjamin karena ada penangung jawab resmi.
2. Support langsung dari pemilik aplikasi /program.
3. Mudah mendapatkan sertifikasi.
4. Lebih mudah digunakan / dipelajari / dipahami karena mayoritas pengguna menggunakannya ( pada daerah tertentu ).
Kekurangan Close Source
1. Tidak ada support khusus / langsung dari pembuat (developer).
2. Celah yang terbuka, bisa dimanfaatkan untuk pengambilan informasi.
3. Sosialisasi pemakaian, agak sulit, karena umumnya pengguna menggunakan close source (e.g.Windows),hanya pada daerah tertentu).
4. Sulit untuk mendapatkan sertifikasi.
5. Adanya lisensi yang mengharuskan pengguna untuk menyediakan dana /financial.
6. Pengembangan terbatas.
7. Diperlukan antivirus.
8. Aplikasi umumnya tersedia berbayar.
9. Deteksi kelemahan aplikasi menunggu feedback dari pengguna.
Contoh Closed Source
1. Operating System (Sistem Operasi), contoh : Microsoft Windows
2. Languages (Bahasa Pemrograman), contoh : Visual Basic, ASP, Pascal
3. Web Browser, contoh : Internet Explorer
4. Aplication (Aplikasi), contoh : Adobe Photoshop, CorelDraw
5. Office Suites (Aplikasi perkantoran), contoh : Microsoft Office
6. Server Aplication (Server), contoh : ColdFusion, IIS
7. Antivirus, contoh : Norton Antivirus, McAfee
8. Games, contoh : FIFA 2006, Winning Eleven, Spiderman
Sistem Operasi

Pengertian Sistem Operasi
Sistem operasi (bahasa Inggris: operating system ;OS) adalah seperangkat program yang mengelola sumber daya perangkat keras komputer atau hardware, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting. Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data,penyimpanan data, dan sumber daya lainnya.
Sistem operasi (bahasa Inggris: operating system ;OS) adalah seperangkat program yang mengelola sumber daya perangkat keras komputer atau hardware, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi booting. Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data,penyimpanan data, dan sumber daya lainnya.
Untuk
fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan
alokasi memori, sistem operasi bertindak sebagai perantara antara
program aplikasi dan perangkat keras komputer,meskipun kode aplikasi
biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan
menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan
pada hampir semua perangkat yang berisi komputer dari ponsel dan konsol
permainan video untuk superkomputer dan server web. Contoh sistem operasi
modern termasuk Android, BSD, iOS, Linux, Mac OS X, Microsoft Windows,
and IBM z/OS. Semuanya, kecuali Windows dan z/OS, mempunyai akar yang
sama yaitu Unix.
Biasanya,istilah Sistem Operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata dan penjelajah web.
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu. Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas scheduled task, dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu. Layanan inti tersebut seperti akses ke disk, manajemen memori, penjadwalan tugas scheduled task, dan antar-muka user GUI/CLI. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka
Sistem Operasi adalah penghubung antara lapisan hardware dengan lapisan
software. Sistem Operasi melakukan semua tugas-tugas penting dalam komputer,
dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan
dengan lancar. Sistem Operasi menjamin aplikasi lainnya dapat menggunakan
memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses
kepada sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka
Sistem Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua
proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor
(CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka
dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi
itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat
fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri
dari beberapa bagian:
-
Mekanisme
Boot, yaitu meletakkan kernel ke dalam memory
-
Kernel,
yaitu inti dari sebuah Sistem Operasi
- Command
Interpreter atau shell, yang bertugas membaca input dari pengguna
- Pustaka-pustaka,
yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
-
Driver
untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrolnya.
Contoh Sistem Operasi
Sistem Operasi UNIX dan UNIX-like
Unix awalnya ditulis menggunakan bahasa assembler. Ken Thompson menulis bahasa B, berbasis pada BCPL, berdasarkan pengalamannya di projek MULTICS. Bahasa B kemudian di ganti oleh bahasa C, dan Unix, ditulis ulang dalam bahasa C, dikembangkan menjadi keluarga sistem operasi yang besar, kompleks dan saling berhubungan yang menjadi sangat berpengaruh pada semua sistem operasi modern.
Keluarga UNIX-like adalah sebuah kelompok sistem operasi yang sangat besar, dengan beberapa sub-kategori utama, termasuk, System V, BSD, dan Linux. Nama "UNIX" adalah merek dagang dari The Open Group yang me-lisensi-kan untuk digunakan di semua sistem operasi yang sesuai dengan definisi mereka. Nama "UNIX-like" lebih sering digunakan untuk menyebutkan sistem operasi yang mirip dengan UNIX yang orisinil.
Sistem Unix-like berjalan di berbagai arsitektur komputer. Mereka banyak digunakan di server untuk usaha / bisnis, juga di workstation untuk lingkungan akademik dan engineering. Varian UNIX yang free, seperti Linux dan BSD, sangat populer di wilayah ini.
Ada empat (4) sistem operasi yang di sertifikasi oleh The Open Group (pemegang merek dagang UNIX) sebagai Unix. Sistem Operasi tersebut adalah HP-UX dan IBM AIX keduanya adalah turunan dari System V original dan hanya dapat di jalankan di hardware masing-masing vendir tersebut. Sedangkan, Sistem Operasi Solaris dari Sun Microsystem dapat dijalankan di berbagai hardware, termasuk x86 dan Sparc server, dan PC. Apple OS X, yang merupakan pengganti dari Apple MacOS, mempunyai kernel hybrid berbasis dari varian BSD yang diturunkan dari NeXTSTEP, Mach, dan FreeBSD.
Unix interoperability dilakukan melalui POSIX standard. POSIX standard dapat di terapkan ke sistem operasi manapun, walaupun awalnya dikembangkan untuk varian Unix.
BSD dan turunannya
Subgroup dari keluarga Unix adalah keluarga Berkeley Software Distribution (BSD), termasuk FreeBSD, NetBSD, dan OpenBSD. Sistem operasi ini biasanya di temukan di web server, walaupun mereka juga dapat ditemukan di PC. Keberadaan Internet berhutang banyak pada BSD, karena banyak protokol yang banyak digunakan di komputer, untuk saling mengirim dan menerima data melalui jaringan awalnya di implementasi dan di perbaiki di BSD. Web pertama dijalankan di komputer dengan sistem operasi berbasis BSD yaitu NextStep.
BSD berakar pada Unix. Pada tahun 1974, University of California, Berkeley menginstal sistem Unix pertama. Seiring dengan waktu, mahasiswa dan staf di departemen ilmu komputer mulai menambahkan aplikasi baru untuk membuat semuanya menjadi lebih mudah, seperti editor teks. Ketika Berkely menerima komputer VAX baru pada tahun 1978 dengan sistem operasi Unix , mahasiswa memodifikasi Unix untuk dapat mengambil keuntungan dari hardware komputer. Defense Advanced Research Projects Agency dari Departemen Pertahanan AS tertarik, dan memutuskan untuk mendanai proyek tersebut. Banyak sekolah, perusahaan, dan organisasi pemerintah tertarik dan mulai menggunakan versi Berkeley Unix bukan versi resmi yang didistribusikan oleh AT & T.
Steve Jobs, saat meninggalkan Apple Inc pada tahun 1985, membentuk NeXT Inc, sebuah perusahaan yang memproduksi komputer high-end menjalankan variasi BSD disebut NeXTSTEP. Salah satu komputer tersebut digunakan oleh Tim Berners-Lee sebagai webserver pertama untuk menciptakan World Wide Web.
Pengembang seperti Keith Bostic mendorong proyek untuk mengganti kode non-bebas yang berasal dari Bell Labs. Sayang sekali setelah ini dilakukan AT & T menggugat. Akhirnya, setelah dua tahun sengketa hukum, proyek BSD lolos dan melahirkan sejumlah derivatif bebas, seperti FreeBSD dan NetBSD.
OS X
OS X (sebelumnya "Mac OS X") adalah sistem operasi open core grafis yang dikembangkan dipasarkan dan dijual oleh Apple Inc., belakangan di install pada semua komputer Macintosh saat pengiriman. OS X adalah penerus MacOS original, yang menjadi sistem operasi utama Apple sejak tahun 1984. Tidak seperti pendahulunya, OS X adalah sistem operasi UNIX yang dibangun pada teknologi yang telah dikembangkan di NeXT mulai dari paruh kedua tahun 1980-an sampai Apple membeli NeXT pada awal 1997. Sistem operasi ini pertama kali dirilis pada tahun 1999 sebagai Mac OS X Server 1.0 dengan versi desktop (Mac OS X v10.0 "Cheetah") mengikutinya pada Maret 2001. Sejak itu, ada enam "klien" dan "server" edisi OS X telah dirilis, yang terbaru OS X 10.8 "Mountain Lion" yang pertama kali tersedia pada tanggal 16 Februari 2012 untuk pengembang, dan kemudian dirilis untuk umum pada 25 Juli 2012. Rilis dari OS X diberi nama sesuai dengan "big cats".
Sebelum penggabungan dengan OS X, server edition - OS X Server - secara arsitektur identik dengan desktop dan biasanya berjalan di Apple Macintosh server hardware. OS X Server mencakup work group manajemen dan perangkat lunak administrasi yang menyediakan akses yang disederhanakan untuk layanan jaringan utama, termasuk transfer mail, server Samba, server LDAP, server nama domain, dan lain-lain. Dengan MacOS X v10.7 Lion, aspek server MacOS X telah terintegrasi ke dalam versi klien dan produk rebranding "OS X" (membuang "MacOS" dari nama). Server tool sekarang ditawarkan sebagai aplikasi.
Linux and GNU
Linux (atau GNU / Linux) adalah sistem operasi Unix-like yang dikembangkan tanpa kode Unix asli Unix-like , seperti BSD dan variannya. Linux dapat digunakan pada berbagai perangkat dari superkomputer hingga jam tangan. Kernel Linux dirilis di bawah lisensi open source, sehingga siapapun dapat membaca dan memodifikasi source code-nya. Linux telah dimodifikasi untuk berjalan pada berbagai macam elektronik. Perkiraan yang ada menunjukkan bahwa Linux digunakan pada 1,82% dari semua komputer pribadi, telah banyak diadopsi untuk digunakan di server hingga embedded system (seperti ponsel). Linux telah menggantikan Unix di kebanyakan tempat, dan digunakan pada 10 superkomputer di dunia. Kernel Linux yang digunakan dalam beberapa distro populer, seperti Red Hat, Debian, Ubuntu, Linux Mint dan Google Android.
Proyek GNU merupakan kolaborasi masal programmer yang berusaha untuk menciptakan sebuah sistem operasi benar-benar bebas dan yang mirip Unix tapi dengan kodesendiri. Proyek GNU dimulai pada tahun 1983 oleh Richard Stallman, dan bertanggung jawab untuk banyak bagian dari varian Linux. Ribuan buah perangkat lunak untuk hampir setiap sistem operasi berlisensi di bawah GNU General Public License. Sementara itu, kernel Linux dimulai sebagai proyek sampingan dari Linus Torvalds, seorang mahasiswa dari Finlandia. Pada tahun 1991, Torvalds mulai mengerjakan , dan memposting informasi tentang proyek-nya di newsgroup untuk mahasiswa komputer dan programer. Ia menerima banyak sekali dukungan dan sukarelawan yang akhirnya menciptakan sebuah kernel yang utuh. Pemrogram dari GNU tertarik , dan anggota kedua proyek bekerja sama untuk mengintegrasikan bagian dari GNU dengan kernel Linux dalam rangka menciptakan sistem operasi yang utuh.
Google Chromium OS
Chromium adalah sistem operasi berbasis kernel Linux dan didesain oleh Google. Karena Chromium OS ditujukan untuk pengguna komputer yang menghabiskan sebagian besar waktu mereka di Internet, dia banyak mengandalkan web browser dan tidak memiliki kemampuan untuk menjalankan aplikasi lokal. Akan tetapi, dia bergantung pada aplikasi internet (atau web apps ) yang digunakan dalam web browser untuk menyelesaikan pekerjaan seperti pengolah kata dan melihat media, serta penyimpanan online untuk menyimpan file.
Microsoft Windows
Microsoft Windows adalah keluarga sistem operasi proprietary yang dirancang oleh Microsoft Corporation dan terutama ditargetkan untuk komputer berbasis arsitektur Intel, dengan estimasi pangsa 88,9 persen dari total komputer yang terhubung web. Versi terbaru adalah Windows 8 untuk workstation dan Windows Server 2012 untuk server. Windows 7 baru-baru ini melampaui Windows XP sebagai OS yang paling banyak digunakan.
Microsoft Windows berawal pada tahun 1985 sebagai lingkungan operasi yang berjalan di atas MS-DOS, yang merupakan sistem operasi standar dikirimkan pada kebanyakan arsitektur komputer pribadi berbasis processor intel pada saat itu. Pada tahun 1995, Windows 95 dirilis yang hanya menggunakan MS-DOS sebagai bootstrap. Untuk kompatibilitas ke belakang, Win9x bisa menjalankan real-mode MS-DOS dan 16 bit Windows 3.x driver. Windows ME, dirilis pada tahun 2000, adalah versi terakhir dalam keluarga Win9x. Versi yang lebih baru semuanya telah didasarkan pada kernel Windows NT. Versi terkini dari Windows berjalan pada mikroprosesor IA-32 dan x86-64, meskipun Windows 8 akan mendukung arsitektur ARM. Di masa lalu, Windows NT mendukung non-Intel arsitektur.
Edisi Server Windows agak banyak digunakan. Dalam beberapa tahun terakhir, Microsoft telah mengeluarkan modal yang signifikan dalam upaya untuk mempromosikan penggunaan Windows sebagai sistem operasi server. Namun, pemakaian Windows pada server tidak begitu luas seperti pada komputer pribadi, karena Windows bersaing dengan Linux dan BSD untuk pangsa pasar server.
Lainnya
Ada banyak sistem operasi yang signifikan pada zaman mereka tetapi tak lagi begitu sekarang, seperti AmigaOS, OS / 2 dari IBM dan Microsoft, MacOS pendahulu non-Unix untuk Apple Mac OS X, BeOS, XTS300; RISC OS, MorphOS dan FreeMint. Beberapa masih digunakan di ceruk pasar dan terus dikembangkan sebagai platform minoritas bagi mereka yang suka / antusias dan aplikasi khusus. OpenVMS sebelumnya dari DEC, masih dalam pengembangan aktif oleh Hewlett-Packard. Namun sistem operasi lain digunakan hampir secara eksklusif di akademisi, untuk pendidikan sistem operasi atau melakukan penelitian pada konsep sistem operasi. Sebuah contoh yang khas dari sistem yang memenuhi kedua peran adalah MINIX, sedangkan Singularity digunakan murni untuk penelitian.
Sistem operasi lain telah gagal untuk memenangkan pangsa pasar yang signifikan, namun telah memperkenalkan inovasi yang telah mempengaruhi sistem operasi mainstream, paling tidak Bell Labs Plan 9.
Komponen Sistem Operasi
Komponen sistem operasi semua ada untuk membuat bagian-bagian yang berbeda dari komputer bekerja sama. Semua perangkat lunak pengguna harus melalui sistem operasi untuk menggunakan perangkat keras, apakah itu sederhana seperti mouse atau keyboard atau serumit komponen internet.
Kernel
Kernel menghubungkan perangkat lunak aplikasi ke perangkat keras komputer. Dengan bantuan firmware device driver, kernel menyediakan tingkat yang paling dasar untuk mengontrol semua perangkat keras komputer. Ia mengatur akses memori untuk program di RAM, menentukan program mana yang mendapatkan akses ke sumber daya perangkat keras, kernel menset up atau me-reset kondisi operasi CPU agar beroperasi optimal setiap saat, dan mengatur penyimpanan data untuk jangka panjang pada penyimpanan non-volatile dengan sistem file pada media seperti disk, kaset, memori flash, dll.
Eksekusi Program
Sistem operasi menyediakan antarmuka antara program aplikasi dengan perangkat keras komputer, sehingga program aplikasi dapat berinteraksi dengan perangkat keras hanya dengan mematuhi peraturan dan prosedur yang sudah diprogram ke dalam sistem operasi. Sistem operasi juga merupakan satu set layanan yang menyederhanakan pengembangan dan eksekusi program-program aplikasi. Eksekusi program aplikasi melibatkan proses pembuatan oleh kernel sistem operasi yang memberikan ruang memori dan sumber daya lainnya, menetapkan prioritas untuk proses multi-tasking sistem, memasukan program kode biner ke memori, dan memulai eksekusi program aplikasi yang kemudian berinteraksi dengan pengguna dan dengan perangkat keras.
Interupsi
Interupsi sangat penting untuk sistem operasi, karena menyediakan cara yang efisien untuk sistem operasi untuk berinteraksi dengan dan bereaksi terhadap lingkungannya. Pilihan lainnya - menggunakan sistem operasi "mengawasi" berbagai sumber input akan kejadian (polling) agar dilakukan tindakan - teknik ini dapat ditemukan di sistem lama dengan stack yang sangat kecil (50 atau 60 byte) , teknik ini tidak biasa dalam sistem operasi modern dengan stack besar. Interupsi berbasis pemrograman langsung didukung oleh CPU paling modern. Interrupts memberikan komputer cara otomatis menyimpan konteks lokal register, dan menjalankan kode tertentu dalam menanggapi kejadian. Bahkan komputer yang sangat sederhana saat ini mendukung interupsi hardware, dan memungkinkan programmer untuk menentukan kode yang akan dijalankan ketika kejadian berlangsung.
Ketika interupsi diterima, hardware komputer secara otomatis menunda semua program yang sedang berjalan, statusnya disimpan, dan menjalankan kode komputer yang terkait dengan interupsi, hal ini analog dengan menempatkan penunjuk di buku sebagai tanggapan terhadap panggilan telepon. Dalam sistem operasi modern, interupsi ditangani oleh kernel sistem operasi. Interupsi dapat berasal dari baik perangkat keras komputer atau dari program berjalan.
Ketika sebuah perangkat keras memicu interupsi, kernel sistem operasi akan memutuskan bagaimana menangani kejadian ini, dengan menjalankan kode pemrosesan. Besarnya kode yang dijalankan tergantung pada prioritas interupsi (misalnya: orang biasanya akan merespon alarm detektor kebakaran sebelum menjawab telepon). Penanganan interupsi hardware biasanya didelegasikan ke perangkat lunak device driver , yang mungkin salah satu bagian dari kernel sistem operasi, atau bagian dari program lain, atau keduanya. Device driver kemudian dapat menyampaikan informasi ke program yang berjalan dengan berbagai cara.
Sebuah program mungkin juga untuk memicu interupsi kepada sistem operasi. Jika sebuah program ingin mengakses hardware misalnya, dia dapat menginterupsi kernel sistem operasi, yang menyebabkan kontrol untuk dikembalikan ke kernel. Kernel kemudian akan memproses permintaan tersebut. Jika sebuah program ingin sumber daya tambahan (atau ingin menumpahkan sumber daya) seperti memori, ia akan memicu interupsi untuk mendapatkan perhatian kernel.
Mode
Secara umum ada dua mode, yaitu, Mode Protected dan Mode Supervisor.
Privilege ring untuk x86 tersedia dalam protected mode . Sistem operasi menentukan proses mana yang berjalan dalam masing-masing modus .
CPU modern mendukung beberapa mode operasi. CPU dengan kemampuan ini menggunakan setidaknya dua mode: mode dan supervisor mode. Supervisor mode digunakan oleh kernel sistem operasi untuk tugas-tugas tingkat rendah yang membutuhkan akses tidak terbatas ke perangkat keras, seperti mengendalikan bagaimana memori ditulis dan dihapus, dan komunikasi dengan perangkat seperti kartu grafis. Protected mode, sebaliknya, digunakan untuk hampir segala sesuatu yang lain. Aplikasi yang beroperasi dalam protected mode, akan hanya dapat menggunakan perangkat keras melalui komunikasi dengan kernel, yang mengontrol segala sesuatu dalam mode supervisor. CPU mungkin ada mode lain yang serupa dengan proteded mode , seperti mode virtual untuk mengemulasi jenis prosesor tua, seperti 16-bit prosesor pada 32-bit , atau 32-bit prosesor pada 64-bit.
Ketika komputer pertama kali dijalankan, maka secara otomatis berjalan dalam mode supervisor. Beberapa program pertama yang berjalan di komputer, sebagai BIOS atau EFI, bootloader, dan sistem operasi memiliki akses tak terbatas ke perangkat keras - dan ini diperlukan karena, menurut definisi, Memulai lingkungan terlindungi hanya dapat dilakukan di luar lingkungan tersebut. Namun, ketika sistem operasi melewati kontrol ke program lain, maka dia dapat menset CPU ke mode protected.
Dalam mode protected, program mungkin memiliki akses ke set instruksi CPU yang terbatas . Sebuah program pengguna dapat meninggalkan mode protected hanya dengan memicu trigger, yang menyebabkan kontrol untuk diberikan kembali ke kernel. Dengan cara ini sistem operasi dapat mempertahankan kontrol eksklusif atas hal-hal seperti akses ke hardware dan memori.
Istilah "protected mode resource" biasanya merujuk kepada satu atau lebih register CPU, yang berisi informasi bahwa program berjalan tidak diperbolehkan untuk mengubah. Upaya untuk mengubah sumber daya ini umumnya menyebabkan berubah ke mode supervisor, dimana sistem operasi dapat menangani operasi program ilegal (misalnya, dengan membunuh program).
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja
yang berjalan pada satu waktu (misalnya DOS), tetapi sebagian besar Sistem
Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu
yang bersamaan. Sistem Operasi seperti ini disebut sebagai Multi-tasking
Operating System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem
Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada
input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan
asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering
disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS, contohnya
adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.
Tipe Sistem Operasi
Real-time
Sistem operasi real-time adalah sebuah sistem operasi multitasking yang ditujukan untuk menjalankan aplikasi real-time. Sistem Operasi real-time biasanya menspesialisasikan pada algoritma scheduling (penjadwalan) sehingga mereka dapat mencapai perilaku yang deterministik. Tujuan utama sebuah sistem operasi real-time adalah respons yang cepat dan dapat di prediksi untuk berbagai kejadian. Sistem operasi ini di rancang berdasarkan event-driven atau time-sharing atau kedua-nya. Sebuah sistem event-driven melakukan switching antar task berdasarkan prioritas atau kejadian (event) dari luar, sementara sistem operasi time-sharing melakukan switching antar task berbasis pada interupsi clock.
Multi-user
Sistem operasi multi-user memungkinkan banyak pengguna untuk mengakses sistem komputer pada saat yang sama. Sistem time-sharing dan server di Internet dapat dikategorikan sebagai sistem multi-user karena mereka memungkinkan banyak pengguna untuk mengakses komputer dengan cara berbagai waktu (sharing time). Sistem operasi single user hanya satu pengguna tapi dapat menjalankan multiple program pada saat yang sama.
Multi-tasking vs single-tasking
Sebuah sistem operasi multi-tasking memungkinkan lebih dari satu program untuk berjalan pada satu saat, dilihat dari skala waktu manusia. Sebuah sistem single-tasking hanya dapat menjalankan satu program. Ada dua tipe Multi-tasking, yaitu: (1) pre-emptive dan (2) co-operative. Di pre-emptive multitasking, sistem operasi akan membagi CPU time dan mendedikasikan satu slot untuk setiap program. Di sistem operasi Unix-like, seperti, Solaris dan Linux, biasanya mendukung pre-emptive multitasking, seperti juga AmigaOS. Cooperative multitasking dapat dicapai dengan cara saling mengandalkan satu sama lain untuk memberikan waktu / slot time ke proses yang lain dengan aturan yang baku.
Sistem Terdistribusi
Sebuah sistem operasi terdistribusi mengatur sebuah kelompok dari komputer yang independen dan membuat mereka tampak seperti satu buah komputer. Dengan perkembangan jaringan komputer memungkinkan sambungan dan komunikasi satu sama lain untuk membangun distributed computing. Komputasi terdistribusi dilakukan oleh lebih dari satu mesin. Jika komputer dalam satu group bekerjasama, maka mereka akan membangun sebuah distributed system / sistem terdistribusi.
Sistem Embedded
Sistem operasi embedded di rancang untuk digunakan di sistem komputer embedded. Sistem operasi embedded di operasikan di mesin kecil seperti PDA. Sistem operasi ini dapat beroperasi dengan sumber daya yang sangat terbatas. Sistem operasi ini di rancang agar sangat kecil dan sangat effisien. Contoh dari sistem operasi embedded ini adalah OpenWRT.
Sejarah sistem operasi
Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer.
Dalam sejarahnya, sistem operasi mengalami perkembangan yang sangat pesat. Perkembangan tersebut dapat dibagi kedalam lima generasi:
1. Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
2. Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS (Fortran Monitoring System) dan IBSYS. Jadi generasi komputer kedua ini merupakan generasi pertama dari sistem Operasi.
3. Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai
sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekaligus) dan multi-programming (melayani banyak program sekaligus).
4. Generasi Keempat (Pasca 1980an)
Sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari
keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para
pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.
5. Generasi Kelima (Pasca 2001 sampai Sekarang )
Mendefinisikan komputer generasi kelima menjadi cukup sulit karena tahap ini masih dalam perjalanan. Contoh imajinatif komputer generasi kelima adalah komputer fiksi HAL9000 dari novel karya Arthur C. Clarke berjudul 2001:Space Odyssey. HAL menampilkan seluruh fungsi yang diinginkan dari sebuah komputer generasi kelima. Dengan kecerdasan buatan (artificial intelligence), HAL dapat cukup memiliki nalar untuk melakukan percapakan dengan manusia, menggunakan masukan visual, dan belajar dari pengalamannya sendiri. Walaupun mungkin realisasi HAL9000 masih jauh dari kenyataan, banyak fungsi-fungsi yang dimilikinya sudah terwujud. Beberapa komputer dapat menerima instruksi secara lisan dan mampu meniru nalar manusia. Kemampuan untuk menterjemahkan bahasa asing sekarang menjadi mungkin. Fasilitas ini tampak sederhana. Namun fasilitas tersebut menjadi jauh lebih rumit dari yang diduga ketika programmer menyadari bahwa pengertian manusia sangat bergantung pada konteks dan pengertian ketimbang sekedar menterjemahkan katakata secara langsung.
Tipe Sistem Operasi
Real-time
Sistem operasi real-time adalah sebuah sistem operasi multitasking yang ditujukan untuk menjalankan aplikasi real-time. Sistem Operasi real-time biasanya menspesialisasikan pada algoritma scheduling (penjadwalan) sehingga mereka dapat mencapai perilaku yang deterministik. Tujuan utama sebuah sistem operasi real-time adalah respons yang cepat dan dapat di prediksi untuk berbagai kejadian. Sistem operasi ini di rancang berdasarkan event-driven atau time-sharing atau kedua-nya. Sebuah sistem event-driven melakukan switching antar task berdasarkan prioritas atau kejadian (event) dari luar, sementara sistem operasi time-sharing melakukan switching antar task berbasis pada interupsi clock.
Multi-user
Sistem operasi multi-user memungkinkan banyak pengguna untuk mengakses sistem komputer pada saat yang sama. Sistem time-sharing dan server di Internet dapat dikategorikan sebagai sistem multi-user karena mereka memungkinkan banyak pengguna untuk mengakses komputer dengan cara berbagai waktu (sharing time). Sistem operasi single user hanya satu pengguna tapi dapat menjalankan multiple program pada saat yang sama.
Multi-tasking vs single-tasking
Sebuah sistem operasi multi-tasking memungkinkan lebih dari satu program untuk berjalan pada satu saat, dilihat dari skala waktu manusia. Sebuah sistem single-tasking hanya dapat menjalankan satu program. Ada dua tipe Multi-tasking, yaitu: (1) pre-emptive dan (2) co-operative. Di pre-emptive multitasking, sistem operasi akan membagi CPU time dan mendedikasikan satu slot untuk setiap program. Di sistem operasi Unix-like, seperti, Solaris dan Linux, biasanya mendukung pre-emptive multitasking, seperti juga AmigaOS. Cooperative multitasking dapat dicapai dengan cara saling mengandalkan satu sama lain untuk memberikan waktu / slot time ke proses yang lain dengan aturan yang baku.
Sistem Terdistribusi
Sebuah sistem operasi terdistribusi mengatur sebuah kelompok dari komputer yang independen dan membuat mereka tampak seperti satu buah komputer. Dengan perkembangan jaringan komputer memungkinkan sambungan dan komunikasi satu sama lain untuk membangun distributed computing. Komputasi terdistribusi dilakukan oleh lebih dari satu mesin. Jika komputer dalam satu group bekerjasama, maka mereka akan membangun sebuah distributed system / sistem terdistribusi.
Sistem Embedded
Sistem operasi embedded di rancang untuk digunakan di sistem komputer embedded. Sistem operasi embedded di operasikan di mesin kecil seperti PDA. Sistem operasi ini dapat beroperasi dengan sumber daya yang sangat terbatas. Sistem operasi ini di rancang agar sangat kecil dan sangat effisien. Contoh dari sistem operasi embedded ini adalah OpenWRT.
Sejarah sistem operasi
Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer.
Dalam sejarahnya, sistem operasi mengalami perkembangan yang sangat pesat. Perkembangan tersebut dapat dibagi kedalam lima generasi:
1. Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
2. Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS (Fortran Monitoring System) dan IBSYS. Jadi generasi komputer kedua ini merupakan generasi pertama dari sistem Operasi.
3. Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai
sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekaligus) dan multi-programming (melayani banyak program sekaligus).
4. Generasi Keempat (Pasca 1980an)
Sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari
keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para
pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.
5. Generasi Kelima (Pasca 2001 sampai Sekarang )
Mendefinisikan komputer generasi kelima menjadi cukup sulit karena tahap ini masih dalam perjalanan. Contoh imajinatif komputer generasi kelima adalah komputer fiksi HAL9000 dari novel karya Arthur C. Clarke berjudul 2001:Space Odyssey. HAL menampilkan seluruh fungsi yang diinginkan dari sebuah komputer generasi kelima. Dengan kecerdasan buatan (artificial intelligence), HAL dapat cukup memiliki nalar untuk melakukan percapakan dengan manusia, menggunakan masukan visual, dan belajar dari pengalamannya sendiri. Walaupun mungkin realisasi HAL9000 masih jauh dari kenyataan, banyak fungsi-fungsi yang dimilikinya sudah terwujud. Beberapa komputer dapat menerima instruksi secara lisan dan mampu meniru nalar manusia. Kemampuan untuk menterjemahkan bahasa asing sekarang menjadi mungkin. Fasilitas ini tampak sederhana. Namun fasilitas tersebut menjadi jauh lebih rumit dari yang diduga ketika programmer menyadari bahwa pengertian manusia sangat bergantung pada konteks dan pengertian ketimbang sekedar menterjemahkan katakata secara langsung.
Contoh Sistem Operasi
Sistem Operasi UNIX dan UNIX-like
Unix awalnya ditulis menggunakan bahasa assembler. Ken Thompson menulis bahasa B, berbasis pada BCPL, berdasarkan pengalamannya di projek MULTICS. Bahasa B kemudian di ganti oleh bahasa C, dan Unix, ditulis ulang dalam bahasa C, dikembangkan menjadi keluarga sistem operasi yang besar, kompleks dan saling berhubungan yang menjadi sangat berpengaruh pada semua sistem operasi modern.
Keluarga UNIX-like adalah sebuah kelompok sistem operasi yang sangat besar, dengan beberapa sub-kategori utama, termasuk, System V, BSD, dan Linux. Nama "UNIX" adalah merek dagang dari The Open Group yang me-lisensi-kan untuk digunakan di semua sistem operasi yang sesuai dengan definisi mereka. Nama "UNIX-like" lebih sering digunakan untuk menyebutkan sistem operasi yang mirip dengan UNIX yang orisinil.
Sistem Unix-like berjalan di berbagai arsitektur komputer. Mereka banyak digunakan di server untuk usaha / bisnis, juga di workstation untuk lingkungan akademik dan engineering. Varian UNIX yang free, seperti Linux dan BSD, sangat populer di wilayah ini.
Ada empat (4) sistem operasi yang di sertifikasi oleh The Open Group (pemegang merek dagang UNIX) sebagai Unix. Sistem Operasi tersebut adalah HP-UX dan IBM AIX keduanya adalah turunan dari System V original dan hanya dapat di jalankan di hardware masing-masing vendir tersebut. Sedangkan, Sistem Operasi Solaris dari Sun Microsystem dapat dijalankan di berbagai hardware, termasuk x86 dan Sparc server, dan PC. Apple OS X, yang merupakan pengganti dari Apple MacOS, mempunyai kernel hybrid berbasis dari varian BSD yang diturunkan dari NeXTSTEP, Mach, dan FreeBSD.
Unix interoperability dilakukan melalui POSIX standard. POSIX standard dapat di terapkan ke sistem operasi manapun, walaupun awalnya dikembangkan untuk varian Unix.
BSD dan turunannya
Subgroup dari keluarga Unix adalah keluarga Berkeley Software Distribution (BSD), termasuk FreeBSD, NetBSD, dan OpenBSD. Sistem operasi ini biasanya di temukan di web server, walaupun mereka juga dapat ditemukan di PC. Keberadaan Internet berhutang banyak pada BSD, karena banyak protokol yang banyak digunakan di komputer, untuk saling mengirim dan menerima data melalui jaringan awalnya di implementasi dan di perbaiki di BSD. Web pertama dijalankan di komputer dengan sistem operasi berbasis BSD yaitu NextStep.
BSD berakar pada Unix. Pada tahun 1974, University of California, Berkeley menginstal sistem Unix pertama. Seiring dengan waktu, mahasiswa dan staf di departemen ilmu komputer mulai menambahkan aplikasi baru untuk membuat semuanya menjadi lebih mudah, seperti editor teks. Ketika Berkely menerima komputer VAX baru pada tahun 1978 dengan sistem operasi Unix , mahasiswa memodifikasi Unix untuk dapat mengambil keuntungan dari hardware komputer. Defense Advanced Research Projects Agency dari Departemen Pertahanan AS tertarik, dan memutuskan untuk mendanai proyek tersebut. Banyak sekolah, perusahaan, dan organisasi pemerintah tertarik dan mulai menggunakan versi Berkeley Unix bukan versi resmi yang didistribusikan oleh AT & T.
Steve Jobs, saat meninggalkan Apple Inc pada tahun 1985, membentuk NeXT Inc, sebuah perusahaan yang memproduksi komputer high-end menjalankan variasi BSD disebut NeXTSTEP. Salah satu komputer tersebut digunakan oleh Tim Berners-Lee sebagai webserver pertama untuk menciptakan World Wide Web.
Pengembang seperti Keith Bostic mendorong proyek untuk mengganti kode non-bebas yang berasal dari Bell Labs. Sayang sekali setelah ini dilakukan AT & T menggugat. Akhirnya, setelah dua tahun sengketa hukum, proyek BSD lolos dan melahirkan sejumlah derivatif bebas, seperti FreeBSD dan NetBSD.
OS X
OS X (sebelumnya "Mac OS X") adalah sistem operasi open core grafis yang dikembangkan dipasarkan dan dijual oleh Apple Inc., belakangan di install pada semua komputer Macintosh saat pengiriman. OS X adalah penerus MacOS original, yang menjadi sistem operasi utama Apple sejak tahun 1984. Tidak seperti pendahulunya, OS X adalah sistem operasi UNIX yang dibangun pada teknologi yang telah dikembangkan di NeXT mulai dari paruh kedua tahun 1980-an sampai Apple membeli NeXT pada awal 1997. Sistem operasi ini pertama kali dirilis pada tahun 1999 sebagai Mac OS X Server 1.0 dengan versi desktop (Mac OS X v10.0 "Cheetah") mengikutinya pada Maret 2001. Sejak itu, ada enam "klien" dan "server" edisi OS X telah dirilis, yang terbaru OS X 10.8 "Mountain Lion" yang pertama kali tersedia pada tanggal 16 Februari 2012 untuk pengembang, dan kemudian dirilis untuk umum pada 25 Juli 2012. Rilis dari OS X diberi nama sesuai dengan "big cats".
Sebelum penggabungan dengan OS X, server edition - OS X Server - secara arsitektur identik dengan desktop dan biasanya berjalan di Apple Macintosh server hardware. OS X Server mencakup work group manajemen dan perangkat lunak administrasi yang menyediakan akses yang disederhanakan untuk layanan jaringan utama, termasuk transfer mail, server Samba, server LDAP, server nama domain, dan lain-lain. Dengan MacOS X v10.7 Lion, aspek server MacOS X telah terintegrasi ke dalam versi klien dan produk rebranding "OS X" (membuang "MacOS" dari nama). Server tool sekarang ditawarkan sebagai aplikasi.
Linux and GNU
Linux (atau GNU / Linux) adalah sistem operasi Unix-like yang dikembangkan tanpa kode Unix asli Unix-like , seperti BSD dan variannya. Linux dapat digunakan pada berbagai perangkat dari superkomputer hingga jam tangan. Kernel Linux dirilis di bawah lisensi open source, sehingga siapapun dapat membaca dan memodifikasi source code-nya. Linux telah dimodifikasi untuk berjalan pada berbagai macam elektronik. Perkiraan yang ada menunjukkan bahwa Linux digunakan pada 1,82% dari semua komputer pribadi, telah banyak diadopsi untuk digunakan di server hingga embedded system (seperti ponsel). Linux telah menggantikan Unix di kebanyakan tempat, dan digunakan pada 10 superkomputer di dunia. Kernel Linux yang digunakan dalam beberapa distro populer, seperti Red Hat, Debian, Ubuntu, Linux Mint dan Google Android.
Proyek GNU merupakan kolaborasi masal programmer yang berusaha untuk menciptakan sebuah sistem operasi benar-benar bebas dan yang mirip Unix tapi dengan kodesendiri. Proyek GNU dimulai pada tahun 1983 oleh Richard Stallman, dan bertanggung jawab untuk banyak bagian dari varian Linux. Ribuan buah perangkat lunak untuk hampir setiap sistem operasi berlisensi di bawah GNU General Public License. Sementara itu, kernel Linux dimulai sebagai proyek sampingan dari Linus Torvalds, seorang mahasiswa dari Finlandia. Pada tahun 1991, Torvalds mulai mengerjakan , dan memposting informasi tentang proyek-nya di newsgroup untuk mahasiswa komputer dan programer. Ia menerima banyak sekali dukungan dan sukarelawan yang akhirnya menciptakan sebuah kernel yang utuh. Pemrogram dari GNU tertarik , dan anggota kedua proyek bekerja sama untuk mengintegrasikan bagian dari GNU dengan kernel Linux dalam rangka menciptakan sistem operasi yang utuh.
Google Chromium OS
Chromium adalah sistem operasi berbasis kernel Linux dan didesain oleh Google. Karena Chromium OS ditujukan untuk pengguna komputer yang menghabiskan sebagian besar waktu mereka di Internet, dia banyak mengandalkan web browser dan tidak memiliki kemampuan untuk menjalankan aplikasi lokal. Akan tetapi, dia bergantung pada aplikasi internet (atau web apps ) yang digunakan dalam web browser untuk menyelesaikan pekerjaan seperti pengolah kata dan melihat media, serta penyimpanan online untuk menyimpan file.
Microsoft Windows
Microsoft Windows adalah keluarga sistem operasi proprietary yang dirancang oleh Microsoft Corporation dan terutama ditargetkan untuk komputer berbasis arsitektur Intel, dengan estimasi pangsa 88,9 persen dari total komputer yang terhubung web. Versi terbaru adalah Windows 8 untuk workstation dan Windows Server 2012 untuk server. Windows 7 baru-baru ini melampaui Windows XP sebagai OS yang paling banyak digunakan.
Microsoft Windows berawal pada tahun 1985 sebagai lingkungan operasi yang berjalan di atas MS-DOS, yang merupakan sistem operasi standar dikirimkan pada kebanyakan arsitektur komputer pribadi berbasis processor intel pada saat itu. Pada tahun 1995, Windows 95 dirilis yang hanya menggunakan MS-DOS sebagai bootstrap. Untuk kompatibilitas ke belakang, Win9x bisa menjalankan real-mode MS-DOS dan 16 bit Windows 3.x driver. Windows ME, dirilis pada tahun 2000, adalah versi terakhir dalam keluarga Win9x. Versi yang lebih baru semuanya telah didasarkan pada kernel Windows NT. Versi terkini dari Windows berjalan pada mikroprosesor IA-32 dan x86-64, meskipun Windows 8 akan mendukung arsitektur ARM. Di masa lalu, Windows NT mendukung non-Intel arsitektur.
Edisi Server Windows agak banyak digunakan. Dalam beberapa tahun terakhir, Microsoft telah mengeluarkan modal yang signifikan dalam upaya untuk mempromosikan penggunaan Windows sebagai sistem operasi server. Namun, pemakaian Windows pada server tidak begitu luas seperti pada komputer pribadi, karena Windows bersaing dengan Linux dan BSD untuk pangsa pasar server.
Lainnya
Ada banyak sistem operasi yang signifikan pada zaman mereka tetapi tak lagi begitu sekarang, seperti AmigaOS, OS / 2 dari IBM dan Microsoft, MacOS pendahulu non-Unix untuk Apple Mac OS X, BeOS, XTS300; RISC OS, MorphOS dan FreeMint. Beberapa masih digunakan di ceruk pasar dan terus dikembangkan sebagai platform minoritas bagi mereka yang suka / antusias dan aplikasi khusus. OpenVMS sebelumnya dari DEC, masih dalam pengembangan aktif oleh Hewlett-Packard. Namun sistem operasi lain digunakan hampir secara eksklusif di akademisi, untuk pendidikan sistem operasi atau melakukan penelitian pada konsep sistem operasi. Sebuah contoh yang khas dari sistem yang memenuhi kedua peran adalah MINIX, sedangkan Singularity digunakan murni untuk penelitian.
Sistem operasi lain telah gagal untuk memenangkan pangsa pasar yang signifikan, namun telah memperkenalkan inovasi yang telah mempengaruhi sistem operasi mainstream, paling tidak Bell Labs Plan 9.
Komponen Sistem Operasi
Komponen sistem operasi semua ada untuk membuat bagian-bagian yang berbeda dari komputer bekerja sama. Semua perangkat lunak pengguna harus melalui sistem operasi untuk menggunakan perangkat keras, apakah itu sederhana seperti mouse atau keyboard atau serumit komponen internet.
Kernel
Kernel menghubungkan perangkat lunak aplikasi ke perangkat keras komputer. Dengan bantuan firmware device driver, kernel menyediakan tingkat yang paling dasar untuk mengontrol semua perangkat keras komputer. Ia mengatur akses memori untuk program di RAM, menentukan program mana yang mendapatkan akses ke sumber daya perangkat keras, kernel menset up atau me-reset kondisi operasi CPU agar beroperasi optimal setiap saat, dan mengatur penyimpanan data untuk jangka panjang pada penyimpanan non-volatile dengan sistem file pada media seperti disk, kaset, memori flash, dll.
Eksekusi Program
Sistem operasi menyediakan antarmuka antara program aplikasi dengan perangkat keras komputer, sehingga program aplikasi dapat berinteraksi dengan perangkat keras hanya dengan mematuhi peraturan dan prosedur yang sudah diprogram ke dalam sistem operasi. Sistem operasi juga merupakan satu set layanan yang menyederhanakan pengembangan dan eksekusi program-program aplikasi. Eksekusi program aplikasi melibatkan proses pembuatan oleh kernel sistem operasi yang memberikan ruang memori dan sumber daya lainnya, menetapkan prioritas untuk proses multi-tasking sistem, memasukan program kode biner ke memori, dan memulai eksekusi program aplikasi yang kemudian berinteraksi dengan pengguna dan dengan perangkat keras.
Interupsi
Interupsi sangat penting untuk sistem operasi, karena menyediakan cara yang efisien untuk sistem operasi untuk berinteraksi dengan dan bereaksi terhadap lingkungannya. Pilihan lainnya - menggunakan sistem operasi "mengawasi" berbagai sumber input akan kejadian (polling) agar dilakukan tindakan - teknik ini dapat ditemukan di sistem lama dengan stack yang sangat kecil (50 atau 60 byte) , teknik ini tidak biasa dalam sistem operasi modern dengan stack besar. Interupsi berbasis pemrograman langsung didukung oleh CPU paling modern. Interrupts memberikan komputer cara otomatis menyimpan konteks lokal register, dan menjalankan kode tertentu dalam menanggapi kejadian. Bahkan komputer yang sangat sederhana saat ini mendukung interupsi hardware, dan memungkinkan programmer untuk menentukan kode yang akan dijalankan ketika kejadian berlangsung.
Ketika interupsi diterima, hardware komputer secara otomatis menunda semua program yang sedang berjalan, statusnya disimpan, dan menjalankan kode komputer yang terkait dengan interupsi, hal ini analog dengan menempatkan penunjuk di buku sebagai tanggapan terhadap panggilan telepon. Dalam sistem operasi modern, interupsi ditangani oleh kernel sistem operasi. Interupsi dapat berasal dari baik perangkat keras komputer atau dari program berjalan.
Ketika sebuah perangkat keras memicu interupsi, kernel sistem operasi akan memutuskan bagaimana menangani kejadian ini, dengan menjalankan kode pemrosesan. Besarnya kode yang dijalankan tergantung pada prioritas interupsi (misalnya: orang biasanya akan merespon alarm detektor kebakaran sebelum menjawab telepon). Penanganan interupsi hardware biasanya didelegasikan ke perangkat lunak device driver , yang mungkin salah satu bagian dari kernel sistem operasi, atau bagian dari program lain, atau keduanya. Device driver kemudian dapat menyampaikan informasi ke program yang berjalan dengan berbagai cara.
Sebuah program mungkin juga untuk memicu interupsi kepada sistem operasi. Jika sebuah program ingin mengakses hardware misalnya, dia dapat menginterupsi kernel sistem operasi, yang menyebabkan kontrol untuk dikembalikan ke kernel. Kernel kemudian akan memproses permintaan tersebut. Jika sebuah program ingin sumber daya tambahan (atau ingin menumpahkan sumber daya) seperti memori, ia akan memicu interupsi untuk mendapatkan perhatian kernel.
Mode
Secara umum ada dua mode, yaitu, Mode Protected dan Mode Supervisor.
Privilege ring untuk x86 tersedia dalam protected mode . Sistem operasi menentukan proses mana yang berjalan dalam masing-masing modus .
CPU modern mendukung beberapa mode operasi. CPU dengan kemampuan ini menggunakan setidaknya dua mode: mode dan supervisor mode. Supervisor mode digunakan oleh kernel sistem operasi untuk tugas-tugas tingkat rendah yang membutuhkan akses tidak terbatas ke perangkat keras, seperti mengendalikan bagaimana memori ditulis dan dihapus, dan komunikasi dengan perangkat seperti kartu grafis. Protected mode, sebaliknya, digunakan untuk hampir segala sesuatu yang lain. Aplikasi yang beroperasi dalam protected mode, akan hanya dapat menggunakan perangkat keras melalui komunikasi dengan kernel, yang mengontrol segala sesuatu dalam mode supervisor. CPU mungkin ada mode lain yang serupa dengan proteded mode , seperti mode virtual untuk mengemulasi jenis prosesor tua, seperti 16-bit prosesor pada 32-bit , atau 32-bit prosesor pada 64-bit.
Ketika komputer pertama kali dijalankan, maka secara otomatis berjalan dalam mode supervisor. Beberapa program pertama yang berjalan di komputer, sebagai BIOS atau EFI, bootloader, dan sistem operasi memiliki akses tak terbatas ke perangkat keras - dan ini diperlukan karena, menurut definisi, Memulai lingkungan terlindungi hanya dapat dilakukan di luar lingkungan tersebut. Namun, ketika sistem operasi melewati kontrol ke program lain, maka dia dapat menset CPU ke mode protected.
Dalam mode protected, program mungkin memiliki akses ke set instruksi CPU yang terbatas . Sebuah program pengguna dapat meninggalkan mode protected hanya dengan memicu trigger, yang menyebabkan kontrol untuk diberikan kembali ke kernel. Dengan cara ini sistem operasi dapat mempertahankan kontrol eksklusif atas hal-hal seperti akses ke hardware dan memori.
Istilah "protected mode resource" biasanya merujuk kepada satu atau lebih register CPU, yang berisi informasi bahwa program berjalan tidak diperbolehkan untuk mengubah. Upaya untuk mengubah sumber daya ini umumnya menyebabkan berubah ke mode supervisor, dimana sistem operasi dapat menangani operasi program ilegal (misalnya, dengan membunuh program).
Langganan:
Postingan (Atom)