rmh

rmh
rmh br

sakura cell

sakura cell

rmh tampil dpn

rmh tampil dpn

Selasa, 19 Februari 2008

MEMAHAMI SISTEM OPERASI

MEMAHAMI SISTEM OPERASI

VMS

(Virtual Memory System)

Sebuah Pengantar

Oleh

Julius Hermawan

A. SEJARAH PERKEMBANGAN

Sistem operasi VMS bisa dibayangkan sebagai kumpulan khusus dari program yang berjalan pada mesin VAX sepanjang waktu untuk memberikan cara komunikasi yang mudah antara user dan komputer. Misalnya, bila user ingin merekam program menjadi satu file ke disk, maka user cukup memberikan nama file tersebut tanpa perlu repot-repot memberitahu dimana file tersebut harus disimpan, dan tinggal menyerahkan sisa aktivitas ke sistem operasi.

Sistem operasi VMS merupakan sistem operasi general purpose dan multi-user yang ditujukan untuk lingkungan produksi dan pengembangan. VMS merupakan singkatan dari Virtual Memory System yang diperkenalkan pada tahun 1976 sebagai sistem operasi yang dibuat oleh Digital untuk beroperasi di komputer VAX (Virtual Address eXtension). VMS pertama kali dipasarkan pada tahun 1977 dengan versi X0.5 untuk mendukung mesin VAX-11/780. Perubahan nama menjadi OpenVMS terjadi pada saat VMS mulai didisain untuk bekerja di atas mesin Alpha, penambahan kata open untuk menunjukkan dukungan penuh sistem operasi ini terhadap standar industri.

Generasi OpenVMS didisain oleh Dave Cutler dan Dick Hustvedt dari Digital Equipment Corporation sebagai versi 32-bit kelanjutan dari sistem operasi RSX-11M untuk mesin PDP-11. OpenVMS VAX merupakan virtual memory sistem operasi 32-bit, dengan kemampuan multitasking, dan multiprocessing untuk mendukung mesin VAX. Sementara OpenVMS Alpha merupakan virtual memory sistem operasi 64-bit dengan kemampuan multitasking dan multiprocessing untuk mendukung mesin Alpha.

Tabel perkembangan sistem operasi VMS (www.levitte.org)

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.

C. STORAGE MANAGEMENT

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:

  • Available: queue sedang mengerjakan satu atau lebih jobs, tapi bisa lebih lagi
  • Busy: queue sedang mengerjakan satu atau lebih jobs, dan tidak bisa lebih lagi
  • Closed: tidak ada jobs yang dikirim ke queue
  • Idle: queue tidak mengerjakan jobs dan menunggu jobs
  • Paused: queue sedang dihentikan untuk sementara
  • Stalled: terdapat device-related problem
  • Stopped: queue dihentikan oleh operator

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:

  • System: setiap user dengan privileges SYSPRV atau UIC sistem
  • Owner: user yang bersangkutan, pemilik dari suatu file
  • Group: setiap user yang memiliki nomor group sama
  • World: setiap user dalam sistem

Setiap username juga diberikan privileges sesuai dengan kebutuhan. Ada beberapa jenis privileges yaitu:

  • Normal: minimum privileges untu menggunakan sistem
  • Group: potensial untuk mengganggu anggota dari group yang sama
  • Devour: potensial untuk mengkonsumsi sistem resource yang tidak kritikal
  • System: potensial untuk mengganggu operasi sistem yang normal
  • Files: potensial untuk kompromi dengan sekuriti file
  • All: potensial untuk mengontrol sistem.

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:

  • Setiap username bisa memiliki password primer dan sekunder, sehingga terdapat 2 pintu pengecekan
  • Password bisa ditentukan masa berlakunya sehingga user dipaksa untuk selalu merubah passwordnya secara periodik
  • Sistem akan memberi user password bila user tidak bisa membuat password sendiri
  • VMS mencatat sejarah password sehingga sebuah username tidak bisa menggunakan password yang sama dua kali
  • VMS juga memiliki kamus password yang berisi kata umum yang mudah ditebak

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:

  • Read: bisa membaca dan merekam file
  • Write: bisa merubah file
  • Execute: bisa menjalankan file (EXE atau COM)
  • Delete: bisa menghapus atau merubah nama file

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.

Tidak ada komentar: