Menurut Abraham Silberschatz, Galvin, Gagne (2003), sistem operasi merupakan suatu program yang bertindak sebagai perantara antara pengguna dan hardware komputer. Mereka juga menyatakan bahwa tujuan dari sistem operasi adalah:
- Melaksanakan program pengguna dan memudahkan dalam menyelesaikan masalahnya.
- Membuat sistem komputer menjadi mudah untuk digunakan.
- Menjadikan pengguna hardware komputer menjadi lebih efisien.
Tugas-Tugas Sistem Operasi
Tugas-tugas sistem operasi diantaranya:
1. Menyediakan antarmuka pengguna (user interface), berupa:
- Melakukan perintah (command-base user interface) dalam bentuk teks.
- Mengarahkan menu (menu driven).
- Antarmuka unit grafik (graphical user interface-GUI).
- Kombinasi ikon dan menu untuk menerima dan melaksanakan perintah.
2. Menyediakan informasi yang berkaitan dengan hardware,
yaitu berupa perangkat yang aktif atau pasif, dan
mengendalikan perangkat I/O.
3. Melakukan tugas pengolahan dan pengendalian sumber daya dalam sebuah
proses sebagai berikut:
- Multitasking, yaitu kemampuan untuk menjalankan lebih dari satu tugas secara bersamaan. Pada multitasking, hanya dipergunakan satu CPU, namun perpindahan antar satu program ke program lainnya dilakukan dengan sangat cepat sehingga jika dilihat akan nampak bahwa program dijalankan secara bersamaan.
- Multiprocessing, penggunaan atau pemrosesan sebuah program secara serentak oleh beberapa unit CPU.
- Timesharing, menggunakan sistem komputer yang sama pada banyak pengguna.
- Multithreading, memproses aktivitas pada bentuk yang sama dengan multitasking tetapi pada aplikasi tunggal.
- Scalability dan Network, upaya komputer dalam mengendalikan dan meningkatkan kewaspadaan dan keamanan jumlah pengguna dan memperluas pelayanan.
4. Pengelolaan file dan direktori data, yaitu memastikan file-file dalam penyimpanan
sekunder tersedia jika diperlukan, dan mengamankan dari pengguna yang tidak
diizinkan.
Struktur Sistem
Operasi
Silberschatz, Galvin, Gagne (2003), berpendapat bahwa umumnya
sebuah sistem operasi modern mempunyai komponen sebagai berikut:
1. Manajemen proses
2. Manajemen memori utama
3. Manajemen memori skunder
4. Manajemen sistem I/O (input/output)
5. Manajemen file
6. Sistem proteksi
7. Jaringan
8. Sistem command interpreter
Manajemen proses
Proses adalah keadaan ketika sebuah program sedang
dieksekusi.Sistem operasi bertanggung jawab atas
aktifitas-aktifitas yang berkaitan dengan manajemen proses
seperti:
- Pembuatan dan penghapusan proses user dan sistem proses
- Menunda atau melanjutkan proses.
- Menyediakan mekanisme untuk proses sinkronisasi .
- Menyediakan mekanisme untuk proses komunikasi .
- Menyediakan mekanisme untuk penanganan deadlock.
Manajemen memori utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah
array yang besar dari word atau byte, yang ukurannya mencapai
ratusan, ribuan, atau bahkan jutaan.Memori utama berfungsi sebagai tempat
penyimpanan yang akses datanya digunakan oleh CPU atau
perangkat I/O.Sistem operasi bertanggung jawab atas aktivitas- aktivitas yang berkaitan dengan manajemen memori seperti:
- Menjaga track memori yang sedang diguanakan dan siapa yang menggunakannya.
- Memilih program yang akan di-load ke memori.
- Mengalokasikan dan men-dealokasikan ruang memori sesuai kebutuhan.
Manajemen memori skunder
Data tersimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil. Oleh karenan itu, untuk menyimpan keseluruhan data dan program komputer
dibutuhkan secondary storage yang bersifat permanen dan mempu menampung data
dengan ukuran besar.
Manajemen sistem I/O
Manajemen sistem I/O biasa juga disebut sebagai device manager, yang bertugas
menyediakan device driver´yang umum sehingga operasi I/O dapat seragam
(membuka, membaca, menulis, menutup).Komponen sistem
operasi untuk sistem I/O adalah sebagai berikut:
- Buffer: berfungsi untuk sementara menampung data dari/ke perangkat I/O.
- Spooling: melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian dan sebagainya).
- Menyediakan driver untuk dapat melakukan operasi detail untuk hardware I/O tertentu.
Manajemen file
File adalah sekumpulan informasi yang berhubungan
sesuai dengan tujuan pembuat berkas tersebut.Tanggung jawab sistem operasi
adalah:
- Pembuatan dan penghapusan file.
- Pembuatan dan penghapusan direktori.
- Mendukung manipulasi file dan direktori.
- Memetakan file ke secondary storage.
- Melakukan backup file ke media penyimpanan permanen (non volatile).
Sistem proteksi
Proteksi mengacu pada mekanisme untuk mengendalikan akses yang dilakukan oleh
program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi
seharusnya:
- Dapat membedakan antara pengguna yang diizinkan dan yang belum.
- Menentukan kendali.
- Menyediakan alat pengatur.
Jaringan
Sistem
Distribusi adalah sekumpulan processor yang tidak berbagi memori atau clock. Tiap prosesor mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung melalui
jaringan komunikasi sistem terdistribusi yang menyediakan akses pengguna ke
berbagai macam sumber daya sistem. Akses tersebut menyebabkan meningkatnya:
- Kecepatan komputer.
- Ketersediaan data.
- Kehandalan (enhanced reliability).
Sistem command-interpreter
Sistem command interpreter sangat
bervariasi antara satu sistem operasi dengan sistem
operasi lainnya dan disesuaikan dengan tujuan dan
teknologi perangkat I/O yang ada. Contohnya CLI,
Windows, pen-based (touch), dan lain-lain.
Klasifikasi Sistem Operasi
Sistem
operasi dapat diklasifikasikan sebagai berikut:
1. Berdasarkan skala arsitekturnya (bit).
2. Klasifikasi sistem operasi berdasarkan end-user interface.
3. Klasifikasi sistem operasi berdasarkan pengguna.
4. Klasifikasi sistem operasi berdasarkan pangsa pasar.
Perangkat Lunak Bahasa
Pemrograman
Generasi Bahasa Pemrograman
Bahasa pemrograman adalah software bahasa komputer yang
digunakan dengan cara merancang atau membuat program sesuai
dengan struktur dan metode yang dimiliki oleh bahasa program itu
sendiri. Komputer mengerjakan transformasi data berdasarkan
kumpulan perintah program yang telah dibuat oleh program.
Menurut tingkatannya, bahasa pemrograman dibagi menjadi
3 tingkatan, yaitu:
- Bahasa pemrograman tingkat rendah (low level language), merupakan bahasa pemrograman generasi pertama, bahasa pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Biasanya yang mengerti hanyalah pembuatnya saja karena isinya programnya berupa kode-kode mesin.
- Bahasa pemrograman tingkat menengah (middle level language), merupakan bahasa pemrograman dimana pengguna instruksi sudah mendekati bahasa sehari-hari, walaupun begitu masih sulit untuk dimengerti karena banyak menggunakan singkatansingkatan seperti “STO” artinya simpan (STORE) dan “MOV” artinya pindahkan (MOVE). Yang tergolong dalam bahasa ini adalah assembler.
- Bahasa pemrograman tingkat tinggi (high level language) merupakan bahasa yang mempunyai ciri lebih terstruktur, mudah dimengerti karena menggunakan bahasa sehari-hari, contoh bahasa level ini adalah: Delphi, Pascal, ORACLE, MS-SQL, Perl, Phyton, Basic, Visual Studio (Visual Basic, Visual FoxPro), Informix, C, C++, ADA, Java, PHP, ASP, XML, dan lain-lain. Bahasa seperti Java, PHP, ASP, XML biasanya digunakan untuk pemrograman pada internet, dan masih banyak lagi yang terus berkembang yang saat ini biasanya dengan ekstensi .net (baca: dot net) seperti Visual Basic.NET dan Delphi.Net yang merupakan bahasa pemrograman yang dikembangkan pada aran berbasis internet.
Teknologi Perangkat Lunak Aplikasi
Perangkat lunak aplikasi sejatinya adalah program yang didesain
khusus untuk menyelesaikan masalah spesifik pengguna, seperti
melakukan tugas-tugas mengetik dokumen, manipulasi foto, merancang
bangunan. Perangkat lunak aplikasi dapat digolongkan menjadi:
- Perangkat lunak hiburan.
- Perangkat lunak pendidikan.
- Perangkat lunak produktivitas kerja.
- Perangkat lunak bisnis.
- Perangkat lunak.
Jenis Perangkat Lunak
Berdasarkan cara mendapatkannya dan hak pemakaian, perangkat lunak dapat
digolongkan menjadi perangkat lunak komersial, perangkat lunak domain publik,
shareware, freeware, rentalware, freesoftware atau opensource.
Perangkat lunak komersial
Perangkat lunak komersial biasa juga disebut proprietary software merupakan
perangkat lunak yang dijual secara komersial. Setiap orang yang bermaksud
menginstalnya harus membelinya. Jika tidak membelinya berarti membajak perangkat
lunak dan dapat dikenai sanksi hukum karena ada hak cipta (copyright).Contoh perangkat lunak
komersial adalah Microsoft Office dan CorelDraw.
Perangkat lunak rentalware
Merupakan perangkat lunak yang bisa digunakan oleh seseorang atau institusi dengan
cara meyewa. Penyewaan biasanya dilakukan pertahun.
Perangkat lunak domain-public
Merupakan perangkat lunak yang tidak disertai hak cipta dan memungkinkan siapa
saja melakukan tindakan apa saja terhadap program tersebut, termasuk membuang
nama penciptanya dan memperlakukannya sebagai karya ciptanya sendiri dan
mengenakan hak cipta. Perangkat lunak seperti ini umumnya berupa kode sumber dan
banyak dijumpai di internet.
Perangkat lunak shareware
Merupakan perangkat lunak yang tersedia tanpa kode sumber dan biasanya
digunakan oleh pemakai dengan tujuan untuk dievaluasi selama masa tertentu tanpa
membayar sama sekali dan jika sesudah masa tersebut berlalu, maka pemakai
tersebtu tetap menggunakannya maka ia harus membayar ke pembuat (pemegang hak
cipta) perangkat lunak tersebut. Berbeda dengan versi trial, shareware tidak memiliki
masa kadaluarsa. Artinya, pemakai tetap bisa menggunakannya walau batas uji coba
telah berakhir.
Free Software
Ini merupakan istilah yang dicanangkan oleh Richard Stallman pendiri (Pendiri Free Software
Foundation) untuk menyatakan perangkat lunak yang dilengkapi kode sumber yang
memungkinkan siapa saja dapat menggunakan program tersebut dan bahkan ikut
mengembangkannya. Secara lebih lengkap, sebuah software disebut free software jika:
Pemakai memilki kebebasan untuk menjalankan program untuk tujuan apa saja. Pemakai memiliki kebebasan untuk memodifikasi program sesuai kebutuhan. Oleh karena itu kode
sumber harus tersedia. Pemakai memiliki kebebasan untuk mendistribusikan kembali salinan program, baik secara gratis
maupun dengan bayaran
Pemakai memiliki kebebasan untuk mendistribusikan versi-versi program yang telah dimodifikasi
sehingga komunitas dapat memperoleh manfaat dari pengembangan tersebut
Open source
Istilah ini dikemukakan oleh Eric Raymond pada tahun 1998 dan dimaksudkan
untuk menghilangkan makna free pada free software yang ambigu karena
dalam Bahasa Inggris kata tersebut memiliki arti yang bermacam-macam,
misalkan gratis dan bebas.
Istilah Versi dan Rilis
Pada perangkat lunak dikenal istilah versi (version) dan rilis (release).
- Versi menyatakan perubahan besar pada perangkat lunak. Umumnya, versi dinyatakan dengan bilangan semacam berikut: 2.0, 3.0, 4.0, dan seterusnya.terkadang menggunakan kode tahun untuk menyatakan versi produk softwarenya, misalnya Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows 2000, Microsoft Office 97, dan Microsoft Office 2000, terkadang juga menggunakan istilah lain yang mewakili karakteristik produk software yang dibuat, misalnya Windows XP, Windows Millenium, dan lain-lain.
- Rilis menyatakan perubahan kecil terhadap versi yang sama. Rilis biasa dinyatakan dengan angka di belakang tanda titik. Contoh versi 4.0 bisa menjadi 4.1, 4.2, atau bahkan lebih dari itu misalkan 4.1.3.3.





























