Kamis, 03 Mei 2012
Sistem Operasi BAB I
P E N D A H U L U A N
Tanpa perangkat lunak (software) sebuah komputer sebenarnya sekumpulan besi yang tidak berguna. Dengan software sebuah komputer dapat digunakan untuk menyimpan, mengolah data (memproses) dan mendapatkan kembali informasi yang telah disimpan, menemukan kesalahan dalam program, memainkan games dan menggunakan banyak aktivitas lainnya yang bernilai. Pada umumnya program komputer dapat dibagi menjadi dua kategori, yaitu :
a. Program sistem (system program). Yang berfungsi untuk mengatur operasi dari komputer itu sendiri.
b. Program aplikasi (application program). Yang berfungsi untuk membantu menyelesaikan masalah untuk pemakainya.
1. Blok Diagram Komputer
Gambar 1. Diagram Blok Komputer
Dasar yang sangat penting dari semua program sistem adalah operating system yang mengontrol semua sumber daya komputer dan menyediakan landasan sehingga sebuah program aplikasi dapat ditulis atau dijalankan.
Banyak cara / metode yang menyediakan pelindung (sheild) atau sesuatu yang dapat menyembunyikan programmer dari kekomplekan perangkat keras. Salah satunya dengan menentukan / membuat sebuah lapis (layer) perangkat lunak yang mengendalikan komponen pokok perangkat keras, mengatur semua bagian sistem dan menyediakan pemakai dengan antarmuak (interface) / virtual machine yang memudahkan memahami dan memprogram. Lapisan dari perangkat lunak tersebut adalah operating system.
User
|
||||
Banking
|
Word
|
Game
|
Program
|
|
System
|
Processing
|
Aplikasi
|
||
Compiler
|
Utility
|
Command
|
Program
|
|
Interpreter
|
||||
Sistem Operasi (Operating System)
|
Sistem
|
|||
Bahasa Mesin (Machine Language)
|
Hardware
|
|||
Pemrograman Mikro (Microprogramming)
|
||||
Perangkat Fisik (Physical Devices)
|
Gambar 2. Komponen Sistem Komputer
Keterangan :
- Perangkat keras / hardware membentuk dua atau lebih lapis. Lapis yang paling bawah (physical devices) berisi perangkat fisik, yang terdiri dari integrasi circuit chips, kabel (wires), power supplies, cathode ray tubes (CRT) dan perangkat lainnya yang dibuat dan sistem kerjanya merupakan bagian insinyur elektronik.
- Lapis berikutnya, software primitive langsung mengontrol peralatan tersebut (physical devices) dan menyediakan interface (a cleaner interface) untuk layer diatasnya dikenal dengan microprogram yang ditempatkan dalam read-only memory (ROM). Sebenarnya microprogram berfungsi sebagai penerjemah, mengambil (fetching) intruksi bahasa mesin, seperti ADD, MOVE dan JUMP serta melaksanakan proses-proses kecil yang saling terkait. Contohnya apabila melaksanakan instruksi ADD, microprogram harus menentukan dimana angka-angka yang ditambahkan ditempatkan (disimpan sementara), mengambilnya, menambahkannya dan menyimpan hasilnya disuatu tempat tertentu.
- Sekumpulan instruksi yang diterjemahkan microprogram disebut machine language (bahasa mesin), yang memilikim 50 sampai 300 instruksi yang kenyataannya bukan bagian dari perangkat mesin semuanya, tetapi pembuat komputer selalu menjelaskannya dalam manualnya (sejenis buku panduan perangkat kerasnya), sehingga banyak orang mengira sebagai mesin sesungguhnya. Dalam lapis ini, perangkat masukan/keluaran mengontrol pemuatan nilai ke dalam register khusus.
- Fungsi utama dari Operating System adalah menyembunyikan semua kekomplekan / kerumitan dan memberikan programmer sebuah kenyamanan, kemudahan, kepraktisan dari instruksi yang digunakan untuk bekerja dengannya, contohnya, READ BLOCK FROM FILE adalah konsep / gagasan penyederhanaan daripada harus berpikir tentang bagaimana memindahkan head disk secara rinci, menunggu untuk menjadi tenang (posisi istirahat).
- Diatas lapis Operating System (OS) adalah untuk menempatkan software system. Dari sini ditemukan penerjemah perintah (command interpreter/shield), compiler, editor dan application program independent. Adalah penting untuk menyadari/merealisasikan bahwa program-program ini dengan pasti bukan bagian dari SO, walaupun secara khas disediakan oleh pembuat komputer. OS adalah bagian dari software yang dijalankan dalam kernel mode atau supervisor mode. SO memproteksi dari pemakai yang menganggu pemakain hardware
- Compiler dan editors dijalankan dalam user mode. Jika seorang tidak suka sebuah compiler khusus, pemakai bebas menulis miliknya jika dapat memilih dan tentunya tidak bebas untuk menangani interrupt disk yang merupakan bagian dari OS dan normalnya akan memproteksi hardware terhadap usaha pemakai untuk memodifikasinya.
- Diatas layer system program adalah application program. Program ini ditulis oleh user untuk memecahkan masalah khusus, seperti proses pengolahan data, perhitungan rekayasa atau memainkan sebuah permainan.
2. Sistem
Operasi Komputer
q Pengertian Sistem Operasi
Ø Seperangkat program yang memantau dan
mengatur pemakaian sumber daya komputer (processor, main memory, file, I/O
device, dll).
Ø
Menjembatani / penghubung antara user
(program user) dengan perangkat keras komputer.
q Fungsi Sistem Operasi
Ø Sebagai Resource Manager /pengelola
seluruh sumber daya system komputer
ü Mengatur dan mengefisienkan penggunaan
selluruh sumber daya komputer (computer resources)
ü Tugas utamanya : memantau penggunaan
semua resources; menerapkan aturan (policy); mengalokasikan resources yang
diminta; mengambil kembali (dealokasi) resource
ü
Sumber daya pada komputer terdiri dari
:
- Sumber daya fisik, misalnya : Keyboard, bar-code reader, mouse, joystick, light-pen, touch-screen, pointing devices, floppy disk drive, harddisk, tape drive, optical disk, CD ROM drive, CRT, LCD, printer, modem, ethernet card, PCMCIA, RAM, cache memory, register, kamera, sound card, radio, digitizer, scanner, plotter, dan sebagainya.
- Sumber daya abstrak, terdiri dari :Data dan Program
Ø Sebagai Extended Machine (Virtual
Machine), penyedia layanan
ü Menyembunyikan kompleksitas / kerumitan
pemrograman hardware dari programmer atau user.
ü Menyajikan fasilitas yang lebih mudah
dan sederhana untuk menggunakan hardware.
q Konsep Sistem Operasi
Ø Proses
ü
Proses adalah program yang sedang
di-eksekusi.
ü Proses terdiri dari : Executable
program; program data dan stack; program counter; dll
ü Pada sistem timesharing secara periodik
sistem operasi menggilir eksekusi proses-proses yang ada, biasanya berdasarkan
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.
·
Tabel proses (process table) adalah
tabel yang berisi informasi tentang
semua proses yang dijalankan.
·
Suatu proses terdiri dari : address
space (core image) dan atribut / informasi pada tabel proses
ü
System call utama dalam pengaturan
proses adalah yang berkaitan dengan pembuatan dan pemberhentian suatu proses.
Contoh :
·
Command
interpreter atau shell akan membaca command yang diketikkan user pada terminal,
dan membuat proses yang menjalankan command tersebut.
·
Bila
telah selesai, maka proses akan menjalankan system call untuk menghentikan
dirinya.
ü Suatu proses dapat men-create proses lainnya yang disebut
sebagai child process.
ü
Sistem operasi dapat berkomunikasi
dengan suatu proses dengan menggunakan signal.
ü
Signal juga dapat digunakan untuk
komunikasi antar proses.
ü Pada sistem multiprogramming, setiap
proses memiliki 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. SO mendukung konsep direktori.
Ø System Calls / API (Aplication
Programming Interface)
ü Suatu set tata cara pemanggilan di
program aplikasi untuk memperoleh layanan system operasi. Berupa extended instructions / perluasan
instruksi yang merupakan interface / layanan langsung antara program-program
dengan sistem operasi.
ü System calls meng-create, men-delete dan
menggunakan objek-objek yang diatur oleh system operasi, antara lain : proses-proses
dan file-file.
ü Library procedure meletakkan
parameter-parameter system call pada tempat tertentu dan memberikan instruksi
trap untuk memulai sistem operasi
ü Trap instruction : ketika diterima oleh
sistem operasi, sistem memeriksa apakah parameter tersebut valid atau tidak
ü Return form trap : sistem operasi
mengembalikan kontrol ke library procedure
ü Contoh mekanisme system calls untuk
READ pada program C.
count = read (file, buffer, nbytes)
Ø Shell
ü Shell pada Unix merupakan command
interpreter yang walaupun bukan merupakan bagian dari sistem operasi,
menggunakan banyak feature sistem operasi
ü
Prompt : standar input, menandakan
bahwa shell siap menerima 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
q Struktur Sistem Operasi
Ø Sistem Monolitik
ü
Konsep : “Sistem operasi sebagai
kumpulan prosedur dimana prosedur dapat saling dipanggil oleh prosedur lain di
sistem bila diperlukan”.
ü
Kernel berisi semua
layanan yang disediakan sistem operasi untuk pemakai.
ü Contoh : Sistem Operasi Unix
menggunakan konsep kernel loadable
modules, yaitu :
·
Bagian-bagian
kernel terpenting berada dimemori
utama secara tetap.
·
Bagian-bagian
esensi lain berupa modul yang dapat ditambahkan ke kernel saat diperlukan 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 dibentuk secara hirarki berdasarkan lapisan-lapisan, dimana
lapisan-lapisan memberi layanan lapisan lebih atas”.
ü Dimaksudkan
untuk mengurangi kompleksitas rancangan dan implementasi system operasi. Tiap
lapisan mempunyai fungsional dan antarmuka I/O antara dua lapisan bersebelahan.
ü Contoh
:
·
Sistem Operasi THE (Technique
Hogesschool Endiche), Djikstra, 1968.
·
Sistem Operasi MULTICS (menggunakan concentric rings).
Tabel 1. Lapisan-lapisan
pada Sistem Operasi THE
Layer
|
Function
|
Fungsi
|
5
|
The
Operator
|
Untuk
operator
|
4
|
User
Programs
|
Untuk
aplikasi program pemakai
|
3
|
I/O Management
|
Untuk
menyederhanakan akses I/O pada level atas
|
2
|
Operator-Process
Communication
|
Untuk mengatur komunikasi antar proses
|
1
|
Memory
& Drum Management
|
Untuk
mengatur alokasi ruang memori / drum magnetic
|
0
|
Processor
Allocation & Multiprogramming
|
Untuk
mengatur aloksi pemroses dan switching multiprogramming dan pengaturan
prosesor
|
Keterangan :
- Lapisan n memberi layanan untuk lapisan n+1. Proses-proses di lapisan n dapat meminta layanan lapisan n-1 untuk memberikan layanan bagi lapisan n+1. Tetapi lapisan n tidak dapat meminta layanan n+1. Kelanjutan sistem berlapis adalah sistem berstruktur cincin seperti sistem MULTICS yang terdiri 64 lapisan cincin dimana satu lapisan mempunyai fungsi berbeda. Lapisan n-1 mempunyai kewenangan lebih dibanding lapisan n. Untuk meminta layanan lapisan n-1, lapisan n melakukan trap. Kemudian, lapisan n-1 mengambil kendali sepenuhnya untuk melayani lapisan n.
Ø
Sistem dengan Mesin Maya (Virtual Machines)
ü
Konsep : “Awalnya struktur ini membuat seolah-olah user mempunyai seluruh komputer dengan simulasi atas pemroses yang
digunakan. Sistem operasi melakukan simulasi mesin nyata. Mesin hasil simulasi
digunakan user, mesin maya merupakan
tiruan 100% atas mesin nyata. Semua user diberi ilusi mempunyai
satu mesin yang sama-sama canggih”.
ü Contoh
:
·
Sistem operasi MS-Windows NT dapat menjalankan aplikasi MS-Dos, OS/2 mode
teks, dan Win 16.
·
Pengembang Linux membuat DOSEMU agar aplikasi MS-Dos dapat dijalankan di
Linux, WINE agar aplikasi MS-Windows dapat dijalankan di Linux, iBCS agar
aplikasi SCO-Unix dapat dijalankan di Linux.
ü CP/CMS
ü VM/370
ü Virtual
Machine Monitor
ü CMS
(Conversational Monitor System)
Ø Sistem
dengan Client-Server
ü Konsep
: “Server adalah proses yang
menyediakan layanan, dan Client adalah
proses yang memerlukan / meminta layanan. Proses client yang memerlukan layanan mengirim pesan ke server dan menanti pesan jawaban. Proses
server setelah melakukan tugas yang
diminta, mengirim hasil dalam bentuk pesan jawaban ke proses client. Server hanya menanggapi permintaan client dan tidak memulai percakapan dengan client”.
Client
|
Client
|
Process
|
Term.
|
|
File
|
Mem
|
User
|
Process
|
Process
|
Server
|
Server
|
…
|
Server
|
Server
|
Mode
|
|
|
|
|
|
|
|
Kernel
|
|
|
|
|
|
|
|
Mode
|
|
|
Kernel
|
|
|
|
|
|
Client obtains service by sending
messages
to server processes
Gambar 6. Model Client Server
Ø Model Client Server pada distributed
system
Client
|
|
Client
|
|
Client
|
|
Client
|
Kernel
|
|
Kernel
|
|
Kernel
|
|
Kernel
|
Message from client to server NETWORK
Gambar 7. Model Client Server pada
Distributed System
Ø 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.
q Layanan Sistem Operasi Komputer
Ø Layanan Otomatis : Alokasi sumberdaya;
Catatan pemakaian; Proteksi; Penanganan kekeliruan; Pindah baris; Gulung
jendela pada monitor
Ø Layanan permintaan pemakaian : Loading;
Mengolah/run; Menyimpan/save; Menghapus/delete
q 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. Sejarah
Perkembangan Sistem Operasi
q Generasi Sistem Operasi
Ø
Generasi ke-1 (1945-1955) : Vacuum
Tubes dan Plugboards
ü Analytical Engine (Charles Babbage)
ü Calculating Engine menggunakan vacuum
tubes (Howard Aitken, John von Neumann, J.P Eckert, Konrad Zuse)
ü Beluam ada bahasa pemrograman
ü Belum ada sistem operasi, system
komputer diberi instruksi yang harus dikerjakan langsung.
ü Operasi menggunakan plugboard
ü Pengenalan punched card
Ø
Generasi Ke-2 (1955-1965) : Transistors
dan Batch System
ü Tetap belum
dilengkapi system operasi. Tetapi
beberapa fungsi dasar SO sudah ada.
ü Pengenalan transistor untuk komputer
ü Pemisahan
fungsi personil :Designer , Operator, Programmer dan Maintenance personel
ü Pengenalan job (program atau
seperangkat program)
ü Penggunaan bahasa FORTRAN, Assembeler
ü Penerapan Batch System
ü Pengoperasian Off-Line
ü
Penggunaan mesin-mesin besar untuk
kalkulasi sains dan engineering
ü
Typical operating system : FMS (Fortran
Monitor System) dan IBSYS (sistem operasi untuk IBM 7094)
Ø Generasi Ke-3 (1965-1980) : IC dan
Multiprogramming
ü
IBM mengenalkan IBM 360 dengan sistem
operasi OS/360
ü Menggunakan Integrated Circuit (IC)
ü
Dapat menangani komputasi sains dan
komersial
ü Mengadopsi konsep ‘one family’
ü
Sistem operasi berukuran besar dan
kompleks
ü
Mengenalkan multiuser, komputer
memiliki resource yang dapat digunakan oleh banyak orang sekaligus
ü
Mengenalkan multiprogramming, komputer
melayani banyak proses sekaligus pada waktu yang bersamaan dengan menerapkan
partisi memori menjadi beberapa bagian memori dengan satu bagian memori untuk
satu job berbeda. Saat satu job menunggu operasi I/O selesai, job lain
dapat menggunakan proses.
Partisi
Memori
Job 3
Job 2
Job 1
Sistem operasi
ü Mengenalkan Time Sharing (berbagi
waktu), tiap pemakai mempunyai satu terminal online dengan pemroses hanya
memberi layana pada pemakai yang aktif secara bergantian secara cepat. Pemakai
akan merasa dilayani terus menerus. Padahal sebenarnya secara bergantian.
ü Mengenalkan SPOOLING (Simultaneous
Peripheral Operation On Line), membuat peripheral seolah-olah dapat digunakan
bersamaan, dapat diaksis secara simultan yaitu dengan cara menyediakan beberapa
partisi memori. Saat terdapat permintaan layanan peripheral, langsung diterima
dan data disimpan lebih dulu di memori yang disediakan berupa antrian kemudian
dijadwalkan agar secara nyata dilayani peripheral.
ü Sistem time sharing pertama, CTSS,
dikembangkan di MIT
ü Usaha pengembangan ‘computer utility’
mesin yang dapat menunjang ratusan time sharing user
ü
Pengembangan komputer MINI (DEC-PDP-1
s/d PDP-11)
ü
Ken Thompson mengembangkan versi satu
pemakai (single user) dari MULTICS (MULTIplex and Computing Services)
ü UNIX (Uniplexed Information and
Computing Services)
Ø
Generasi Ke-4 (1980-1990) : LSI,
VLSI, dan Personal Computer (PC)
ü
Pengembangan LSI dan VLSI melahirkan
PC dan Workstation
ü Perangkat lunaknya ‘user friendly’
ü Dua sistem operasi yang dominan :
·
MS-DOS
(pada IBM-PC dengan CPU Intel 8088, 80286, 80386, 80486)
·
UNIX
(pada Non-Intel computer dan workstation)
ü RISC Chips
ü Network Operating System
ü Distributed Operating System
Ø Generasi Ke-5 (1990-sekarang) : VLSI,
ULSI an teknologi Nano Second, Internet, Multimedia
ü Pengembangan VLSI an ULSI melahirkan PC
yang berbasis Pentium untuk server maupun workstation
ü Pengembangan sistem operasi windows
ü Pengembangan internet dan multimedia
ü Pengembangan aplikasi yang berbasis Web
atau WWW
ü dll.
|
|
|
CONTOH KASUS :
q Linux
q MS Dos
Sistem operasi
MS Dos berisi :
Ibmbio.com,
yaitu disk dan character I/O System
IO.sys, yaitu
disk dan file manager
MSDOS.sys,
yaitu command processor, shellprimitif
Sistem operasi
kompatibel dengan CP/M, dengan peningkatan alokasi disk, lebih cepat dan
mendukung shell script primitif disebut batch files.
q MS Windows
Microsoft Windows 95 merupakan sistem
operasi Windows yang terintegrasi dan lengkap mulai dengan fungsi-fungsi dasar
yang sekarang ada pada MS Windows, Windows dan Windows for Workgroup.
Agar PC lebih mudah dipakai, diberikan shell baru. Plug and Play (PnP) yang terintegrasi kedalam sistem operasi,
termasuk wizard untuk memandu para
pemakai melalui sistem operasi dan memberikan interface pemakai yang konsisten untuk seluruh komponen sistem
operasi dan spasi nama. Kecepatan dan daya tambahan dari sistem operasi 32-bit
modern dengan preemptive multitasking,
thread dan plaltform untuk
generasi baru aplikasi 32-bit.
Windows 95 adalah sistem operasi
lengkap yang tidak dibatasi oleh MS Dos dan punya semua manfaat dari sistem
operasi grafis yang lengkap yang ada pada dirinya. Dalam hal konektivitas baik
dalam LAN, WAN maupun nobile dial-up dibuat
konektivitas ke sumber daya yang bersifat remote
semudah hubungan ke sumber daya lokal. Dan dimasukkan akses ke informasi
elektronik untuk surat
elektronik dan layanan on-line. Dan
juga Windows 95 dibuat kompatibel dengan software dan hardware yang dimiliki
pemakai pada saat ini.
Walaupun Microsoft mengeluarkan sistem
operasi baru dengan format grafis dan ber-arsitektur 32 bit, bukan berarti
sistem operasi ini mutlak dipakai. Ini hanya sebagai sistem operasi alternatif
yang sudah ada, seperti UNIX, IBM OS2/Warp, Oracle, IBM AS/400, dan lain-lain.
PERTANYAAN :
1.
Sebutkan dua fungsi utama sistem
operasi ?
2.
Apa yang dimaksud dengan
multiprogramming ? Berikan dua alasan diadakannya multiprogramming !
3.
Apa yang dimaksud dengan spooling
? Apakah anda menganggap personal
komputer harus memiliki spooling sebagai standar dasar di masa yang akan
datang?
4.
Pada awal perkembangan komputer, setiap
byte data yang dibaca atau yang ditulis ditangani oleh CPU (tidak ada
DMA-Direct Memory Access). Apa implikasinya struktur seperti ini
terhadap konsep multiprogramming.
5.
Mengapa timesharing tidak tersebar luas
pada generasi ke-2 komputer ?
6.
Instruksi-instruksi manakah yang
diperbolehkan dalam Mode Kernel :
a. Disable all interupts.
b. Read the time-of-day clock.
c. Set the time-of-day clock.
d. Change the memory map.
7.
Sebutkan
beberapa perbedaan sistem operasi pada personal komputer dengan sistem operasi
pada mainframe!
8.
Bagaimana
secara umum sistem operasi memberitahukan kepada direktori kerja apakah path name
untuk sebuah file adalah absolute atau relative?
9.
Mengapa shell bukan bagian dari sistem
operasi ?
10. Berikan sebuah
contoh bagaimana mekanisme dan kebijaksanaan bisa terpisah dengan baik dari
pejadwalan. Buat sebuah mekanisme yang bisa mengijinkan sebuah parent process
untuk mengontrol kebijaksanaan penjadwalan children.
11. Model Client-Server tekenal didalam
distributed systems. Dapatkah juga digunakan dalam sistem komputer tunggal ?
12. Mengapa proses tabel membutuhkan sistem
timesharing? Apakah hal ini juga dibutuhkan
dalam system personal computer yang pada suatu saat hanya terdapat satu proses
yang sedang bekerja dan mengambil alih mesin sampai proses tersebut selesai ?
13. Apa perbedaan mendasar diantara blok
special file dan character special file.
Langganan:
Posting Komentar
(
Atom
)
Tidak ada komentar :
Posting Komentar