MEMAHAMI SISTEM OPERASI
VMS
(Virtual
Memory System)
Sebuah
Pengantar
Oleh
Julius
Hermawan
A.
SEJARAH PERKEMBANGAN
Version
|
Time
|
Features
(excluding HW support) |
1.0
|
1978
|
first
non-beta version |
1.5
|
1978
|
|
2.0
|
1980
|
basic
file utilities moved from RSX PIP to native |
2.1
|
|
|
2.2
|
1981
|
|
2.3
|
|
|
2.4
|
|
|
2.5
|
1980
|
|
3.0
|
1982
|
EDT-editor,
MONITOR, DECnet, standalone BACKUP, ASMP |
3.1
|
|
|
3.2
|
|
|
3.3
|
|
|
3.4
|
1984
|
|
3.5
|
1984
|
|
3.6
|
1984
|
|
3.7
|
1984
|
|
4.0
|
1984
|
clusters,
split of VMSRTL, long filenames, DECnet phase IV, DCL recall/edit, C
RTL, XQP, ACL's |
4.1
|
1984
|
|
|
|
|
4.2
|
1985
|
|
4.3
|
1986
|
|
4.4
|
1986
|
volume
shadowing, TPU-editor, SMG$-routines |
4.5
|
1986
|
|
4.6
|
1987
|
|
4.7
|
1987
|
|
5.0
|
1988
|
SMP,
LMF, kernel split |
5.1
|
1989
|
DECwindows
|
5.2
|
1989
|
|
5.3
|
1989
|
|
5.4
|
1990
|
host-based
volume shadowing |
5.5
VAX |
1991
|
POSIX,
DECthreads, DECnet Phase V |
1.0
AXP |
1992
|
first
version on Alpha |
1.5
AXP |
1993
|
cluster
on Alpha, SMP on Alpha |
6.0
VAX |
1993
|
VIOC,
C2 classification, C++ RTL |
6.1
VAX & AXP |
1994
|
PCSI,
movefile, XQP+ |
6.2
VAX & Alpha |
1995
|
management
station, DCL$PATH |
7.0
VAX & Alpha |
1995
|
64
bit support (Alpha only), kernel threads (Alpha only), fast IO path
(Alpha only) |
7.1
VAX & Alpha |
1996
|
memory
channel (Alpha only), PIPE |
7.2
VAX & Alpha |
1998
|
JDK
(Alpha only), ODS-5 (Alpha only), COM (Alpha only), Galaxy (Alpha
only) |
Perbandingan
banyaknya kode pada beberapa versi sistem operasi VMS:
Versi |
Jumlah
kode (juta baris) |
VMS
3.0 |
0.9 |
VMS
5.0 |
5 |
VMS
5.4 |
6.5 |
VMS
7.1 |
25 |
OpenVMS
ditulis dalam berbagai jenis bahasa pemrograman seperti: Bliss, Macro,Ada,
PLI, VAX dan DEC C, Fortran, UIL, VAX dan Alpha SDL,
Pascal, MDL, DEC C++, DCL, Message, dan Document.
Sistem
Operasi VMS dipromosikan telah menjadi standar industri untuk sistem operasi
dalam reliability, scalability, data integrity, dan continuous computing yang
mendukung operasi 24 jam dalam satu hari dan 365 hari dalam satu tahun.
B.
PROCESS MANAGEMENT
1.
Proses
Sistem
Operasi seperti OpenVMS beroperasi di memory dalam suatu privileged mode
yang dilindungi terhadap modifikasi yang mungkin dilakukan oleh program yang
dijalankan oleh normal user. OpenVMS
memiliki sistem file yang bisa memberi satu properti di program dan file yang
disimpan dalam disk sehingga tidak bisa dimodifikasi oleh non-privileged
user. Juga terdapat
aplikasi dan konfigurasi tertentu yang menghindari eksekusi program yang tidak
terkontrol akibat penggunaan email atau akses web.
Sebuah
proses bisa membuat beberapa proses baru.
Pembuat proses disebut proses induk, dan proses baru yang dibuat
disebut proses anak. Proses induk
membuat proses anak, kemudian sistem operasi akan mengisi program yang
bersesuaian ke dalam proses anak tersebut,
dan menjalankannya. Proses
anak sangat tergantung pada proses induk, sehingga bila proses induk di-terminate
maka seluruh proses anak akan ikut di-terminate.
Ini yang disebut sebagai cascading termination.
Dalam
VMS dimungkinkan membuat sebuah proses dibawah username yang lain, misalnya
proses server dioperasikan dengan menggunakan privileges user, namun masih di
dalam satu model sekuriti yang khusus.
Terdapat
beberapa cara untuk melakukan proses ini:
o
Menggunakan
pemanggil SYS$CHKPRO dan SYS$CHECK_ACCESS
o
Menggunakan
persona
system services
SYS$PERSONA_*
o
Melalui
fasilitas DECnet task-to-task
menggunakan spesifikasi username dan password secara eksplisit, atau bisa juga
menggunakan DECnet proxy. Hasilnya
adalah network-mode
job
di bawah target user.
o
Menggunakan
argumen username melalui pemanggil SYS$SNDJBC.
Hasilnya adalah batch-mode
job
dibawah target user.
o
Menggunakan
argumen UIC dengan pemanggil SYS$CREPRC
o
Melalui
pseudo-terminal
OpenVMS
memberikan beberapa fasilitas untuk aplikasi yang menuntut adanya beberapa
proses yang saling bekerjasama, yaitu:
o
Mailbox
sebagai virtual device yang memungkinkan proses berkomunikasi dengan queued
message,
o
Shared
memory
pada prosesor tunggal atau sistem SMP (symmetric multiprocessing) yang
memungkinkan beberapa proses mengakses shared address space secara
concurrent,
o
Event
flags
umum yang memberi kemudahan untuk melakukan sinkronisasi,
o
Lock
manager
yang memberi fasilitas enqueue/dequeue pada multilevel locks dan
asynchronous system traps (ASTs),
o
Jasa
komunikasi secara intracluster yang digunakan oleh 2 proses yang sedang
berjalan dalam satu sistem maupun pada node yang berbeda untuk membuat koneksi
dan bertukar data,
o
Logical
name
yang digunakan proses untuk membagi informasi ke proses lain yang berjalan
dalam satu sistem maupun pada node cluster yang berbeda,
o
Komunikasi
interproses untuk network tersedia melalui jasa TCP/IP dan DECnetPLUS.
OpenVMS
menyediakan symmetric multiprocessing (SMP) untuk mendukung mesin
dengan multi-prosesor. SMP
merupakan multiprocessing yang bersifat tightly coupled.
Semua prosesor bisa melakukan operasi pada semua jenis mode akses:
user, supervisor, executive, dan kernel.
Konfigurasi SMP terdiri dari beberapa CPU yang mengeksekusi kode dari shared
memory address space tunggal. User
dan proses saling berbagi satu copy dari OpenVMS address space.
SMP juga memungkinkan berbagi akses secara simultan terhadap data umum
yang ada di global section untuk semua prosesor.
SMP bertugas memilih CPU mana untuk menjalankan proses berdasarkan
prioritasnya. Karena sistem SMP
merupakan entiti sistem tunggal, maka dikonfigurasikan ke dalam network dan
konfigurasi cluster sebagai satu node tersendiri.
Dalam
OpenVMS juga terdapat user-mode – multithreading capability yang
disebut DECthreads. DECthreads
adalah library dari run-time routines yang memungkinkan user
untuk membuat beberapa thread yang dieksekusi dalam address space
tunggal. DECthreads
memudahkan proses concurrent di semua CPU pada sistem multiprosesor
dengan memungkinkan aplikasi multithreading menjalankan sebuah thread pada
setiap CPU. Multithreading
memungkinkan aktivitas komputasi mendahului aktivitas I/O.
Untuk menjamin bahwa shared resources melakukan akses secara
benar pada multithreading ini, OpenVMS menyediakan elemen sinkronisasi seperti
mutexes dan condition variables.
Untuk scheduling dan prioritizing threads, DECthreads
memberlakukan kebijakan multiple scheduling.
Untuk debugging aplikasi multithreaded, DECthreads didukung oleh
OpenVMS Debugger. DECthreads juga
menyediakan Thread Independent Services (TIS) untuk membantu pengembangan
thread-safe APIs. DECthreads
dalam OpenVMS mendukung
POSIX
1003.1-1996 standard style threads interface.
2.
CPU Scheduling
VMS
bisa menangani sampai dengan 16384 proses concurrent di mesin Alpha atau 8192
proses concurrent di mesin VAX. Untuk
melayani semua proses yang berjalan dalam satu waktu tersebut diperlukan satu
sistem penjadualan yang handal dalam CPU.
Unit
dasar eksekusi dalam OpenVMS adalah kernel thread.
Kernel thread terdiri dari individual address space dan
registers yang dikenal sebagai context, dan kode yang disebut executable
image. Context
mengidentifikasikan kernel thread dan menyatakan current state-nya.
Setiap proses bisa memiliki sampai 16 kernel thread.
Sementara executable images tersusun dari program sistem dan program
user yang telah di-compiled dan di-linked.
Kernel
threads menerima processor time untuk mengeksekusi images berdasarkan
prioritas dari proses. Untuk
mesin VAX dikenal 32 prioritas, sementara di mesin Alpha hingga 64 prioritas.
Prioritas 0 – 15 untuk proses time-sharing dan aplikasi yang tidak
kritikal terhadap waktu, dengan 4 sebagai default untuk proses time-sharing.
Prioritas 16 hingga 32 di mesin VAX, dan 16 hingga 63 di mesin Alpha
untuk proses real-time.
Setiap
terjadi I/O interrupt, sistem akan memberi service dulu kepada event ini dan
baru setelanya membagi kontrol ke kernel thread dengan priorias tertinggi
untuk dieksekusi. Sistem akan
menyesuaikan prioritas dari kernel threads yang memiliki prioritas antara 0-15
terhadap I/O bound (proses yang menghabiskan waktunya lebih banyak
untuk melakukan I/O) dan proses interaktif.
Proses
real-time harus diberi prioritas tertinggi untuk menjamin bahwa proses ini
akan selalu menerima processor time ketika siap dieksekusi.
Proses real-time di-skedule secara preemptive yaitu saat proses
real-time siap untuk dieksekusi maka segera proses tersebut diberikan ke
prosesor kecuali bila ada proses lain yang memiliki prioritas lebih tinggi
dari proses real-time tersebut.
Sistem
operasi juga mengatur proses peralihan dari satu task atau proses ke task/proses
lainnya. CPU yang berisi chip
pembawa instruksi dalam program hanya bisa melakukan satu task pada satu
satuan waktu, sementara mesin digunakan oleh beberapa user dengan beberapa
program dan transaksi hardware yang berjalan secara bersamaan.
Kondisi ini ditangani oleh VMS dengan menjalankan task secara berurutan,
mengalokasikan sedikit waktu untuk setiap task, lalu berpindah ke task
berikutnya, dan begitu seterusnya hingga mencakup semua task yang siap
berjalan, kemudian kembali ke task pertama, dan berpindah kembali, dan
seterusnya. User tidak merasakan
adanya peralihan karena switching antar proses dilakukan begitu cepat.
Waktu yang dialokasikan untuk tiap proses bisa berbeda tergantung dari
properti prioritas dari proses yang bersangkutan.
User normal memiliki prioritas 4, sementara batch job memiliki
prioritas rendah: 1, 2 atau 3 untuk long, medium atau normal batch job.
Pembagian skala prioritas ini memberi perasaan tak terganggu pada user
yang interaktif.
1.
Memory Management
Working
Set adalah sejumlah pages dari memori yang dialokasikan untuk suatu proses.
Setiap proses memiliki working set list (WSL) yang berisi daftar
pages yang saat itu berada dalam working set.
Semua pages yang perlu diakses harus berada dalam working set, bila
satu page yang diperlukan tidak berada dalam working set maka terjadilah page
fault.
Prosesnya
sebagai berikut:
o
Proses
mengaktifkan image. Working set
dibentuk dulu dengan menggunakan ukuran WSDEFAULT.
Proses melakukan page fault untuk mengisi working set list.
Bila working set list sudah penuh, maka untuk melakukan
penambahan beberapa pages yang ada harus dipindah terlebih dahulu.
Bila sebuah page berubah isinya maka ditempatkan pada modified page
list, bila tidak maka dikembalikan ke free page list dengan syarat
proses dalam keadaan tidak digunakan oleh proses lain.
o
Setiap
akhir dari proses quantum maka tingkat page fault dari proses dievaluasi, bila
lebih besar dari PFRATH maka working set list diperbesar sampai ukuran
WSQUOTA, dan bila sudah melewati WSQUOTA maka dilanjutkan sampai ke ukuran
WSEXTENT dengan syarat masih ada BORROWLIM page di free page list.
o
Kemungkinan
bahwa page fault melebihi working set list yang tersedia bisa terjadi,
maka bila proses melebihi WSQUOTA dilakukan pemeriksaan tambahan untuk melihat
apakah ada GROWLIM pages di free page list sebelum melakukan penambahan.
o
Setelah
image keluar, page dikembalikan ke free page list, dan page yang
berubah di dalam modified page list atau di page files juga
dibebaskan. Proses ini diulang
dari tahap pertama di atas kembali ketika suatu image diaktifkan lagi.
Ukuran
working set bisa bertambah menyamai ukuran list-nya saat proses dieksekusi,
tetapi ukuran list tersebut hanya bisa disesuaikan pada akhir quantum. Quantum
adalah definisi dari unit terkecil dari waktu dalam CPU terutama waktu yang
diperuntukkan bagi setiap proses untuk melakukan prosesnya dalam satu siklus.
Tabel
Parameter sistem yang berhubungan dengan manajemen memori
UAF
Quota |
Deskripsi |
WSDEFAULT |
Default
WSL size |
WSQUOTA |
Maximum
WSL guaranteed expansion |
WSEXTENT |
Maximum
WSL borrowed expansion |
PGFLQUOTA |
Maximum
number of pages in all page file |
PFRATH |
Page
fault rate high; candidate for WSL expansion |
GROWLIM |
Minimum
number of pages desired on the free list to allow WS growth |
BORROWLIM |
Minimum
number of pages on the free list to allow WSL expansion |
VIRTUALPAGECNT |
Maximum
number of pages in process virtual address space |
Nilai
yang direkomendasikan untuk WSDEFAULT adalah 512 bytes, WSQUOTA 2048 bytes,
dan WSEXTENT antara 8192 bytes sampai dengan ukuran WSMAX.
Maksimum Working Set untuk mesin VAX adalah 512 Mbytes dan 4 Gbytes
untuk mesin Alpha.
Page
yang berubah ditempatkan sementara di modified page list ketika dilepas
dari working set. Kemudian bila modified
page list dibersihkan, page tersebut ditulis ke satu atau lebih page
file. Satu proses tunggal
hanya bisa memakai maksimum 4 page file.
Swapping
terjadi bila memori sudah tidak cukup untuk menampung suatu proses, sehingga
seluruh proses di swapped-out disimpan dalam disk, demikian pula dengan
semua page proses yang ada di dalam working set.
Untuk
menjamin kenyamanan akses pemakai maka file untuk page dan swap sebaiknya
diletakkan dalam disk yang terpisah dari disk sistem.
Untuk menjaga performansi sistem, harus dijaga sekurang-kurangnya ada
50% free page dari total page file space pada tingkat load puncak,
karena page file cenderung menjadi terfragmentasi, sementara setiap proses
harus mengalokasikan filenya secara contiguous.
Sementara untuk swap file bisa dialokasikan 25% dari total swap file
space.
Beberapa
bagian memori dialokasikan oleh VMS sebagai non-paged pool, yang
digunakan untuk keperluan I/O buffer dan struktur data.
Karena ukuran buffer bervariasi maka dibuatlah pre-packaged list
dari masing-masing ukuran buffer yang disebut look-aside list untuk
mempercepat alokasi memori tersebut.
Terdapat 3 tipe look-aside list yaitu:
Small Request Packets, Intermediate Request Packets, dan Large Request
Packets.
Cara
kerja dari proses pemesanan page file dalam VMS bisa dipahami dengan lebih
mudah dengan menganalogikannya dengan cara kerja bank saat menerima tabungan
dan memberi pinjaman. Jumlah uang
di brankas bank selalu lebih kecil dari total tabungan, karena kebanyakan uang
sudah dipinjamkan ke nasabah bank lainnya.
Ini menerangkan konsep bahwa pemesanan pages tidak akan mencoba memakai
semua ruang pagefile yang tersedia pada satu waktu.
Bila semua aplikasi yang sedang berjalan berusaha untuk memakai ruang
yang tersedia maka system manager akan berusaha untuk memperluas pagefile atau
menambah satu atau lebih pagefules tambahan.
Pagefiles
terdapat dalam file PAGEFILE.SYS, dan bila terdapat lebih dari satu pagefiles
disarankan sebaiknya ditaruh di dalam disk yang berbeda agar terdapat
distribusi paging I/O yang seimbang.
2.
Virtual Management
OpenVMS
menggunakan paging dan swapping untuk memberi virtual memory yang cukup
untuk proses yang dieksekusi secara concurrent, selain itu juga untuk memenuhi
kebutuhan proses yang memiliki kebutuhan akan memori melebihi ketersediaan physical
memory.
OpenVMS
mendukung 64-bit virtual memory addressing.
Kemampuan ini membuat tersedianya 8 Tbytes virtual address space
untuk sistem operasi dan program aplikasi, yang bisa diperbesar lagi
kapasitasnya dengan memanfaatkan teknologi hardware lebih lanjut.
Namun untuk kompatibilitas dan tujuan migrasi, aplikasi virtual
address space masih menggunakan 32-bit sebagai default.
3.
File System Interface
Sistem
Operasi VMS memungkinkan pemberian spesifikasi file sampai dengan 255 karakter,
dengan nama dan tipe file sampai dengan masing-masing 39 karakter.
Satu kelebihan dari VMS adalah digunakannya fasilitas versi untuk satu
file mulai dari 1 sampai 32767 versi. Versi
ini memudahkan dalam melihat sejarah perubahan dari suatu file.
Satu file tidak boleh memiliki lebih dari 8 direktori atau subdirektori,
dan perlu dihindari membuat direktori yang terlalu dalam karena akan
memperlambat akses ke file di direktori terdalam.
Informasi tentang file disimpan dlam file header yang dicatat dalam
file [000000]INDEXF.SYS.
Contoh
penamaan file:
AMT01::AMT$DKA200:[VMS$COMMON.SYSEXE]VMSMAIL_PROFILE.DATA;1
Node
device
direktori
nama
tipe versi
Dalam
VMS dikenal istilah images. Berikut
ini dijabarkan beberapa hal yang berhubungan dengan image.
Executable
code
dalam OpenVMS berada di dalam image – sementara image itu sendiri adalah
sebuah file. Ekstensi file jenis
ini adalah .EXE.
Executable
images
adalah program yang bisa langsung dieksekusi.
Image jenis ini memiliki kuasa untuk menghibahkan privileged.
Shareable
images
berisi kode yang dieksekusi secara langsung.
Image jenis ini direferensi dari executable images atau shareable
images lainnya. Image jenis ini
tidak memiliki kuasa untuk menghibahkan privileged.
System images dimaksudkan untuk dijalankan langsung oleh VAX
atau Alpha hardware. Biasanya
digunakan oleh kode program kernel yang menyusun sistem operasi.
Protected
images
– juga disebut User-Written System Services (UWSS), atau privileged
shareable images – sama dengan shareable images standar, namun mencakup
juga handler ‘change mode’ dan dieksekusi dengan ‘inner’ processor
mode (dibawah executive atau kernel privileged mode) dengan SETPRV privilege.
Loadable
images
dan device drivers adalah images yang bisa digunakan untuk menambah
kode ke dalam kernel OpenVMS. Termasuk
di dalamnya pseudo-device drivers.
Blok
merupakan unit terkecil dalam sistem penyimpanan disk di OpenVMS.
Satu blok berisi 512 bytes. Minimum
disk allocation granularity yang dimungkinkan ditentukan berdasarkan
basis volume, dan biasanya merupakan kombinasi dari jumlah total blok di
volume disk dan ukuran total volume storage bitmap.
Allocation granularity disebut juga volume cluster factor
yaitu jumlah blok dalam satu disk cluster merupakan jumlah blok terkecil yang
dialokasikan pada satu volume disk tertentu.
Jumlah bytes dalam satu file bisa dihitung dengan mengalikan jumlah
blok yang dialokasikan dengan jumlah bytes dalam satu blok.
OpenVMS
mengasumsikan bahwa device driver dan storage device hanya akan membuat sistem
file dengan unit alamat penyimpanan berukuran 512 bytes.
Beberapa CD-ROM dari pihak ketiga yang mendukung hanya 2048 byte blocks
yang tidak kompatibel dengan standar device driver di OpenVMS.
Page
adalah unit terkecil dalam alokasi memory di OpenVMS.
Di mesin VAX Ukuran page sama dengan ukuran blok yaitu selalu 512
bytes, sementara di mesin Alpha ukuran page bervariasi mulai dari 8192 bytes (
8 Kbytes) hingga 64 Kbytes. Dalam
OpenVMS Alpha, memori area berukuran 512 byte dinyatakan sebagai sebuah
pagelet.
Record
Management Services dalam OpenVMS bisa menyimpan satu file dengan ukuran
maksimum dari ukuran volume yang dimungkinkan yaitu 1 Tbytes.
RMS format – sequential, relative, dan indexed – dibatasi sampai 1
Tbytes. RMS file relative juga
dibatasi pada jumlah record yang pas untuk 32 bits yaitu 4 bilion record.
Sementara sequential dan indexed tidak memiliki batas jumlah record.
Record
Management Services (RMS) adalah kumpulan I/O services yang membantu program
aplikasi memproses dan menangani file dan record.
RMS mendukung organisasi file secara sequential, relative, dan indexed
dalam format record fixed-length dan variable-length, dan juga format stream
khusus untuk sequential.
Metode
akses pada RMS ada 4 cara yaitu:
o
Secara
sekuential
o
Secara
langsung melalui key value
o
Secara
langsung melalui relative record number
o
Secara
langsung melalui record file address
RMS
menjamin file sharing secara efisien dan aman dengan memberlakukan multiple
file access mode dan automatic record locking.
RMS memberikan alat untuk membuat dan memelihara record, seperti untuk
meng-convert file dari satu organisasi dan format ke lain bentuk, me-restrukturisasi
indexed file untuk efisiensi penyimpanan dan akses, dan me-reclaim struktur
data dalam indexed file.
RMS
indexed file menggunakan metoda binary search untuk mencari data.
Performansi dari file indeks bisa ditingkatkan dengan menggunakan RMS global
buffers, yaitu dengan membuat indeks dari file indeks dalam cache sehingga
akses bisa langsung ke memori. Namun
perlu diingat bahwa kondisi ini hanya sangat menguntungkan bila file digunakan
oleh banyak user dan lebih banyak transaksi baca dibandingkan tulis.
Kondisi ideal memerlukan ukuran buffer yang bisa menampung seluruh
indeks ditambah satu buffer untuk blok data bagi masing-masing user pemakai
file tersebut. Kerugiannya adalah
bila melibatkan file yang besar maka ukuran buffer yang diperlukan juga akan
sangat besar.
Dalam
VMS dikenal alias untuk file, direktori atau queue.
Alias ini disebut dengan logical.
Logical merupakan entiti sistem yang digunakan untuk mempersingkat dan
mempermudah penamaan file, direktori, queue, maupun transaksi.
Logical bisa dinyatakan dalam 3 mode yaitu: user mode yang
dideklarasikan oleh user, supervisor mode yang merupakan default, dan
executive mode yang digunakan bila sistem file dieksekusi dengan protected
mode.
D.
I/O SYSTEM
Spooling
device memungkinkan sebuah device dibuka oleh lebih satu proses pada saat
bersamaan. Bila satu proses
membuka device yang sedang digunakan oleh proses lain, maka spooling device
akan mengalihkan output tersebut dari device ke dalam file, dan menaruhnya di
antrian/queue pada device tersebut.
Queue
merupakan fasilitas yang mengkoordinasikan pemakaian bersama dari resources,
sehingga suatu job bisa menunggu gilirannya untuk dipenuhi permintaannya tanpa
mengikat proses yang bersangkutan. Dikenal
batch queue dan print queue. Queue
memiliki status yaitu:
OpenVMS
bisa mengakses disk dengan ukuran maksimal satu terabyte atau 231
blok dari 29 bytes. Beberapa
jenis SCSI disk dengan kapasitas lebih dari 8.6 Gbytes memerlukan tambahan
OpenVMS ECO kit (misalnya ALPSCSI04_062) untuk membuat SCSI
device drivers baru.
Dua
masalah utama yang berhubungan dengan manajemen disk adalah:
o
Disk
space usage
o
File
fragmentation
Disk
dianggap penuh bila telah terpakai melebihi 75% dari blok yang tersedia karena
kebanyakan file sistem operasi VMS bersifat statis maka datanya akan terus
bertambah sepanjang sistem tetap aktif seperti SYSMANAGER:OPERATOR.LOG,
SYSMANAGER:SECURITY_AUDIT.AUDIT$JOURNAL,
SYS$MANAGER:ACCOUNTING.DAT, dan SYS$ERRORLOG:ERRLOG.SYS.
Performansi akan berkurang dengan tajam bila disk sudah penuh hingga
90% karena bisa terjadi aplikasi terhenti akibat tidak tersedianya ruang yang
cukup dan juga karena fragmentasi terjadi dengan cepat.
Fragmentasi
pada disk merupakan masalah bagi file berukuran menengah dan besar.
Bayangkan bila ada file berukuran 300000 blok tersebar di 50000 tempat
dalam suatu disk, maka akses terhadap file tersebut bisa lambat.
Penyebabnya adalah:
o
Tambahan
pada disk seek time
o
Terjadinya
pembagian I/O tunggal menjadi beberapa bagian untuk memenuhi I/O request,
o
File
mapping window yang berisi pointer harus diupdate lebih sering
o
Terjadinya
error pada saat membuat file akibat tidak tersedianya ruang yang contiguous,
o
File
INDEXF.SYS hanya berisi satu file header, sehingga bila terjadi fragmentasi
yang terlalu besar maka sistem tidak bisa lagi membuat file baru pada volume
disk tersebut.
E.
PROTECTION DAN SECURITY
Setiap
user mempunyai personal login command file yang dieksekusi setelah file
sistem dieksekusi. Terdapat 2
tipe user yaitu captive user dan non-captive user.
Captive user dibatasi oleh suatu batch file SYS$LOGIN:LOGIN.COM
saat login.
Akses
ke dalam sistem diatur oleh sistem administrator melalu User Authorization
File (UAF). Dalam file ini dibuat
username dan passwordnya untuk setiap user.
Masing-masing username diasosiasikan dengan UIC (User Identification
Code) yang digunakan sistem untuk menandai kepemilikan file.
UIC tersusun dari 2 bilangan octal yaitu nomor grup dan nomor anggota.
Ada
4 kategori berdasarkan UIC untuk masing-masing user yaitu:
Setiap
username juga diberikan privileges sesuai dengan kebutuhan.
Ada beberapa jenis privileges yaitu:
Setiap
username akan memiliki device dan direktori user tersendiri sebagai tempat
default untuk menampung file-file yang dibuatnya.
Fasilitas
password dalam VMS memiliki beberapa feature yang bisa menjamin keamanan user:
Untuk
membatasi akses user, VMS juga memberi fasilitas untuk membatasi waktu akses
dari suatu username, bisa dalam hitungan hari maupun jam.
Bila sudah melewati waktu akses yang diberikan maka proses yang
dijalankan oleh username tersebut segera dihentikan oleh sistem operasi.
Keamanan
terhadap file ditentukan oleh tipe akses yang diberikan terhadap file tersebut,
yaitu:
VMS
memiliki alarm keamanan bila terdapat gangguan terhadap sistem keamanan sistem.
Bila seseorang beberapa kali gagal untuk login ke sistem di suatu port,
maka sistem akan mengambil alih dengan menutup akses username yang
bersangkutan pada port tersebut, dan diperlukan campur tangan sistem
administrator untuk membebaskan username tersebut.
DAFTAR
PUSTAKA
Silberschatz,
A.,dan P.B. Galvin. 1998.
Operating System Concepts. Addison
Wesley Publishing Company.
Flowers,
F. 1993.
VMS System Management Guide. (www.openvms.digital.com)
Anonim.
VMS History. (www.levitte.org)
Ottewel,
P. 1998.
Phils VMS Tutorial (www.yrl.co.uk/~phil)
VMS
FAQ Homepage (www.openvms.digital.com)
Digital.
1997. VAX OpenVMS at 20.