Senin, 11 Januari 2016

Sejarah Sistem Operasi

Sejarah Sistem Operasi

Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi ke dalam empat generasi :
•    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.
•     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 dan IBSYS.
•    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 sekali gus) dan multi-programming (melayani banyak program sekali gus).
•    Generasi Keempat (Pasca 1980an)
Dewasa ini, 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.
Sejarah Microsoft Windows
Microsoft pertama memulai pengembangan antar muka  Manajer (sesudah itu dinamai Microsoft Windows) pada September 1981. Walaupun Multiplan prototipe yang digunakan pertama dengan Menu Word-like pada bawah layar, antar muka telah diubah pada tahun 1982 menggunakan drop-down menu dan dialog kotak, seperti yang digunakan oleh Bintang Xerox.
Versi Microsoft windows di diskusikan seperti di bawah ini:
•    Windows 1.0
•    Windows 2.0
•    Windows/386
•    Windows 3.0
•    Windows 3.1
•    Windows 95
•    Windows 98
•    Windows Me
•    Windows NT
•    Windows 2000
•    Windows XP
•    Windows Server 2003
Windows 1.0
Microsoft akhirnya mengumumkan Windows pada bulan November 1983, dengan tekanan bahwa impian harus segera diwujudkan dari dan  Topview yang segera terjadi. Hal Ini terjadi setelah Apple Lisa di release (tetapi sebelum Macintosh), dan sebelum  Digital Research mengumumkan  GEM,  pesaing lingkungan grafis yang lain. Windows menjanjikan suatu antar muka grafis sederhana, device-independent grafik, dan dukungan multitasking. Pengembangan telah tertunda beberapa kali, bagaimanapun, dan versi yang pertama tersedia bagi pasar konsumen (setelah 55 tahun programmer dari pengembangan) pada bulan November 1985. Pemilihan dari aplikasi jarang, bagaimanapun, dan Windows penjualan adalah rendah hati. Yang berikut adalah fitur yang utama dari Windows 1.0 :
•    Graphical user interface (GUI) dengan menu drop-down, tiled windows, dan mouse support
•    Device-independent screen dan printer graphics
•    Cooperative multitasking of Windows applications

Windows 2.0
Windows 2.0, diperkenalkan pada musim gugur tahun 1987, menyajikan peningkatan usabilitas  yang penting terhadap Windows. Dengan penambahan icon dan overlap jendela, Windows menjadi suatu lingkungan yang baik untuk pengembangan dari aplikasi utama (seperti Excel, Word fork Windows, Corel Draw!, Ami, Pagemaker, dan Micrografx Designer). Penjualan telah menghimbau oleh runtime (Lingkungan Aplikasi  tunggal) versi yang disediakan oleh penjual perangkat lunak yang mandiri. Ketika Windows/386 (lihat bagian yang berikutnya) telah dilepaskan/release, Microsoft memberikan nama Windows Microsoft 2.0 menjadi Windows/286 untuk konsistensi. Berikut ini adalah perubahan yang utama dari versi yang lebih awal dari Windows :
•    Overlapping windows
•    PIF files for DOS applications
Windows/386
Di akhir 1987, Microsoft merelease Windows/386,yang secara fungsional setara dengan Windows/286, dapat menjalankan berbagai aplikasi DOS secara serempak di extended memori. Berbagai mesin virtual DOS dengan premptive multitasking merupakan fitur baru dalam Windows dari versi sebelumnya.
Windows 3.0
Microsoft Windows 3.0, yang direlease pada bulan Mei 1990, melengkapi memeriksa secara seksama dari lingkungan Windows. Windows 3.0 dapat mengalamati memori di atas 640KB, dan mempunyai antar muka yang jauh lebih powerful, vendor perangkat lunak yang mandiri mulai mengembang;kan aplikasi Windows dengan tenaga (vigor). Aplikasi baru  yang powerful membantu Microsoft menjual lebih dari 10 juta salinan dari Windows, hal tersebut menjadikan GUI yang paling laris dalam sejarah komputasi. Berikut adalah perubahan yang utama dari versi Windows sebelumnya :
•    Mode Standard (286), dengan dukungan memori besar
•    Mode 386 Enhanced, dengan memori besar dan berbagai dukungan sesi DOS preempitve
•    Tidak tersedia versi runtime
•    Program Manajer dan File Manajer ditambahkan
•    Dukungan jaringan
•    Mendukung untuk lebih dari 16 warna
•    Aplikasi Programming Interface (API) mendukung untuk combo boxes, menu hirarkis, dan private .ini file
Windows 3.1
Microsoft Windows 3.1, yang direlease pada  April 1992, menyajikan peningkatan penting terhadap Windows 3.0. Dalam dua bulan pertama nya, menjual di atas tiga juta salinan, termasuk upgrade dari Windows 3.0. Berikut adalah perubahan yang utama dari Windows 3.0 :
1.    No Real (8086) mode support
2.    Mendukung jenis tulisan (font) yang skalabel Truetype
3.    Kemampuan Multimedia
4.    Obyek Linking and Embedding ( OLE)
5.    Kemampuan mem-boot kembali aplikasi
6.    Mouse Trails untuk mempermudah mouse menggunakan  peralatan display LCD
7.    Perlindungan Interapplication  lebih baik dan diagnostik kesalahan yang lebih baik
8.    Mendukung  API multimedia dan networking
9.    Kompabilitas API level source dengan Windows NT
Windows 95
Windows 95 direlease pada Agustus 1995. Diarahkan pada pangsa pasar desktop, hal ini sangat berbeda dengan Windows 3.1 dan tidak lagi mensyaratkan DOS yang terpisah. Di rancang   untuk tetap berjalan bersama dengan Windows NT, yang menawarkan tingkat yang lebih besar dari kompabilitas mundur dengan perangkat lunak dan  driver yang lebih tua (terdahulu), atas biaya stabilitas dan keamanan dari Windows NT yang lebih besar. Fitur baru adalah sebagai berikut :
1.    Sesuatu yang baru, lebih Object-oriented GUI
2.    WIN32 API yang baru
3.    Preemptive multitasking dari aplikasi Win32
4.    Model memory flat 32-bit
5.    Protected memory
6.    Mendukung Built-in networking, termasuk dukungan dial-up
7.    Model driver 32-bit yang baru
Windows 98
Windows 98 direlease sebagai sebuah upgrade terhadap Windows 95. Windows 98 memiliki kesamaan antar muka (interface) dan fitur dari Windows 95, tetapi juga menyertakan update berikut ini :
•    32-bit allocation system (FAT32) yang tidak hanya mengijinkan drive hard disk lebih besar dari 2GB, tetapi juga penggunaan disk space yang lebih efisien, mengijinkan file untuk di-load lebih cepat dan mengambil tempat yang lebih sedikit; FAT32 dapat membaca drive hard disk sebesar 2TB (2000GB)
•    Dukungan untuk peripheral Universal Serial Bus (USB)
•    Dukungan untuk WebTV (sejak saat itu berubah menjadi MSN TV)
•    Dukungan untuk lebih dari satu monitor
•    Microsoft Web Server
•    Microsoft Task Scheduler
Beberapa fitur ini juga tersedia dalam versi Windows terbaru (dikenal dengan OSR2) yang telah didistribusikan dengan PC baru pada tahun 1998. OSR2 tidak pernah tersedia untuk penjualan ritel.
Pada 1999, Microsoft merelease Windows 98SE (Second Edition), yang meningkatkan Windows dan juga ditambahkan fitur sebagai berikut :
•    Dukungan untuk DVD-ROM
•    Internet Connection Sharing (ICS)
•    Meningkatkan waktu startup untuk program
•    Meningkatkan dukungan USB
Windows Me
Windows Me, atau Millenium Edition, di release tahun 2000 sebagai upgrade dari Windows 98SE. Sangat mirip dengan pendahulunya, Windows Me menyertakan kemampuan home networking baru, video capture dan editing, dan mekanisme baru untuk pemugaran system dalam keadaan darurat.
Microsoft menggantikan Windows Me dengan Windows XP, yang digambarkan dibawah.
Windows NT
Catatan : Untuk alasan keamanan dan support, UITS merekomendasikan penggunaan Windows 2000 Profesional atau Windows XP Profesional, daripada NT Workstation 4.0 pada jaringan Universitas Indiana. Windows NT 4.0 memasuki fase daur hidup yang ditingkatkan. Hal ini mempunyai arti bahwa tidak lagi dipertimbangkan sebagai mainstream teknologi , dan support akan menjadi lebih dibatasi selama fase ini. Untuk informasi lebih lanjut, lihat halaman Petunjuk Daur Hidup Product Desktop Microsoft Windows pada :
http://support.microsoft.com/?LN=en-us&pr=lifecycle
Windows NT adalah produk terpisah dari Windows 3.x, Windows 95, dan Windows 98.  Di arahkan pada pangsa pasar perusahaan, untuk digunakan pada workstation dan server yang high-end. Versi pertama, 3.1 dan versi 3.5 dan 3.51, menggunakan antar muka yang sama dengan Windows 3.1. Versi 4.0 menggunakan antar muka yang diperkenalkan pertama kali dengan Windows 95.
Windows NT 4.0 menawarkan fitur baru sebagai berikut :
•    Dukungan NTFS file system
•    Model keamanan (security model)
•    Remote Access Server (RAS)
•    Subsystem OS/2 dan POSIX
•    Kemampuan untuk berjalan pada prosesor Intel, Alpha, MIPS dan Motorola
Windows NT 4.0 terdiri dari dua versi : Advanced Server dan Workstation. Versi Advanced Server dengan software tambahan yang mengijinkannya untuk menunjukkan aturan dari server enterprise. Advanced server memiliki fitur berikut dalam tambahan yang ditemukan pada versi Workstation :
•    Software untuk menkontrol dan mengatur domain
•    Internet Information Server (IIS)
•    Dukungan untuk produk Microsoft BackOffice
•    Software server DHCP, DNS dan WINS
Windows 2000
Windows 2000 di release sebagai update atas Windows NT 4.0. Windows 2000 bukan upgrade dari Windows 98 atau 98SE.
Windows 2000 dibangun pada Windows NT dan menawarkan peningkatan sebagai berikut :
•    System operasi full 32-bit
•    Dukungan untuk NTFS atau FAT32, dengan dukungan untuk drive hard disk sebesar 32GB ketika menjalankan FAT32.
•    Windows File Protection, yang menjaga aplikasi yang di install dari penghapusan file system yang penting.
•    Mengurangi beberapa skenario reboot, termasuk instalasi program yang mensyaratkan sebuah reboot untuk perbaikan fungsi.
•    Dukungan untuk sampai 4GB Random Access Memory (RAM)
•    Microsoft Management Console (MMC)
•    Internet integrasi yang lebih kuat dengan Internet Explorer 5.0.1
Terdapat tiga versi Windows 2000 yang berbeda : Professional, Server dan Advanced Server. Professional di rancang untuk system desktop dan laptop,baik stand-alone dan network, untuk penggunaan individual. Server di rancang untuk menjalankan file dan printer servers. Advanced server di rancang untuk menjalankan server dengan lebih powerful; Advanced server telah mendukung tambahan RAM 4GB.
Windows XP
Di release pada akhir tahun 2001, Windows XP menggantikan tempat Windows family 95/98 dan NT.
Didasarkan pada kesamaan kode yang gunakan untuk membuat Windows 2000, XP terbagi dalam dua versi workstation pada saat diluncurkan : Home dan Professional. Kedua versi  menyatukan fitur Windows 2000. Sejak peluncuran asli nya, tiga edisi baru dari Windows XP telah di release. Termasuk diantaranya Media Center Edition, Tablet PC Edition, dan XP Professional x64 (64-bit) edition.
Catatan : Jika anda ingin meng-upgrade versi Windows terdahulu ke XP, UITS merekomendasikan sebuah intall bersih (clean install) daripada upgrade tradisional, dalam kaitan perbedaan yang kuat antara family sistem operasi yang terdahulu dengan Windows XP.
Windows XP Home Edition
Windows XP Home Edition telah menggantikan Windows 95, 98 dan Me.
Beberapa fitur-fitur baru yang ditawarkan oleh Windows XP Home Edition diantaranya :
•    Cepat, mudah berpindah antar user (pengguna) pada computer yang sama tanpa perlu menutup aplikasi.
•    Luna, desktop dengan rancangan terbaru, yang mana menaruh fitur-fituryang sering digunakan pada lokasi yang paling mudah ditemukan pada menu Start.
•    Peningkatan Windows Media Player , yang mengintegrasikan playback DVD, organisasi musik, dan burning CD.
•    Windows Messenger, yang menawarkan built-in pengiriman pesan  secara cepat melalui internet.
•    Windows Movie Maker, yang menawarkan built-in video capture dan editing.
•    Internet Explorer 6, versi dari Microsoft web browser terkini.
•    Remote Assistance, yang mengijinkan tehnisi untuk mengambil kontrol komputer sementara untuk mendiagnosis dan memperbaiki masalah, atau untuk mendemonstrasikan fitur-fitur.
•    System Restore, yang mengijinkan komputer untuk menyimpan kembali dirinya terhadap konfigurasi yang terkini jika terjadi sesuatu kesalahan.
•    Network Setup Wizard, mengijinkan setup yang lebih mudah untuk home network untuk file, printer dan Internet connection sharing.
Windows XP Professional Edition
Windows XP Professional Edition telah menggantikan Windows NT dan 2000. Sebagai tambahan terhadap fitur-fitur dari Home edition, yaitu menambahkan fitur-fitur baru untuk meningkatkan efisiensi networking dan task :
•    Remote Desktop, yang mengijinkan pembuatan virtual session pada satu computer dari computer lain melalui internet
•    Encryting File System, yang menawarkan keamanan yang lebih baik dengan file key-encrypting secara transparan.
•    Fast resume dari Hibernation, yang mengijinkan bekerja untuk resume yang cepat dan menyimpan waktu hidup batery pada komputer laptop.
•    Dukungan untuk networking 802.1x untuk networking wireless yang lebih aman.
Windows Server 2003
Windows Server 2003 di release sebagai sebuah upgrade terhadap Windows 2000 Server. Fitur-fitur tambahan pada Windows Server 2003 diantaranya:
•    Meningkatkan ketergantungan
•    Built-in support untuk web services
•    Runtime common language mengurangi jumlah bug dan lubang keamanan yang disebabkan oleh kesalahan pemrograman yang sering terjadi
•    Dukungan untuk prosesor 32-bit dan 64-bit (tergantung pada versi)
•    Symmetric multi-processing support sampai dengan prosesor 64
•    Dukkungan sampai dengan RAM 512GB
Terdapat beberapa versi Windows 2003 Server yang berbeda yaitu: Standard Edition, Enterproses Edition, Datacenter Edition, Web Edition dan Small Business Server 2003.
Sejarah Open Source Software
Awalnya ketika IBM menjual komputer komersial large scale pertama pada tahun 1960, IBM muncul dengan beberapa software yang free, maksudnya adalah secara bebas (freely) dibagikan diantara pengguna, mulai dari source code dan kemudian improvisasi dan modifikasi. Pada akhir tahun 1960 an, situasi mulai berubah setelah IBM Software mulai mempaketkan software dan pada pertengahan tahun 1970 an,  software mulai terbiasa dengan non-free software dimana menyebabkan user tidak diijinkan untuk mendistribusikan software, sorce code yang tidak disediakan sehingga user tidak dapat memodifikasi program (software).
Pada akhir tahun 1970 an serta awal tahun 1980 an, 2 grup yang berbeda mulai terbentuk dengan berdasarkan Open Source Software yaitu :
a.    Pesisir timur US, Richard Stallman, seorang programmer formal MIT AI lab, mengundurkan diri dan meluncurkan GNU Project dan Free Software Foundation. Tujuan pokok dari GNU Project adalah membangun Sistem Operasi yang Free (gratis) dan Richard memulainya dengan coding dari beberapa programming tools (compiler, editor ,dll). Sebagai tools yang legal, GNU General Public License (GPL) didesain bukan hanya untuk menjamin bahwa software yang dihasilkan GNU tetap free, tetapi juga untuk mengembangkan produksi dari free software. Dari segi filosofi, Richard Stallman juga menulis GNU manifesto, mulai dari ketersedianan source code dan kebebasan untuk mendistribusikan serta memodifikasi software adalah azas yang mendasar.
b.    Pesisir barat US, Computer Science Research Group (CSRG) dari Universitas California di Barkeley tengah mengembangkan system Unix dan membangun sejumlah aplikasi yang kemudian dikenal dengan “BSD Unix“.  Usaha ini didanai penuh oleh DARPA (secara kontrak) dan jaringan komunitas hacker Unix  diseluruh dunia membantu dalam debugging, maintain serta improvisasi system. Selama beberapa waktu, software tidak didistribusikan diluar komunitas holders dari lisensi AT&T Unix. Tetapi pada akhir tahun 1980 an, software akhirnya didistribusikan dibawah lisensi BSD, satu dari lisensi open source pertama. Sayangnya, setiap kali user dari BSD Unix memerlukan lisensi AT&T Unix, sejak beberapa bagian dari kernel dan sejumlah utility penting, yang diperlukan untuk usable system tetap menjadi non-free software (rahasia).
Sepanjang tahun 1980 an sampai awal 1990 an, software open source melanjutkan perkembangannya, dimulai dari beberapa grup yang terisolasi. USENET dan internet membantu dalam upaya  pengkoordinasian antar Negara dan membangun komunitas user yang kuat. Seceara perlahan, banyak software yang telah dikembangkan mulai beritegrasi. Hasil dari integrasi itu, lingkungan yang lengkap dapat dibangun pada UNIX sebagai penggunaan software open source. Pada banyak kasus, system administrator mulai mengganti tools standar dengan GNU Program. Pada saat itu, banyak aplikasi yang mulai menjadi yang terbaik (utiliti UNIX, compiler dll).
Sepanjang tahun 1991-1992, keseluruhan ruang lingkup software open source dan pengembangan software pada umumnya, telah mulai berubah. 2 kejadian menarik yang terjadi walau berbeda komunitas :
1.    Di California, Bill Jolitz mengimplementasikan bagian yang gagal menjadi distribusi Net/2, sampai dengan siap berjalan pada mesin i386. Net/2 adalah hasil upaya CSRG untuk menghalangi ”BSD Unix” (free code dari hak cipta AT&T). Bill menyebut hasil pekerjaannya dengan 386BSD dan secara cepat lebih disukai dibandingkan dengan BSD dan komunitas Unix. 386BSD tidak hanya terdiri dari kernel tetapi juga utilitas lainnya, yang membuat sistem operasi yang lengkap. Pekerjaan ini di dilengkapi dengan lisensi BSD yang mana ikut membuatnya menjadi software ber-flatform gratis. 386BSD juga terdiri dari free software dengan lisensi lainnya (sebagai contoh GNU Compiler).
2.    Di Finlandia, Linus Torvalds, pelajar computer science, tidak senang dengan Minix milik Tanenbaum, mengimplementasikan linux kernel versi pertama. Kemudian, banyak orang mulai berkolaborasi untuk membuat kernel ini menjadi lebih berguna dan menambahkan banyak utility untuk melengkapinya menjadi GNU/Linux, sistem operasi real. Kernel linux dan aplikasi GNU yang digunakan dillindungi oleh GPL.
Tahun 1993, GNU/Linux dan 386BSD menjadi flatform yang stabil. Sejak itu, 386BSD mulai berkembang menjadi keluarga dari sistem operasi berdasarkan BSD (NetBSD, FreeBSD, OpenBSB), dimana kernel linux berkembang dan mulai digunakan pada distribusu GNU/Linux (Slackware, Debian, Red Hat, Suse, Mandrake dan lainnya). Tahun ini pula munculnya GNOME dan KDE, yang digunakan sebagai projek yang digunakan untuk kualitas yang tinggi.
Akhir tahun 1980 an,  adalah tahun yang menyenangkan dimana mulai respek terhadap software open source. System open source berdasarkan GNU/Linux atau BSD mulai mendapat sambutan public dan menjadi alternative riil bagi pemilik system, bersaingan frontal dengan pemimpin pasar saat itu (seperti Windows NT Server).
Definisi Open Source
Tidak mudah untuk mendefinisikan kata Open Source Software hanya dalam beberapa kata, hal ini dikarenakan banyaknya kategori dan variant yang masih ada. Tetapi hal ini tidak terlalu rumit karena ide dasarnya adalah simple.
Ide Umum Open Source Software
Dalam bahasa inggris, free software memiliki arti yang ambigu,dari kata free itu sendiri yang dapat berarti bebas atau gratis. Oleh sebab itu, kita akan menggunakan konsep Open Source berdasarkan kebebasan user dalam menggunakan, pendistribusian dan lainnya serta software gratis (tanpa biaya).
Feature utama dari karakteristik free (Open Source) adalah kebebasan dari user   untuk :
•    Menggunakan software sesuai keinginannya, untuk apapun yang mereka inginkan, pada beberapa komputer dalam situasi yang tepat secara teknis.
•    Memiliki software yang tersedia sesuai kebutuhan. Tentu saja meliputi improvisasi, perbaikan bugs, memperbesar fungsinya dan dokumentasi pengoperasiannya.
•    Mendistribusikan software kepada user lainnya, untuk digunakan berdasarkan kebutuhannya. Pendistribusian bisa saja free, atau dengan biaya.
Keuntungan dan kerugian dari Open Source Software
Motivasi dari penggunaan dan pengembangan open source software beraneka ragam, mulai dari filosofi dan alasan etika sampai pada masalah praktis. Biasanya, keuntungan yang dirasa pertama dari model open source adalah fakta bahwa ketersediaan open source diciptakan secara gratis atau dengan biaya yang rendah.
1. Keuntungan Open Source Software
Beberapa karakteristik yang menyebabkan Open Source model mendapatkan keuntungan :
a.    Ketersedian source code dan hak untuk memodifikasi,
Ini merupakan hal yang penting. Hal ini menyebakan perubahan dan improvisasi pada produk software. Selain itu, hal ini memunculkan kemungkinan untuk meletakan code pada hardware baru,  agar dapat diadaptasi pada situasi yang berubah-ubah, dan menjangkau pemahaman bagimana sistem itu bekerja secara detail.
b.    Hak untuk mendistribusikan modifikasi dan perbaikan pada code,
Hal ini merupakan titik perbedaan Open Source Software dengan Free Software.  Pada kenyataannya, hak pendistribusian diakui dan merupakan hal yang umum, ini adalah hal yang berpengaruh bagi sekumpulan developer (pengembang) untuk bekerja bersama dalam project Open Source Software.
c.    Hak untuk menggunakan software,
Ini merupakan kombinasi dari hak pendistribusian, menjamin (jika software cukup berguna) beberapa user yang mana membantu dalam menciptakan pasar untuk mendukung dan berlangganan software. Hal ini juga membantu dalam improvisasi kualitas dari produk dan improvisasi secara fungsi. Selain itu akan menyebabkan sejumlah user untuk mencoba produk dan mungkin menggunakannya secara reguler.
2. Kerugian Open Source Software

Beberapa karakteristik yang menyebabkan Open Source model mendapatkan keuntungan :
a.    Tidak ada garansi dari pengembangan,
Biasanya terjadi ketika sebuah project dimulai tanpa dukungan yang kuat dari satu atau beberapa perusahaan,  memunculkan  celah awal ketika sumber code masih mentah dan pengembangan dasar masih dalam pembangunan.
b.    Masalah yang berhubungan dengan intelektual property,
Pada saat ini, beberapa negara menerima software dan algoritma yang dipatentkan. Hal ini sangat sulit untuk diketahui jika beberapa motede utama untuk menyelesaikan masalah software di patenkan sehingga beberapa komunitas dapat dianggap bersalah dalam pelanggaran intelektual property.
c.    Kesulitan dalam mengetahui status project,
Tidak banyak iklan bagi open source software, biasanya beberapa project secara tidak langsung ditangani oleh perusahaan yang mampu berinvestasi dan melakukan merketing.
Lisensi dari Open Source Software
Beberapa lisensi umum pada open source software yaitu :
a.    BSD (Berkeley Software Distribution),
Secara ringkas, pendistribusian dapat dilakukan sepanjang berhubungan dengan software, meliputi penggunaan propierty produk. Pencipta hanya ingin pekerjaan mereka dikenali dan tanpa memerlukan biaya. Hal ini menjadi penting karena lisensi ini tidak melibatkan beberapa pembatasan dengan menjamin dan berorientasi pada turunan awal open source.
b.    GPL (GNU General Public Licence),
Ini adalah lisensi bagi software yang bernaung dalam distribusi GNU Project.  Saat ini masih dapat kita jumpai / menemukan banyak software yang tidak berkaitan dengan GNU Project. GPL secara hati-hati didesain untuk mempromosikan produk dari free software  dan karena itu, secara eksplisit melarang beberapa tindakan pada software yang dapat merusak integrasi dari GPL software pada program proprietary (kepemilkan). GPL berdasar pada UU Internasional yang menjamin pelaksanaannya. Karakterisitik utama dari GPL meliputi pendistribusian, tapi hanya jika souce code itu tersedia dan juga dijamin; serta mengijinkan pendistribusian source; mengijinkan modifikasi tanpa pembatasan  dan integrasi lengkap dengan software lain.
c.    MPL (Mozilla Public Licence),
Ini adalah lisensi yang dibuat oleh Netscape dalam mendistribusi code dari Mozilla, versi baru dari navigator jaringan. Banyak respek yang mirip dengan GPL tetapi lebih berorientasi pada perusahaan level enterprise.
d.    Lainya seperti : Qt  (oleh Troll-Tech), X Consortium dll.
Intelektual Property dari Open Source Software
Umumnya pada kasus teknologi informasi, isu yang berhubungan dengan hak milik intelektual ( intellectual property ) adalah penting bagi software Open Source. Dari 4 mekanisme UU Internasional yang menyediakan perlindungan, hanya tiga ( hak cipta, hak paten dan merek dagang ) yang dapat digunakan bagi software open source. Yang keempat, rahasia degang ( trade secret ), adalah mekanisme yang tidak cukup memadai bagi Open Source Software, karena mengandung ketidakjelasan bagi software open source atau mengandung pembatasan pada modifikasi atau dalam menjual kembali dan pendistribusian pada project turunan.
•    Open Source dan Copyright Law
Hak cipta menjadi metode umum perlindungan bagi produk software. Sesungguhnya, lisensi Open Source dapat diterapkan, karena mereka menggunakannya, dalam satu atau beberapa bentuk hak cipta hukum. Dasar dari penggunaan ini adalah sederhana:hak cipta hukum, secara default, tidak mengijinkan dalam pendistribusian (serta penggunaan secara gratis) dari software itu sendiri.
Satu-satunya cara agar pendistribusian dapat dilakukan adalah dengan mengabulkan ijin khusus dalam lisensi. Dan didalam lisensi itu dapat memaksa distributor untuk memenuhi kondisi-kondisi tertentu. Ini cara bagaimana lisensi open source bekerja. Mereka menggunakan mekanisme ini untuk dapat menyelenggarakan kondisi-kondisi tertentu, berdasar pada penciptanya (seperti yang dilakukan BSD), dengan kewajiban dalam pendistribusian beberapa project turunan sama seperti lisensi aslinya (seperti yang dilakukan GPL).
Kebanyakan, lisensi open source didesain berdasarkan pada hukum Amerika Serikat.  Baru-baru ini beberapa riset mengenai penerapannya telah dilakukan dibebrapa negara. Masalah ini penting bagi kemajuan Open Source, karena banyak dari model Open Source tergantung, dalam banyak perbandingan, serta dalam validitas lisensi Open Source.
Ada juga suatu isu menarik dalam hubungan dengan hak cipta dalam interface yang spesifik, yang mempengaruhi operasi dari program open source dengan masalah kepemilikan. Dalam beberapa kasus, beberapa perusahaan yang telah dipaksa untuk memberikan akses bagi masuknya informasi untuk program yang berjalan atau sistem operasi, dengan mengijinkan developer untuk memperluas dan mengintegrasikan komponen software didalam sistem ataupun program mereka. Informasi ini biasanya dilindungi dan yang dijual hanya pada developer yang ter-registrasi, memelihara kendali bagi siapa dan kemana informasi akan bocor keluar.
•    Open Source dan Paten Software
Hak Paten Software, biasanya tejadi ketika software tersebut mewarisi algoritma rendah, dapat dengan mudah ditemukan oleh banyak developer, ini menghadirkan ancaman serius bagi individu pengembang open source itu sendiri dan perusahaan kecil, yang tidak mampu berupaya dalam biaya persidangan dalam me-matenkan software. Ironsinya, situasi ini menjadi lebih rumit bagi Open Source Software dibandingkan dengan kepemilikan software kotak hitam, karena codenya itu sendiri dapat diakses oleh pemegang patent itu sendiri.
Pada kebanyakan kasus, perusahaan dan individu berusahaa untuk mendapatkan hak eksklusif berdasarkan pada teknologi tertentu melalui paten, dan baru-baru ini, semakin banyak hak paten pada algoritma yang pokok dan  prosedur telah diwariskan, terutama di Amerika Serikat. Kita yakin bahwa ini adalah suatu praktek yang berbahaya, tidak hanya bagi software Open Source pada umumnya, tetapi juga bagi industri software dan praktisi software secara umum.
Open Source Software biasanya akan mudah menjadi serangan dalam hal paten, karena hanya sedikit perusahaan source-based yang mempunyai kemampuan keuangan untuk melindungi diri terhadap serangan hak paten dalam penuntutan perkara. Selain itu juga, jika paten dimunculkan pada teknologi atau teknik yang sangat luas, mungkin saja untuk mengakali patent dan menciptakan suatu alternatif paten yang free.
Sejarah Linux
1.    UNIX
Dahulu, sekitar lebih dari 30 tahun yang lalu, komputer masih memiliki ukuran yang besar (sebesar rumah, bahkan stadion), dan tiap-tiap komputer memiliki sistem operasi yang berbeda. Perangkat lunak (software) selalu disesuaikan untuk tujuan-tujuan tertentu, dan perangkat lunak yang ditujukan untuk satu sistem, tidak dapat digunakan pada sistem yang lain. Dengan memiliki kemampuan untuk bekerja dengan suatu sistem, belum tentu dapat bekerja dengan sistem yang lain. Tentunya hal ini sangat menyulitkan pengguna (user) dan pengelola sistem (system administrator) tersebut.
Pada tahun 1969, sebuah tim yang terdiri dari para pengembang di Bell Labs Laboratories, mulai bekerja untuk mencari solusi untuk mengatasi permasalahan perangkat lunak yang sedang terjadi. Mereka mengembangkan sebuah sistem operasi baru yang:
1. Sederhana dan elegan.
2. Ditulis dalam bahasa pemrograman C sebagai pengganti dari kode mesin (assembly code).
3. Kode-kode yang digunakan dapat digunakan kembali (recycle).
Para pengembang dari Bell Labs menamakan proyek mereka “UNIX”. Kemampuan untuk menggunakan kembali kode-kode yang ada merupakan fitur yang sangat penting.
Kemudian, semua sistem komputer yang tersedia secara komersial menggunakan sistem operasi yang kode-kodenya dibuat khusus untuk satu sistem. UNIX sebenarnya hanya membutuhkan sebagian kecil dari kode-kode spesial tersebut, yang saat ini secara umum dinamakan “kernel”. Sistem operasi dan semua fungsi-fungsi lainnya dibuat dan dibangun berdasarkan kernel tersebut dan ditulis dalam bahasa pemrograman yang lebih tinggi, C. Bahasa pemrograman tersebut dikembangkan secara khusus untuk membuat sistem UNIX. Dengan menggunakan tehnik baru ini, untuk mengembangkan sistem operasi yang dapat digunakan pada berbagai tipe perangkat keras (hardware) menjadi jauh lebih mudah.
Kemudian mulai dikembangkan komputer dengan ukuran yang lebih kecil dan pada akhir tahun 80-an, sudah banyak orang yang memiliki komputer rumah (home computer). Pada saat itu, terdapat berbagai versi dari UNIX yang tersedia untuk arsitektur komputer pribadi (personal computer, PC), tetapi tidak ada satupun yang benar-benar bebas (free), dan yang lebih penting lagi: lambat, sehingga kebanyakan orang menggunakan MS DOS atau Windows 3.1.
2.    Linus dan Linux
Pada awal tahun 90-an, komputer rumah sudah sudah mampu untuk menggunakan sistem UNIX yang lengkap. Linus Torvalds, seorang pemuda yang sedang mempelajari ilmu komputer di University of Helsinki, berpikir bahwa merupakan sebuah ide yang bagus untuk memiliki sebuah versi UNIX yang bebas untuk digunakan bagi kalangan akademisi, dan dia mulai membuat kode-kodenya.
Linus mulai bertanya, mencari jawaban dan solusi yang dapat membantunya mendapatkan UNIX untuk komputer pribadinya. Berikut ini merupakan satu dari post pertamanya di comp.os.minix pada tahun 1991:
Dari awal, sudah merupakan tujuan dari Linus sendiri untuk mendapatkan sebuah sistem yang bebas dan sepenuhnya sesuai dengan UNIX yang asli. Karena itulah Linus menanyakan tentang standar-standar POSIX. POSIX masih menjadi standar untuk UNIX.
Pada masa itu, plug and play belum ditemukan, tetapi begitu banyak orang yang tertarik untuk memiliki sistem UNIX milik mereka sendiri. Drivers baru menjadi tersedia bagi semua jenis perangkat keras, dalam kurun waktu yang begitu cepat. Sampai-sampai ketika sebuah perangkat keras baru tersedia, seseorang membelinya dan menyerahkannya ke tempat testing linux. Ketika sistem tersebut secara bertahap mulai diinginkan orang, semakin banyak kode-kode bebas yang tersedia, bahkan dalam cakupan perangkat keras yang lebih luas. Para pembuat kode (coder) tidak hanya berhenti pada komputer pribadi mereka saja, setiap perangkat keras yang mereka temukan akan berguna bagi linux.
Kemudian para pembuat kode tersebut dipanggil dengan sebutan “nerds” atau “freaks”, tapi hal itu bukan merupakan suatu masalah bagi mereka, selama dukungan terhadap perangkat keras semakin bertambah. Terima kasih untuk orang-orang tersebut, sekarang linux tidak hanya ideal untuk digunakan pada komputer pribadi tetapi juga bisa digunakan pada perangkat keras tua yang tidak akan berguna bila linux tidak ada.
Dua tahun setelah Linus mengirimkan post, pengguna linux sudah mencapai 12000 orang. Semua fitur yang dimiliki UNIX ditambahkan dalam selang waktu beberapa tahun setelah itu, yang berakibat pada semakin matangnya linux pada masa sekarang ini. Linux merupakan tiruan lengkap (full clone) dari UNIX, cocok untuk digunakan pada workstation, begitu juga dengan server kelas menengah dan kelas atas. Saat ini, banyak pemain penting pada pasar perangkat keras dan perangkat lunak memiliki tim pengembang linux sediri.
Sejarah Unix BSD
Perjalanan panjang Varian Unix BSD dimulai pada tahun 1973, dimana pada waktu itu Prof. Bob Fabry dari Universitas California Berkeley menyatakan minat untuk mendapatkan sistem operasi Unix kepada Ken Thompson dan Dennis Ritchie pada kegiatan ”Symposium on Operating Systems Principles” di Universitas Purdue. Prof. Bob Fabry bermaksud mendapatkan Unix untuk eksperimen pada sebuah mainframe milik Universitas Berkeley. Pada tahun 1974 sebuah tape yang berisi Unix versi 4 datang ke Berkeley dan di-install-kan oleh mahasiswa pasca sarjana Keith Standiford pada komputer PDP-11/45.
Meskipun komputer PDP-11/45 pada saat itu diklaim komputer yang cukup mudah untuk menginstall Unix, namun pada kenyataannya berbagai macam masalah dihadapi oleh Keith Standiford dalam menjalankan Unix pada PDP-11/45, karena itu Ken Thompson di Bell Labs AT&T New Jersey melakukan remote debugging pada mesin PDP-11/45 milik Universitas Berkeley di California, karena Universitas Berkeley hanya memiliki 300-baud acoustic-coupled modem, maka Ken Thompson melakukan panggilan terlebih dahulu kepada Keith Standiford diruangan komputer PDP-11/45 tersebut untuk selanjutnya meminta Keith Standiford memasukkan sambungan telepon tersebut ke modem. Dengan demikian Ken Thompson dari New Jersey di pantai timur Amerika Serikat dapat melakukan remote debugging ke Universitas California Berkeley di pantai barat Amerika Serikat.
Masalah yang lain muncul yaitu karena status komputer PDP-11 adalah milik bersama Departemen Matematika dan Statistika juga, departemen tersebut ingin menjalakan RSTS dari DEC, sedangkan Departemen Ilmu Komputer ingin menjalan Unix. Akhirnya kata sepakat dicapai dengan menjalankan masing-masing sistem secara bergantian.
Pada tahun 1975, Departemen Ilmu Komputer Universitas California Berkeley membeli komputer baru sebuah DEC 11/70. Pada tahun yang sama Ken Thompson menjadi Profesor Tamu pada almamaternya yaitu Universitas California Berkeley, Ken Thompson datang dengan membawa sistem operasi Unix versi 6. Dua orang mahasiswa pasca sarjana yaitu Bill Joy dan Chuck Haley membantu Ken Thompson untuk meng-hacked Unix versi 6 tsb pada komputer DEC 11/70. 1
Pada akhir musim panas 1976, Ken Thompson kembali ke Bell Labs New Jersey, seiring dengan kepergian Ken Thompson, Bill Joy dan Chuck Haley mulai mengoprek kernel sistem operasi Unix versi 6 tersebut, berbekal dengan pengalaman satu tahun terakhir mengoprek Unix bersama Ken Thompson sebelumnya.
Akhirnya pada awal tahun 1977, Bill Joy mengeluarkan ”Berkeley Software Distribution”, pada distribusi pertama mencakup pula compiler Pascal dan editor Ex. Pada tahun 1978 Bill Joy memutuskan software yang ada pada distribusi harus diperbaharui seiring dengan banyaknya feedback dari komunitas, hasilnya pada tahun 1978 tersebut keluar ”Second Berkeley Software Distribution” atau disingkat 2BSD, termasuk didalamnya compiler Pascal, editor vi dan termcap.
Pada tahun 1978, Departemen Ilmu Komputer Universitas Berkeley, membeli sebuah komputer VAX-11/780 dari DEC, meskipun komputer tersebut sudah memiliki sistem operasi sendiri yang dikenal dengan nama VMS, namun Departemen Ilmu Komputer menginginkan Unix 32/v (Seventh Edition) dapat berjalan diatas komputer VAX-11/780 tersebut. Lagi-lagi Bill Joy diminta membantu melakukan porting Unix 32/V tersebut untuk mesin VAX-11/780, pada awal Januari 1979, akhirnya Unix 32/V (Seventh Edition) dapat berjalan dengan mulus pada komputer VAX tersebut, pada saat itu juga Bill Joy, memutuskan untuk melakukan porting 2BSD untuk komputer VAX dengan pertimbangan komputer VAX tersebut jauh lebih canggih (berarsitektur 32 bit) daripada PDP-11 yang hanya 16 bit. Pada bulan Januari 1979 distribusi lengkap telah diselesaikan hasilnya 3BSD sebagai distribusi sistem VAX pertama dari Berkeley.
Pada musim gugur 1979, Prof Bob Fabry, merepson keinginan DARPA (Defense Advanced Research Projects Agency) untuk memperbaiki 3BSD untuk kepentingan komunitas DARPA, dimana pada waktu itu untuk keperluan mengkoneksikan semua komputer pada pusat-pusat riset. Untuk lebih memantapkan pekerjaan dari DARPA tersebut, Prof Bob Fabry, membentuk CSRG (Computer System Research Group).
Pada Oktober 1980 lahir 4BSD, selama 9 bulan kedepan sejak kelahirannya sebanyak 150 kopi telah dikirimkan. Lisensi dibuat berdasarkan institusi bukan per komputer. Karena sudah tersebar luas 4BSD banyak menuai kritik terutama masalah kinerja yang dinilai masih lamban daripada VMS. Untuk itu pada Juni 1981, 4.1BSD lahir dengan berbagai macam perbaikan. Pada awalnya distribusi tersebut akan diberi nama 5BSD, namun pihak AT&T keberatan karena akan membingungkan pelanggan, karena pada saat itu terdapat juga sistem operasi Unix system V, untuk itu Berkeley mengalah dan memberi nama distribusi tersebut 4.1BSD. DARPA cukup puas dengan hasil yang diperoleh dan berminat untuk memperpanjang kontrak dengan CSRG. DARPA berharap hasil kerja berikutnya adalah: fast file system untuk mendukup teknologi disk yang ada pada saat itu, fasilitas komunikasi interproses agar para peneliti DARPA dapat bekerja dalam lingkungan distributed computing, dan fasilitas networking yang terintegrasi sehingga dapat berpartisipasi dalam ARPAnet. Sebagai pendahuluan release pada April 1982, dikeluarkan 4.1aBSD untuk keperluan lokal saja (Berkeley dan DARPA), pada saat itu banyak kritik dan saran perbaikan untuk 4.1aBSD, untuk itu pada Juni 1982 dikeluarkan 4.1bBSD. Release 4.1b BSD ini cukup stabil dan baik maka pada April 1983 dikeluarkan 4.1c BSD. Dengan sedikit perbaikan pada 4.1c BSD, pada Agustus 2003 dikeluarkan 4.2BSD. 4.2BSD pada saat itu sangat populer, lebih dari 1000 institusi mempunyai lisensi 4.2BSD tersebut, para vendor pun pada saat itu lebih suka menawarkan 4.2BSD ketimbang Unix system V karena 4.2BSD mempunyai fasilitas Networking dan Fast File System.
Dengan berbagai macam kritik dan feedback, maka pada tengah 1986 di-release 4.3BSD, selanjutnya pada Juni 1988 di-release 4.3BSD Tahoe dan pada Juni 1990 di-release 4.3BSD Reno. Selain release tsb ada pula release networking yaitu: 4.3BSD Net1 pada Maret 1989 dan 4.3BSD Net2 pada Juni 1991. Release ini tidak tidak memiliki source code yang bersifat proprietary sehingga dapat secara bebas didistribusikan dalam bentuk source code maupun binary.
Release terakhir dari CSRG adalah 4.4BSD, pada saat yang bersamaan juga CSRG me-release 4.4BSD-Lite yang berisi source code non-proprietary dan users tidak perlu memiliki lisensi Unix, namun 4.4BSD-Lite ini mendapat aksi legal dari USL (Unix System Laboratories) yang mengklaim 4.4BSD-Lite mengandung source code asli Unix dari AT&T, hal ini berlanjut hingga ke pengadilan. Setelah 1 tahun proses pengadilan berlangsung akhirnya USL dan BSD mencapai kata sepakat (damai), sisa uang yang ada pada CSRG dipakai untuk me-release 4.4BSD-Lite release 2 pada Juni 1995.
Sejarah dan Perkembangan FreeBSD
Proyek FreeBSD dimulai pada awal 1993, sebagian sebagai perkembangan dari “Unofficial 386BSD Patchkit” dari 3 koordinator “patchkit” ini, yaitu: Nate Williams, Rod Grimes dan Jordan Hubberd.
Versi resmi pertama yang dirilis adalah FreeBSD 1.0 pada Desember 1993, yang dikoordinasikan oleh Kordan Hubbard, Nate Williams dan Rod Grimes dengan nama yang diajukan oleh David Greenman. Walnut Greek CDOM yang kemudian menyetujui untuk mendistribusikan FreeBSD dalam CD dan memberikan sebuah mesin untuk bekerja dalam proyek tersebut, dalam koneksi internet yang cepat, yang kemudian dikatakan oleh HUbbard sangat membantu perkembangan cepat FreeBSD. Pada bulan Mei 1994 FreeBSD 1.1 yang sukses dirilis. Akan tetapi, terdapat beberapa perhatian tentang legalitas ‘BSD Net/2 release source code’ yang digunakan pada 386BSD. Setelah sebuah perkara hukum antara UNIX yang mempunyai copyright, Uniix System Laboratories dengan University of California, Berkeley, proyek FreeBSD kembali membangun kebanyakan sistem dengan menggunakan 4.4 BSD-Lite yang dirilis Berkeley, yang membuat perkara hukum ini tidak mempunyai satupun AT&T source code yang dimiliki BSD yang pertama, yang membuatnya tidak dapat digunakan. Dengan usaha yang besar kemudian dirilis sebagai FreeBSD 2.0 pada Januari 1995.
FreeBSD 2.0 memberi fitur yang merubah fitur original memori sistem virtual Carnegie Mellon University Mach, yang dioptimasi untuk performa dalam beban yang tinggi. Rilis-an ini juga mengenalkan sistem FreeBSD Ports, yang membuat instalasi, pen-download-an dan pembentukan software pihak ketiga menjadi sangat mudah. Pada tahun 1996 FreeBSD telah menjadi populer di kalangan komersil dan pengguna ISP, yang digunakan pada situs-situs sukses seperti Walnut Creek CDROM, Yahoo! dan Hotmail. Versi terakhir dari versi 2 FreeBSD, yaitu versi 2.2.8 dirilis pada November 1998.
FreeBSD 3.0 membawa banyak perubahan, berganti format ke format ELF binary. Sistem SMP dan platform 64bit ALpha juga didukung pada versi ini. Versi stabil-3 diakhiri dengan versi 3.5.1 pada Juni 2000.
Rilis terakhir yang stabil dari FreeBSD adalah versi 7.0 yang dirilis pada Februari 2008.
Sejarah dan Pengembangan Slackware
Slackware adalah distribusi Linux yang dibuat oleh Patrick Volkerding. Slackware merupakan distribusi awal dari Linux dan merupakan distro tertua yang masih dikembangkan sampai saat ini. Slackware mempunyai target yaitu desain yang stabil dan simple, dan menyerupai desain dari sistem UNIX.
Nama
Nama slackware diambil dari fakta bahwa distribusi ini dimulai dengan projek yang bersifat privat dan tidak ada komitmen tertentu. Untuk mencegah dianggap sebuah projek serius, Volkerding memberikan nama yang mengandung humor, walaupun slackware sudah menjadi projek yang serius.
Nama “Slack” dari Slackware berhubungan dengan “Slack” yang didefinisikan oleh Gereja dari SubGenius.
Sejarah
Slackware adalah turunan asli dari Softlanding Linux System, distribusi Linux original yang paling populer. SLS mendominasi pasar sampai akhirnya mereka membuat keputusan untuk mengganti executable format dari a.out menjadi ELF. Hal ini bukan merupakan keputusan yang tepat di antara user pada saat itu. Akhirnya Patrick Volkerding me-release versi modifikasi dari SLS yang diberi nama Slackware. Release pertama slackware pada tanggal 16 July 1993. Slackware tersedia dalam bentuk image yang berukuran disket yang disediakan oleh anonymus FTP. Slackware kemudian menggantikan SLS sebagai distribusi paling dominan saat itu.
Pada tahun 1999, nomor release slackware menunjukkan banyak peningkatan mulai dari 4 ke 7. Hal ini dijelaskan oleh Patrick Volkerding sebagai usaha marketing untuk menunjukkan bahwa slackware merupakan distribusi Linux yang up-to-date yang sama dengan distribusi Linux yang lain.
Pada tahun 2005, lingkungan desktop GNOME dikeluarkan dari slackware. Dikeluarkannya GNOME dari slackware dianggap signidikan oleh komunitas Linux, karena lingkungan dekstop tersebut sudah banyak dijumpai di distribusi Linux yang lain. Karena itu, beberapa komunitas projek mulai menawarkan distribusi GNOME untuk slackware.
Filosofi desain
Beberapa orang menganggap slackware adalah contoh dari desain KISS. KISS bisa diartikan sebagai berikut “Keep It Simple & Stupid”, “Keep It Sweet & Simple”, and “Keep It Short & Simple”. Dalam konteks ini, “simple” dianggap sebagai tampilan yang simple bukan dari mudahnya penggunaan. Sebagian besar dari software slackware menggunakan konfigurasi orisinil dari pembuat software. Ini adalah alasan kenapa sedikit sekali Tools Grafik untuk konfigurasi sistem. Hal ini berdampak pada kemudahan penggunaan.
Sejarah Mac OS X 10.4 “Tiger”
Mac OS X 10.4 “Tiger” pada awalnya ditinjau oleh Steve Jobs dari Apple CEO dalam pokok pidato yang disampaikannya di Konferensi Pengembang Sedunia (Worldwide Developers Conference) pada tanggal 28 Juni 2004. Kemudian pada bulan Desember 2004, beberapa pengembang non komersial merilis Tiger yang bocor di internet. Akibatnya, Apple menuntut file sharer, orang yang mendistribusikan Tiger untuk didownload bebas dengan menggunakan BitTorrent. Pada tanggal 12 April 2005, diumumkan bahwa Tiger resmi diluncurkan di seluruh dunia pada tanggal 29 April. Semua Apple Store diseluruh dunia menyelenggarakan seminar tentang Tiger, dan mendemokannya.
Pada 6 Juni 2005 pada Worldwide Developers Conference di San Fransisco, Jobs mengumumkan bahwa hampir 2 miliar copy terjual dalam enam bulan semenjak diluncurkannya Tiger, membuatnya system operasi tersukses yang dirilis Apple sepanjang sejarah. Ia juga mengemukakan bahwa Mac OS X telah direncanakan sejak awal untuk bekerja sama dengan prosesor Intel x86 di samping PowerPC, CPU untuk sistem operasi juga telah dipasarkan. Pada bulan Juni 2005, Apple mengumumkan rencananya untuk merilis x86 berbasis komputer pertama pada bulan Juni 2006, sisanya transisi ke x86 pada bulan Juni 2007. Pada tanggal 10 Januari 2006, Apple merilis iMac dan MacBook Pro pertama mereka yang menawarkan teknologi prosesor Intel Core Duo, dan mengumumkan bahwa seluruh produk Apple akan ditransisi ke prosesor Intel pada akhir tahun 2006. Kemudian Apple merilis Mac Pro dan mengumumkan Xserve baru pada 8 Agustus 2006, melengkapi transisi Intel dalam 210 hari.
Tiger merupakan versi pertama dari Mac OS X yang tersedia pada DVD bukan di CD, walaupun DVD tersebut dapat ditukar dengan CD untuk $ 9,95. Tiger juga merupakan versi pertama dari Mac OS yang memiliki nomor versi update terakhir dengan nilai lebih besar dari 9, dengan 10.4.10 dan 10.4.11 update.
Sejarah Mac OS X 10.5 “Leopard”
Mac OS X 10.5 “Leopard” merupakan versi terbaru dari versi sebelumnya yaitu Mac OS X 10.4 “Tiger”. Mac OS X versi 10,5 “Leopard” termasuk dalam keenam besar Mac OS X yang dirilis secara besar-besaran, Apple desktop dan system operasi server untuk untuk computer Macintosh, tetapi juga merupakan pengganti untuk Mac OS X v10.4 “Tiger”. Leopard dirilis pada tanggal 26 Oktober 2007, dan tersedia dalam dua varian: versi desktop, cocok untuk komputer pribadi, dan versi server, Mac OS X Server.
Apple menawarkan pengurangan biaya-upgrade kepada orang yang membeli komputer Apple baru setelah tanggal 1 Oktober 2007, yaitu mereka yang belum memiliki Mac OS X v10.5 Leopard pada komputernya. Steve Jobs di MacWorld 2008 menyatakan bahwa lebih dari 20% dari Mac menggunakan Leopard sebagai sistem operasi mereka. Leopard akan digantikan oleh Mac OS X v10.6 “Snow Leopard”, yang diharapkan dapat diluncurkan pada pertengahan tahun 2009.
Referensi :
http://www.isekolah.org/file/h_1083037226.doc
http://alinnurdin.files.wordpress.com/2007/11/sejarah-tik.doc
http://makmun.staff.gunadarma.ac.id/Downloads/files/8783/Komputer.doc
http://www.kedah.edu.my/bersamaguruict/itukomputer.doc
http://www.sman2-klt.sch.id/modulpelajaran/Modul%20Pengenalan%20Komputer.doc

Macam - Macam Sistem Operasi Komputer dan Pengertiannya

Macam - Macam Sistem Operasi Komputer dan Pengertiannya

Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.

Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi.

Sistem Operasi secara umum terdiri dari beberapa bagian :

1.Mekanisme Boot, yaitu meletakan kernel ke dalam memory kernel, kernel dapat dikatakan sebagai inti dari Sistem Operasi.

2.Command Interpreter atau Shell, bertugas untuk membaca input berupa perintah dan menyediakan beberapa fungsi standar dan fungsi dasar yang dapat dipanggil oleh aplikasi/program maupub piranti lunak lain. Contoh dari Shell adalah : Command Prompt pada Windows XP (DOS pada Windows 98), XTerm dan Konsole di Mesin Linux (Unix).

3.Driver untuk berinteraksi dengan hardware sekaligus mengontrol kinerja hardware.

4.Resource Allocator. Sistem Operasi bertugas mengatur dan mengalokasikan sumber daya dari perangkat.

5.Handler. Handler berperan dalam mengendalikan sistem perangkat agar terhindar dari kekeliruan (error) dan penggunaan sumber daya yang tidak perlu.

Sekarang kita akan menilik sejarah dan perkembangan Sistem Operasi.

Menurut Tanebaum, Sistem Operasi mengalami perkembangan yang dapat dibagi ke dalam 4 generasi.

1.Generasi Awal

Perkembangan awal Sistem Operasi masih dilakukan secara manual dalam artian belum muncul adanya Sistem Operasi yang secara otomatis artinya belum mendukung layanan pekerjaan yang dapat dilakukan dalam 1 rangkaian.

2.Generasi Kedua

Di generasi ini sudah diperkenalkannya perkejaan yang dapat dilakukan dalam 1 rangkaian atau biasa disebut dengan Batch Proccessing System.

3.Generasi Ketiga

Pada generasi ketiga, Sistem Operasi sudah mendukung layanan Multi-User, Multi-Programming dan Batch Proccessing System (Multi-Task).

4.Generasi Keempat

Di masa ini, sudah diperkenankannya GUI (Graphical User Interface) yang artinya Sistem Operasi memiliki tampilan dan dengan bermodalkan mouse, End-User dapat menjalankan aplikasi/porgram atau piranti lunak.

5.Generasi Selanjutnya

Pada generasi selanjutnya diperkenalkan Sistem Operasi yang berada dalam sebuah Sistem Operasi, ini adalah contoh sebuah Sistem Operasi berbasikan Website yang berkerja di dalam sebuah Sistem Operasi. Dan generasi selanjutnya diperkenalkanlah Sistem Operasi bergerak (Mobile) pada perangkat bergerak seperti : PDA, Poket PC, dan lain sebagainya. Di generasi selanjutnya diperkenalkan juga teknologi Sistem Operasi jaringan yang sifatnya virtual, sehingga dalam 1 jaringan hanya diinstal 1 buah Sistem Operasi pada Perangkat yang bertugas menjadi Server. Selain itu, diperkenalkan pula Cross Platform Operating System yang artinya dapat menggabungkan 2 Sistem Operasi berbeda seperti : Linux dan Windows.

Dewasa ini, hampir seluruh manusia memiliki PC dan Mobile PC. Dikarenakan faktor harga yang selalu berubah dan kebutuhan manusia akan perangkat otomatis seperti : PC, maka manusia menjadikan PC sebagai kebutuhan utama. Seiring dengan perkembangan teknologi PC pun dibuat ringkas agar dapat dijadikan sebagai piranti otomatisasi yang bergerak (Bisa digunakan kapan saja, di mana saja dan oleh siapa saja). Contoh PC bergerak adalah : Laptop, Notebook dan NetBook, ketiga piranti tersebut juga memiliki Sistem Operasi layaknya PC. Dan sekarang saatnya kita bahas Sistem Operasi yang ada di PC.

- WINDOWS (MICROSOFT WINDOWS)

Mircorost Windows atau biasa kita sapa dengan sebutan Windows adalah Sistem Operasi yang dikembangkan oleh Microsoft Corporation yang menggunakan antarmuka dengan berbasikan GUI (Graphical User Interface) atau tampilan antarmuka bergrafis.

Awalnya Windows bermula dari Ms-Dos (Microsoft Disk Operating System) yaitu sebuah Sistem Operasi yang berbasiskan teks dan Command-Line interpreter. Windows Versi pertama, Windows Graphic Environmnet 1.0 merupakan perangkat lunak yang bekerja atas arsitekstur 16-Bit dan bukan merupakan Sistem Operasi dan berjalan atas MS-DOS, sehingga untuk menjalankannya membutuhkan MS-DOS. MS-DOS sendiri sebenarnya dibuat oleh perusahaan pembuat komputer Seattle Computer Products dan barulah kemudian direkrut oleh Microsoft yang selanjutnya dibeli lisensinya.

Kemudian berkembang menjadi Windows 1.0 versi pertama Sistem Operasi dalam dunia Sistem Operasi yang berbasiskan GUI (Graphical User Interface) dan mendukung Multi-Tasking atau dapat mengerjakan banyak pekerjaan secara simultan. Setelah itu Windows 1.0 berkembang menjadi Windows 2.0, Windows 2.0 ini berbasis GUI dan mendukung penggunaan VGA (Video GraphicsArray) dan juga mendukung Multi-Tasking. Windows 2.0 juga support terhadap penggunaan Processor Intel 80286 dimana Processor Intel 80286 adalah Processor pertama dengan kemampuan untuk memproteksi area memory.

Kemudian dilanjutkan dengan generasi Windows 3.0 dimana Windows 3.0 memiliki kemampuan yang sama dengan Windows sebelumnya dan ditambah dukungan kartu grafis SVGA atau XGA dan juga icon yang lebih baik. Dalam era tersebut, Microsoft juga menyediakan SDK (Software Development kit) sehingga para developer piranti lunak dapat mengembangkan aplikasi/programnya agar mampu berjalan di Windows 3.0 ini. Windows 3.0 juga memperkenalkan adanya Virtual Device Driver (VXD) dimana dapat berguna untuk meminimalisasi ketergantungan pada setiap driver pada perangkat keras tertentu. Windows 3.0 kemudian berevolusi menjadi Windows 3.1 yang sudah diperkenalkan dengan fitur Multimedia dan True Type Font selain itu juga memudahkan End-User karena adanya fitur Drag and Drop dan akhirnya Windows versi 3 ini berkembang menjadi Sistem Operasi yang sudah mengenal NetWorking (Windows 3.11).

Setelah berkembang cukup lama akhirnya Microsoft memperkenalkan Sistem Operasi hibrida 16-Bit/32-Bit yang dikenal dengan nama Windows 95. Banyak perubahan dari Windows versi sebelumnya, yaitu : Windows 95 memiliki GUI yang lebih menarik dan atraktif, mendukung Plug and Play, mendukung penamaan yang panjang, memiliki beberapa fasilitas seperti : Browser yang terintegrasi dan Windows Explorer untuk menjelajah Windows. Selain itu juga Windows 95 memiliki fitur untuk memanajemen daya (APM) dan diperkenalkannya juga Client-Server.

Generasi penerus dari Windows 95 adalah Windows 98 dimana Windows 98 sudah mendukung VGA berbasis AGP, serta mendukung media penyimpanan ringkas seperti USB, diperkenalkannya NAT untuk berbagi koneksi Internet dan digantikannya Virtual Device Driver dengan Windows Driver Model. Ada juga beberapa fitur tambahan berupa aplikasi Microsoft Office dan Internet Explorer versi 5. Windows 98 juga sudah memiliki kemampuan-kemampuan untuk memainkan Game dan menjalankan aplikasi Multimedia.

Perkembangan selanjutnya adalah Windows ME, tidak ada yang spesial dari Windows ME selain transisi dukungan grafis dari 16-Bit ke 32-Bit dan pada era Windows ME sudah banyak pengguna rumahan yang memakainya. Windows ME pun akhrinya digantikan dengan Windows NT yang sudah mendukung arsitekstur x86 (80×86) , Intel IA64 dan AMD64 (x64) serta mendukung grafis 32-Bit. Windows NT sebenarnya dibangun dari pengembangan IBM OS/2 dan Windows NT juga banyak digunakan dalam jaringan komputer. Windows NT juga memperkenalkan File System NTFS yang lebih baik dari FAT maupun FAT-32.

Selanjutnya Windows NT berkembang menjadi Windows 2000 banyak fitur tambahan diantaranya : Active Directory, Image Preview, Browser Internet Explorer v6, DirectX dan Open GL, Plug and Play dan Windows Driver Model yang lebih baik performanya dibanding sebelumnya. Setelah generasi Windows NT munculah Windows XP yang menawarkan banyak perubahan, mempunyai banyak fitur dan performa yang semakin mengingkat. Bisa dikatakan Windows XP merupakan Windows yang paling laris dan digandrungi oleh pengguna PC maupun perangkat PC bergerak (Mobile). Seiring dengan kebutuhan akan networking maka Microsoft Corporation mengeluarkan Sistem Operasi yang berkonsentrasi pada jaringan, yaitu : Windows Server 2003. Bisa dibilang Windows Server 2003 adalah reinkarnasi dari Windows NT.

Banyak sekali fitur yang ditawarkan pada Windows Server 2003 ini salah satunya adalah diperkenalkannya platform .Net. Diperkenalkan juga fitur Domain Controller Server, PKI (Public Key Infrastructure) Server, Domain Name System (DNS), Dynamic Host Configuration Protocol (DHCP), Windows Internet Name Service (WINS), Microsoft IIS, dan lain sebagainya. Microsoft pun melanjutkan perkembangan Sistem Operasi dengan Windows Vista (Longhorn), ini merupakan revolusi dari Windows XP. Windows Vista lebih mengutamakan interface atau penampilan grafis antarmuka dibandingkan dengan performa, dibuktikan dengan adanya fitur : AERO, Sidebar, dan lain sebagainya.

Windows Vista juga menawarkan tingkat keamanan yang lebih baik dibandingkan dengan Windows XP, karena pada Windows Vista diperkenalkan adanya Windows Firewall with Advanced Security, Windows Defender, Parental Control, User Account Control (UAC), BitLocker Drive Encryption, ASLR. Windows Vista juga sudah mengenal IPv6, DirectX versi terbaru, dan arsitekstur 64-Bit. Perkembangan selanjutnya adalah transisi dari Windows Server 2003 menjadi Windows Home Server yang ditujukan sebagai File Server untuk rumahan. Windows Server juga mengenalkan beberapa teknologi yaitu : Headless Operation (Server tidak membutuhkan monitor atau keyboard untuk memanjemen perangkat), Kontrol jarak jauh, Pemantauan kesehatan komputer, Sharing dan Streaming.

Generasi berikutnya ditandai dengan munculnya penggabungan Sistem Operasi Windows Vista dengan Windows Server, yaitu Windows Server 2008. Fitur Windows Vista dan Windows Server digabung menjadi satu padu untuk meningkatkan keamanan dan kenyamanan End-User. Selanjutnya Windows Server 2008 berkembang menjadi Windows Server 2008 R2. Versi terakhir Sistem Operasi besutan Windows adalah Windows 7, Windows 7 dirilis untuk menggantikan kekurangan Windows XP dan kelebihan Windows Vista. Boleh dikatakan jikalau Windows 7 adalah fusi dari Windows XP dan Windows Vista, tidak seperti pada Windows Vista, Windows 7 memiliki performa yang lebih baik dari Windows Vista.

- UNIX

UNIX adalah Sistem Operasi yang diciptakan oleh Ken Thompson dan Dennis Ritchie, dikembangkan oleh AT&T Bell Labs. UNIX didesain sebagai Sistem Operasi yang portabel, Multi-Tasking dan Multi-User. Sistem Operasi UNIX lebih menekankan diri pada Workstation dan Server, Karena faktor ketersediaan dan kompatibilitas yang tinggi menyebabkan UNIX dapat digunakan, disalin dan dimodifikasi sehingga UNIX pun dikembangkan oleh banyak pihak dan menyebabkan banyak sekali varian dari UNIX ini.

UNIX sendiri ditulis dalam bahasa C sehingga UNIX pun mirip dengan DOS yaitu Line/Text Command Based selain itu UNIX pun merupakan Sistem Operasi yang secure dibanding dengan Sistem Operasi lain, karena setiap file, direktori, user dan group memiliki set izin tersendiri untuk diakses. Karena adanya dukungan Proyek GNU, maka selanjutnya UNIX berkembang menjadi LINUX (Salah satu varian UNIX).

- LINUX

Awalnya dikembangkan oleh Linus Torvalds yang pada mulanya sekedar emulasi terminal yang dibutuhkan untuk mengakses server UNIX di Universitasnya. Linux merupakan kloningan dari MINIX (Salah satu varian UNIX), peralatan sistem dan pustakanya umumnya berasal dari Sistem Operasi GNU. Linux memiliki banyak disain yang berasal dari disain dasar UNIX, Linux menggunakan Kernel Monilitik yaitu Kernel Linux yang menangani kontrol prosses, jaringan, periferal, dan pengaksesan sistem berkas. Sama seperti UNIX, Linuxpun dapat dikendalikan oleh satu atau lebih antarmuka baris perintah (Command Line Interface/CLI) berbasis teks, antarmuka pengguna grafis (Graphical User Interface/GUI) yang merupakan konfigurasi bawaan untuk versi dektop.

Pada komputer Desktop, GNOME, KDE dan Xfce merupakan antarmuka pengguna yang paling populer diantara varian antarmuka pengguna lainnya. Sebuah sistem Linux menyediakan antarmuka baris perintah lewat sebuah Shell (Konsole). Perbedaan utama antara Linux dan Sistem Operasi Populer lainnya terletak pada Kernel Linux dan komponen-komponennya yang bebas dan terbuka. Sama seperti pada UNIX, Linux berkonsentrasi pada Workstation dan Server banyak Workstation dan Server yang mengandalkan Linux karena Linux sangat stabil digunakan untuk jangka waktu lama dan Linuxpun kebal terhadap Malware.

Satu hal yang membedakan Linux terhadap Sistem Operasi lainnya adalah harga. Harga Linux ini kebanyakan Gratis walaupun ada juga yang berbayar (Lisensi). Linux dapat didistribusikan tanpa harus memberikan royalty kepada seseorang. Linux disusun berdasarkan standard Sistem Operasi POSIX yang diturunkan dari UNIX itu sendiri. Ada beberapa macam Distro Linux, seperti : Debian, Lycoris, Xandros, Lindows, Linare, Linux-Mandrake, Red Hat Linux, Slackware, Knoppix, Fedora, Suse, Ubuntu.

- IBM OS/2

Sistem Operasi IBM OS/2 ini dibuat secara bersama-sama oleh International Bussiness Machine Corporation dan Microsoft Corporation, untuk digunakan pada komputer IBM sebagai pengganti Sistem Operasi DOS. Kata OS/2 adalah singkatan dari Operating System/2, Sistem Operasi ini didesain agar dapat menggunakan kemampuan penuh dari Mikroprosessor Intel 80286 , termasuk diantaranya adalah Modus terproteksi (Protected Mode), mampu menjalankan tugas secara Simultan, serta mendukung Memori Virtual, dengan tetap mempertahankan kompatibilitas dengan banyak perangkat lunak MS-DOS yang beredar saat itu,

- MAC OS (MACINTOSH OPERATING SYSTEM)

MAC OS atau Macintosh Operating System adalah Sistem Operasi yang dibuat oleh Apple Computer khusus untuk komputer Macintosh dan tidak kompatibel dengan komputer berbasis IBM. MAC OS merupakan Sistem Operasi pertama yang menggunakan antarmuka pengguna grafis (Graphical User Interface/GUI). Sistem Operasi Macintosh dibagi menjadi 2 jenis :




1.MAC OS Klasik

Tidak memiliki sembarang Command Line (Baris perintah), menggunakan User Interface (UI) sepenuhnya dan menggunakan Cooperative Multitasking

2.MAC OS X

MAC OS X memasukkan unsur-unsur BSD Unix, One Step, dan MAC OS X memiliki memori ala-Unix dan Pre-Emptive Multitasking.

Kelebihan MAC OS :

1.Stabil, karena menggunakan UNIX.

2.Multitasking.

3.Tampilan (UI) sangat bagus.

4.Aman dari Malware.

MAC OS X adalah garis komputer Sistem Operasi yang dikembangkan, dipasarkan oleh Apple Inc, MAC OS X adalah penerus dari MAC OS (Klasik). MAC OS X dibangun di atas XNU kernel, dengan fasilitas standar Unix tersedia dari antarmuka baris perintah.

- FREE BSD

FreeBSD adalah Sistem Operasi bertipe UNIX bebas yang diturunkan dari UNIX AT&T. FreeBSD berjalan di atas sistem intel x86. FreeBSD sendiri kali pertama muncul pada tahun 1993 oleh David Greenman. Tujuan dari FreeBSD adalah menyediakan software yang dapat digunakan untuk berbagai kepentingan. FreeBSD sendiri dikembangkan dari 386BSD sebuah proyek pengembangan BSD OS yang berjalan di atas Chip Intel.








-SOLARIS


Sistem Operasi Solaris adalah sebuah Sistem Operasi yang berdasarkan UNIX system yang diperkenankan oleh Sun Microsystems oada tahun 1992 sebagai pendukung SunOS. Solaris terkenal karena kestabilannya, khususnya pada sistem SPARC (Scalable Processor Architecture), Solaris disertifikasi dalam Spesifikasi UNIX walaupun pada awal pengembangannya berdasarkan kepemilikan pribadi, dan kebanyakan kode dasarnya sekarang ini merupakan Software OpenSource yang biasa dikenal dengan OpenSolaris. OpenSolaris adalah OpenSource versi Sistem Operasi Sun Solaris, tetapi Sun Solaris terdiri dari lebih beberapa kode yang tidak hanya inti dari Sistem Operasi misalnya : Source untuk Installer, Desktop, Software.

Open Solaris memiliki banyak fitur yang menjadikan OpenSolaris bisa digunakan untuk skala penggunaan yang besar dari penggunaan untuk desktop pC atau Mobile PC. Konsep Open Solaris adalah sebagai berikut :

1.Free Redistribution : Didistribusi secara bebas.

2.Source Code : Sumber (Source) harus tersedia untuk semua distribusi.

3.Derived Works : Setiap orang bisa mengubah kode dan mendisrtibusikan kembali.

4.No Discrimination : Kode harus disediakan untuk seseorang untuk dikembagkan.

Beberapa kelebihan OpenSolaris dibandingkan dengan Sistem Operasi lain :

1.ZFS : System Rstore.

2.DTrace L : Dapat mengamati dimana aplikasi banyak menggunakan waktunya dan berapa lama.

3.Manajemen Kegagalan : Mencegah, mendiagnosa dan memperbaiki error.

4.Zona : Mengimplementasikan sebuah abstraksi Sistem Operasi yang memungkinkan beberapa aplikasi berjalan secara terisolasi satu dengan lainnya di perangkat keras fisik yang sama.

5.Multimedia.

- Chrome OS

Chrome OS adalah Sistem Operasi besutan Google yang ringan dan berbasis Linux dan standard web untuk personal computer PC. Google Chrome bekerja dengan metode Windowing atau switching (Multi-Tasking). Google Chrome OS menggunakan standard web HTML 5, yang merupakan pengembangan software di browser yang berbasis Sistem Operasi. Jika dilihat-lihat, Chrome OS ini merupakan gabungan dari Linux dan Windows Vista. Chrome OS dirilis pada pertengahan 2010.

Banyak sekali berbagai Macam Sistem Operasi Komputer yang terus berkembang, Tidak ada Sistem Operasi yang sempurna karena masing-masing Sistem Operasi memiliki daya dan ciri khas tersendiri. Walaupun ada Sistem Operasi yang berbayar, kenapa tidak kita coba Sistem Operasi yang Free alias gratis? Gratis bukan berarti buruk, baik atau buruknya sebuah Sistem Operasi bergantung pada End-Usernya sendiri. Sehingga kita harus cermat dalam memilih Sistem Operasi yang digunakan.

Minggu, 15 November 2015

SISTEM OPERASI

BAB I
SEKILAS MENGENAI SISITEM KOMPUTER

Sistem operasi adalah program yang bertindak sebagai perantara antara pemakai komputer dan perangkat keras komputer. Maksud sistem operasi adalah menyediakan satu lingkungan tempat pemakai dapat mengeksekusi program-program. Sistem operasi harus menjamin kebenaran operasi  sistem komputer. Perangkat  keras berupa pemroses (CPU – central processing unit ), memori dan perangkat masukan/keluaran menyediakan sumber daya komputasi  dasar. Progaram aplikasi mendefinisikan cara-cara bagaimana sumber daya digunakan untuk menyelesaikan persoalan. Sistem operasi mengendalikan mengkoordinasikan penggunaan perangkat keras komputer diantara beragam program aplikasi untuk beragam pemakai.
Kita perlu memp unyai pengetahuan umum mengenai struktur sistem komputer sebelum mempelajai sistem komputer.

1.1              Skema Dasar Sistem Komputer
Pada abstraksi tingkat atas, sistem komputer terdiri atas empat kompnen. Keempat komponen bekerja sama dan saling berinteraksi untuk mencapai tujuan sistem komputer, yaitu komputasi.

Empat komponen pokok disistem komputer adalah:
1.       Pemroses
2.       Memori utama
3.       Perangkat masukan dan keluaran
4.       Interkonenksi anta komponen

Pemroses
              Pemroses berfungsi melakukan pengolahan data pengendalian operasi komputer.

Memori Utama
                   Meori berfungsi menyimpan data dan program.

Perangkat Masukan dan Keluaran
            perangkat masukan dan keluaran berfungsi memindahkan data antara komputer dan lingkungan eksternal.

Interkoneksi Antarkompnen
            Interkoneksi antarkomponen adalah struktur dan mekanisme untuk menghubungkan ketiga komponen (pemroses,memori utama,perangkat masukan/ keluaran)
1.2              Pemroses
Pemrose juga disebut CPU (Central Processing Unit). Pemroses merupakan jantung dari komputer. Pemroses berfungsi mengendalikan operasi komputer dan melakukan pengolahan data. Pemroses melakukan operasi komputasi dan operasi logik, serta mengendalikan aliran data berdasarkan instruksi-instruksi. Pemroses mengambil instrukksi-instruksi dari memori dan mengeksekusi intruksi-intruksi yang diambil

Operasi-operasi di pemroses dapat dikategorikan menjadi tiga tipe, yaitu:
1.       Operasi aritmetika
Contoh penambahan, pengurangan, perkalian, pembagian, dan sabagainya
2.       Operasi logika
Contoh operasi OR, AND, X-OR, Inversi, dan sebagainya
3.       Operasi pengendalian
Contoh operasi percabangan, lompat, dan sebagainya
Pemroses terdiri dari tiga komponen, yaitu:
·         CU (Control Unit)
CU berfungsi mengendalikan operasi yang dilaksanakan sistem komputer.
·         ALU (Aritmetic Logic Unit)
ALU berfungsi melakukan operasi aritmatika dan logika.
·         Register-register
Register-register untuk membantu pelaksanaan operasi pemroses. Register-register berfungsi sebagai memori sangat cepat yang antara lain berfungsi sebagai tempat operan-operan dari operasi yang akan dilakukan oleh pemroses.

1.3              Memori
Memori berfungsi untuk menyimpan data dan program. Terdapat beberapa tipe memori, mulai yang tercepat aksesnya sampai yang terlambat.

Konsep dua level ini bisa diimplementasikan berupa
·         Chace memory
·         Buffering

Chace memory
                                Chace memory adalah memori diantara memori utama dan register pemroses.emori ini berkapasitas terbatas,berkecepatan tinggi, berharga lebih mahal dibanding memori utama. Dengan adanya chace memory, pemroses tidak langsung mengacu memori utama tetapi mengacu chace memory yang berkecepatan akses lebih tinggi. Teknik ini meningkatkan kinerja sistem secara signifikan.

Buffering
                                Buffering adalah bagian memori utama yang di fungsikan menampung data yang akan di transfer dari/ke perangkat masukan/keluaran dan menyimpan sekunder. Buffering dapat mengurangi frekuensi pengaksesan dari /ke perangkat masukan/keluaran dan menyimpan sekunder sehingga meningkatkan kinerja sistem. Teknik ini meningkatkan kinerja sistem secara signifikan (berarti).


1.4               Perangkat Masukan/Keluaran
Perangkat masukan/keluaran terdiri dari dua bagian, yaitu:
1.       Komponen mekanis, yaitu perangkat itu sendiri
2.       Komponen elektronis, yaitu pengendali prangkat berupa chip controller

Perangkat masukan/keluaran adalah perangkat nyata yang dikendalikan perangkat elektronis chip controller di board sistem atau card. Controller dihubungkan dengan pemroses dan komponen-komponen lain lewat bus. Controller  berbeda-beda mekanismenya. Controller mempunyai register-register  untuk memerintahkan atau mengendalikannya, serta untuk mengetahui status. Control register digunakan untuk maksud pengendalian perangkat masukan/keluaran. Status register berisi status yang mendeskripsikan kode kesalahan dari kerja perangkat masukan/keluaran.

1.5            Interkoneksi Antarkomponen
Interkoneksi antarkomponen disebut bus. Interkoneksi berkaitan dengan tata cara hubungan antarkomponen-komponen sistem komputer.
Bus terdiri dari tiga macam, yaitu:
1.       Bus alamat (address bus).
2.       Bus data (data bus).
3.       Bus kendali (control bus)

Bus Alamat
                Jalur ini bersifat satu arah. bus alamat untuk memberikan alamat dari memori atau port yang hendak di akses.

Bus Data
                Jalur ini bersifat dua arah. jalur digunakan CPU untuk membaca dan mengirim data dari /ke memori atau port.

Bus Kendali
                Jalur ini bersifat dua arah. Bus kendali berisi 4-10 jalur sinyal paralel.

1.6               Eksekusi Intruksi
1.6.1         Mekanisme Eksekusi Intruksi
Fungsi utama komputer adalah mengeksekusi program. Berdasarkan konsep program tersimpan, program yang dieksekusi (kumpulan intruksi) disimpan di memori. Pemroses melakukan tugasnya dengan mengeksekusi intruksi-intruksi di program yang disimpan di memori itu.

Tahap pengolahan intruksi ini berisi dua tahap, yaitu:
1.       Pemroses membaca intruksi dari memori (fetch).
2.       Pemroses mengeksekusi intruksi (execute).


1.6.2         Metode Eksekusi Intruksi
Mode eksekusi berkaitan dengan kewenangan jenis program yang dijalankan, yaitu:
·         Mode eksekusi untuk program bagian dari sistem operasi.
·         Mode eksekusi untuk program pemakaian, atau program yang bukan bagian dari kernel sistem operasi.

Intruksi-intruksi ertentu hanya dapat dieksekusi di mode berkewenangan tinggi. Intruksi-intruksi yang memerlukan kewenangan tinggi, misalnya
·         Membaca atau memodifikasi register kendali (bit-bit dari register PSW).
·         Intruksi-intruksi primitif perangkat masukan/keluaran.
·         Intruksi-intruksi untuk manajemen memori.
·         Bagian memori tertentu hanya dapat diakses dalam mode kewenangan tinggi.

Mode Pemakain dan Mode Sistem
Mode dengan kewenangan rendah yaitu beberapa intruksi pemroses tidak dapat dijalankan pada mode ini. Mode disebut mode pemakai (user mode) karena program pemakai (aplikasi) dieksekusi dalam mode ini.

Mode dengan kewenangan tinggi yaitu seluruh intruksi pemroses dapat dieksekusi pada mode ini. Mode ini disebut
·         Mode sistem (system mode), atau
·         Mode kendali (control mode), atau
·         Mode supervisor (supervisor mode),atau
·         Mode kernel (kernel mode)



BAB II
SEKILAS MENGENAI SISTEM OPERASI

                Sistem operasi adalah sekumpulan rutin perangkat lunak yang berada diantara program aplikasi dan perangkat keras. Semua perangkat lunak berjalan di bawah kendali sistem operasi.
1.1               Tujuan belajar system operasi
Dapat merancang /memodifikasi sendiri system operasi yang telah ada sesuai kebutuhan khusus kita.
1.7              Fungsi dan sasaran system operasi
Sistem operasi mempunyai dua tugas utama yaitu:
1.       Pengelola seluruh sumber daya system komputer (sebagai resources manager)
2.       Sebagai  penyedia layanan (extended/virtual machine)
Sumber daya system computer
            Semua komponen di system computer yang dapat memberi manfaat dan semua yang terhubung ke system computer secara fisik.
Sumber daya terdiri dari
·         Sumber daya fisik
·         Sumber daya abstrak
Sumber daya fisik, misalnya
·         Perangkat masukan
·         Perangkat tunjuk (pointing device)
·         Perangkat penyimpan
·         Perangkat penampil
·         Perangkat komunikasi
·         Perangkat memory
·         Perangkat multimedia
·         Perangkat grafis
·         Perangkat pengendalian proses
Sumber daya abstrak
·         Data
·         Program
Data
·         PCB (process control block) untuk mencatat dan mengendalikan proses
·         Semaphore untuk pengendalian sinkronisasi proses
·         Tabel segmen, tabel page, i-node, FAT untuk system file
Program
·         Utilitas
·         Aplikasi untuk mencapai komputasi
Menurut stalling (STA-95)
Sistem operasi mempunyai tiga sasaran, antara lain
1.     Kenyamanan
2.     Efisiensi
3.     Berevolusi

2.2.1    System operasi sebagai pengelola sumber daya
            Satu kumpulan sumber daya untuk memindah, menyimpan, dan mengolah data. System operasi bertanggung jawab dalam mengelola sunber daya  agar penggunaannya benar dan efisien.
2.2.2        System operasi sebagai Extended Machine
Sistem operasi sebagai extended machine berfungsi sebagai berikut:
·         Memberi abstrak tingkat tinggi yang lebih sederhana dan meyembunyikan kerumitan perangkat keras
·         Basis untuk program lain
2.2.3        Fungsi-fungsi minor sistem operasi
·         Mengimplementasi antar muka untuk pemakai
·         Memungkinkan pemakaian bersama perangkat keras di antara banyak pemakai
·         Memungkinkan pemakai-pemakai data ecara bersama
·         Mencegah pemakai-pemakai saling mengganggu satu dengan lainnya
·         Menjadwalkan pemakaian sumber daya
·         Memberi fasilitas masukan/keluaran
·         Memulihkan kesalahan-kesalahan
·         Menghitung penggunaan sumber daya
·         Mengorganisasi data agar pengamnan dan cepat diakses
·         Menangani komunikasi jaringan
2.2.4        Subsistem-subsistem sistem operasi
·         Manajemen proses
·         Manajemen memori
·         Manajemen berkas (sistem manajemen berkas)
·         Manajemen perangkat masukan/keluaran
·         Pengamanan sistem
·         Sistem komunikasi
·         Dan sebagainya
2.3              Sejarah perkembangan sistem komputer
Generasi pertama (1945-1955)
Generasi ini merupakan awal pengembangan sostem komputer elektronik, mengganti gagasan-gagasan mesin komputasi mekanis.
Generasi kedua (1955-1965)
                Komputer generasi kedua ini merupakan batch processing system.
Generasi ketiga (1965-1980)
Perkembanngan berlanjut, sistem operasi dikembangkan untuk melayani banyak pemakai interaktif sekaligus. Pemakai-pemakai interaktif berkomunikasi dengan komputer lewat terminal secara online (yang dihubungkan secara langsung) ke satu komputer. Sistem komputer menjadi
·         Multiuser, yaitu sekaligus digunakan banyak orang
·         Multi programming, yaitu sekaligus melayani banyak program
Generasi keempat (1980-199x)
Pada generasi keempat ini, sistem sistem operasi tidak lagi hanya diperuntukkan untuk satu mode pengolahan tapi telah ditujukan untuk banyak mode pengolahan, misalnya mendukaung batch processing,timesharing, networking, dan (soft) real time applications sekaligus.
2.4              sistem komputer dalam beragam sudut pandang
Padangan ke system computer dikelompokkan menjadi tiga, yaitu:
1.            Pemakai terdiri dari pemakai awam(end user) dan administrator system
2.            Pemprogram
3.            Perancangan system operasi

2.4.1        Sistem komputer dalam pandangan pemakai
Pemakai awam memandang sistem komputer berdasarkan antar muka yang disediakan aplikasi dalam menyelesaikan masalah yang dihadapi.
Pemakai tidak berurusan dengan arsitektur komputer. Pemakai awam memakai sistem operasi sebatas menggunakan command-language sistem operasi untuk meminta layanan-layanan sistem operasi. Pemakai memberikan perintah beserta argumen-argumen yang diperlukan.
Command language tersedia di lapisan disebut shell (command interpreter). Pemakai berkomunikasi dengan shell dengan memberikan perintah-perintah. Shell kemudian menginterpretasi perintah-perintah itu dan melewatkannya ke sistem operasi.
Shell  dapat berupa
·         Text-based shell
·         GUI (graphical user interface) based shell
2.4.2        Sistem komputer dalam pandangan pemrogram
Pemrogram aplikaasi membuat aplikasi untuk pemakai awam. Pemrogram aplikasi mengekspresikan dalam bahasa pemrograman.
Pemrogram dapat memanfaatkan layanan-layanan yang disediakan sistem sistem operasi untuk mengendalikan sistem komputer melalui beragam level, yaitu:
·         Mempergunakan program utilitas
·         Mempergunakan fasilitas sistem melalui antar muka layanan (serfice interface)
·         Mempergunakan panggilan sistem (system call)
2.4.3        Sistem komputer dalam pandangan perancang sistem operasi
Perancang sistem operasi yang bertugas mendandani perangkat keras justru dituntut mengetahui perangkat yang akan didandaninya secara mendalam dan menyeluruh agar sistem operasi yang dirancangnya berfungsi secara benar dan efisien.
2.5              Arsitektur sistem operasi
Adalah merupakan struktur yang menjadi landasan untuk menentukan keberadaan komponen perangkat lunak dan cara komponen-komponen saling berinteraksi.
Arsitektur Sistem Operasi yang terkenal antara lain:
1.             System Monolitik
2.             System Berlapis
3.             Sistem client/server
4.             System mesin maya
5.             System berorientasi objek








 



               
BAB III
PROSES

Proses atau tesk adalah entitas dianmis. Secara fisik proses berisi intruksi dan data, program counter, semua nilai registrasi proses, serta stack yang berisi data yang bersifat sementara.
1.         Dekskripsi Masalah
Konsep ini pertama kali digunaka di system operasi semua multics tahun 90-an. Salah satu dfinisi proses adalah program yang sedang dieksekusi. Beberapa istilah penting yang berkaitan dengan proses antara lain:
A.         Multiprograming, Multiprocessing, Distributed Processing.
• Multiproraming (Multiasting) adalah menejemen banyak proses di satu proses. Proses yang      dijalankan di multiprograming bersifat seperti berikut:
                Saling tidak bergantung (independent)
                Satu program pada satu saat (one program at any instan)
• Multiprocessing
      Adalah menejemen banyak proses di computer multiprocessor (banyak proses didalamnya)
• Distributed Proseccing
Adalah menejemen banyak proses yang dieksekusi di banyak system computer yang tersebar di suatu jaringan
B.         Kebutuhan Utama Pengendali Proses.
Kebutuhan utama pengendali proses, antara lain:
•             Interleave
Berfungsi untuk memaksimumkan proses
•             Mengikuti kebijakan tertentu
System opersi harus mengalokasikan proses sumber daya ke proses mengikuti kebijaksanaan sumber daya (misalnya fungsi atau aplikasi tertentu mempunyai prioritas lebih tinggi ).
•             Mendukung Komunikasi antar Proses dan penciptaan proses
System operasi perlu mendukung komunikasi antar proses dan penciptaan proses oleh pemakai sehingga membantu menstrukturkan proses.
2.         Diagram State Proses
Proses melewati serangkaian  state diskrit. Beragam kejadian dapat menyebabkan perubahan/berpindahnya state proses.
•             Diagram state dasar (Tiga Keadaan)
Proses dapat berada di salah satu tiga state dasar.
•             Proses Control Block (PCB)
System Operasi memerlukan banyak informasi mengenai proses untuk melakukan proses secara benar.
Proses Control Block terbagi menjadi tiga kelompok, antaranya :
1.            Informasi identifkasi
2.            Informasi status proses
3.            Informasi Pengendali Proses
•             Operasi-operasi pada proses
Siitem operasi dapat melakukan operasi-operasi dalam suatu proses. Operasi yang dapat dilakukan dalal proses antara lain ;
•             Penciptaan Proses
•             Penghancuran / terminasi proses
•             Penundaan Proses
•             Pelanjutan kembali proses
•             Pengubahan prioritas proses
•             Mem-Block proses
•             Membangun proses
•             Menjadwalkan proses
•             Memungkinkan proses berkomunikasi dengan proses lain
PENCIPTAAN DAN PENGHANCURAN PROSES
Dua operasi penting terhadapa proses adalah penciptaan dan penghancuran.
DIAGRAM STATE LANJUT (LIMA KEADAAN)
PENUNDAAN (SUSPENSION) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat
3.3  implementasi proses
3.3.1 Tabel –Tabel untuk Proses
Masing – masing proses di sistem mempunyai state yang perlu diperhatikan sistem operasi. Sistem operasi mencatat state proses dengan beragam tabel atau senarai antara lain :
1.  informasi manajemen memory
2. tabel manajemen masukan / keluaran
3. tabel informasi sistem file
4. tabel proses
3.3.1 PCB dan Senarai Proses
Berisi informasi mengenai proses yang diperlukan system operasi, seperti : penjadwalan, alokasi sumber daya alam, pemprosesan interupsi monitoring dan analisis kerja.
3.3.3 Pengaksesan informasi  di pcb
System operasi pelu rutin mengakses informasi di PCB. Tiap proses dilengkapi ID unik yang digunakan sebagai indeks (petunjuk)
Dua masalah utama pada PCB, yaitu:
1.            Bug (kesalahan pemprograman)
2.            Perbahan rancangan struktur dan semantic PCB
3.4 Tahap-tahap penciptaan proses
•             Diberikan satu identifiter
•             Dialokasikan untuk proses
•             PCB harus diinisalisasi
•             Kaitan antar kabel yang senarai yang cocok dibuat
3.5 pengalihan proses
Proses running diintrupsikan dan system operasi memberi proses Runnning dan menggilir kendali ke proses itu
3.5.1 kejadian-kejadian penyebab pengalihan proses
•              Interupsi
•              Trap
•              Superfiso call


3.6 Kedudukan Sistem Operasi
·                     System operasi sebagai kernel tersendiri
·                     Fungsi sitem operasi dieksekusi dalam proses pemakai
·                     Sebagai kumpulan prises (proses-based operating system)




BAB IV
PENJADWALAN PROSES

Penjadwalan proses adalah basis system operasi multiprograming dengan mengalih-alihkan proses diantara proses-proses yang ada.
4.1       Deskripsi penjadwalan proses
Penjadwalan merupakan proses yang harus berjalan, kapan dan selama berapa lama proses berjalan.
Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
·         Adil (Fairnes)
·         Efisien
·         Waktu tanggap (Response Time)
·         Turn arround time
·         Throughput
4.2       Tipe-tipe penjadwalan
Tipe penjadawlan pada system operasi yang komplek, yaitu:
·         Penjadwalan ringan (short-term sceduller)
·         Penjadwalan jangka menengah (medium-term scheduller)
·         Penjadwaln jangka panjang (long term acheduller)
4.3       Stategi penjadwalan
Terdapat dua straregi penjadwalan, yaitu:
•    Penjadwalan Nonpreemptive (run to-completion), karena proses yang dijadwalkan akan dijalankan sampai selesai.
•             Pennjadawlan preemptive
Bagus  tidak tanpa ongkos (layanan proses dari satu proses beralih  ke proses lain) memerlukan overhead (karena banyak table yang dikelola)
4.4       Algoritma-algoritma penjadwalan Proses
Terdapat banyak algoritma penjadawlan baik algoritma penjadwalan nonpreemtive maupun preemptive.
Algoitma yang menerapkan strategi nonpreemtive, diantaranya :
•             FIFO (First-in,First-out) atau FCFS (First-come,First-server)
•             SJF (Shortest Job First )
Algoritma yang menerapkan stategi preemptive, diantaranya:
•             RR (Round-Robin)
•             MFQ (Multiple Feedback Queues)
•             SRF (Shortest-remaining-First)
•             HRN (Highest-Ratio Next)
•             PS (Priority Schedulling )
•             GS (Guarateed Schedulling
Klasifikasi yang berdasarkan adanya prioritas diproses-proses, yaitu:
1.            Algoritma penjadwalan tanpa prioritas
2.            Algoritma penjadwalan berprioritas, terdiri dari :
•             Algoritma penjadwalan berprioritas statis
•             Algoritma penjadwalan berprioritas dinamis
4.5       Evaluasi algoritma
Metode evaluasi algoritma :
1.      Pemodelan deterministik
Merupakan evaluasi analistis. Yang digunakan untuk menghasilkan satu rumus atau angka yang menunjukkan kinerja algoritma untuk beban kerja tersebut.
2.      Pemodelan antrian
Merupakan antrian atau menunggu dari proses-proses layanan yang telah di jalankan.
3.      Simulasi
4.      Implementasi



BAB V
KONGRURENSI

Kongkurensi merupakan landasan umum perancangan sisem operasi. Proses disebut kongkuren jika proses-proses (lebih dari satu proses) ada pada saa yang sama.
Banyak bahasa pemrograman yang digunakan dalam pembuatan program kongkuren, anara lain :
•             Bahasa concurent pascal oleh Brinch Hansen
•             Bahasa modula-2 oleh niklaus wirth
•             Bahasa ada oleh deparemen pertahanan amerika
•             Dan sebagainya

5.1 prinsip –prinsip kongkurensi
Lingkup kongkurensi meliputi hal-hal beriku :
•             Alokasi layanan pemroses unuk proses - proses
•             Pemakaian bersama dan persaingan unuk pemakaian bersama
•             Komunikasi antar proses
•             Sinkronisasi aktivitas antar proses
Kongkurensi dapat muncul pada empat koneks berbeda, yaitu :
•             Untuk banyak aplikasi
•             Untuk strukturisasi dari sau proses
•             Unuk sruturisasi sistem operasi
5.2 kesulitan – kesulitan yang diimbulkan kongkurensi
Masalah yang dihadapi proses-prose konkuren multiprograming dan miltiprocessing.
Beberapa kesulitan muncul, dianaranya :
•             Pengelolaan alokasi sumber daya agar opimal
•             Pencarian kesalahan pemprogram
•             Pemakaian bersama sumber daya global

5.3 muual exclusion, deadlock, dan startvation
Beberapa masalah yang muncul pada kongkurensi antara lain :
·         Mutual exclusion
·         Deadlock
·         Starvation

5.4 interaksi  antar proses
Pada system banyak proses (kongkuren) terdapat tiga kategori interaksi, yaitu :
a)            Proses saling tidak peduli (independent)
Proses ini tidak dimaksudkan untuk bekerja bersama unuk mencapai ujuan tertentu. Pada mutiprograming dengan proses-proses independent. Dapa berupa bath aau sesi interaktif atau campuran keduanya
b)            Proses saling mempedulikan secarat idak langsung
Proses-proses juga tidak perlu saling mempedulikan identitas proses-proses lain tapi sama-sama mengakses objek tertentu
c)            Proses-proses saling mempedulikan secara langsungProses-proses saling berkomunikasi dan dirancang bekerja sama untuk suatu akifitas

5.4.1. persaingan diantara proses-proses untuk sumber daya
Persaingan proses-proses untuk memperoleh sumber daya menimbulkan tiga masalah yang harus di selesaikan , yaitu :
·         Mutual exclution
·         Deadlock
·         Sartavation

5.4.2. kerja sama dianara proses-proses dengan pemakaian bersama
Dalam kasus kerja sama pemakaian sumber daya bersama meliputi proses-proses yang saling berinteraksi anpa dinyatakan secara eksplitif.

5.4.3.kerja sama diantara proses-proses dengan komunikasi
Pada kasus persaingan. Proses-proses memakai sumber daya anpa peduli dengan proses lain.

5.5 pokok penyelesaian masalah kongkurensi
Pada dasarnya penyelesaian masalah pokok kongkurensi terbagi menjadi dua, yaitu:
·         Mengkonsumsikan adanya memori yang digunakan bersama
·         Tidak mengkonsumsikan adanya memori yang digunakan bersama.



BAB VI
MUTUAL EXCLUSION

6.1       Pentingnya Mutual Exclution
                Mutual Exclution adalah persoalan untuk menjamin hanya satu proses yang mengakses sumber daya pada suatu interval waktu tertentu.

                Mutual exclution dapat dilihat dari dua ilustration:
•     proses  eksekusi daemon printer
•     Ilustrasi aplikasi tabungan 

6.1.1    Ilustrasi Printer Daemon
                Daemon untuk printer adalah proses penjadwalan dan penegendalian untuk mencetak erkas-berkas di computer sehingga menjadikan seolah-olah printer dapat digunakan secara simultan oleh proses-proses.

6.1.2    ilsrasi aplikasi tabungan 
                Seluruh system yang melibatkan banyak proses mengases atau sumber daya bersama selalu menimbulkan persoalan mutual exclution.

6.1.3    Kriteria Penyelesain Mutual Exclution
Kemampuan menjamin mutual exclution harus memenuhi kriteria-kriteria berikut:
1.       Mutual exclution harus dijamin
2.       Hanya satu proses pada satu saat yang diizinkan masuk critical section.
3.       Proses yang berada di noncriterial section, dilarang mem-blok proses-proses  lain   yang ingin masuk critical section.
4.       Harus dijamin proses yang ingin masuk critical section tidak menunggu selama  waktu yang tidak berhingga. Atau tak boleh terdapat deadlock atau startvation.
5.       Ketika tidak ada proses di critical section maka proses yang ingin masuk critical section harus diizinkan segera masuk tanpa waktu tunda.
6.       Tidak ada asumsi mengenai kecepatan relative proses atau jumlah yang ada.
6.2       Metode-metode Penjamin Mutual Exclution
Metode untuk menjamin mutual exclution, antara lain:
1.            Metode Naif
2.            Metode untuk situasi tertentu
3.            Metode mwnggunakan busy waiting
4.            Metode penyelesaian level tinggi







Metode Naif

                Metode yang tidak menyelesaikan masalah mutual exclution. Metode ini dipelajari untuk memperoleh penjamnan mtual xclution lebih jelas.
Metode Variabel Lock sederhana
Metode ini meniru mekanisme penguncian pintu (kunci pintu diganti Variable Lock)
Ada beberapa mekanisme yang diusulkan, antara lain:
·         Jika variable bernilai 0, proses meng-set variable lock menjadi 1 dan segera masuk  sritical         section
·         Jika variable lock bernilai 1, proses menunggu sampai nilai variable lock menjasi nol.
Metode untuk situasi tertentu
·         Metode bergantian secara ketat
Metode ini dapat menggilir proses-proses yang hendak masuk critical section secara bergantian terus-menerus.
Metode dengan busy waiting
·         Metode secara perangkat lunak
Secara perangkat lunak Implementasi mutual exclution yang sukses pertama kalli diberikan oleh Dekker (Matematikawan Belanda)
Algoritma menurut Dekker adalah rumit dan mempunyai propertu-properti sebagai berikut:
·         Tidak memerlukan intruksi-intruksi perangkat keras khusus
·         Proses yang beroprasi diluar tidak dapat memasuki critical section.
·         Proses yang igin masuk akan segera masuk apabila dimungkinkan
Metode dengan Dukungan Perangkat Keras
·         Metode Pematian Intrupsi
Proses pematian intrpsi ke pemproses dan segera memasuki critical section
Pematian intrupsi mengakibatkan:
·         Pemproses tidak dapat beralih ke proses lain karena intrupsi clock dimatikan sehingga penjadwala pun tidak dieksekusi.
·         Proses dapat menggunakan memory bersama tanpa takut intervensi proses lain.
Metode dengan intruksi Test and Set Lock
Pada system multiproccesor, pemproses-pmproses bertindak independent. Pemproses yang menggnakan  memory bersama dijaga pada tingkat perangkat kerasnya, agar pemproses lain tidak dapat mengakses suatu lokasi yang sama disaat yang sama.
Metode dengan Intruksi Exchange (ECHG)
Metode ini merupakan intruksi yang berfngsi menukarkan dua isi memory.
Metode dengan Smaphore
Dua proses atau lebih dapat dapat bekerja sama dengan menggunakan penanda-penanda sederhana
Smaphore mempunyai dua property, yaitu
•     Semaphore dapar diinialisasikan dengan nilai bukan negative
•     Terdapat dua operasi, yaitu : Down dan Up



BAB VII
DEAD LOCK

Proses yang terlibat dalam deadlock jka proses menunggu suatu kejadian tertentu yang tidak akan pernah terjadi.
Deadlock terjadi jika proses-proses mengakses sumber daya secara esklusif :
7.1 Model Deadlock
Urutan kejadian perangkat masukan / keluaran antara lain:
Meminta : (request) = meminta layanan perangkat masukan / keluaran
Memakai : (user) = memakai perangkat masukan / keluaran
Melepaskan : (release) = melepaskan pemakain perangkat masukan / keluaran
7.1.1 Syarat-syarat terjadinya deadlock
Terbagi menjadi empat syarat, yaitu :
•             Mutual Exclusion
•             Kondisi non-preemtive
•             Kondisi menunggu secara sirkular
7.2 Metode-metode  mengatasi deadlock
Dibagi menjadi tiga kelompok metode, yaitu:
1.       Metode pencegahan terjadinya deadlock
2.       Metode ini berkaitan dengan perkondisian system sehingga menghilangkan kemungkinan terjadinya deadlock.
3.       Metode menghindari terjadinya deadlock
4.       Menghindari kondisi-kondisi yang memungkinkan terjadinya deadlock agar memperoleh utilisasi sumber daya yang lebih baik.
5.       Metode deteksi dan pemulihan deadlock
6.       Metode ini digunakan pada system yang mengijinkan terjadinya deadlock.
7.3 Sistem Burung Unta
Strategi ini mengasumsikan kejadian deadlock jarang terjadi dibanding computer yang mengalami crash.
7.4 Pencegahan Deadlock
Havender mengemukakan bahwa jika sembarangan dari empat syarat terebut, syarrat tersebut yaitu:
Tiap prose harus memina semua sumber daya sekaligus.
Jika proses sudah memegang sumber daya tertentu maka untuk peermintaan berikutnya proses harus melepas dulu sumber daya yang dipegangnya.
Memberi pemngurutan linear terhadap tipe-tipe sumber daya pada semua proses. Yaitu jika proses telah dialokasikan suatu tipe sumber daya.
7.4.1 meniadakan non-preemtive
Peniadan non-preetive mencegah proses-proses lain harus menunggu.
7.4.2 Meniadakan menuggu sirkular
Kondisi ini dapat ditiadakan dengan beberapa cara, antara lain:
Proses hanya siperbolehkan menggenggam satu sumber daya pada suatu saat. Penomoran sumber daya alam .

7.5 Penghindaran Deadlock
Gagasan dasar untuk menghindari deadlock adalah memberi akses pada sumber daya yang tidak mungkin menimbulkan deadlock.
·         Jika permberian akses sumber daya tidak mungkin menuju deadlock, sumber daya diberikan ke peminta
·         Jika tidak aman (memungkinkan timbulnya deadlock) proses yang meminta di-suspend sampa suatu waktu permintaannya aman diberikan
7.6 deteksi dan Pemulihan Deadlock
·         Deteksi adanya deadlock
·         Teknik untuk menentukan apakah deadlock terjadi serta mengidentifikasi proses-proses dan sumber daya yang terdapat pada deadlock
·         Pemulihan dari deadlock
Foktor-faktor yang merumitkan deadlock:
·         Kebanyakan system tidak memilki fasilitas atau mempunyai fasilitas yang buruk untuk men-suspend proses.
·         Jika mendapat kemampuan suspend dan resum yang efektif
7.7 Strategi Penanggulangan Deadlock Terpadu
Masing-masing teknik mempunyai keunggulan dan kelemahan. Silberchatz menyarankan satu pendekatan terpad, yaitu:
·         Kelompok sumber daya-sumber daya menjadi sejumlah kelas sumber daya
·         Gunakan strategi pengurutan linear
·         Dalam satu kelas sumber daya menggunakan satu algoritma yang paling cocok untuk kelas tersebut



BAB VIII
MANAJEMEN MEMORY PEMARTISIAN STATIS

·         Memory  utama sebagai sumber daya yang harus dialokasikan  dan dipakai bersama siantara sejumlah proses yang aktif . agar dapat memanfaatkan proses dan fasilitas masukan/keluaran secara efisien maka diinginkan memory dapat menampung proses sebanyak mungkin
·         Mengupayakan agar pemprograman atau proses tidak dibatasi kapasitas memory fisik disistem computer
8.1 Manajemen memory
Fungsi manajemen memory sebagai berikut :
·         Mengelola informasi mengenai memory yang dipakia dan tidak dipakai system
·         Mengalokasikan ke proses yang memerlukan
·         Mendealokasikan memory dari proses telah selesai menggunakan
·         Mengelola swapping antara memory utama dan harddisk
8.1.1 Manajemen memory pada system multiprograming
Dengan keberadaan banyak ruang alamat milik proses-proses di memory utama secara bersama maka system operasi harus mampu mendukung dua kebutuhab yang saling bertentangan, yaitu :
  1. Pemisahan ruang-ruang alamat, melakukan proteksi memory dengan isolasi ruang-ruang alamat sehingga proses-proses tidak saling mengganggu.
  2. Pemakaian bersama memory sehingga memungkinkan proses-proses bekerjasama mengakses daerah memory bersama.
8.1.2 Klasifikasi Manajemen Memory
Manajemen berdasarkan keberadaan swapping tebagi menjadi dua, yaitu :
  1. Manajemen tanpa swapping
  2. Manajemen tanpa swapping
Manajemen memory berdasarkan alokasi memory terbagi dua, yaitu:
  1. Alokasi memory berurutan (Kontigu)
  2. Alokasi memory tidak berturutan (non-kontigu)
Alokasi Memory Berturutan (Kontigu)
Alokasi memory seacra berturutan (contiguous storage allocation) adalah masing-masing proses menempati satu blok tunggal lokasi memory yang berturutan.
Keunggulan
·         Sederhana
·         Tidak akan terbentuk lubang-lubang memory bersebaran
·         Karena berturutan, proses dapat dieksekusi dengan cepat



BAB IX
MANAJEN MEMORY DAN PEMARTISIAN DINAMIS

9.1 Multiprograming dengan swapping
Dengan swapping, multiprograming system time sharing dapat ditingkatkan kinerjanya yaitu dengan memindahkan proses-proses blosked ke disk dan hanya memasukkan proses-proses ready ke memori utama.
Beragam masalah harus diatasi multiprograming dengan swapping antara lain :
•            Pemartisian secara dinamis
•            Strategi pencatatan pemakaian memori
•            Algoritma penempatan proses ke memori
•            Strategi penempatan ruang swap di disk

9.2 Multiprograming dengan Pemartisian Dinamis
Dengan pemartisian dinamis jumlah lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Kelemahan pemartisian dinamis adalah
•            Dapat terjadi lubang-lubang kecil memori diantara partisi-partisi yang dipakai
•            Merumitkan alokasi dan delokasi memori

9.3 Pencatatan Pemakai Memori
Memori yang tersedia harus dikelola, dilakukan dengan pencatatan pemakaian memori. Terdapat tiga cara utama pencatatan pemakaian memori, yaitu :
•            pencatatan memakai peta bit (bit map)
•            pencatatan memakai senarai berkait
•            pencatatan memakai sistem buddy

9.3.1 Pencatatan Memakai Peta Bit
Memori dibagi menjadi unit-unit berkoregpondensi dengan tiap unit, alokasi adalah satu bit pada peta bit (bit map).
·                     nilai 0 pada peta berarti unit itu masih bebas
·                     nilai 1 berarti unit digunakan.

9.3.2 Pencatatan Memakai Senarai Berkait
Sistem operasi mengelola senarai berkait untuk blok-blok memori yang dialokasikan dan bebas.

9.4 Strategi Alokasi Memori
Terdapat beragam strategi alokasi proses ke memori.alokasi harus mencari sekumpulan blok memori yang berukuranmencukupi untuk memuat proses yaitu lubang kosong yang sama atau lebih besar di banding ukuran memori yang diperlukan proses.
Beragam algoritma itu adalah :
First – fit algoritmh
Next – fit algoritmh
Best – fit algoritmh
Worset – fit algoritmh
Quick – fit algoritmh

9.5 Sistem Buddy
Sistem buddy adalah algoritma pengelolaan memori yang memanfaatkan kelebihan penggunaan bilangan binner untuk pengalamatan memori.
- mekanisme pengelolaan
Awalnya semua memori adalah bebas dan satu senarai, 1 megabyte berisi satu isian tunggal satu lubang 1 megabyte.

9.6 Alokasi Ruang Swap pada Disk
Strategi dan algoritma yang dibahas adalah untuk mencatat memori utama.
Terdapat dua strategi utama penempatan proses yang dikeluarkan dari memori utama ke disk, yaitu:
·         Ruang disk tempat swap dialokasikan begitu diperlukan
·         Ruang disk tempat swap dialokasikan lebih dulu.



BAB X
SISTEM PAGING

10.1 MEMORI MAYA
Program yang dijalankan harusdimuat di memori utama, masalah muncul ketika program lebih besardibandingkan memori utama yang tersedia.
Terdapat dua solusi masalah ini, antara lain :
•             Overlay.
•             Memori utama (virtual memori).
10.1.1 Konsep Overlay
Program di pecah menjadi bagian-bagian yang dapat dimuat memori, disebut overlay. Teknik overlay telah ditinggalkankarena teknik memori maya telah dapat di implementasikan dengan mursh dan berkinerja bagus.
10.1.2 Konsep Memori Maya
Memori maya adalah kemampuan mengelamati ruang memori melebihi memori utama yang tersedia. Konsep memori maya pertama kali dikemukakan fotheringham pada 1961 untuk sistem komputer atlas di universitas manchaster inggris.
Memori maya dapat dilakukan dengan tiga cara yaitu :
1.            Paging
2.            Segmantasi
3.            Kombinasi pagging dan sefmentasi

10.2 Deskripsi Sistem Pagging
Sistem pagging mengimplementasikan ruang alamat besar pada memori kecil menggunakan index register.
Register dan segmen register, antara lain :
•             Alamat maya (virtual addres)
•             Alamat nyata (real adress)
•             Page
•             Page frame
•             Page fault
•             MMU

10.2.1 MMU (memoru manajemen unit)
MMU mempunyai fungsi sebagai berikut :
•             Pemetasan memori ke memori fisik
•             Bila alamat memori yang diminta tidak tersedia di memori fisik. MMU menerbitkan exception adanya page – fault yang melewatkan ke sistem operasi untuk menanganinya.
10.2.1.2 Implementasi Penetasan (bagian internal MMU)
Komponen terpenting MMU adalah :
•             Register alamat maya.
•             Tabel page.
•             Register alamat maya.

10.2.2 Tabel-tabel Paging
Pemakaian tabel page pada sistem paging menimbulkan dua masalah utama, yaitu :
1.            Tabel page dapat berukuran luar biasa.
2.            Pemetasan harus dilakukan secara cepat.
10.2.3 Memori Asosiatif
Dari obserfasi disimpulkan , sebagian besar program cenderung melakukan banyak pengacuan ke sejumlah kecil page (prinsip lokalisasi).
10.3 Penggantian Page
Saat terjadi page fault berarti harus diputuskan page frame di memori fisik yang harus diminta.
Algoritma penggantian page antara lain:
1.            Algoritma penggantian page acak
2.            Algoritma penggantian page optimal
3.            Algoritma penggantian page NRU
4.            Algoritma penggantian page FIFO
5.            Algoritma penggantian page modifikasi dari algoritma FIFO
6.            Algoritma penggantian page LRU

10.4 Masalah – masalah Utama pada Sistem Paging
·         Working set model
·         Kebijaksanaan penggantian lokas vs global
·         Frekuensi page fault
·         Ukuran page

10.5 Masalah-masalah Implementasi Sistem Paging
Implementasi sistem paging, antara lain :
1.            Back up instruksi yang terakhir dijalankan sebelum terjadi pege fault
2.            Buffer perangkat masukan / keluaran
3.            Page yang dipakai bersama
4.            Backing store
5.            Paging daemon
6.            Penanganan page fault



BAB XI
SEGMENTASI DAN KOMBINASI PAGING-SEGMENTASI

11.1     Deskripsi Segmentasi
Segmentasi memungkinkan program memandang memori sebagai berisi banyak ruang alamat atau segmen.

Spesifikasi alamat pada memori bersegmen adalah dua dimensi. Alamat terdiri dari dua bagian, yaitu:
1.       Nomor segmen
2.       Alamat pada segmen itu (offset)
Segmen adalah entitas logis. Segmen dapat berisi:
1.       Prosedur
2.       Array
3.       Stack
4.       Atau kumpulan variabel skalar
Segmen biasanya bukan dari campuran tipe-tipe berbeda.

Teknik segemtasi mempunyai sejumlah keunggulan dibanding ruang alamat tidak bersegmen, yaitu :
1.       Menyerdehanakan penangananstruktur data yang berkembang
2.       Kompilasi ulang independen tanpa men-tautkan kembali(relink) seluruh program
3.       Memudahkan untuk proteksi
11.2     Segmentasi Secara Murni
Segmen-segmen dapat berukuran berbeda dan dinamis. Alamat maya adalah offset di segmen.
11.3     Perbandingan antara paging dan segmentasi
Pertimbangan
Paging
Segmentasi
Perlunya pemrogram menyadari bahwa teknik ini dipakai?
Tidak
Ya
Berapa banyak ruang alamat linier yang terdapat?
1
banyak
Dapatkah ruang alamat melampaui ukuran memori  fisik?
ya
ya
Dapatkah prosedur dan data dibedakan dan di proteksi secara terpisah?
tidak
ya
Dapatkah tabel-tabel yang mempunyai fluktuasi ukuran di akomodasikan dengan mudah?
tidak
ya
Apakah pemakaian bersama prosedur-prosedur antara pemakai-pemakai difasilitas?
tidak
ya
Kenapa teknik ini di temukan?
Untuk mendapatkan alamat linier besar tanpa harus membeli banyak memori fisik.
Untuk memungkinkan  program-program dan data dipecah menjadi ruang-ruang alamat yang secara logik indenpenden dan membantu pemakaian bersama dan proteksi.

11.4   Teknik kombinasi
Pada kombinasi paging dan segmentasi, ruang alamat pemakai dibagi menjadi sejumlah segmen sesuai kehendak pemrogram. Tiap segmen dibagi menjadi sejumlah page berukuran tetap, berukuran sama dengan page frame memori utama. Yang tentunya mempunyai keunggulan kelemahan masing-masing.
11.5   Contoh sistem dengan memori maya
1.       Memori maya dengan segmentasi murni
Keunggulan: segmen-segmen berkorespondensi dengan unit-unit program, sehingga segmen –segmen ideal untuk proteksi dan pemakaian bersama.
Kelemahan: segmen segmen berukuran bervariasi menyebabkan fragmentasi eksternal dan sulit menyelesaikan pertumbuhan dinamis.
Contoh sistem : intel 80386 dapat mengimplementasikan segmentasi murni jika tiap segmen kurang dari 1 Mbyte.
2.       One level paging
Keunggulan: semua bentuk paging mengeliminasi fragmentasi eksternal dan menyederhanakan alokasi dan pertumbuhan dinamis.
Kelemahan: sejumlah besar ruang memori utama harus dicadangkan untuk tabel page sehingga menyediakan ruang alamat maya besar dengan page-page berukuran tertentu.
Contoh sistem: DEC PDP-11 untuk memorinya, DEC VAX untuk ruang sistem, dll
3.       Two level paging
Keunggulan: mekanisme ini mengkombinasikan keunggulan segmentaswi dan paging.
Kelemahan: ruang alamat maya sangat besar (misalnya 4 Gbyte) memerlukan jumlah ruang besar tabel segmen yang harus disimpan di memori utama dan harus kontigu.
Contoh sistem: DEC VAX, IBM S/370, intel 80386, motorola MC68030, dll
4.       Three level paging
Keunggulan: mekanisme tabel page banyak tingkat untuk implementasi memori maya dengan ruang alamat sangat besar.
Kelemahan: alokasi dan pertumbuhan dinamis tabel segmen menjadi sulit.
Contoh sistem: SUN SPARC
5.       Four level paging
Keunggulan: mekanisme ini berguna untuk program yang menggunakan ruang alamat memori yang sangat besar.
Kelemahan: kondisi terburuk yang mungkin adalah kondisi untuk translasi memerlukan sebanyak empat pengacuan memori, masing-masing menghasilkan page fault.
Contoh sistem: motorola MC68030.



BAB XII
MANAJEMEN PERANGKAT MASUKAN/KELUARAN

                Pengolalaan perangkat masukan/keluaran merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya  perangakat dan begitu banyaknya aplikasi dan perangkat-perangkat itu.
Beragam fungsi dari manajemen perangkat masukan/keluaran, diantaranya :
·         Mengirim perintah ke perangkat masukan/keluaran agar menyediakan layanan
·         Menangani interupsi perangkat masukan/keluaran
·         Menangani kesalahan pada perangkat masukan /keluaran
·         Menyediakan interface ke pemakai

12.1     Klasifikasi perangkat masukan/keluran
Kelompok perangkar masukan/keluaran yang beragam, yaitu:
v  Berdasarkan sifat aliran datanya ada dua:
·         Perangkat berorientasi blok : menyimpan informasi dan menukarkan informasi sebagai blok-blok berukuran tetap.
·         Perangkat berorientasi karakter : perangkat yang mengantarkan atau menerima aloran karakter tanpa peduli membentuk suatu struktur blok.
v  Perangkat sasaran komunikasi
·         Perangakat yang terbaca oleh manusia
·         Perangkat yang terbaca oleh mesin
·         Untuk komunikasi

12.2     Teknik pemrograman perangkat masukan/keluaran
Terdapat 3 teknik pemrograman perangkat masukan/keluaran, yaitu:
1.       Masukan/keluaran terprogram
2.       Masukan/keluaran dikendalikan interupsi
3.       Dengan DMA

12.3      Evolusi fungsi perangkat masukan/keluaran
Evolusi sangat tampak pada fungsi-fungsi masukan/keluaran sebagai berikut:
1.       Ppemrises pengendalian perangkat masukan/keluaran secara langsung
2.       Perangkat dilengkapi fasilitas interupsi
3.       I/O controller mengendalikan memori secata langsung lewat DMA
4.       Pengandalian masukan/keluaran menjadi pemroses terpisah
5.       Pengendalian masukan/keluaran mempunyai memori lokal
12.4     Prinsip-prinsip manajemen perangkat masukan/keluaran
Terdapat dua sasaran perancangan manajemen perangkat masukan/keluaran,yaitu :
1.       Efisiensi
Merupakan  aspek terpenting karena operasi masukan/keluaran sering merupakan operasi yang menimbulkan bottleneck
2.       Generalitas
12.5     Hirarki manajemen masukan/keluaran
1.       Interrupt handler
2.       Device driver
3.       Perangkat lunak device-independent
4.       Perangkat lunak level pemakai

12.6     Buffering masukan/keluaran
Buffering merupakan melembutkan lenjakan-lonjakan kebutuhan pengaksesan masukan/keluaran. Macam-macam buffering
1.       Single buffering
2.       Double buffering
3.       Circular buffering



BAB XIII
MEKANISME PERANGKAT MASUKAN/KELUARAN

13.1     Disk
1.       Perangkat keras dan parameter kinerja disk
disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan terdapat head yang ditumpuk secara vertikal.
Waktu untuk membaca dan menulis disk, yaitu:
1.       Waktu seek
2.       Waktu tunda rotasi
3.       Waktu transfer data
2.       Algoritma penjadwalan disk
Terdapat dua tipe penjadwal disk :
1.       Penjadwal untuk optimasi seek
2.       Penjadwal untuk optimasi rotasi
                            
Kriteria algoritma penjadwal disk :
1.       Throughtput
2.       Waktu tanggap rata-rata
3.       Variasi waktu tanggap
Beberapa algoritma penjadwalan disk, yaitu
1.       Algoritma first come
2.       Algoritma shortest seek first
3.       Algoritma elevator
4.       Algoritma elevator dimodifikasi
5.       Elgoritma N-Step Scan
6.       Algoritma eschenbach schem
13.2  Clock
1.       Perangkat keras clock
Tipe perangkat keras clock, yaitu:
1.       Clock yang ditimbulkan tegangan listrik
2.       Programmable interval timer (PIT)
Dua keunggulan dari PIT:
1.       Mempunyai akurasi tinggi
2.       Frekuensi interupsi yang dapat diatur sesuai perangkat lunak.

PIT  biasa digunakan sebagai:
·         Waktu sistem
·         Pambangkit baud-rate (pada USART)
·         Penghitung kejadian
·         Pengendali motor
·         Pembangkit listrik
·         Dan di beragam aplikasi yang memerlukan pewaktuan.

Mode pemrograman PIT
·         One-shot mode
·         Square wave mode

2.       Perangkat lunak clock
Beberapa fungsi clock di sistem operasi,antara lain :
·         Mengatur waktu dan tanggal (waktu nyata)
·         Mencegah proses berjalan lebih dari waktu yang ditetapkan
·         Menghitung penggunaan pemroses
·         Menangani system call alarm yang dibuat proses pemakai
·         Mengerjakan profillinf, monitoring, dan pengumpulan statistik

13.3     Ram Disk
Ram disk adalah perangkat disk yang disimulasikan dengan memori akses acak (RAM). Ram Disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan mekanis dalam melakukan seek dan rotasi.
Gagasan ram disk adalah sederhana, yaitu meniru perangkat dengan lebih dulu mengalokasikan satu bagian memori utama untuk menyimpan blok-blok data.
                Perangkat blok mempunyai dua perintah, yaitu :
1.       Membaca blok
Menulis blok



BAB XIV
SISTEM MANAJEMEN FILE

       Sistem file merupakan bagian sistem operasi yang paling tampak. Dengan menyediakan mekanisme penyimpanan dan pengaksesan secara online terhadap data dan program.

14.1     Sasaran dan fungsi sistem manajemen file
File adalah koleksi yang diberi nama dari informsi yang berhubungan yang direkamkan pada penyimpanan sekunder.
File mempunyai sifat berikut:
2.       Persistence
3.       Size
4.       Sharability
Fungsi manjemen file :
1.       Penciptaan, modifikasi, dan pengahapusan file
2.       Mekanisme pemakaian file secara bersama
3.       Kemampuan  back up dan pemulihan(recovery)
4.       Pemakai dapat mengacu file dengan nama simbolik
5.       Pada lingkungan sensitif dikehendaki informasi  tersimpan dengan aman dan  rahasia
6.       Sistem file harus menyediakan antar muka(interface) yang akrab dengan pemakai.

14.2     Arsitektur pengelolaan file
Pengelolaan file:
1.       Sistem akses
2.       Manajemen file
3.       Manajemen ruang penyimpanan
4.       Mekanisme integritas file

14.3     Sistem file
Konsep terpenting pengelolaan file di sistem operasi adalah:
·         File
·         Direktori

v  File
Terhadap beragam pandangan mengenai file, yaitu:
·         Pandangan pemakai
·         Pandangan pemrogram
·         Pandangan perancang sistem

File mempunyai tiga tipe di sistem operasi :
1.       Regular
2.       Direktori
3.       Spesial
v  Direktori
Direktori berisi informasi mengenai file.
Beberapa konsep penting yang dipahami oleh pemakai:
·         Hirarki direktori
·         Jalur pengaksesan (path name)
·         Perintah-perintah memanipulasi direktori

14.4     Shared file
shared file adalah file yang tidak hanya diacu oleh satu direktori (pemakai) tapi juga oleh direktori-direktori (pemakai) lain.
                Masalah-masalah di shared file, yaitu :
1.       Metode implemintasi shared file
2.       Metode pemberian hak akses pada shared file
3.       Metode pengendalian atau penanganan terhadap pengaksesan simultan

14.5     Sistem akses file
Sistem akses file merupakan pilihan, yaitu:
·         Dapat menjadi bagian dari sistem operasi
Sistem operasi sama sekali tidak mempunyai komponen sistem akses



BAB XV
IMPLEMENTASI SISTEM MANAJEMEN FILE

Masalah implementasi sistem manajemen file antara lain :
1.       Penyimpanan file
2.       Manajemen ruang penyimpan
3.       Keandalan
4.       Kinerja

15.1     Penyimpanan
1.       Blocking
Blok berisi sekumpulan byte berukuran tetap yang dipindah dari tempat penyimpanan kememori untuk diolah dan sebaliknya.

Pertimbangan dalam menentukan ukuran blok :
1.      Ukuran blok tetap menurunkan kompleksitas program
2.      Ukuran blok tetap beragam perangkat berbeda memboroskan ruang penympanan
3.      Ukuran blok mempengaruhi kinerja sistem manajemen file

2.       Pengalamatan blok
Terdapat tiga cara dalam pengalamatan blok :
1.       pengal amatan fisik disk
2.       pengalamatan ralatif
3.       pengalamatan simbolik

3.       lokalitas
dalam hal ini jika semakin kuat lokalitasnya, maka semakin cepat pengaksesan datanya. Jika lokalitas lemah menunjukkan pengaksesan datanya lambat.

15.2     Implementasi sistem file
Dua hal penting yang harus ditangani adalah:
·         Pencatatan ruang yang dialokasikanuntuk file
·         Pencatatan ruang bebas yang tersedia di disk
Sistem file meliputi:
·         Alokasi file
·         Pencatatan ruang disk
·         Shared file
·         Keandalan sistem file
·         Kinerja sistem file
15.3     Implementasi direktori
Fungsi utama sistem direktori adalah memetakan nama simbolik file (nama file dan nama jalurnya) menjadi informasi untuk menemukan blok-blok file.

15.4     Pencatatan ruang disk yang bebas
Penyimpanan file dapat dilakukan dengan:
1.       Berurutan
2.       Fixed block
15.5     File dipakai bersama (shared file)
Shared file adalah file yang tidak hanya diacu satu direktori,  juga oleh direktori-direktori lain.
1.       Implementasi shared file
·         Shared file dengan pengopian
·         Shared file dengan i-node
·         Shared file dengan simbolik linking
2.       Pengaksesan pada shared file
15.6     Keandalan sistem manajemen file
Kerusakan data lebih mahal dibandingkan dengan kerusakan perangkat keras karena merupakan kehilangan yang tak dapat digantikan bila tidak memiliki salinannya.
1.       Manajemen blok buruk
2.       Pemulihan dari kegagalan disk
·         Back up
·         Transaction log
3.       Konsistensi sistem manajemen file
4.       Kendali kongruensi
15.7     Kinerja sistem manajemen file
Cara cara yang dapat digunakan adalah:
·         Buffer chace
·         Penempatan data
15.8     Sistem akses file
1.       Rekor dan blocking
2.       Penempatan rekor-rekor pada blok
Operasi-operasi di sistem akses file



BAB XVI
KEAMANAN SISTEM

                Sangatlah penting dalam  mengimplementasikan keamanan dalam sistem yang bertujuan untuk menjamin tidak diinterupsi dan diganggu. Proteksi dan pengamanan  terhadap perangkat keras dan sistem operasi itu sama pentingnya.
16.1     Keamanan
Keamanan sistem komputer adalah untuk menjamin sumber daya tidak digunakan atau dimodifikasi oleh orang yang tak diotorisasi.
Keamanan sistem dibagi menjadi  tiga bagian, yaitu :
1.       Keamanan eksternal (extenal security)
2.       Keamanan interface pemakai (user interface security)
3.       Keamanan internal (internal security)

A.      Masalah-masalah Keamanan
Terdapat dua masalah penting pada keamanan, yaitu :
1.       Kehilangan data (data loss)
Kehilangan data dapat disebabkan antara lain :
1.       Bencana
2.       Kesalahan perangkat keras dan  perangkat lunak
3.       Kesalahan atau kelalaian manusia
2.       Penyusup ( intruder)
Penyusup terdiri dari dua macam, yaitu :
1.       Penyusup pasif  adalah penyusup yang membaca data yang tidak di otorisasikan.
2.       Penyusup aktif   adalah penyusup mengubah data yang tidak di otorisasi.

Kategori penyusupan :
1.       Lirikan mata pemakai non-teknis
2.       Penyadapan oleh orang dalam
3.       Usaha hacker dalam mencari uang
4.       Spionase militer atau bisnis

B.      Ancaman-ancaman keamanan
Sasaran pengamanan adalah menghindar, mencegah, dan mengatsi ancaman pada sistem.
Kebutuhan keamanan sistem komputer dikategorikan menjadi tiga aspek, yaitu :
1.       Kerahasian (secrecy, diantaranya adalah privasi)
2.       Integritas (integrity)
3.       Ketersediaan (availability)
Tipe-tipe ancaman, yaitu :
1.       Interupsi
2.       Intersepsi
3.       Modifikasi
4.       Fabrikasi


C.      Petunjuk pengamanan sistem
Petunjuk mengenai prinsip-prinsip pengamanan sistem komputer, yaitu :
1.       Rancangan sistem seharusnya publik
2.       Dapat diterima
3.       Pemeriksaan otoritas saat itu
4.       Kewenangan serendah mungkin
5.       Mekanisme yang ekonomis

16.2     Otentifikasi pemakai
Kebanyakan metode otentifikasi didasarkan pada tiga cara:
·         Sesuatu yang diketahui pemakaia, misalnya : password
·         Sesuatu yang dimiliki pemakai, misalnya : badge, kartu identitas
·         Sesuatu mengenai (merupakan ciri) pemakai, misalnya  :  sidik jari

16.3     Mekanisme proteksi sistem komputer
Pada sistem komputer banyak objek yang perlu diproteksi, yaitu :
·         Objek perangkat keras, antara lain : pemroses, segmen memori, terminal, disk driver, dsb.
·         Objek perangkat lunak, antara lain : proses, file, basis data, semaphore, dsb.

16.4     Program-program jahat
Ancaman-ancaman canggih terhadap sisem komputer adalah program yang mengeksploitasi kelemahan sistem komputer. 
Taksonomi bowles menghasilkan tipe-tipe program jahat sebagai berikut:
1.       Bacteria
2.       Logic bomb
3.       Trapdoor
4.       Trojan horse
5.       Virus
6.       Worm

16.5     Virus dan anti-virus
Ø  Virus
Virus mengalami siklus hidup empat fase:
·         Fase tidur
·         Fase propagasi
·         Fase pemicuan
·         Fase eksekusi



Ø  Anti-virus
Solusi ideal terhadap ancaman virus:
·         Deteksi
·         Identifikasi
Penghilangan


BAB XVII
QUO VADIS

Ragam sistem komputer sangat banyak, di antaranya:
1.         Workstation untuk satu pemakai tunggal
2.         Sistem dipakai bersama untuk skala menengah
3.         Mainframe untuk sejumlah besar pemakai sekaligus
4.         Sistem jaringan
5.         Mesin-mesin komputer paralel ampuh untuk tujuan khusus
6.         Dsb
Ragam aplikasi sistem komputer telah sangat banyak. Sistem operasi dirancang sesuai ragam aplikasi agar optimal, seperti:
1.       Sistem operasi untuk pengendalian proses waktu nyata.
2.       Sistem operasi untuk perkantoran.
3.       Sistem operasi untuk telekomunikasi.
4.       Dsb
Perkembangan perancangan sistem operasi mutakhir terpenting dapat diringkas menjadi masalah-masalah berikut: [STA-95]
1.       Multithreading
2.       Sistem-sistem waktu nyata
3.       Penjadwalan multiprosessor
4.       Sistem-sistem tersebar
5.       Migrasi proses
6.       Keamanan