Minggu, 16 Desember 2012

Struktur Sistem Operasi


Struktur Sistem Operasi
POKOK BAHASAN:
􀀹 Komponen Sistem Operasi
􀀹 Layanan Sistem Operasi
􀀹 Sistem Call
􀀹 Sistem Program
􀀹 Struktur Sistem Operasi
􀀹 Mesin Virtual

2.1 KOMPONEN SISTEM
Sistem operasi terdiri dari beberapa komponen, antara lain manajemen
proses, manajemen memori utama, manajemen file, manajemen sistem I/O,
manajemen penyimpan sekunder, system jaringan, system proteksi dan system
command interpreter.

2.1.1 Manajemen Proses
Proses adalah program yang sedang dieksekusi. Sebuah proses memerlukan
sumber daya (resource) tertentu seperti waktu CPU, memori, file dan perangkat I/O
untuk menyelesaikan tugasnya.
Untuk mengatur proses yang ada, sistem operasi bertanggung jawab pada
aktrifitas-aktifitas yang berhubungan denagn manajemen proses berikut :
a. Pembuatan dan penghapusan proses yang dibuat oleh user atau sistem.
b. Menghentikan proses sementara dan melanjutkan proses.
c. Menyediakan kelengkapan mekanisme untuk sinkronisasi proses dan komunikasi
proses.

2.1.2 Manajemen Memori Utama
Memori utama atau biasanya disebut dengan memori adalah sebuah array besar
berukuran word atau byte, dimana setiap array tersebut mempunyai alamat tertentu.
Memori adalah penyimpan yang dapat mengakses data dengan cepat yang digunakan
oleh CPU dan perangkat I/O. Memori adalah perangkat penyimpan volatile. Isi memori
akan hilang apabila terjadi kegagalan system.
Untuk mengatur memori, sistem operasi bertanggung jawab pada aktifitasaktifitas
manajemen memori sebagai berikut :
a. Menjaga dan memelihara bagian-bagian memori yang sedang digunakan dan dari
yang menggunakan.
b. Memutuskan proses-proses mana saja yang harus dipanggil ke memori jika
tersedia ruang di memori.
c. Mengalokasikan dan mendealokasikan ruang memori jika diperlukan.

2.1.3 Manajemen File
File adalah kumpulan informasi yang saling berhubungan yang sudah
didefinisikan oleh pembuatnya (user). Biasanya, file berupa program (baik dalam bentu
source maupun object) dan data.
Untuk mengatur file, sistem operasi bertanggung jawab pada aktifitas-aktifitas
yang berhubungan dengan manajemen file sebagai berikut:
a. Pembuatan dan penghapusan file.
b. Pembuatan dan penghapusan direktori.
c. Primitif-primitif yang mendukung untuk manipulasi file dan direktori.
d. Pemetaan file ke memori sekunder.
e. Backup file ke media penyimpanan yang stabil (nonvolatile).

2.1.4 Manajemen I/O
Sistem operasi bertanggung-jawab pada aktifitas-aktifitas sistem I/O sebagai
berikut:
a. Sistem buffer-caching.
b. Antarmuka device-driver secara umum.
c. Driver untuk device hardware-hardware tertentu.

2.1.5 Manajemen Penyimpan Sekunder
Karena memori utama (primary storage) bersifat volatile dan terlalu kecil untuk
mengakomodase semua data dan program secara permanen, sistem komputer harus
menyediakan penyimpan sekunder (secondary storage) untuk back up memori utama.
Beberapa sistem komputer modern menggunakan disk untuk media penyimpan on-lin,
baik program maupun data.
Sistem operasi bertanggung jawab pada aktifitas-aktifitas manajemen penyimpan
sekunder sebagai berikut:
a. Pengaturan ruang bebas.
b. Alokasi penyimpanan.
c. Penjadwalan disk.

2.1.6 Sistem Jaringan (Sistem Terdistribusi)
Sistem terdistribusi adalah kumpulan prosessor yang tidak menggunakan
memori atau clock bersama-sama. Setiap prosessor mempunyai local memori
sendiri. Prosessor-prosessor pada sistem dihubungkan melalui jaringan
komunikasi. Komunikasi dilakukan dengan menggunakan protocol.
Sistem terdistribusi memungkinkan user untuk mengakses sumber daya
(resource) yang beragam. Dengan mengakses sumber daya yang dapat digunakan
bersama-sama tersebut akan memberikan keuntungan dalam :
• Meningkatkan kecepatan komputasi
• Meningkatkan ketersediaan data
• Meningkatkan kehandalan sistem

2.1.7 Sistem Proteksi
Proteksi adalah suatu mekanisme untuk mengontrol akses oleh program,
proses atau user pada sistem maupun resource dari user.
Mekanisme sistem proteksi yang harus disediakan sistem meliputi :
• Membedakan antara penggunaan yang sah dan yang tidak sah.
• Menentukan kontrol yang terganggu.
• Menetapkan cara pelaksanaan proteksi.

2.1.8 Sistem Command Intepreter
Beberapa perintah yang dimasukkan ke sistem operasi menggunakan
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 menterjemakan pernyataan kontrol disebut
dengan command-line intepreter atau shell pada UNIX. Fungsinya adalah untuk
mengambil dan mengeksekusi pernyataan perintah berikutnya.

2.2 LAYANAN SISTEM OPERASI
Sistem operasi menyediakan layanan untuk programmer sehingga dapat
melakukan pemrograman dengan mudah.
a. Eksekusi Program. Sistem harus dapat memanggil program ke memori dan
menjalankannya. Program tersebut harus dapat mengakhiri eksekusinya dalam
bentuk normal atau abnormal (indikasi error).
b. Operasi-operasi I/O. Pada saat running program kemungkinan dibutuhkan I/O,
mungkin berupa file atau peralatan I/O. Agar efisien dan aman, maka user tidak
boleh mengontrol I/O secara langsung, pengontrolan dilakukan oleh sistem operasi.
c. Manipulasi sistem file. Kapabilitas program untuk membaca, menulis, membuat
dan menghapus file.
d. Komunikasi. Komunikasi dibutuhkan jika beberapa proses yang sedang dieksekusi
saling tukar-menukar informasi. Penukaran informasi dapat dilakukan oleh beberapa
proses dalam satu komputer atau dalam komputer yang berbeda melalui sistem
jaringan. Komunikasi dilakukan dengan cara berbagi memori (shared memory) atau
dengan cara pengiriman pesan (message passing).
e. Mendeteksi kesalahan. Sistem harus menjamin kebenaran dalam komputasi dengan
melakukan pendeteksian error pada CPU dan memori, perangkat I/O atau pada user
program.
Beberapa fungsi tambahan yang ada tidak digunakan untuk membantu user,
tetapi lebih digunakan untuk menjamin operasi sistem yang efisien, yaitu :
• Mengalokasikan sumber daya (resource). Sistem harus dapat mengalokasikan
resource untuk banyak user atau banyak job yang dijalanan dalam waktu yang sama.
• Akutansi. Sistem membuat catatan daftar berapa resource yang digunakan user dan
resource apa saja yang digunakan untuk menghitung secara statistik akumulasi
penggunaan resource.
• Proteksi. Sistem operasi harus menjamin bahwa semua akses ke resource
terkontrol dengan baik.

2.3 SISTEM CALL
System call menyediakan antar muka antara program yang sedang berjalan
dengan sistem operasi. System call biasanya tersedia dalam bentuk instruksi bahasa
assembly. Pada saat ini banyak bahasa pemrograman yang digunakan untuk
menggantikan bahasa assembly sebagai bahasa pemrograman sehingga sistem call dapat
langsung dibuat pada bahasa tinggat tinggi seperti bahasa C dan C++.
Terdapat 3 (tiga) metode yang umum digunakan untuk melewatkan parameter
antara program yang sedang berjalan dengan sistem opeasi yaitu :
• Melewatkan parameter melalui register.
• Menyimpan parameter pada tabel yang disimpan di memori dan alamat tabel
tersebut dilewatkan sebagai parameter di register seperti Gambar 2-1.
• Push (menyimpan) parameter ke stack oleh program dan pop (mengambil) isi
stack yang dilakukan oleh system operasi.
Gambar 2-1 : Melewatkan parameter melalui tabel


Pada dasarnya System call dapat dikelompokkan dalam 5 kategori seperti yang
dijelaskan pada sub bab di bawah ini.

2.3.1. Kontrol Proses
Hal-hal yang dilakukan:
·         Mengakhiri (end) dan membatalkan (abort);
         Mengambil (load) dan eksekusi (execute);
         Membuat dan mengakhiri proses;
         Menentukan dan mengeset atribut proses;
         Wait for time;
         Wait event, signal event;
         Mengalokasikan dan membebaskan memori.

Contoh: Sistem operasi pada MS-DOS menggunakan sistem singletasking yang
memeiliki command interpreter yang akan bekerja pada saat start (Gambar 2-2).
Karena singletasking, maka akan menggunakan metode yang sederhana untuk
menjalankan program dan tidak akan membuat proses baru. Sistem operasi UNIX dapat
menjalankan banyak program (Gambar 2-3).
Gambar 2-2 : Sistem MSDOS : (a) pada saat startup (b) pada saat running

Gambar 2-3 : UNIX menjalankan lebih dari satu proses


2.3.2. Manipulasi File
Hal-hal yang dilakukan:
• Membuat dan menghapus file;
• Membuka dan menutup file;
• Membaca, menulis, dan mereposisi file;
• Menentukan dan mengeset atribut file;
2.3.3. Manipulasi Device
Hal-hal yang dilakukan:
• Meminta dan mmebebaskan device;
• Membaca, menulis, dan mereposisi file;
• Menentukan dan mengeset atribut device;
2.3.4. Informasi Lingkungan
Hal-hal yang dilakukan:
• Mengambil atau mengeset waktu atau tanggal;
• Mengambil atau mengeset sistem data;
• Mengambil atau mengeset proses, file atau atribut-atribut device;
2.3.5. Komunikasi
Hal-hal yang dilakukan:
• Membuat dan menghapus sambungan komunikasi;
• Mengirim dan menerima pesan;
• Mentransfer satus informasi;

Ada 2 model komunikasi:
a Message-passing model. Informasi saling ditukarkan melalui fasilitas yang telah
ditentukan oleh sistem operasi (Gambar 2-4a).
b. Shared-memory Model. Proses-proses menggunakan map memory untuk mengakses
daerah-daerah di memori dengan proses-proses yang lain (Gambar 2-4b).
Gambar 2-4 : Model komunikasi : (a) Message Passing; (b) Shared Memory


2.4 SISTEM PROGRAM
System program menyediakan lingkungan yang nyaman untuk pengembangan
dan eksekusi program. Kebanyakan user melihat system operasi yang didefinisikan oleh
system program dan bukan system call sebenarnya. System program adalah masalah
yang relatif kompleks, namun dapat dibagi menajdi beberapa kategori, antara lain:
a. Manipulasi File. Meliputi: membuat, menghapus, mengcopy, rename, print, dump,
list pada file dan direktori.
b. Status Informasi. Meliputi: tanggal, waktu (jam, menit, detik), penggunaan memori
atau disk space, banyaknya user.
c. Modifikasi File. Ada beberapa editor yang sanggup digunakan sebagai sarana untuk
menulis atau memodifikasi file yang tersimpan dalam disk atau tape.
d. Bahasa Pemrograman yang mendukung. Meliputi: Compiler, assambler, dan
interpreter untuk beberapa bahasa pemrograman (seperti: Fortran, Cobol, Pascal,
Basic, C, dan LISP).
e. Pemanggilan dan Eksekusi Program. Pada saat program dicompile, maka harus
dipanggil ke memori untuk dieksekusi. Suatu sistem biasanya memiliki absolute
loader, melokasikan loader, linkage editor, dan overlay loader. Juga dibutuhkan
debugging sistem untuk bahasa tingkat tinggi.
f. Komunikasi. Sebagai mekanisme untuk membuat hubungan virtual antar proses,
user, dan sistem komputer yang berbeda.
g. Program-program aplikasi. Sistem operasi harus menyokong program-program
yang berguna untuk menyelesaikan permasalahan secara umum, atau membentuk
operasi-operasi secara umum, seperti kompiler, pemformat teks, paket plot, sistem
basis data, spreadsheet, paket analisis statistik, dan games.

2.5 STRUKTUR SISTEM OPERASI
Sistem komputer modern yang semakin komplek dan rumit memerlukan sistem
operasi yang dirancang dengan sangat hati-hati agar dapat berfungsi secara optimum dan
mudah untuk dimodifikasi.

2.5.1 Struktur Sistem MS-DOS
Ada sejumlah sistem komersial yang tidak memiliki struktur yang cukup baik.
Sistem operasi tersebut sangat kecil, sederhana dan memiliki banyak keterbatasan. Salah
satu contoh sistem tersebut adalah MS-DOS. MS-DOS dirancang oleh orang-orang yang
tidak memikirkan akan kepopuleran software tersebut. Sistem operasi tersebut terbatas
pada perangkat keras sehingga tidak terbagi menjadi modul-modul. Meskipun MS-DOS
mempunyai beberapa struktur, antar muka dan tingkatan fungsionalitas tidak terpisah
secara baik seperti pada Gambar 2-5. Karena Intel 8088 tidak menggunakan dual-mode
sehingga tidak ada proteksi hardware. Oleh karena itu orang mulai enggan
menggunakannya.
Gambar 2-5 : Struktur Layer pada MS-DOS

2.5.2 Struktur Sistem UNIX
Sistem operasi UNIX (Original UNIX) juga terbatas pada fungsi perangkat
keras dan struktur yang terbatas. UNIX hanya terdiri atas 2 bagian, yaitu Kernel dan
program sistem. Kernel berada di bawah tingkat antarmuka system call dan diatas
perangkat lunak secara fisik. Kernel ini berisi sistem file, penjadwalan CPU,
menejemen memori, dan fungsi sistem operasi lainnya yang ada pada sistem call berupa
sejumlah fungsi yang besar pada satu level. Program sistem meminta bantuan kernel
untuk memanggil fungsi-fungsi dalam kompilasi dan manipulasi file. Struktur system
UNIX dapat dilihat pada Gambar 2-6.
Gambar 2-6 : Struktur sistem UNIX
 
2.5.3 Pendekatan Terlapis (Layered Approach)
Teknik pendekatan terlapis pada dasarnya dibuat dengan menggunakan
pendekatan top-down, semua fungsi ditentukan dan dibagi menjadi komponenkomponen.
Modularisasi sistem dilakukan dengan cara memecah sistem operasi menajdi
beberapa lapis (tingkat). Lapisan terendah (layer 0) adalah perangkat keras dan lapisan
teratas (layer N) adalah user interface. Dengan system modularisasi, setiap lapisan
mempunyai fungsi (operasi) tertentu dan melayani lapisan yang lebih rendah. Gambar
2-7 menunjukkan system pendekatan terlapis tersebut.
Contoh sistem operasi yang menggunakan sistem ini adalah: UNIX
termodifikasi, THE, Venus dan OS/2 (Gambar 2-8). Lapisan pada struktur THE adalah:
Lapis-5 : user program
Lapis-4 : buffering untuk I/O device
Lapis-3 : operator-console device driver
Lapis-2 : menejemen memori
Lapis-1 : penjadwalan CPU
Lapis-0 : hardware

Sedangkan lapisan pada struktur Venus adalah :
Lapis-6 : user program
Lapis-5 : device driver dan sceduler
Lapis-4 : virtual memory
Lapis-3 : I/O channel
Lapis-2 : penjadwalan CPU
Lapis-1 : instruksi interpreter
Lapis-0 : hardware
Gambar 2-7 : Struktur sistem terlapis


Gambar 2-8 : Struktur sistem OS/2


2.6 MESIN VIRTUAL
Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan
terlapis, hanya saja konsep ini memberikan sedikit tambahan berupa antarmuka yang
menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses, Gambar 2-9
menunjukkan konsep tersebut. Mesin virtual menyediakan antar muka yang identik
untuk perangkat keras yang ada. Sistem operasi membuat ilusi untuk beberapa proses,
masing-masing mengeksekusi prosessor masing-masing untuk memori (virtual) masingmasing.
Gambar 2-9: Struktur mesin virtual







Meskipun konsep ini cukup baik, namun sulit untuk diimplementasikan, ingat
bahwa sistem menggunakan metode dual-mode. Mesin virtual hanya dapat berjalan pada
monitor-mode jika berupa sistem operasi, sedangkan mesin virtual itu sendiri berjalan
dalam bentuk user-mode. Konsekuensinya, baik virtual monitor-mode maupun virtual
user-mode harus dijalankan melalaui physical user mode. Hal ini menyebabkan adanya
transfer dari user-mode ke monitor-mode pada mesin nyata, yang juga akan
menyebabkan adanya transfer dari virtual user-mode ke virtual monitor-mode pada
mesin virtual.
Sumber daya (resource) dari computer fisik dibagi untuk membuat mesin
virtual. Penjadwalan CPU dapat membuat penampilan bahwa user mempunyai
prosessor sendiri. Spooling dan system file dapat menyediakan card reader virtual dan
line printer virtual. Terminal time sharing pada user melayani sebagai console operator
mesin virtual. Contoh sistem operasi yang memakai mesin virtual adalah IBM VM
system.
Keuntungan dan kerugian konsep mesin virtual adalah sebagai berikut :
• Konsep mesin virtual menyediakan proteksi yang lengkap untuk sumber daya
system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain.
Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung
• Sistem mesin virtual adalah mesin yang sempurna untuk riset dan pengembangan
system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di
dalamnya mesin fisik dan tidak mengganggu operasi system yang normal.
• Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan
duplikasi yang tepat pada mesin yang sebenarnya.
Gambar 2-10 : Java Virtual Machine

Java merupakan system yang menggunakan implementasi mesin virtual. Untuk
mengkompilasi program Java maka digunakan kode bit yang disebut platform-neutral
bytecode yang dieksekusi oleh Java Virtual Machine (JVM). JVM terdiri dari class
loader, class verifier dan runtime interpreter seperti pada Gambar 2-10.
TUGAS PERTEMUAN 7


No.  Nama Software  Jenis Software Fungsi Software  Estimasi Harga  Cara Mendapatkan  Perusahaan Pembuat
1 Microsoft Office 2010 Profesional  Aplikasi Pengolah data presentasi perkantoran Rp. 4.507.000 kunjungi www.microsoft.com Microsoft Corporation
2 AVG Anti Virus  3 User Anti Virus Pendeteksi dan Penghapus Virus Rp.  145.000 kunjungi www.AVG-anti-virus.com AVG Technologies
3 Audition V3 Adobe Editing Suara Rp.  3.354.000 kunjungi www.indowebmaster.com/AdobeAuditionv30rar.html Adobe
4 Corel Draw 12 Aplikasi Menggambar Objek Rp. 324.000 kunjungi www.indowebmaster.com/corel_draw_Portable_x3.html Corel Corporation
5 Acronis Back up & Recovery 10 Workstation (< 9 user) @ User Aplikasi Memback Up dan Memulih OS yang rusak  Rp. 613.000 kunjungi www.softmedia.com Acronis
6 Opera Mini Web Browser Browsing cepat dengan hemat biaya Freeware kunjungi www.opera.com Opera Software
7 Kaspersky Anti-virus 2012 ( 3 user) Anti Virus Proteksi dari ancaman Virus, malware, trojan Rp. 226.000 kunjungi  www.kaspersky.com/kaspersky_antivirus Kaspersky
8 Corel Draw Graphic Suite X5 Software Desain Grafis Membuat berbagai desain gambar Vektor Rp. 3.474.000 kunjungi www.kiossoftware.com Corel Corporation
9 Tune Up Utilities Performence Utilies Meningkatkan Performence komputer Rp. 340.000 kunjungi www.shop-tune-up.com Tune Up Corporation
10 Mozilla Firefox Web Browser Browsing cepat dengan hemat biaya Freeware kunjungi www.mozilla.org/en-US/firefox Mozilla
11 Google Chrome Web Browser Browsing cepat, aman dan sederhana Freeware kunjungi www.google.com Google Inc
12 Skype Aplikasi Penyedia sarana komunikasi dengan biaya murah Rp. 96.000/Regular/bulan kunjungi www.skype.com Skype
13 Yahoo ! Messsenger Aplikasi  Social Media Freeware kunjungi www.messenger-yahoo.com Yahoo! Inc
14 Adobe Reader X Aplikasi Pembuka File Jenis PDF Rp. 565.000 kunjungi www.softmedia.com>home>windows>Official tools>pdf Adobe
15 Winamp Aplikasi  Pemutar Multimedia Freeware kunjungi www.Winamp>com Nullsoft, Inc
16 Avira Antivirus Anti Virus Pendeteksi Virus Freeware kunjungi www.antivirus-avira.com Avira Antivirus
17 GOM Player  Aplikasi Pemutar Multimedia Freeware kunjungi www.gomlab.com Gretech Corp
18 Need For Speed The Run Games Permainan Balapan Mobil Rp. 547.000 kunjungi www.store.origin.com/store Electronic Art Inc
19 Windows 7 Profesional 64 Bit Sistem Operasi Pendukung Kegunaan Software Lain Rp. 1.230.000 kunjungi www.microsoft.com Microsoft Corporation
20 Photoscape Aplikasi  Editing Foto/Gambar Freeware kunjungi www.Photoscape.com Photoscape

Pengenalan Sistem Operasi




Pengenalan Sistem Operasi
POKOK BAHASAN:
􀀹 Pengertian Sistem Operasi
􀀹 Perkembangan Sistem Operasi

TUJUAN BELAJAR:

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:
􀀹 Memahami definisi, maksud dan tujuan sistem operasi
􀀹 Memahami perkembangan sistem komputer dan sistem operasi

1.1         APAKAH SISTEM OPERASI ?

Sistem operasi adalah program yang bertindak sebagai perantara antara user
dengan perangkat keras komputer. Sistem operasi digunakan untuk mengeksekusi
program user dan memudahkan menyelesaikan permasalahan user. Selain itu dengan
adanya sistem operasi membuat sistem komputer nyaman digunakan. Sistem operasi
mempunyai tujuan untuk menggunakan perangkat keras komputer secara efisien.
Secara umum komponen sistem komputer terdiri dari :

1. Perangkat Keras, merupakan sumber daya utama untuk proses komputasi.
Perangkat keras komputer terdiri dari : CPU, memory dan perangkat input
output.
2. Sistem Operasi, mempunyai tugas untuk melakukan control dan koordinasi
penggunaan perangkat keras pada berbagai program aplikasi untuk user-user
yang berbeda.
3. Program Aplikasi, menentukan cara sumber daya sistem digunakan untuk
menyelesaikan permasalahan komputasi dari user, contohnya compiler, sistem
basis data, video games, program bisnis dan lain-lain.
4. User yang menggunakan sistem, terdiri dari orang, mesin atau komputer lain.

Sistem operasi didefinisikan sebagai :
Resource allocator
Sistem operasi mengatur dan mengalokasikan sumber daya – sumber daya
sistem komputer.
Sistem operasi melakukan control eksekusi dari program user dan operasi input
output.
Kernel
Sistem operasi sering disebut kernel, yaitu suatu program yang berjalan
sepanjang waktu (selain program aplikasi).

1.2         SISTEM MAINFRAME

Sistem komputer pendahulu secara fisik berbentuk mesin besar yang disebut
sistem mainframe. Untuk menjalankan sistem ini dilakukan dari suatu console.
Perangkat input yang digunakan berupa card reader dan tape drive. Perangkat output
yang digunakan berupa line printer, tape drive dan card punch. Kemudian, user
menyiapkan job yang terdiri dari program, data dan beberapa informasi kontrol (control
card) dan dikirimkan ke operator komputer. Job biasanya dalam bentuk punch card.
Beberapa waktu kemudian (dalam hitungan waktu menit, jam atau hari), output
ditampilkan. Output berupa hasil program, apabila terjadi error pada program memory
dan register akan berisi kosong.
Sistem operasi pada komputer mainframe sangat sederhana. Task utama
mengirim control secara otomatis dari satu job ke job berikutnya. Sistem operasi selalu
residen di memory yang disebut dengan resident monitor. Gambar 1-2 adalah gambaran
layout memori pada sistem batch sederhana.
Untuk meningkatkan kecepatan proses, job yang sama perlu dikumpulkan
bersama (batch) dan dijalankan oleh komputer sebagai satu kelompok. Kemudian
programmer memberikan program kepada operator. Operator akan mengurut program
yang sama dan kemudian komputer akan menjalankan setiap kumpulan program
tersebut. Output dari setiap job dikirim kembali kepada programmer.
Untuk menghindari adanya waktu nganggur CPU yang cukup lama maka
dikembangkan suatu teknik mengurutan kerja job secara otomatis. Teknik ini mampu
mentrasfer kontrol secara otomatis dari suatu job ke job berikutnya. Inilah bentuk sistem
operasi pertama kali. Program kecil yang bersifat residen di memori berisi urutan-urutan
job yang akan berpindah secara oromatis inilah yang disebut dengan Resident Monitor.
Jika komputer dinyalakan, maka sistem akan menunjuk ke resident monitor, secara
otomatis kontrol akan menunjuk ke program tersebut.

1.3         SISTEM BATCH MULTIPROGRAM

Beberapa job dikumpulkan oleh sistem operasi pada memory utama pada waktu
yang sama, seperti pada Gambar 1-3. Kumpulan job ini merupakan bagian dari job
yang disimpan pada pool (job pool). Job pool berisi job-job yang sudah siap dieksekusi.
Jumlah job dapat disimpan bersama-sama pada memory biasanya lebih kecil daripada
jumlah job yang dapat berada pada job pool. Sistem operasi mengambil beberapa job
yang siap untuk dieksekusi untuk diletakkan di memori utama. Jika job yang sedang
dieksekusi menunggu beberapa task (seperti proses mount tape drive atau operasi I/O
yang harus diselesaikan), maka job tersebut diganti dengan job berikutnya.
Pada sistem multiprogramming, sistem operasi harus menyediakan mekanisme
untuk manajemen memori, penjadwalan CPU dan manajemen disk. Sistem operasi
multiprogram menyediakan supply untuk I/O routine. Sistem harus dapat
mengalokasikan memory untuk beberapa job. Beberapa job yang sudah siap dieksekusi
akan dipilih oleh sistem job mana yang akan dieksekusi oleh CPU. Perangkat apa saja
yang diperlukan oleh setiap job juga harus dialokasikan oleh sistem.
Gambar 1: Memory layout pada simple batch system


1.4         SISTEM TIME SHARING

Time sharing atau multitasking adalah pengembangan dari sistem multiprogram.
Beberapa job yang berada pada memory utama dieksekusi oleh CPU secara bergantian.
CPU hanya bisa menjalankan program yang berada pada memory utama. Perpindahan
antar job terjadi sangat sering sehingga user dapat berinteraksi dengan setiap program
pada saat dijalankan. Suatu job akan dipindahkan dari memori ke disk dan sebaliknya.
Sistem time sharing juga disebut dengan sistem komputasi interaktif, dimana
sistem komputer menyediakan komunikasi on-line antara user dengan sistem. User
memberikan instruksi pada sistem operasi atau program secara langsung dan menerima
respon segera. Perangkat input berupa keyboard dan perangkat output berupa display
screen, seperti cathode-ray tube (CRT) atau monitor. Bila sistem operasi selesai
mengeksekusi satu perintah, makan sistem akan mencari pernyataan berikutnya dari
user melalui keyboard. Sistem menyediakan editor interaktif untuk menulis program
dan sistem debug untuk membantu melakukan debugging program.
Agar user dapat mengakses data dan kode program dengan nyaman, sistem
menyediakan sistem file online. Suatu file adalah kumpulan informasi yang
berhubungan yang didefinisikan oleh pembuatnya. Biasanya, file berupa program (baik
bentuk source dan object) dan data.

Gambar 2: Memory layout pada sistem batch multiprogram
 Data file berupa teks dengan format tertentu.
Secara umum, file adalah kumpulan bit, bite, baris atau record. Sistem operasi
mengimplementasikan konsep abstrak dari file dengan mengatur perangkat penyimpan
seperti tape dan disk. File secara normal diorganisasikan dalam logical cluster atau
directory, untuk memudahkan lokasi dan akses file.

1.5         SISTEM DESKTOP

Semakin turunnya harga perangkat keras, dikembangkan sistem komputer untuk
satu user. Jenis sistem komputer ini biasanya disebut dengan personal computer (PC).
Perangkat I/O berupa keyboard dan mouse, dan perangkat output berupa display screen
atau printer yang berkecepatan tinggi.
Personal komputer dikembangkan tahun 1970-an. Sistem ini disebut dengan
mikrokomputer. Sistem operasi masih belum dikembangkan untuk multiuser maupun
multitasking. Tujuan sistem operasi adalah untuk memaksimalkan utilitas CPU dan
peripheral, serta memaksimalkan kenyamanan dan respon user. Sistem operasi yang
dikembangkan adalah Microsoft Windows dan Apple Machintosh. Sistem operasi MSDOS
dari Microsoft yang masih single tasking dikembangkan oleh IBM menjadi OS/2
yang merupakan sistem multitasking.
Berkembangnya sistem komputer dari mainframe menjadi mikrokomputer
menunjukkan bahwa sistem operasi mikrokomputer dapat mengadopsi sistem
mainframe.
Contoh perpindahan sistem operasi adalah perkembangan sistem operasi
MULTICS. MULTICS dikembangkan tahun 1965 sampai 1970 oleh Massachusetts
Institute of Technology (MIT) sebagai utilitas komputasi yang berjalan pada komputer
mainframe yang besar dan komplek. Kemudian Beel Laboratories mengembangkan
MULTICS dengan mendesain UNIX tahun 1970 untuk minikomputer PDP-11. Tahun
1980, dikembangakan sistem operasi UNIX-like untuk sistem mikrokomputer menyusul
sistem operasi lain yaitu Microsoft Windows NT, IBM OS/2 dan Machintosh.

1.6 SISTEM PARALEL

Sistem paralel atau sistem multiprosessor mempunyai lebih dari satu prosessor
yang dapat berkomunikasi, membagi bus, clock dan juga perangkat memory dan
peripheral. Sistem ini disebut sebagai tightly coupled system.
Sistem ini dikembangkan karena beberapa alasan. Salah satu keuntungan dari
sistem ini adalah meningkatkan jumlah proses yang dapat dijalankan pada satu waktu
(throughput). Dengan meningkatkan jumlah prosessor, diharapkan pekerjaan dapat
dikerjakan dalam waktu yang lebih pendek.
Alasan lain dari pengembangan sistem multiprosessor adalah meningkatkan
kehandalan sistem. Jika fungsi dapat didistribusikan pada beberapa prosessor, maka
kegagalan dari satu prosessor tidak akan menghentikan sistem, tetapi hanya
memperlambat sistem. Jika terdapat 10 prosessor dan satu gagal, makan sisa 9
prosessor menggantikan pekerjaan prosessor yang gagal. Keseluruhan sistem hanya
memperlambat 10 persen. Kemampuan untuk melanjutkan penyediaan layanan untuk
menyelamatkan perangkat keras disebut gracefull degradation. Sistem yang didesain
untuk gracefull degradation juga disebut faul- tolerant
 Sistem multi prosessor yang sering digunakan adalah model symmetric
multiprocessing, dimana setiap prosessor menjalankan sistem operasi yang identik dan
komunikasi antar prosesor jika diperlukan. Beberapa sistem menggunakan asymmetric
multiprocessing, dimana setiap prosessor mempunyai tugas tetentu. Prosessor master
mengontrol sistem, prosessor lain menunggu instruksi master atau mempunyai tugas
yang ditentukan oleh master. Skema ini merupakan hubungan master-slave. Prosessor
master menjadwal dan mengalokasikan pekerjaan dari prosessor slave.
Contoh symmetric multiprocessing adalah sistem UNIX versi Encore’s untuk
komputer Multimax Komputer dapat dikonfigurasikan untuk menangani satu lusin
prosessor, semua menjalankan UNIX. Keuntungan dari model ini adalah bahwa
beberapa proses dapat berjalan pada satu waktu (N proses jika terdapat N CPU) tanpa
menyebabkan pengurangan performansi. Sehingga kita dapat mengontrol I/O secara
hati-hati untuk menjamin data mendapatkan prosessor yang tepat. Arsitektur dari
symmetric multiprocessing dapat dilihat pada Gambar 3.


1.7         SISTEM TERDISTRIBUSI

Tren sistem komputer saat ini adalah mendistribusikan komputasi diantara
beberapa prosessor. Prosessor berkomunikasi dengan prosessor lain melalui saluran
komunikasi, misalnya bus kecepatan tinggi atau saluran telepon. Sistem ini disebut
loosely coupled system atau sistem terdistribusi (distributed system).
Prosessor pada sistem terdistribusi bervariasi ukuran dan fungsinya. Biasanya
terdiri dari mikroposessor, workstation, minikomputer dan sistem komputer generalpurpose.
Prosessor-prosessor ini disebut dengan site, node, komputer atau lainnya.
Keuntungan dari sistem terdistribusi adalah :
Resource sharing
Jika sejumlah site yang berbeda dihubungkan, maka user pada site satu dapat
menggunakan sumber daya dari site lainya. Sebagai contoh, user pada site A dapat
menggunakan printer laser dari site B. Sebaliknya user B dapat mengakses file user
A.
Meningkatkan kecepatan komputasi
Jika komputasi tertentu dapat dipartisi dalam sejumlah sub komputasi yang dapat
berjalan secara konkuren, maka sistem terdistribusi dapat mendistribusikan
komputasi pada beberapa site untuk menjalankan komputasi secara konkuren.
Lebih handal
Jika satu site gagal pada sistem terdistribusi, sisa site dapat melanjutkan operasinya.
Jika sistem dibagi sejumlah instalasi besar, maka kegagalan salah satunya tidak
berakibat pada sisa sistem. Sebaliknya, jika sistem dibagi dalam sejumlah mesin
kecil, masing-masing bertanggung jawab pada fungsi sistem yang penting (misalnya
terminal karakter I/O atau sistem file), maka satu kegagalan dapat menghentikan
oeprasi dari keseluruhan sistem. Secara umum, jika terjadi redudansi pada sistem
(baik perangkat keras maupun perangkat lunak), sistem dapat menjalankan
operasinya meskipun beberapa site gagal.
Komunikasi
Terdapat beberapa anggota program yang memerlukan mengganti data dengan data
lain pada satu sistem. Sistem Windows contohnya, sering terjadi membagi data atau
transfer data antara display. Jika beberapa site dihubungkan dengan lainnya dengan
jaringan komunikasi, prosessor pada site yang berbeda dapat menukar informasi.
User melakukan transfer file atau komunikasi dengan user lain melalui electronic
mail. Seorang user dapat mengirim mail ke user lain pada site yang sama atau site
yang berbeda.
Sistem terdistribusi memerlukan infrastruktur jaringan, berupa local area
network (LAN) atau wide area network (WAN). Sistem terdistribusi biasanya disebut
dengan sistem client-server atau peer-to-peer. Arsitektur dari sistem client server dapat
dilihat pada Gambar 4.


1.8         SISTEM TERKLASTER

Sistem terklaster (clustered system) adalah pengembangan dari sistem
terdistribusi. Perbedaan sistem terklaster dengan sistem terdistribusi adalah pada sistem
terklaster memungkinkan dua atau lebih sistem untuk membagi penyimpan sekunder
(storage) bersama-sama. Sistem ini mempunyai kehandalan sistem yang tinggi seperti
pada sistem terdistribusi.
Sistem terklaster dapat berupa model asymmetric clustering dimana satu serber
menjalankan aplikasi sementara server lainnya standby. Model lainnya adalah
symmetric clustering dimana semua host menjalankan aplikasi.

1.9         SISTEM REAL TIME

Salah satu bentuk sistem operasi untuk keperluan khusus adalah sistem real
time. Sistem real time digunakan bila terdapat kebutuhan keteptan waktu pa operasi
prosessor atau aliran data sehingga sering digunakan untuk perangkat control pada suatu
aplikasi seperti mengontrol percobaan keilmuan, sistem medical imaging, sistem control
industri dan beberapa sistem display. Pada sistem real time harus didefinisikan batasan
waktu yang tetap. Pemrosesan harus dikerjakan dalam waktu tertentu atau sistem akan
gagal. Sebagai contoh, jika lengan robot tidak diinstruksikan untuk berhenti segera
maka dapat merusak robot tersebut.
Terdapat dua bentuk sistem real time. Sistem hard real time menjamin tugas
kritis diselesaikan tepat waktu. Pada sistem ini penyimpan sekunder terbatas atau tidak
digunakan, data langsung dikirim ke memory atau read-only memory (ROM) dalam
waktu singkat. Pada sistem hard real time terjadi konflik pada sistem time sharing dan
tidak didukung oleh sistem operasi tujuan umum. Bentuk lainnya adalah soft real time
dimana tugas kritis mendapatkan prioritas lebih tinggi dari tugas lain dan setelah satu
task selesai maka task berprioritas ini akan diselesaikan. Sistem ini terbatas pada
industri pengontrol robot. Sangat berguna pada aplikasi multimedia dan virtual rality
yang membutuhkan fitur sistem operasi tertentu.

1.10      SISTEM HANDHELD

Sekitar tahun 1990-an dikembangkan sistem yang lebih kecil dari
mikrokompuer yang disebut dengan sistem handheld dalam bentuk personal digital
assistants (PDA). Pada beberapa sistem terdapat telepon selular. Sistem ini
mempunyai memory yang terbatas, prosessor dengan kecepatan rendah dan display
screen yang kecil. Perkembangan sistem komputer dari sistem mainframe sampai
handheld dan perkembangan sistem operasi dapat dilihat pada Gambar 5.