SOFTWARE
Agar user
dapat memasukkan dan menjalankan program
aplikasi, maka
komputer harus
sudah berisi beberapa software sistem dalam
memorinya.
Software sistem
adalah kumpulan program yang dieksekusi
seperlunya untuk
menjalankan fungsi seperti
ÿ
Menerima dan menginterpretasikan perintah user
ÿ Memasukkan dan
tnengedit program aplikasi dan rnenyimpannya
sebagai file dalam peralatan penyimpanan sekunder
ÿ Mengatur
penyimpanan dan pengambilan file dalam
peralatan
penyimpanan sekunder
ÿ Menjalankan
program aplikasi standar seperti word
processor,
spreadsheet, atau game, dengan data yang disediakan oleh user
ÿ Mengontrol unit
I/O untuk menerima informasi input dan
menghasilkan output
ÿ
Mentranslasikan program dari bentuk source yang disediakan oleh
user menjadi bentuk objek yang berisi instruksi mesin
ÿ Menghubungkan
dan menjalankan program aplikasi userwritten
dengan rutin
library standar yang ada, seperti paket komputasi
numerik
Software sistemlah yang bertanggungjawab untuk
koordinasi semua
aktifitas dalam sistem komputasi. Tujuan bagian ini adalah untuk memperkenalkan
beberapa aspek dasar software sistem.
Program aplikasi biasanya ditulis dalam
bahasa pemrograman tingkat
tinggi seperti C,
C++, Java, atau Fortran, di mana
programer yang menentukan
operasi matematis
atau pengolahan teksnya. Operasi tersebut
dideskripsikan
dalam format yang
lepas dari penggunaan komputer
tertentu untuk mengeksekusi
program. Seorang programer
yang menggunakan bahasa tingkat tinggi
tidak perlu
mengetahui detil
instruksi program mesin. Suatu software
sistem yang disebut
kompiler mentranslasikan
bahasa pemrograman tingkat tinggi menjadi
program
bahasa mesin yang sesuai yang berisi instruksi seperti instruksi Add dan Load.
Program sistem penting lainnya yang
digunakan semua programer adalah
editor
teks. Program tersebut digunakan
untk memasukkan dan mengedit program
aplikasi. User
program ini secara interaktif mengeksekusi
perintah yang
mengijinkan statement
program source yang dirnasukkan melalui
keyboard
diakumulasikan dalam
suatu file. File secara sederhana adalah
rangkaian karakter
alfanumerik atau data biner yang disimpan dalam memori atau dalam penyimpanan
sekunder. Suatu file dapat disebut dengan nama yang dipilih oleh user.
Kita tidak membahas
detil compiler, editor, atau sistem file
dalam modul
ini, tetapi marilah kita memperhatikan
lebih cermat pada komponen software sistem
utama yang disebut sistem operasi (OS: operating system).
Ini adalah program yang
besar, atau
sebenarnya kumpulan rutin, yang digunakan
untuk mengontrol
pembagian dan
interaksi di antara berbagai unit komputer
pada saat mereka
mengeksekusi program aplikasi. Rutin OS menjalankan tugas yang diperlukan untuk
menetapkan resource komputer bagi program aplikasi individu. Tugastugas tersebut
termasuk menetapkan ruang memori dan disk magnetik untuk program dan file data,
memindahkan data antara memori dan unit disk, dan menangani operasi UO.
Untuk memahami sistem operasi dasar,
marilah kita membahas suatu
sistem dengan Satu
prosesor, satu disk, dan satu printer.
Pertamatama kita
membahas langkahlangkah yang terlibat dalam menjalankan satu program aplikasi.
Setelah
kita menjelaskan langkah tersebut, kita akan
dapat memahami bagaimana
sistem operasi mengatur eksekusi
lebih dari satu program aplikasi pada satu waktu.
Asumsikan bahwa program aplikasi telah
dikompilasi dari bentuk bahasa tingkat
tinggi ke bentuk
bahasa mesin dan disimpan dalam
disk. Langkah pertama adalah
mentransfer file
tersebut ke dalam memori. Pada saat
transfer selesai, eksekusi
program dimulai. Asumsikan bahwa bagian dari
tugas program terrnasuk membaca
file data dari
disk ke memori, melakukan beberapa komputasi
pada data tersebut,
dan mencetak hasilnya. Pada saat eksekusi program mencapai titik di mana file data
diperlukan, maka program meminta
sistem operasi untuk mentransfer
file data dari
disk ke memori. OS menjalankan
tugas ini dan mengembalikan kontrol eksekusi ke
program aplikasi, yang kemudian melanjutkan melakukan komputasi
yang diminta.
Pada saat
komputasi telah selesai dan hasilnya telah
siap dicetak, maka program
aplikasi mengirim lagi permintaan ke sistem operasi. Rutin OS kemudian dieksekusi
agar printer mencetak hasil tersebut.
Kita telah melihat
bagaimana kontrol eksekusi diserahterimakan di
antara
program aplikasi dan rutin OS.
Selama periode waktu to hingga t1,
suatu rutin OS menginisiasi loading
program
aplikasi dari disk ke memori, menunggu
hingga transfer tersebut selesai,
dan
kemudian menyerahkan kontrol eksekusi ke
program aplikasi. Pola aktifitas
yang mirip
terjadi selama periode t2 hingga t3
dan periode t4 hingga t5, pada saat
sistem operasi mentransfer file data dari disk dan mencetak hasilnya. Pada t5, sistem
operasi dapat meload dan mengeksekusi program aplikasi yang lain.
Sekarang,
marilah kita memperhatikan suatu cara di
mana resource
komputer
dapat digunakan lebih efisien jika beberapa
program aplikasi diproses.
Perhatikanlah bahwa disk dan prosesor diam selama sebagian besar periode waktu ta
hingga
ts. Sistem operasi dapat meload program
berikutnya yang akan dieksekusi
ke
dalam memori dari disk pada saat
printer beroperasi. Serupa pula dengan itu,
selama
to hingga t1, sistem operasi
dapat mengatur untuk mencetak hasil program
sebelumnya
pada saat program berikutnya diload dari
disk. Jadi sistem operasi
mengatur
eksekusi konkuren dari beberapa program
aplikasi untuk menghasilkan
penggunaan resource komputer terbaik yang dimungkinkan. Pola eksekusi konkuren
ini disebut multiprogramming atau multitasking.