Makalah Sistem Operasi Komputer
DISUSUN
OLEH
TULIS NAMA DAN NIM ANDA
UNIVERSITAS ANDA BERADA
FAKULTAS ANDA
JURUSAN ANDA
TAHUN PENYERAHAN TUGAS
OLEH
TULIS NAMA DAN NIM ANDA
UNIVERSITAS ANDA BERADA
FAKULTAS ANDA
JURUSAN ANDA
TAHUN PENYERAHAN TUGAS
1. Tujuan Topik
1.1 Mengenal komponen-komponen utama suatu Sistem Operasi komputer
1.2 Mengenal fungsi masing-masing komponen Sistem Operasi komputer
1.3 Mengenal jenis-jenis Sistem Operasi komputer
2. Pendahuluan
Sistem operasi sanggup dikatakan ialah perangkat lunak yang sangat kompleks dan Sistem Operasi ialah kumpulan program-program (software/perangkat lunak) yang membantu para pemakai komputer untuk berkomunikasi dengan komputernya. Hal-hal yang ditangani oleh sistem operasi bukan hanya satu atau dua saja, melainkan banyak hal. Dari menangani perangkat keras, perangkat lunak atau jadwal yang berjalan, hingga menangani pengguna. Hal tersebut mengakibatkan sebuah sistem operasi mempunyai banyak sekali komponen-komponen tersendiri yang mempunyai fungsinya masing-masing. Seluruh komponen yang menyusun sistem operasi tersebut saling bekerjasama untuk satu tujuan, yaitu efisiensi kerja seluruh perangkat komputer dan kenyamanan dalam penggunaan sistem operasi.
Seandainya satu saja dari komponen-komponen tersebut tidak ada, bisa dipastikan sebuah sistem operasi tidak akan berjalan dengan maksimal. Bayangkan jikalau kita mempunyai sistem operasi yang tidak mempunyai kemampuan untuk menangani program-program yang berjalan sekaligus maka kita tidak akan bisa mengetik sambil mendengarkan lagu sambil berselancar di internet.
Fungsi Sistem Operasi
Sebagai Extended Machine (Virtual Machine)
Menyembunyikan kompleksitas pemrograman hardware dari programmer atau user.
Menyajikan kemudahan yang lebih gampang dan sederhana untuk memakai hardware.
Sebagai Resource Manager
Mengatur dan mengefisienkan penggunaan sumber daya komputer (computer resources)
Tugas utamanya : memantau penggunaan semua resources; menerapkan aturan (policy); mengalokasikan resources yang diminta; mengambil kembali (dealokasi) resource
Konsep Sistem Operasi
Proses
Proses ialah jadwal yang sedang di-eksekusi.
Proses terdiri dari : Executable program; Data dan stack; Program counter; dll
Pada sistem timesharing secara periodik sistem operasi menggilir sanksi proses-proses yang ada, biasanya menurut porsi waktu CPU.
Ketika suatu proses dihentikan untuk sementara, maka proses tersebut harus dimulai kembali pada state yang sama dengan state ketika ia dihentikan.
• Semua informasi yang berkaitan dengan proses tersebut harus disimpan. Umumnya informasi tersebut disimpan pada tabel proses (array atau linked list), satu tabel untuk setiap proses.
• Suatu proses terdiri dari : address space (core image) dan atribut / informasi pada tabel proses.
System call utama dalam pengaturan proses ialah yang berkaitan dengan pembuatan dan pemberhentian suatu proses.
Contoh :
• Command interpreter atau shell akan membaca command yang diketikkan user pada terminal, dan menciptakan proses yang menjalankan command tersebut.
• Bila telah selesai, maka proses akan menjalankan system call untuk menghentikan dirinya.
Suatu proses sanggup men-create proses lainnya yang disebut sebagai child process.
Sistem operasi sanggup berkomunikasi dengan suatu proses dengan memakai signal.
Signal juga sanggup digunakan untuk komunikasi antar proses.
Pada sistem multiprogramming, setiap proses mempunyai user identification (uid) yang berasal dari uid pemilik proses.
Files
Terdiri dari : Pathname; Working directory; rwx (read, write, execute) bits protection code; File descriptor / handle; Special file (block & character); Standard input; Standard output; Standard error; Pipe
System Calls
Suatu set ‘extended instructions’ yang merupakan interface antara program-program dengan sistem operasi.
System calls meng-create, men-delete dan memakai objek-objek yang diatur oleh system operasi, antara lain : proses-proses dan file-file.
Library procedure meletakkan parameter-parameter system call pada daerah tertentu dan memperlihatkan aba-aba trap untuk memulai sistem operasi
Trap instruction : ketika diterima oleh sistem operasi, sistem mengusut apakah parameter tersebut valid atau tidak
Return form trap : sistem operasi mengembalikan kontrol ke library procedure
Contoh mekanisme system calls:
Pada jadwal C, system call untuk READ
count = read (file, buffer, nbytes)
Shell
Shell merupakan Unix command interpreter yang walaupun bukan merupakan pecahan dari sistem operasi, memakai banyak feature sistem operasi
Prompt : standar input, menunjukan bahwa shell siap mendapatkan command
Contoh :
date
date > file
sort < file1 > file2
cat file1 file2 file3 | sort > /dev/lp
Background job : proses yang berjalan sementara user tetap bisa terus bekerja
Struktur Sistem Operasi
Sistem Monolitik
Konsep : “Sistem operasi sebagai kumpulan mekanisme dimana mekanisme sanggup saling dipanggil oleh mekanisme lain di sistem bila diperlukan”.
Kernel berisi semua layanan yang disediakan sistem operasi untuk pemakai.
Contoh : Sistem Operasi Unix memakai konsep kernel loadable modules, yaitu :
• Bagian-bagian kernel terpenting berada dimemori utama secara tetap.
• Bagian-bagian esensi lain berupa modul yang sanggup ditambahkan ke kernel ketika dibutuhkan dan dicabut begitu tidak digunakan lagi diwaktu jalan (run-time).
The ‘big mess’
Tidak berstruktur
Kernel call / supervisor call
User mode
Kernel mode / supervisor mode
Sistem Berlapis (Layered System)
Konsep : “Sistem operasi dibuat secara hirarki menurut lapisan-lapisan, dimana lapisan-lapisan memberi layanan lapisan lebih atas”.
Contoh :
• Sistem Operasi THE (Technique Hogesschool Endiche), Djikstra, 1968.
• Sistem Operasi MULTICS (menggunakan concentric rings).
Lapisan-lapisan pada Sistem Operasi THE
Sistem dengan Mesin Maya (Virtual Machines)
Konsep : “Awalnya struktur ini menciptakan seperti user mempunyai seluruh komputer dengan simulasi atas pemroses yang digunakan. Sistem operasi melaksanakan simulasi mesin nyata. Mesin hasil simulasi digunakan user, mesin maya merupakan tiruan 100% atas mesin nyata. Semua user diberi delusi mempunyai satu mesin yang sama-sama canggih”.
Contoh :
• Sistem operasi MS-Windows NT sanggup menjalankan aplikasi MS-Dos, OS/2 mode teks, dan Win 16.
• Pengembang Linux menciptakan DOSEMU semoga aplikasi MS-Dos sanggup dijalankan di Linux, WINE semoga aplikasi MS-Windows sanggup dijalankan di Linux, iBCS semoga aplikasi SCO-Unix sanggup dijalankan di Linux.
CP/CMS
VM/370
Virtual Machine Monitor
CMS (Conversational Monitor System)
Sistem dengan Client-Server
Konsep : “Server ialah proses yang menyediakan layanan, dan Client ialah proses yang memerlukan / meminta layanan. Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban. Proses server sesudah melaksanakan kiprah yang diminta, mengirim hasil dalam bentuk pesan balasan ke proses client. Server hanya menanggapi undangan client dan tidak memulai percakapan dengan client”.
Sistem berorientasi objek
Konsep : “Layanan diimplementasikan sebagai objek”.
Model ini terstruktur dan memisahkan antara layanan yang disediakan dan implementasinya.
Contoh :
• Sistem operasi X-kernel
• Sistem operasi MS-Windows NT telah mengadopsi beberapa teknologi berorientasi objek, tapi belum secara keseluruhan.
Layanan Sistem Operasi Komputer
Layanan Otomatis : Alokasi sumberdaya; Catatan pemakaian; Proteksi; Penanganan kekeliruan; Pindah baris; Gulung jendela pada monitor
Layanan undangan pemakaian : Loading; Mengolah/run; Menyimpan/save; Menghapus/delete.
Jenis Sistem Operasi
Aspek kegiatan
Pemakai tunggal (single user)
Pemakai jamak (multiuser)
Berdasarkan jenis-jenisnya
Linux
MS-Dos
MS Windows-NT
MS Windows
Dll
3. Pembahasan
3.1 Komponen Sistem Operasi komputer dan cara kerja
Pada umumnya sebuah sistem operasi modern akan terdiri dari komponen sebagai berikut:
3.1.a Manajemen Proses.
3.1.b Manajemen Memori Utama.
3.1.c Manajemen Sistem Berkas.
3.1.d Manajemen Sistem M/K.
3.1.e Manajemen Penyimpanan Sekunder.
3.1.f Manajemen Jaringan
3.1.g Proteksi dan Keamanan.
3.1.h Manajemen Command-Interpreter System
Dalam kegiatannya, sistem operasi mempunyai sebuah mekanisme proteksi untuk memastikan dirinya, semua jadwal yang berjalan, dan data-data penggunanya berjalan dengan baik. Untuk melaksanakan hal tersebut, sistem operasi mempunyai dua jenis (mode) operasi yang saling terpisah. Dua operasi tersebut, yaitu user mode, sanksi jadwal dikendalikan oleh pengguna, dan kernel mode, sanksi jadwal dikendaikan oleh sistem operasi, dinamakan dual-mode operation.
Ilustrasi :
Dual-mode operation diimplementasikan pada arsitektur perangkat keras. Sebuah bit yang disebut mode bit ditambahkan ke perangkat keras untuk memperlihatkan mode operasi ketika itu. 0 untuk kernel mode dan 1 untuk user mode. Dengan adanya dual-mode operation, sanksi sebuah program/proses bisa dibedakan sumbernya, apakah dihukum oleh sistem operasi atau dihukum oleh pengguna. Hal ini akan sangat mempunyai kegunaan dalam berjalannya sistem operasi. Selain itu, sistem operasi mempunyai sebuah mekanisme untuk melindungi prosesor dari banyak sekali macam jadwal yang berjalan. Bayangkan jikalau ada sebuah proses mengalami infinite loop. Tentu saja prosesor akan terus menerus melayani jadwal itu dan menghambat proses lainnya yang akan dihukum prosesor, dan hal ini bisa dipastikanakan mengurangi kinerja dari komputer. Perlindungan prosesor tersebut dilakukan dengan timer. Timer diset untuk melaksanakan interupsi prosesor sesudah beberapa periode waktu. Dengan adanya timer, sebuah jadwal bisa dicegah dari berjalan terlalu lama. Misalkan sebuah jadwal mempunyai time limit 7 menit. Setelah 7 menit tersebut terlewati, sistem operasi akan menginterupsi prosesor dan menghentikan sanksi jadwal tersebut.
3.1.a Manajemen Proses
Proses ialah sebuah jadwal yang sedang dieksekusi. Proses merupakan unit kerja terkecil yang secara individu mempunyai sumber daya-sumber daya dan dijadwalkan sistem operasi. Sedangkan jadwal ialah kumpulan aba-aba yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk menuntaskan tugasnya. Sumber daya tersebut sanggup berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K. Sistem operasi mengalokasikan sumber daya sumber daya tersebut ketika proses itu diciptakan atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil kembali semua sumber daya semoga bisa digunakan kembali oleh proses lainnya. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan administrasi proses seperti:
Membuat dan menghapus proses pengguna dan sistem proses.
Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali sesudah proses tersebut selesai agar
sanggup digunakan untuk proses lainnya.
Menunda atau melanjutkan proses.
Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu menurut berdasarkan prioritas dari prosesproses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang mempunyai prioritas paling besar.
Menyediakan mekanisme untuk proses sinkronisasi.
Sistem operasi akan mengatur jalannya beberapa proses yang dihukum bersamaan. Tujuannya ialah menghindarkan terjadinya inkonsistensi data lantaran pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses semoga setiap proses berjalan dengan lancar.
Menyediakan mekanisme untuk proses komunikasi.
Sistem operasi menyediakan mekanisme semoga beberapa proses sanggup saling berinteraksi dan berkomunikasi (contohnya menyebarkan sumber daya antar proses) satu sama lain tanpa mengakibatkan terganggunya proses lainnya.
Menyediakan mekanisme untuk penanganan deadlock.
Deadlock ialah suatu keadaan dimana sistem menyerupai terhenti lantaran setiap proses mempunyai sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock (kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus sanggup memulihkan kondisi sistemnya.
3.1.b Manajemen Memori Utama
Sistem operasi mempunyai kiprah untuk mengatur pecahan memori yang sedang digunakan dan mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk jadwal yang akan berjalan maupun untuk sistem operasi itu sendiri. Tujuan dari administrasi memori utama ialah semoga utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori. Memori utama atau lebih dikenal sebagai memori ialah sebuah array yang besar dari word atau byte yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai alamat tersendiri. Memori utama berfungsi sebagai daerah penyimpanan instruksi/data yang kanal datanya digunakan oleh CPU dan perangkat M/K. Memori utama termasuk daerah penyimpanan data yang yang bersifat volatile (tidak permanen), yaitu data akan hilang kalau komputer dimatikan. Sistem komputer modern mempunyai sistem hirarki memori, artinya memori yang ada di komputer disusun dengan tingkatan kecepatan dan kapasitas yang berbeda. Memori yang mempunyai kecepatan sama dengan kecepatan prosesor mempunyai kapasitas yang kecil, berkisar hanya dari ratusan KB hingga 4 MB dengan harga yang sangat mahal. Sedangkan memori utama yang kecepatannya jauh di bawah kecepatan prosesor mempunyai kapasitas yang lebih besar, berkisar dari 128 MB hingga 4 GB dengan harga yang jauh lebih murah. Sistem hirarki memori ini mempunyai tujuan semoga kinerja komputer yang maksimal bisa didapat dengan harga yang terjangkau.
3.1.c Manajemen Sistem Berkas
File atau berkas ialah representasi jadwal dan data yang berupa kumpulan informasi yang saling berafiliasi dan disimpan di perangkat penyimpanan. Sistem berkas ini sangatlah penting, lantaran informasi atau data yang disimpan dalam berkas ialah sesuatu yang sangat berharga bagi pengguna. Sistem operasi harus sanggup melaksanakan operasi-operasi pada berkas, menyerupai membuka, membaca, menulis, dan menyimpan berkas tersebut pada sarana penyimpanan sekunder. Oleh lantaran itu, sistem operasi harus sanggup melaksanakan operasi berkas dengan baik. Sistem operasi melaksanakan administrasi sistem berkas dalam beberapa hal:
Pembuatan berkas atau direktori.
Berkas yang dibuat nantinya akan diletakkan pada direktori-direktori yang diinginkan pada sistem berkas. Sistem operasi akan memperlihatkan daerah dimana lokasi berkas atau direktori tersebut akan diletakkan. Setelah itu, sistem operasi akan menciptakan entri yang berisi nama berkas dan lokasinya pada sistem berkas.
Penghapusan berkas atau direktori.
Sistem operasi akan mencari letak berkas atau direktori yang hendak dihapus dari sistem berkas, kemudian menghapus seluruh entri berkas tersebut, semoga daerah dari berkas tersebut sanggup digunakan oleh berkas lainnya.
Pembacaan dan menulis berkas.
Proses pembacaan dan penulisan berkas melibatkan pointer yang memperlihatkan posisi dimana sebuah informasi akan dituliskan di dalam sebuah berkas.
Meletakkan berkas pada sistem penyimpanan sekunder.
Sistem operasi mengatur lokasi fisik daerah penyimpanan berkas pada sarana penyimpanan sekunder.
Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).
Berkas yang disimpan pada media penyimpanan yang non-volatile akan bersifat
lebih stabil.
3.1.d Manajemen Sistem M/K (I/O)
Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melaksanakan komputasi ialah Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga menciptakan administrasi M/K menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, lantaran sistem operasi mengatur banyak sekali macam perangkat (device).
Fungsi-fungsi sistem operasi untuk sistem M/K:
Penyanggaan (buffering).
Menampung data sementara dari/ke perangkat M/K
Penjadwalan (scheduling).
Melakukan penjadwalan pemakaian M/K sistem supaya lebih efisien.
Spooling.
Meletakkan suatu pekerjaan jadwal pada penyangga, semoga setiap perangkat sanggup mengaksesnya ketika perangkat tersebut siap.
Menyediakan driver perangkat yang umum.
Driver digunakan semoga sistem operasi sanggup memberi perintah untuk melaksanakan operasi pada perangkat keras M/K yang umum, menyerupai optical drive, media penyimpanan sekunder, dan layar monitor.
Menyediakan driver perangkat yang khusus.
Driver digunakan semoga sistem operasi sanggup memberi perintah untuk melaksanakan operasi pada perangkat keras M/K tertentu, menyerupai kartu suara, kartu grafis, dan motherboard.
3.1.e Manajemen Penyimpanan Sekunder
Penyimpanan sekunder (secondary storage) ialah sarana penyimpanan yang berada satu tingkat di bawah memori utama sebuah komputer dalam hirarki memori. Tidak menyerupai memori utama komputer, penyimpanan sekunder tidak mempunyai korelasi eksklusif dengan prosesor melalui bus, sehingga harus melewati M/K.
Sarana penyimpanan sekunder mempunyai ciri-ciri umum sebagai berikut:
1. Non volatile (tahan lama).
Walaupun komputer dimatikan, data-data yang disimpan di sarana penyimpanan sekunder tidak hilang. Data disimpan dalam piringan-piringan magnetik.
2. Tidak berafiliasi eksklusif dengan bus CPU.
Dalam struktur organisasi komputer modern, sarana penyimpanan sekunder terhubung dengan northbridge. Northbridge yang menghubungkan sarana penyimpanan sekunder pada M/K dengan bus CPU.
3. Lambat.
Data yang berada di sarana penyimpanan sekunder mempunyai waktu yang lebih usang untuk diakses (read/write) dibandingkan dengan mengakses di memori utama. Selain disebabkan oleh bandwidth bus yang lebih rendah, hal ini juga dikarenakan adanya mekanisme perputaran head dan piringan magnetik yang memakan waktu.
4. Harganya murah.
Perbandingan harga yang dibayar oleh pengguna per byte data jauh lebih murah dibandingkan dengan harga memori utama.
Sarana penyimpanan sekunder mempunyai fungsi-fungsi sebagai berikut:
1. Menyimpan berkas secara permanen.
Data atau berkas diletakkan secara fisik pada piringan magnet dari disk, yang tidak hilang walaupun komputer dimatikan (non volatile)
2. Menyimpan jadwal yang belum dihukum prosesor.
Jika sebuah jadwal ingin dihukum oleh prosesor, jadwal tersebut dibaca dari disk, kemudian diletakkan di memori utama komputer untuk selanjutnya dihukum oleh prosesor menjadi proses.
3. Memori virtual.
Adalah mekanisme sistem operasi untuk menjadikan beberapa ruang kosong dari disk menjadi alamat-alamat memori virtual, sehingga prosesor bisa memakai memorivirtual ini seperti sebagai memori utama. Akan tetapi, lantaran letaknya di penyimpanan sekunder, kanal prosesor ke memori virtual menjadi jauh lebih lambat dan menghambat kinerja komputer. Sistem operasi mempunyai kiprah penting dalam administrasi penyimpanan sekunder. Tujuan penting dari administrasi ini ialah untuk keamanan, efisiensi, dan optimalisasi penggunaan sarana penyimpanan sekunder.
3.1.f Manajemen Jaringan
Sistem terdistribusi ialah sekumpulan prosesor yang tidak menyebarkan memori, atau clock. Setiap prosesor mempunyai memori dan clock tersendiri. Prosesor-prosesor tersebut terhubung melalui jaringan komunikasi. Sistem terdistribusi menyediakan kanal pengguna ke bermacam sumber-daya sistem.
Tujuan utamanya ialah untuk memperlihatkan hasil secara lebih, terutama dalam:
- file system
- name space
- waktu pengolahan
- keamanan
– kanal ke seluruh resources, menyerupai : prosesor, memori, penyimpanan sekunder, dan perangkat keras.
Suatu sistem operasi terdistribusi yang sejati ialah yang berjalan pada beberapa buah mesin, yang tidak melaksanakan sharing memori, tetapi terlihat bagi user sebagai satu buah
komputer single.
Perbedaan Sistem Operasi Jaringan dan Sistem Operasi Terdistribusi
a. Tiap komputer mempunyai sistem operasi sendiri.
b. Tiap personal komputer mempunyai sistem file sendiri, di mana data-data disimpan.
c. Sistem operasi tiap komputer sanggup berbeda-beda atau heterogen.
d. Pengguna harus memikirkan keberadaan komputer lain yang terhubung, dan harus
mengakses, biasanya memakai remote login (telnet).
e. File system sanggup digunakan dengan pinjaman NFS.
Sistem terdistribusi memungkinkan user untuk mengakses sumber daya (resource) yang beragam. Dengan mengakses sumber daya yang sanggup digunakan bahu-membahu tersebut akan memperlihatkan keuntungan dalam :
Sharing Resource.
Walaupun perangkat kini sudah mempunyai kemampuan yang cepat dalam proses-proses komputasi, atau misal dalam mengakses data, tetapi pengguna masih saja menginginkan sistem berjalan dengan lebih cepat. Apabila hardware terbatas, kecepatan yang diinginkan user sanggup diatasi dengan menggabung perangkat yang ada dengan sistem DOS (Distributed Operating System).
Waktu Komputasi.
Komputasi berjalan dalam keadaan pararel. Proses komputasi ini dipecah dalam banyak titik (nodes), yang mungkin berupa komputer pribadi, prosesor tersendiri, dan kemungkinan perangkat prosesor-prosesor yang lain. Sistem operasi tedistribusi ini bekerja baik dalam memecah komputasi ini dan baik pula dalam mengambil kembali hasil komputasi dari titik-titik cluster untuk ditampilkan hasilnya.
Reliabilitas.
Fitur unik yang dimiliki oleh DOS ini ialah reliabilitas. Berdasarkan design dan implementasi dari design sistem ini, maka hilangnya suatu node tidak akan berdampak terhadap integritas system. Hal ini berbeda dengan komputer personal, apabila ada salah satu hardware yang mengalami kerusakan, maka system akan berjalan tidak seimbang, bahkan sistem bisa tidak sanggup berjalan atau mati. Dalam sistem operasi terdistribusi tadi sesungguhnya cara kerjanya menyerupai dengan personal computer, tetapi bedanya apabila ada node yang mati, maka akan terjadi proses halt terhadap node tersebut dan proses komputasi sanggup dialihkan. Hal ini akan menciptakan sistem DOS selalu mempunyai reliabilitas yang tinggi.
Komunikasi.
Sistem operasi terdistribusi biasanya berjalan dalam jaringan, dan biasanya melayani koneksi jaringan. Sistem ini biasanya digunakan user untuk proses networking. User sanggup saling bertukar data, atau saling berkomunikasi antar titik baik secara LAN maupun WAN.
3.1.g Manajemen Command-Interpreter System
Sistem Operasi menunggu aba-aba dari pengguna (command driven). Program yang membaca aba-aba dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter dan terkadang dikenal sebagai shell. Command- Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan diubahsuaikan dengan tujuan dan teknologi perangkat Masukan/Keluaran yang ada. Beberapa perintah yang dimasukkan ke sistem operasi memakai pernyataan kontrol yang digunakan untuk :
• Manajemen dan pembuatan proses
• Penangananan I/O
• Manajemen penyimpan sekunder
• Manajemen memori utama
• Akses sistem file
• Proteksi
• Jaringan
Program yang membaca dan menerjemakan pernyataan kontrol disebut command-line intepreter atau shell pada UNIX. Fungsinya ialah untuk mengambil dan mengeksekusi pernyataan perintah berikutnya. Contohnya: CLI, Windows, Penbased (touch), dan lain-lain.
3.1.h Proteksi dan Keamaman
Seringkali, istilah keamanan dan proteksi membingungkan dalam penggunaannya. Untuk mengurangi kebingungan itu, istilah keamanan digunakan untuk penggambaran secara umum, sedangkan proteksi digunakan untuk menggambarkan secara teknis mekanisme proteksi sistem operasi.
Proteksi
Proteksi ialah mekanisme sistem operasi untuk mengontrol kanal terhadap beberapa objek yang diproteksi dalam sistem operasi. Objek-objek tersebut bisa berupa perangkat keras (seperti CPU, memori, disk, printer, dll) atau perangkat lunak (seperti program, proses, berkas, basis data, dll). Di beberapa sistem, proteksi dilakukan oleh sebuah jadwal yang berjulukan reference monitor. Setiap kali ada pengaksesan sumber daya PC yang diproteksi, sistem pertama kali akan menanyakan reference monitor ihwal keabsahan kanal tersebut. Reference monitor kemudian akan memilih keputusan apakah kanal tersebut diperbolehkan atau ditolak. Secara sederhana, mekanisme proteksi sanggup digambarkan dengan konsep domain. Domain ialah himpunan yang berisi pasangan objek dan hak akses. Masing-masing pasangan domain berisi sebuah objek dan beberapa kanal operasi (seperti read, write, execute) yang sanggup dilakukan terhadap objek tersebut. Dalam setiap waktu, setiap proses berjalan dalam beberapa domain proteksi. Hal itu berarti terdapat beberapa objek yang sanggup diakses oleh proses tersebut, dan operasi-operasi apa yang boleh dilakukan oleh proses terhadap objek tersebut. Proses juga bisa berpindah dari domain ke domain lain dalam eksekusi.
Keamanan
Pengguna sistem komputer sudah tentu mempunyai data-data dan informasi yang berharga baginya. Melindungi data-data ini dari pihak-pihak yang tidak berhak merupakan hal penting bagi sistem operasi. Inilah yang disebut keamanan (security).
Sebuah sistem operasi mempunyai beberapa aspek ihwal keamanan. Aspek-aspek ini berafiliasi terutama dengan hilangnya data-data. Sistem komputer dan data-data di dalamnya terancam dari aspek bahaya (threats), aspek penyusup (intruders), dan aspek musibah. Dari aspek ancaman, secara umum sistem komputer menghadapi bahaya terbukanya data-data rahasia, pengubahan data-data oleh orang yang tidak berhak, juga pelumpuhan sistem dengan adanya Denial of Service (DoS).
Dari aspek penyusup, ketika ini banyak orang mencoba masuk ke dalam sistem operasi dengan banyak sekali macam tujuan. Ada yang hanya sekedar mencoba menjebol sistem operasi (hacking), ada yang mencoba mengambil keuntungan dari tindakan penjebolah itu (cracking).
Tidak hanya disusupi oleh manusia, sistem operasi juga menghadapi bahaya keamanan dari program-program penyusup, yang disebut malicious jadwal atau malware. Malware ialah jadwal yang menyusup ke dalam sistem operasi dan mempunyai tujuan-tujuan tertentu menyerupai mengambil data-data pribadi, mengambil alih komputer, dan seringkali bertujuan merusak. Yang termasuk kategori malware ialah virus, keylogger, worm, trojan, dan sypware. Yang terakhir, sistem operasi dan data-data di dalamnya terancam justru dari hal-hal non teknis, yaitu dari musibah. Sistem operasi terancam akhir adanya musibah (banjir, lumpur panas, gempa bumi, dan lain-lain), kerusakan perangkat keras atau lunak, bahkan kelalaian dari penggunanya. Perkembangan dunia internet ketika ini membawa konsekuensi meningkatnya resiko keamanan terhadap sistem operasi. Oleh lantaran itu, sistem operasi harus mempunyai ketahanan keamanan. Bagi kebanyakan pengembang sistem operasi ketika ini, keamanan ialah salah satu permasalahan utama.
3.2 Jenis Sistem Operasi komputer
Jenis Sistem Operasi
Aspek kegiatan
Pemakai tunggal (single user)
Pemakai jamak (multiuser)
Berdasarkan jenis-jenisnya
Linux
MS-Dos
MS Windows-NT
MS Windows
Dll
3.3 User Mode dan Kernel Mode
User space ialah area memori yang digunakan oleh user mode applications dan area memori ini sanggup di-swap kapan saja bergantung dari kubutuhan system ketika itu. Aplikasi dengan user mode tidak sanggup mengakses eksklusif kernel space, sebaliknya aplikasi kernel mode juga tidak sanggup mengakses eksklusif user space tanpa mengecek terlebih dahulu apakah page yang dibutuhkan ada di memori atau sedang di-swap.
Pada enkripsi file system dengan user mode terdapat beberapa prinsip yang perlu diperhatikan yaitu:
1. Penggunaan virtual file system, yaitu layer aneh yang berjalan di atas file system yang sebenarnya. Tujuan dari virtual file system ini ialah semoga pengguna sanggup mengakses banyak sekali file system yang berbeda dengan cara yang seragam. Dengan kata lain pengguna hanya mengenal satu file system yaitu virtual file system yang dibentuk, sedangkan kanal ke file system yang sesungguhnya diatur oleh virtual file system tersebut.
2. Proses enkripsi ketika menulis dan proses dekripsi ketika membaca dilakukan terhadap file pada virtual file system. Dalam hal ini virtual file system akan mendapatkan kunci dari pengguna yang akan digunakan untuk melaksanakan proses kriptografi ataupun menurunkan kunci turunan. Kunci dari pengguna ini hanya akan diminta sekali yaitu ketika pengguna pertama kali masuk. Pada ketika itu pula virtual file system akan dibuat untuk pengguna tersebut. Melalui mekanisme tersebut maka file yang disimpan pada file system fisik akan berupa cipher yang tidak akan sanggup dimengerti oleh pengguna lain lantaran sudah dienkripsi oleh virtual file system, sedangkan ketika akan digunakan maka virtual file system akan membaca dari file system fisik, mendekripsinya dengan kunci pengguna, gres kemudian menyerahkannya ke aplikasi pengguna.
3. Pada enkripsi file system dengan user mode maka keseluruhan proses dijalankan sebagai proses yang memakai user space. Penggunaan user space menciptakan pengembangan aplikasi ini dimasa yang akan tiba menjadi lebih gampang begitu pula dalam pencarian kesalahan (debugging).
Pada linux untuk enkripsi file system sudah didukung beberapa pilihan dengan tujuan memudahkan proses kriptografi pada level file system. Misalnya Cryptographic File System (CFS) dan Transparent Cryptographic File System (TCFS) memakai NFS dengan ext2. EncFS memakai Fuse untuk membentuk file system di user spacenya. Fuse yaitu file system in User Space. Fuse itu sendiri ialah modul yang mengijinkan pengguna untuk menciptakan file system tanpa perlu memodifikasi kode pada kernel.
Kernel merupakan perangkat lunak pecahan sistem operasi yang melaksanakan sanksi di pecahan supervisor state [3] . Kernel merupakan inti dari sistem operasi. Kernel dirancang sebagai perangkat lunak terpercaya yang mendukung operasi untuk perangkat lunak lainnya. Aplikasi yang berjalan pada kernel mode berarti mempunyai kanal lebih luas lantaran sanggup melaksanakan sanksi pada supervisor space serta bisa melaksanakan pengaksesan terhadap pecahan lain dari kernel. Enkripsi pada mode ini mengharuskan adanya kanal terhadap kernel serta melaksanakan modifikasi terhadap kernel tersebut. Untuk Sistem Operasi linux atau sistem operasi lainnya yang opensource, kanal terhadap kernel ini dibuka untuk siapapun sementara untuk sistem operasi yang bersifat komersial, integrasi enkripsi file system dilakukan oleh vendornya, lantaran hanya vendor yang mengetahui secara detail struktur kernel dari sistem operasinya.
Untuk sistem operasi open source, enkripsi pada file system dengan mode kernel dilakukan melalui tahapan sebagai berikut :
1. Penambahan paket enkripsi ke dalam kernel. Langkah ini sekaligus melaksanakan konfigurasi terhadap kernel configuration file
2. Penambahan hard drive gres terhadap system yang akan menampung partisi tunggal yang terenkripsi.
3. Penambahan direktori untuk menampung file kunci. Tiap file kunci berasosiasi dengan partisi yang terenkripsi.
4. Menyertakan partisi terenkripsi pada kernel
5. Membuat file system pada perangkat terenkripsi.
6. Melakukan mounting terhadap enkripsi terpartisi.
7. Melakukan verifikasi terhadap ketersediaan file system tersebut.
Untuk sistem operasi komersial, apabila menyediakan kemudahan enkripsi berbasis kernel, maka paket enkripsinya sudah terintegrasi dengan sistem sehingga tidak dibutuhkan lagi modifikasi terhadap kernel..
Paket enkripsi yang disediakan menyediakan metoda ciphers serta algoritma enkripsi yang beragam. Metoda ciphers yang biasa digunakan pada enkripsi file system kernel mode ialah simmetric block ciphers. Algoritma yang biasa digunakan diantaranya ialah Triple DES, Blowfish serta Rijndael. Ketiga algoritma tersebut banyak digunakan untuk mengenkripsi file system lantaran biasa digunakan untuk enkripsi file serta secara matematis, masih sangat aman. Selain itu, algoritma lain yang sanggup diimplementasikan untuk enkripsi file system kernel mode ialah algoritma CAST, GOST, IDEA, MARS, Serpent, RC5, RC6 serta algoritma TwoFish.
Peran yang terdapat di sistem ini dibagi menjadi tiga meliputi [1] :
1. System eksekutif
System eksekutif melaksanakan mount terhadap partisi terenkripsi serta bertanggung jawab untuk melaksanakan modifikasi kernel
2. Owner
Adalah user yang melaksanakan kontrol terhadap kunci enkripsi dari data
3.Readers and writers
Perbedaan yang paling fundamental antara owner dengan reader/writer ialah bahwa owner memperlihatkan input kunci enkripsi sementara reader atau writer mengakses file secara transparan. Seorang owner secara implisit ialah reader atau writer
Kelebihan dan Kekurangan Penggunaan enkripsi file system mempunyai kelebihan yaitu:
1. Pengguna akan merasa lebih nyaman lantaran proses memasukkan kunci diam-diam hanya sekali pada awal login atau ketika proses mount direktori yang akan dijadikan virtual file system, berbeda dengan aplikasi enkripsi berdikari yang setiap kali enkripsi / dekripsi memerlukan kunci masukan dari pengguna.
2. Meningkatkan keamanan non-kriptanalis. Dengan mengenkripsi file system, informasi yang ada dalam media penyimpanan tetap kondusif walaupun media tersebut dicuri dan media tersebut dibuka dengan memakai boot dari CDROM atau device lain sehingga fitur keamanan lumpuh. Hal ini tidak menjadi persoalan lantaran yang tersimpan dalam file system sudah dalam bentuk cipher.
Selain kelebihan, enkripsi file system juga mempunyai kelemahan, yaitu penggunaan enkripsi seluruh file system akan menghabiskan banyak resource dan mengurangi performansi dari system itu sendiri. Hal ini diakibatkan lantaran proses baca dan menulis ke media akan selalu melibatkan proses enkripsi dan dekripsi. Belum lagi persoalan yang ditimbulkan untuk melindungi data yang sudah diload ke memori atau page file. Hal ini perlu dilakukan lantaran secara umum data tersebut dalam bentuk plainteks. Untuk mengatasi hal tersebut maka performansi system akan mengalami penurunan lebih lanjut.
Enkripsi file system dengan kernel mode lebih baik dibandingkan user mode dalam hal performansi. Peningkatan performansinya mencapai 12 – 52 % dibandingkan enkripsi pada user mode atau enkripsi pada level aplikasi.[2]. Adanya peningkatan performansi ini disebabkan jumlah context switches yang lebih sedikit serta sanksi pada privileged mode. Enkripsi file system berbasis kernel mode lebih kondusif dibandingkan user mode apabila memakai algoritma serta metode enkripsi yang sama. Hal ini dikarenakan informasi pada kernel lebih sulit untuk didapatkan serta kanal terhadap kernel bersifat private.
Meskipun demikian, enkripsi file system berbasis kernel mode lebih rumit dibandingkan dengan enkripsi file system pada user mode. File system driver tidak sanggup mengakses OS services tradisional yang terdapat pada user mode. Selain itu terdapat batasan bagi jadwal yang berjalan pada kernel mode dalam hal kernel paging serta IO architecture. Proses debug terhadap jadwal juga lebih sulit dilakukan lantaran berjalan pada address space tunggal bersama dengan seluruh komponen kernel mode dari OS. Proses debugging juga membutuhkan debugger spesifik untuk kernel mode.
3.4 Studi Kasus : contoh-contoh Sistem Operasi komputer
Konsep Kebebasan
Para pengembang dan penjual perangkat lunak berpemilik bersikeras bahwa penggunaan perangkat lunak tanpa lisensi merupakan suatu bentuk pelanggaran Hak atas Kekayaan Intelektual (Intellectual Right) yang dikategorisasikan sebagai tidakan kriminal. Konsep yang ditekankan oleh pihak pengembang diatas tidak diterima oleh semua orang, salah satunya ialah Richard Stallman yang beropini bahwa perangkat lunak merupakan milik masyarakat (public) sehingga diperbolehkan untuk dipakai, dimodifikasi serta disebarluaskan secara bebas. Pengembangan perangkat lunak bebas mempunyai tujuan semoga setiap orang sanggup mendapatkan manfaat dari perangkat lunak secara bebas sehingga setiap orang sanggup menjalankan, menggandakan, menyebarluaskan, mempelajari, mengubah dan meningkatkan kinerja perangkat lunak. Seperti disebutkan di atas kata bebas pada perangkat lunak bebas sering diartikan sebagai gratis (free), arti sesungguhnya bebas pada perangkat lunak bebas lebih merupakan kebebasan untuk mempergunakan perangkat lunak, melaksanakan penyalinan, dan perubahan pada kode sumber. Arti bebas yang salah, telah menjadikan persepsi masyarakat bahwa perangkat lunak bebas merupakan perangkat lunak yang gratis. Perangkat lunak bebas ialah perihal kebebasan, bukan harga. Konsep kebebasan yang sanggup diambil dari kata bebas pada perangkat lunak bebas ialah menyerupai kebebasan berbicara bukan menyerupai bir gratis. Maksud dari bebas menyerupai kebebasan berbicara ialah kebebasan untuk menggunakan, menyalin, menyebarluaskan, mempelajari, mengubah, dan meningkatkan kinerja perangkat lunak. Suatu perangkat lunak sanggup dimasukkan dalam kategori perangkat lunak bebas bila setiap orang mempunyai kebebasan tersebut. Hal ini berarti, setiap pengguna perangkat lunak bebas sanggup meminjamkan perangkat lunak yang dimilikinya kepada orang lain untuk dipergunakan tanpa perlu melanggar aturan dan disebut pembajak. Kebebasan yang diberikan perangkat lunak bebas dijamin oleh copyleft, suatu cara yang dijamin oleh aturan untuk melindungi kebebasan para pengguna perangkat lunak bebas. Dengan adanya copyleft maka suatu perangkat lunak bebas beserta hasil perubahan dari kode sumbernya akan selalu menjadi perangkat lunak bebas. Kebebasan yang diberikan melalui proteksi copyleft inilah yang menciptakan suatu jadwal sanggup menjadi perangkat lunak bebas. Keuntungan yang diperoleh dari penggunaan perangkat lunak bebas ialah lantaran serbaguna dan efektif dalam keanekaragaman jenis aplikasi. Dengan pemberian source code-nya, perangkat lunak bebas sanggup diubahsuaikan secara khusus untuk kebutuhan pemakai. Sesuatu yang tidak gampang untuk terselesaikan dengan perangkat lunak berpemilik. Selain itu, perangkat lunak bebas didukung oleh milis-milis pengguna yang sanggup menjawab pertanyaan yang timbul lantaran permasalahan pada penggunaan perangkat lunak bebas.
Open source
Open source atau disebut juga perangkat lunak bebas ialah perangkat lunak yang mengizinkan siapa pun untuk menggunakan, menyalin, dan mendistribusikan, baik dimodifikasi atau pun tidak, secara gratis atau pun dengan biaya. Perlu ditekankan, bahwa source code dari jadwal harus tersedia. ``Jika tidak ada kode program, berarti bukan perangkat lunak bebas.'' Yang tersebut di atas merupakan definisi sederhananya; lihat juga definisi lengkapnya. Terdapat banyak sekali cara untuk menciptakan suatu jadwal bebas -- banyak pertanyaan rinci, yang sanggup ditentukan dalam banyak cara dan masih menjadikan jadwal tersebut bebas. Beberapa kemungkinan variasi akan dijelaskan di bawah ini. Perangkat lunak bebas menyangkut persoalan kebebasan, bukan harga. Tapi beberapa perusahaan perangkat lunak berpemilik terkadang memakai istilah perangkat lunak bebas untuk memperlihatkan harga. Terkadang maksud mereka ialah anda sanggup memperoleh salinan biner tanpa biaya; terkadang maksud mereka ialah suatu salinan disertakan dalam komputer yang anda beli. Ini tidak ada hubungannya sama sekali dengan apa yang di maksud dengan perangkat lunak bebas pada proyek GNU. Karena hal ini sanggup membingungkan, ketika sebuah perusahaan perangkat lunak menyatakan bahwa produknya ialah perangkat lunak bebas, selalu periksa ketentuan distribusinya untuk melihat apakah pengguna mempunyai kebebasan yang dimaksudkan oleh istilah perangkat lunak bebas. Terkadang memang benar-benar perangkat lunak bebas; namun terkadang tidak. Banyak bahasa mempunyai dua kata yang berbeda untuk menyatakan ``bebas'' sebagai kebebasan dan ``bebas'' sebagai tanpa biaya. Sebagai contoh, bahasa Perancis mempunyai kata ``libre'' dan ``gratuit''. Dalam bahasa Inggris terdapat kata ``gratis'' yang menyatakan ihwal harga tanpa membingungkan. Tapi tidak ada kata sifat yang menyatakan kebebasan tanpa membingungkan. Hal ini sangat disayangkan, lantaran kata semacam itu akan sangat mempunyai kegunaan disini. Perangkat lunak bebas seringkali lebih handal daripada perangkat lunak tidak bebas.
Public Domain
Perangkat lunak public domain ialah perangkat lunak yang tanpa hak cipta. Ini merupakan kasus khusus dari perangkat lunak bebas non-copyleft, yang berarti bahwa beberapa salinan atau versi yang telah dimodifikasi bisa jadi tidak bebas sama sekali. Terkadang ada yang memakai istilah ``public domain'' secara bebas yang berarti ``cuma-cuma'' atau ``tersedia gratis". Namun ``public domain'' merupakan istilah aturan yang artinya ``tidak mempunyai hak cipta''. Untuk jelasnya, kami menganjurkan untuk memakai istilah ``public domain'' dalam arti tersebut, serta memakai istilah lain untuk mengartikan pengertian yang lain.
Copylefted/Non-Copylefted
Perangkat lunak copylefted merupakan perangkat lunak bebas yang ketentuan pendistribusinya tidak memperbolehkan untuk menambah batasan-batasan tambahan--jika mendistribusikan atau memodifikasi perangkat lunak tersebut. Artinya, setiap salinan dari perangkat lunak, walau pun telah dimodifikasi, haruslah merupakan perangkat lunak bebas. Dalam proyek GNU, kami meng-copyleft-kan -kan hampir semua perangkat lunak yang kami buat, lantaran tujuan kami ialah untuk memperlihatkan kebebasan kepada semua pengguna menyerupai yang tersirat dalam istilah ``perangkat lunak bebas''. Copyleft merupakan konsep yang umum. Jadi, untuk meng-copyleft-kan sebuah program, anda harus memakai ketentuan distribusi tertentu. Terdapat banyak sekali cara untuk menulis perjanjian distribusi jadwal copyleft.
Perangkat lunak bebas non-copyleft dibuat oleh pembuatnya yang mengizinkan seseorang untuk mendistribusikan dan memodifikasi, dan untuk menambahkan batasan-batasan aksesori dalamnya. Jika suatu jadwal bebas tapi tidak copyleft , maka beberapa salinan atau versi yang dimodifikasi bisa jadi tidak bebas sama sekali. Perusahaan perangkat lunak sanggup mengkompilasi programnya, dengan atau tanpa modifikasi, dan mendistribusikan file tereksekusi sebagai produk perangkat lunak yang berpemilik. Sistem X Window menggambarkan hal ini. Konsorsium X mengeluarkan X11 dengan ketentuan distribusi yang menetapkannya sebagai perangkat lunak bebas non-copyleft . Jika anda menginginkannya, anda sanggup memperoleh salinan yang mempunyai perjanjian distribusi dan juga bebas. Namun ada juga versi tidak bebasnya, dan ada workstation terkemuka serta perangkat grafik PC, dimana versi yang tidak bebas merupakan satu-satunya yang sanggup bekerja disini. Jika anda memakai perangkat keras tersebut, X11 bukanlah perangkat lunak bebas bagi anda.
GPL-covered
GNU GPL (General Public License) (20k huruf) merupakan sebuah kumpulan ketentuan pendistribusian tertentu untuk meng-copyleft-kan sebuah program. Proyek GNU menggunakannya sebagai perjanjian distribusi untuk sebagian besar perangkat lunak GNU.
GNU
Sistem GNU merupakan sistem serupa Unix yang seutuhnya bebas. Sistem operasi serupa Unix terdiri dari banyak sekali program. Sistem GNU meliputi seluruh perangkat lunak GNU, dan juga paket jadwal lain, menyerupai sistem X Windows dam TeX yang bukan perangkat lunak GNU. Pengembangan sistem GNU ini telah dilakukan semenjak tahun 1984. Pengedaran awal (percobaan) dari ``sistem GNU lengkap'' dilakukan tahun 1996. Sekarang (2001), sistem GNU ini bekerja secara handal, serta orang-orang bekerja dan mengembangkan GNOME, dan PPP dalam sistem GNU. Pada ketika bersamaan sistem GNU/Linux, merupakan sebuah terobosan dari sistem GNU yang memakai Linux sebagai kernel dan mengalami sukses luar biasa. Berhubung tujuan dari GNU ialah untuk kebebasan, maka setiap komponen dalam sistem GNU harus merupakan perangkat lunak bebas. Namun tidak berarti semuanya harus copyleft; setiap jenis perangkat lunak bebas sanggup sah-sah saja jikalau menolong memenuhi tujuan teknis. Seseorang sanggup memakai perangkat lunak non-copyleft menyerupai sistem X Window.
``Program GNU'' setara dengan perangkat lunak GNU. Program Anu ialah jadwal GNU jikalau ia merupakan perangkat lunak GNU.
Perangkat Lunak GNU
Perangkat lunak GNU merupakan perangkat lunak yang dikeluarkan oleh proyek GNU. Sebagian besar perangkat lunak GNU merupakan copyleft, tapi tidak semuanya; namun, semua perangkat lunak GNU harus merupakan perangkat lunak bebas. Jika suatu jadwal ialah perangkat lunak GNU, seseorang juga sanggup menyebutnya sebagai jadwal GNU. Beberapa perangkat lunak GNU ditulis oleh staf dari Free Software Foundation (FSF, Yayasan Perangkat Lunak Bebas), namun sebagian besar perangkat lunak GNU merupakan bantuan dari para sukarelawan. Beberapa perangkat lunak yang dikontribusikan merupakan hak cipta dari Free Software Foundation; beberapa merupakan hak cipta dari kontributor yang menulisnya.
Perangkat Lunak Semi-Bebas
Perangkat lunak semi-bebas ialah perangkat lunak yang tidak bebas, tapi mengizinkan setiap orang untuk menggunakan, menyalin, mendistribusikan, dan memodifikasinya (termasuk distribusi dari versi yang telah dimodifikasi) untuk tujuan non-laba. PGP ialah salah satu rujukan dari jadwal semi-bebas. Perangkat lunak semi-bebas jauh lebih baik dari perangkat lunak berpemilik, namun masih ada masalah, dan seseorang tidak sanggup menggunakannya pada sistem operasi yang bebas. Pembatasan dari copyleft dirancang untuk melindungi kebebasan bagi semua pengguna. Bagi pihak GNU, satu-satunya alasan untuk membatasi substantif dalam memakai program--ialah melarang orang lain untuk menambahkan batasan lain. Program semi-bebas mempunyai batasan-batasan tambahan, yang dimotivasi oleh tujuan pribadi semata. Sangat tidak mungkin untuk menyertakan perangkat lunak semi-bebas pada sistem operasi bebas. Hal ini lantaran perjanjian distribusi untuk sistem operasi keseluruhan ialah adonan dari perjanjian distribusi untuk semua jadwal di dalamnya. Menambahkan satu jadwal semi-bebas pada sistem akan menciptakan keseluruhan sistem menjadi semi-bebas. Terdapat dua alasan mengapa GNU tidak menginginkan hal ini: Sudah seharusnya kita percaya bahwa perangkat lunak bebas seharusnya ditujukan bagi semuanya--termasuk pelaku bisnis, dan bukan hanya untuk sekolah dan sekedar hobi saja. GNU ingin mengundang kalangan bisnis untuk memakai keseluruhan sistem GNU, dan untuk itu kami tidak sanggup menyertakan jadwal semi-bebas di dalamnya. Distribusi komersial dari sistem operasi bebas, termasuk Sistem GNU/Linux sangat penting, dan para pengguna menghargai kemampuan untuk sanggup membeli distribusi CD-ROM komersial. Menyertakan satu jadwal semi-bebas dalam sistem operasi sanggup memotong distribusi CD-ROM komersial untuknya. Free Software Foundation sendiri ialah organisasi nirlaba, dan lantaran itu, kami diizinkan secara aturan untuk memakai jadwal semi-bebas secara ``internal''. Tapi GNU tidak melakukannya, lantaran hal itu akan melemahkan upaya yang telah dilakukan untuk memperoleh jadwal yang sanggup disertakan ke dalam GNU. Jika ada pekerjaan yang berafiliasi dengan perangkat lunak, maka sebelum kami mempunyai jadwal bebas untuk melaksanakan pekerjaan itu, sistem GNU mempunyai kesenjangan. Kami harus memberitahukan kepada para sukarelawan, ``Kami belum mempunyai jadwal untuk melaksanakan pekerjaan ini di GNU, jadi kami berharap Anda menulisnya sendiri.'' Jika jadwal semi-bebas digunakan untuk untuk melaksanakan pekerjaan itu, hal itu akan melemahkan apa yang telah dijelaskan diatas; hal itu akan menghancurkan motivasi (bagi pengembang GNU, dan orang lain yang mempunyai pandangan yang sama) untuk menulis substitusi yang bebas.
Perangkat Lunak Berpemilik
Perangkat lunak berpemilik ialah perangkat lunak yang tidak bebas atau pun semi-bebas. Seseorang sanggup dilarang, atau harus meminta izin, atau akan dikenakan pembatasan lainnya sehingga menyulitkan--jika menggunakan, mengedarkan, atau memodifikasinya. Free Software Foundation mengikuti aturan bahwa seseorang tidak sanggup memasang program-program berpemilik di komputernya kecuali untuk sementara waktu dengan maksud menulis pengganti bebas untuk jadwal tersebut. Disamping itu, pihak perangkat lunak bebas merasa tidak; ada alasan untuk memasang sebuah jadwal berpemilik. Sebagai contoh, pengemban GNU merasa sah dalam memasang Unix di komputer yang digunakan pada tahun 1980-an, alasannya kami menggunakannya untuk menulis pengganti bebas untuk Unix. Sekarang, lantaran sistem operasi bebas telah tersedia, alasan ini tidak lagi sanggup diterima; pihak GNU harus menghapus semua sistem operasi tidak bebas yang dimiliki, dan setiap komputer yang dipasang harus berjalan pada sistem operasi yang benar-benar bebas. GNU tidak memaksa para pengguna GNU atau para kontributor GNU untuk mengikuti aturan ini. Ini ialah aturan yang dibuat untuk diri kami sendiri (GNU). Tapi kami berharap semoga anda memutuskan untuk mengikutinya juga.
Freeware
Istilah ``freeware'' tidak terdefinisi dengan jelas, tapi biasanya digunakan untuk paket-paket yang mengizinkan redistribusi tetapi bukan pemodifikasian (dan kode programnya tidak tersedia). Paket-paket ini bukan perangkat lunak bebas, jadi jangan memakai istilah ``freeware'' untuk merujuk ke perangkat lunak bebas.
Shareware
Shareware ialah perangkat lunak yang mengizinkan orang-orang untuk meredistribusikan salinannya, tetapi mereka yang terus menggunakannya diminta untuk membayar biaya lisensi. Shareware bukan perangkat lunak bebas atau pun semi-bebas. Ada dua alasan untuk hal ini, yakni: Sebagian besar shareware, kode programnya tidak tersedia; jadi anda tidak sanggup memodifikasi jadwal tersebut sama sekali. Shareware tidak mengizinkan seseorang untuk menciptakan salinan dan memasangnya tanpa membayar biaya lisensi, tidak juga untuk orang-orang yang terlibat dalam kegiatan nirlaba. Dalam prakteknya, orang-orang sering tidak mempedulikan perjanjian distribusi dan tetap melaksanakan hal tersebut, tapi sesungguhnya perjanjian tidak mengizinkannya.
Perangkat Lunak Komersial
Perangkat lunak komersial ialah perangkat lunak yang dikembangkan oleh kalangan bisnis untuk memperoleh keuntungan dari penggunaannya. ``Komersial'' dan ``kepemilikan'' ialah dua hal yang berbeda! Kebanyakan perangkat lunak komersial ialah berpemilik, tapi ada perangkat lunak bebas komersial, dan ada perangkat lunak tidak bebas dan tidak komersial. Sebagai contoh, GNU Ada selalu didistribusikan di bawah perjanjian GNU GPL, dan setiap salinannya ialah perangkat lunak bebas; tapi para pengembangnya menjual kontrak penunjang. Ketika penjualnya bicara kepada calon pembeli, terkadang pembeli tersebut mengatakan, ``Kami merasa lebih kondusif dengan kompilator komersial.'' Si penjual menjawab, ``GNU Ada ialah kompilator komersial; hanya saja ia merupakan perangkat lunak bebas.'' Bagi proyek GNU, penekanannya ada pada hal yang sebaliknya: hal terpenting ialah GNU merupakan perangkat lunak bebas; terlepas komersial atau bukan, itu bukan hal yang penting. Perkembangan GNU yang dihasilkan dari komersialisasinya ialah menguntungkan. Harap sebarkan ke khalayak, perangkat lunak bebas komersial merupakan sesuatu yang mungkin. Sebaiknya, anda jangan menyampaikan ``komersial'' ketika maksud anda ialah ``berpemilik''.
4. Klasifikasi sistem komputer
4.1 Klasifikasi Flynn
Klasifikasi sistem komputer yang didasarkan pada penggandaan alur aba-aba dan alur data diperkenalkan oleh Michael J. Flynn
Alur aba-aba (instruction stream) ialah urutan aba-aba yang dilaksanakan oleh mesin
Alur data ialah urutan data yang dipanggil oleh alur aba-aba
Baik aba-aba maupun data diambil dari modul memori
Instruksi didecode (diartikan) oleh Control Unit.
Alur data mengalir dua arah antara prosesor dan memori.
Ada 4 kategori sistem komputer dalam pembagian terstruktur mengenai Flynn:
1. Single Instruction stream – Single Data stream (SISD)
2. Single Instruction stream – Multiple Data stream (SIMD)
3. Multiple Instruction stream – Single Data stream (MISD)
4. Multiple Instruction stream – Multiple Data stream (MIMD)
4.2 Klasifikasi Feng
Tse Yun Feng mengusulkan pembagian pembagian terstruktur mengenai arsitektur komputer menurut derajat keparalelan (degree of parallelism).
Jumlah bit maksimum yang sanggup diproses dalam satu satuan waktu oleh sistem komputer disebut derajat keparalelan maksimum P.
Bila Pi ialah jumlah bit yang sanggup diproses dalam siklus prosesor ke – i (atau periode clock ke – i),
Siklus prosesor T dinyatakan oleh i = 1,2,3, ......, T
Maka derajat keparalelan rata-rataa ialah :
Biasanya Pi # P.
Laju utilisasi (utilization rate) F sistem komputer dalam siklus T
Jika daya komputasi prosesor digunakan penuh, maka Pi = P untuk semua i dan F = 1 untuk 100% utilisasi.
→ Laju utilisasi bergantung pada jadwal aplikasi yang dieksekusi.
Feng mengklasifikasi sistem komputer juga memakai parameter panjang word n, panjang bit slice m.
Bit-slice ialah string of bits, yaitu satu dari setiap word pada posisi bit vertikal yang sama.
Ada 4 tipe Metode Pemrosesan :
Word Serial and Bit Serial (WSBS)
Word Paralel and Bit Setial (WPBS)
Word Serial and Bit Paralel (WSBP)
Word Paralel and Bit Paralel (WPBP)
WSBS disebut Bit serial procesing lantaran satu bit (n=m=1) diproses pada satu satuan waktu.
Proses : lambat
Komputer generasi pertama
WPBS (n=1, m>1) disebut BIS procesing ( Bit Slice Procesing) lantaran sejumlah m bit slice diproses pada satu satuan waktu.
WSBP (n>1, m=1) disebut Word slice processing lantaran satu word pada n bit diproses pada satu satuan waktu.
Ditetapkan pada kebanyakan komputer sekarang.
WPBP (n>1, m>1) disebut Fully Paralel Processing (Paralell Processing) disini array dari n,m bits diproses pada satu satuan waktu.
Proses : lambat
Komputer generasi pertama
WPBS (n=1, m>1) disebut BIS procesing ( Bit Slice Procesing) lantaran sejumlah m bit slice diproses pada satu satuan waktu.
WSBP (n>1, m=1) disebut Word slice processing lantaran satu word pada n bit diproses pada satu satuan waktu.
Ditetapkan pada kebanyakan komputer sekarang.
WPBP (n>1, m>1) disebut Fully Paralel Processing (Paralell Processing) disini array dari n,m bits diproses pada satu satuan waktu.
Proses : paling cepat.