Jumat, 28 Oktober 2011

Program Ultilitas

Beberapa sistem oprasi menyediakan fasilitas gabungan ULT\
KLT (gambar 4 6c) Solaris merupakan salah satu contoh yang penting
system operasi seperti itu . Pada sistem gabungan , pembuatan thread
dilakukan seluruhnya dalam ruang pengguna sebagai bulk penjadwalan
dan sinkronisasi thread – thread di dalam sebuah aplikasi . ULT
jamak yang berasal dari sebuah aplikasi di petakan menjadi beberapa
( lebih kecil atau sama dengan ) KLT-KLT .pemrogram dapat mengatur
jumlah KLT untuk aplikasi dan mesin tertentu untuk memperoleh hasil
keseluruhan yang terbaik .
Pada pendekatan gabungan , sejumlah thread yang berada dalam
sebuah aplikasi dapat berjalan secara parallel pada sejumlah
prosesor dan suatu bloking system call tidak perlu memblokir seluruh
proses . Apabila di rancang dengan benar , pendekatan ini akan
menggabungkan kelebihan pendekatan ULT dan KLT yang murni dan
sekaligus meminimalkan kekurangannya .

Hubungan Satu-Jamak
Dalam bidang sistem operasi terdistribusi (dirancang untuk
sistem komputer terdistribusi). Terdapat hal-hal yang menarik dalam
konsep thread sebagai suatu entity yang dapat berpindah dari ruang
alamat yang satu ke ruang alamat lainnya.5 Sebuah contoh yang
penting penelitian ini adalah sistem operasi Clouds,dan khususnya
mengenai kernelnya,yang di kenal sebagai Ra [DASG92].Contoh lainya
adalah sistem Emerald [STEE95].
Sebuah thread pada Clouds merupakan satuan aktivitas dari
perspektif pengguna. Proses merupakan ruang alamat virtual dengan
process control block-nya yang terkait. Pada saat
pembuatannya,thread mulai melakukan eksekusi dalam suatu proses
dengan cara meminta sebuah titik entri ke program yang berada di
dalam proses itu. Thread dapat berpindah dari sebuah ruang alamat ke
ruang alamat lainnya dan sebenarnya menjangkau batas-batas mesin
(berpindah dari komputer yang satu ke komputer lainnya). Dengan
perpindahannya,sebuah thread harus membawa informasi tertentu,
seperti misalnya terminal pengontrol,parameter global,dan tuntunan
penjadwalan (prioritas).
Pendekatan Clouds memiliki cara pengisolasian pengguna dan
pemprogram dari detail lingkungan terdistribusi secara efektif.
Sebuah aktivitas pengguna dapat direpresentasikan sebagai sebuah
thread tunggal,dan perpiondahan thread tersebut dari satu mesin
lainnya dapat diatur oleh sistem operai dengan bermacam-macam alasan
yang berkaitan dangan sistem, misalnya kebutuhan untuk mengakses
sumber daya remote,dan keseimbangan beban.

SYMMETRIC MULTIPROCESSING
Secara trdisional,komputer telah di pandang sebagai suatu mesin
sekuential.Sebagian besar bahasa pemprograman komputer mengharuskan
pemprogram untuk menentukan algoritma sebaga rangkaian instruksi-
instruksi. Prosesor melakukan eksekusi program dengan cara
mengeksekusi instruksi-instruksi mesin secara berurutan dan satu per
satu. Setiap instruksi dieksekusi dalam urutan operasi(membaca
instruksi,membaca operand,melakukan operasi,menyimpan hasil).
Cara memandang komputer seperti di atas tidaklah sepenuhnya
benar.Pada tingkat microoperation,control signal dihasilkan dalam
waktu yang bersamaan. Pipelining instruksi,sedikitnya sampai membaca
dan mangeksekusi operasi yang bertumpah-tindih, telah ada sejak
lama. Keduanya merupkan contoh pembentukan fungsi secara pararel.
Dengan semakin majunya teknologi dan semakin murahnya harga
hardware,para perancang komputer telah mencari kemungkinan
diterapkannya paralelisme,umumnya untuk meningkatkan kinerja dan,
kadang-kadang, untuk meningkatkan reliabilitas.Di dalam buku
ini,kita akan membahas dua buah pendekatan yang paling popular untuk
memperoleh paralelisme dengan cara melakukan replikasi prosesor:
symmetric multiprosesor (SMP) dan cluster.SMP akan di bahas pada sub-
sub ini;sedangkan cluster akan dibahas pada Bagian Enam.


Beberapa system operasi membedakankan konsep proses
dengan konsep thred. Proses berkaitan dengan kepemilikan sumber
daya , sedangkan thread berhubungan dengan eksekusi program.
Pendekatan seperti ini dapat meningkatkan efisiensi dan
pengkodean yang lebih mudah . pada system yang bermulti thread
jamak , sejumlah thread yang kokuren dapat ditetapkan di dalam
sebuah proses . hal tersebut dapat dilakukan baik pada thread
tingkat panggunaan maupun thread tingkat kernel. Thread
tingkat penggunaan tidak diketahui system operasi dan dibuat
serta di kelola oleh thread library yang beroperasi dalam
ruang penggunaan suatu proses. Thread tingkat penggunaan
sangat efisien karena tidak memerlukan suatu saat tertentu ,
hanya satu thread tingkat penggunaan yang berada dalam
suatu proses akan terblokir. Thread tingkat kernel adalah
thread yang terdapat di dalam sebuah proses keseluruhan
yang di jaga oleh kernel. Karena thread itu di kenal
kernel , maka beberapa thread di dalam sebuah proses dapat
melakukan eksekusi secara parallel pada suatu multiprosesor
dan pemblokiran thread tidak akan memblokir proses secara
keseluruhan . walaupun begitu , di perlukan perlihan mode
untuk beralih dari satu thread ke thread lainnya.
Symmetric multiprocessing adalah metode pengorganisiran
system multiprosesor sehingga sembarang proses ( atau thread )
dapat berjalan pada sembarang processor; hal itu termasuk
kode kernel dan proses . arsitektur SMP menyebabkan
bertambahnya masalah rancangan system operasi dan memberikan
kinerja yang lebih tinggi dari system uniprocessor yang
berada dalam kondisi yang sama.
Pada akhir-akhir ini, minat terhadap pendekatan
microkrernel bagi system operasi semakin meningkat . Dalam
bentuknya yang murni, system operasi microkernel terdiri dari
microkernel yang beukuran sangat kecil yang beroperasi dalam
mode kernel dan hanya berisi fungsi system operasi yang
sangat penting dan paling kritis saja. Fungsi-fungsi system
operasi lainnya diimplementasikan untuk dieksekusi dalam mode
pengguna dan untuk penggunaan microkernel bagi layanan
kritis. Rancangan microkernel memberikan implementasi modular .
Namun , masih terdapat pertanyaan tentang kinerja arsitektur
seperti itu.

BAB VI
KONKURENSI:
DEADLOCK DAN STARVATION
Deadlock dapat terjadi apabila ketika kondisi di atas
ada ,tetapi tidak akan terjadi hanya karna adanya ketika kondisi di
atas .untuk terjadinya deadlock di perlukan
Persyaratan ke empat:
1. PENCEGAHAN DEATLOCK
Strategi pencegahan deadlock adalah dengan merancang sitem
sedemikian rupa sehingga kemungkinan terjadi deadlock ditiadakan
secara apriori.kita dapat membagi metode pencegahan deadlock menjadi
dua golongan .motede pencegahan deadlock menjadi dua
golongan .metode pencegahan deadlock secara tak langsung adalah
dengan mencegah terjadinya salah satu dari ketiga kondisi yang di
perlukan {item 1hingga 3},metode pencegahan deadlock secara langsung
adalah dengan mencegah terjadinya circular wait {item 4}.
2. MUTUAL EXCLUSION
Secara umum ,kondisi pertama pada ke empat kondisi di atas
tidak dapat di hindarkan .apabila askes ke suatu sumber daya
memerlukan mutual exclusion ,mutual exlusion harus di dukung oleh
system operasi .beberapa sumber daya ,seperti file ,dapat
mengizinkan sejumlah askes untuk pembacaan ,namun hanya satu askes
eksklusif untuk penulisan .bahkan di dalam kasus ini ,deadlock dapat
terjadi apabila lebih dari satu proses memerlukan izin penulisan .
3. HOLD AND WAIT
Kondisi hold-and wait dapat di cegah dengan mengharuskan
proses meminta semua sumber daya yang di butuhkannya sekaligus dan
memblokir prose itu sampai semua permintaan dapat di berikan secara
bersamaan.pendekatan ini tidak efisien dalam dua
hal .pertama ,proses dapat di tahan dalam waktu yang lama untuk
menunggu semua permintaan sumbar dayanya dipenuhi ,sedangkan dalam
kenyataannya prose itu harus menjalankan hanya dengan beberapa
sumber daya .kedua ,sumber-sumber daya yang di alokasikan ke suatu
proses dapat tetap tidak di gunakan dalam periode waktu
tertentu ,selama sumber-sumber daya itu di tolak oleh proses-proses
lainnya .

4. Circular Wait
Kondisi circular wait dapat dicegah dengan membuat
pengurutan linear jenis sumber daya. Apabila suatu proses telah
dialokasi sumber daya berjenis R, prose itu hanya dapat meminta
sumber – sumber daya yang jenisnya setelah jenis R itu di dalam
urutan.
Untuk mengetahui cara kerja strategi ini, kita asosiasikan
suatu indeks dengan setiap jenis sumber daya. Sumber daya Ri
mendahului Rj di dalam pengurutan itu apabila i<j. Sekarang
anggaplah bahwa dua proses, A dan B, mengalami deadlock karena A
telah menguasai Ri dan meminta Rj, sedangkan B telah menguasai Rj
dan meminta Ri. Keadaan ini tidak mungkin terjadi karena hal itu
menyatkan bahwa i<j dan j<i.
Seperti halnya pencegahan hold – and –wait, pencegahan
circular wait bisa tidak efisien, yang akan memperlambat proses dan
penolakan akses sumber daya yang tidak perlu.

PENGHINDARAN DEADLOCK
Suatu pendekatan untuk menyelesaikan masalah deadlock yang
agak berbeda dengan pencegahan deadlock (deadlock prevention) adalah
penghindaran deadlock (deadlock avoidance) .2Di dalam pencegahan
deadlock, kitamemaksa permintaan sumber daya untuk mencegah
sedikitnya salah satu dari keempat kondisi deadlock. Hal ini dapat
dilakukan baik secara tidak langsung, dengan mencegah salah satu
kondisi kebijakan yang perlu (mutual exclusion, hold and wait, no
preeption), atau secara langsung,, dengan mencegah circular wait.
Cara tersebut menyebabkan terjadinya ketidakefisienanpenggunaan
sumber daya dan ketidak efisienan eksekusi proses. Di pihak lain,
penghindaran deadlock mengizinkan ketiga kondisi yang diperlukan,
namun membuat pilihan bijaksana untuk menjamin bahwa titik deadlock
tidak akan pernah tercapai. Dengan demikian, pnghindaran
memungkinkan konkurensi yang lebih banyak dibanding dengan
pencegahan. Pada penghindaran deadlock, pengambilan keputusan
dilakukan secara dinamis apakah permintaan alokasi sumber daya saat
itu akan, apabila diluluskan, menyebabkan deadlock. Dengan demikian,
penghindaran deadlock memerlukan pengetahuan permintaan sumber
proses yang akan terjadi.
STRATEGI DEADLOCK TERINTEGRASI
Seperti di tunjukkan pada tabele 6.1 terdapat kelebihan dan
kekurangan pada semua strategi yang berkaitan dengan deadlock.Dari
pada harus mumbuat rancangan fasilitas sistem operasi yang hanya
menggunakan salah satu strategi tersebut,akan lebih efesien apabila
menggunakan strategi yang berbeda di dalam situasi yang berbeda.
[SILB94] menganjurkan sebuah pendekatan:

- Kelompokkan sumber daya ke dalam kelas-kelas sumber daya
yang berbeda.
- Gunakan strategi pengurutan linear yang telah di tetapkan
sebelumnya untuk pencegahan circular-wait sehingga akan mencegah
deadlock –deadlockyang terdapat di antara kelas-kelas sumber daya.
- Dikelas sumber daya,gunakan algoritma yang paling cocok bagi
kelas itu.


6.5 MASALAH DINING PHILOSOPHERS

Pada suatu hari,di suatu tempat,ada lima orang filsuf yang hidup
bersama.kehidupan kelima fisuf itu pada perinsipnya terdiri dari
berpikir dan makan,dan dalam sepanjang hidupnya,para filsuf itu
telah sepakat bahwa satu-satunya makanan yang dapat mendukung
berpikir adalah spageti.
Tata cara makannya cukup sederhana (Gambar 6.10): sebuah meja bundar
tempat menaruh mangkuk besar berisi spageti,lima piring, masing–
masing sebuah untuk setiap filsuf,dan lima garpu.Filsuf yang ingin
makan harus berada di tempat yang telah

Deadlock adalah pemblokiran sejumlah proses ,baik yang
berkompetisi untuk mendapatkan sumber daya sistem maupun untuk
saling berkomunikasi .Masa pemblokiran akan permanen,kecuali bila
sistem operasi mengambil tindakan istimewa ,misalnya mematikan satu
proses atau lebih atau memaksa satu proses atau lebih untuk
kembali.Deadlock dapat mencakup sumber daya yang dapat digunakan
kembali(reusable)atau sumber daya konsumtif.Sumber daya konsumtif
adalah sumber daya yang akan musnah apabila suber daya itu berhasil
di dapatkan proses;contohnya ada;ah pesan dan informasi yang berada
di dalam buffer.Sumber daya yang dapat digunakan kembali adalah
sumber daya yang tidak akan habis atau musnah apabila
digunakan ,contohnya saluranI/O atau daerah memori .
Terdapat tiga pendekatan umum yang berkaitan dengan
deadlock:pencegahan (prevention),deteksi (detection),dan penghindaran
(avoidance).Pencegahan daedlock menjamin bahwa deadlock tidak akan
terjadi ,dengan cara memastikan bahwa salah satu kondisi deadlock
tidak akan terpenuhi.Deteksi deadlock diperlukan apabila system
operasi akan selalu mengabulkan permintaan sumber daya;secara
teratur ,sistem operasi harus memeriksa deadlock dan mengambil
tindakan untuk menggagalkan deadlock.Penghindaran deadlock
melibatkan analisis setiap permintaan sumber daya baru untuk
menentukan apakah sumber daya itu akan menyebabkan deadlock, dan
akan mengabulkannya hanya apabila deadlock tidak mungkin terjadi.


















BAB VII
MANAJEMEN MEMORI
Didalam simtem uniprogramming,memori utama dibagi menjadi
dua bagian:satu bagian untuk sistem operasi (resident
monitor,kernel) dan satu bagian lainnya untuk program yang saat itu
sedang dieksekusi. Di dalam sistem multiprogramming,bagian
memori "pengguna" harus dibagi lagi untuk mengakomodasi proses yang
jumlahnya banyak. Pembagian tersebut dilakukan secara dinamis oleh
sistem opersi dan dikenal sebagai manajemen memori.
Manajemen memori yang efektif adalah hal yang vital dalam
sistem multiprogramming. Apabila hanya terdapat beberapa proses
didalam memori utama, sebagian besar waktu proses akan dipakai untuk
menunggu I/O dan prosesor akan idle. Jadi, memori perlu dialokasikan
secara efisien untuk dapat menampung proses sebanyak mungkin ke
dalam memori.
Kita akan mengawali bab ini dengan meninjau persyaratan-
persyaratan agar tujuan manajemen memori tersebut dapat tercapai.
Kemudian, kita akan melakukan pendekatan terhadap teknologi
manajemen memori dengan meninjau bermacam-macam cara yang sederhana
yang telah. Fokus kita adalah kebutuhan di mana program harus
dimuatkan kedalam memori utama agar dapat dieksekusi. Pembahasan ini
akan membantu bagi pendahuluan prinsip-prinsip fundamental manajemen
memori.

KEBUTUHAN-KEBUTUHAN MANAJEMEN MEMORI
Sementara melakukan penyelidikan tentang berbagai mekanisme
dan teknik yang berkaitan dengan manajemen memori, akan berguna
untuk memehami kebutuhan-kebutuhan manajemen memori yang harus
terpenihi. [LIST93] memberikan lima kebutuhan:
. Relokasi
. Proteksi
. Bagi-Pakai
. Organisasi secara Logik
. Organisasi secara Fisik

Relokasi
Di dalam sistem multiprogramming, umumnya memori utama yang tersedia
di bagi-pakai oleh sejumlah proses.Biasanya, tidaklah mungkin
seseorang pemrogram dapat mengetahui terlebih dahulu program-program
lain mana yang akan berada didalam memori utama pada saat ia
melakukan eksekusi program. Disamping itu, kita akan dapat melakukan
swap in ke dalam memori utama dan swap out keluar memori utama
proses-proses yang aktif untuk memeksimalkan penggunaan prosesor
dengan menyediakan pool proses-proses yang siap untuk eksekusi dalam
ukuran yang besar. Sekali program telah di –swap out ke disk,akanlah
sulit untuk menyatakan bahwa program tersebut di-swap in kembali ke
dalam memori utama akan menempati daerah yang sama seperti
sebelumnya.

Proteksi

Setiap proses harus diproteksi dari gangguan yang tidak
diinginkan yang disebabkan oleh proses –proses lainnya ,baik yang
disengaja maupun yang tidak disengaja .Jadi ,program-program di
dalam proses –proses lainnya tidak boleh mereferensilokasi-lokasi .
didalam proses untuk keperluan pembaca dan dan penulisan data tanpa
izin . Dalam satu pengertian ,pemenuhan kebutuhan relokasi akan
meninggalkan kesulitan pemenuhan kebutuhan protensi . Karena lokasi
program didalam memori utama tidak diketahui , untuk menjamin
proteksi tidaklah mungkin memeriksa alamat absolute pada saat
compile time . Disamping itu,sebagai besar bahasa pemrograman
mengizinkan kalkulasi alamat secara dinamis pada saat run time
[misalnya ,dengan menghitung indeks array atau pointer kestruktur
data]. Karena itu ,seluruh referensi memori yang di hasilkan oleh
proses harus diperiksa pada run time untuk menjamin bahwa referensi-
referensi itu hanya mengacu ke ruang memori yang dialokasikan ke
proses tersebut . kebutuhan ,kita akan mengetahui bahwa mekanisme-
mekanisme yang mendukung relokasi juga mendukung kebutuhan proteksi.


Di dalam pola dua tingkatan ini,organisasi aliran
informasi antara memori utama dengan memori sekunder merupakan
perhatian utama sistem.Tanggung jawab aliran ini
PEMBUATAN PARTISI MEMORI
Operasi menajemen memori yang terpenting adalah membawa
program-program ke dalam memori utama untuk dieksekusi oleh
prosesor.Di dalam hampir seluruh sistem multiprogramming modern.hal
itu meliputi teknik canggih yang dikenal sebagai memori virtual.Pada
gilirannya,memori virtual didasarkan pada penggunaan salah satu atau
dua teknik dasar:segmentasi dan paging.
Partisi Tetap
Pada sebagian besar teknik menajemen memori,kita dapat
mengasumsikan bahwa sistem operasi menempati bagian tertentu memori
utama dengan ukuran tetap dan sisa memori utama disediakan untuk
digunakan untuk mengatur memori yang tersedia itu adalah dengan
mempartisikannya menjadi daerah-daerah yang batasnya tetap.
Partisi Dinamik
Untuk mengatasi berbagai kesulitan yang ditemukan pada
partisi tetap, dibuat pendekatan yang dikenal sebagai partisi
dinamik.Seperti sebelumnya,pendekatan ini telah banyak diganti oleh
teknik-teknik manajemen memori yang lebih canggih.Sistem operasi
penting yang menggunakan teknik ini adalah system operasi IBM
mainframe,OS/MTV(Multiprogramming with a Variable Number of Tasks)
Dengan menggunakan partisi dinamik,partisi-partisi yang
digunakan memiliki panjang dan jumlah yang berubah-ubah.Pada saat
proses dibawa ke dalam memori utama, proses itu dialokasikan persis
sama besarnya dengan yang dibutuhkan, tidaklebih atau tidak kurang.
Satu teknik untuk mengatasi fragmentasi eksternal adalah
dengan kompaksi:Dari waktu kewaktu, system operasi menggeser proses-
proses sehingga proses-proses itu menjadi kontigus dan akibatnya
semua memori yang bebas akan berada didalam satu blok.Sebagai
contoh,pada gambar 7.4h, kompaksi akan menghasilkan sebuah blok
memori.




BAB VIII
MEMORI VIRTUAL
Softwere sistem operasi
Rancangan manajemen memori sebuah sistem operasi bergantung pada
tiga bidang pilihan yang fundamenteal :
- dipakai atau tidak dipakainya teknik memori virtual
- penggunaan paging atau segmentasi atau keduanya
- algoritama yang digunakan untuk berbagai aspek manajemen
memori
pilihan-pilihan ayang di buat di dalam dua bidang pilihan pertama di
atas bergantung pada platfrom hardware yang tersedia. Jadi,
implementasi UNIX model lama tidak memiliki memori fisual karena
propesor yang di gunakan untuk menjalankan sistem tidak mendukung
paging atau segmentasi. Tidak satu pun di antara kedua teknik
tersebut dapat di terapkan tanpa adanya dukungan hardware untuk
translansi alamat atau fungsi fungsi dasar lainya.
Dua keterangan lainya bagi kedua item pertama yang di sebutkan di
atas adalah: pertama, dengan perkecualian sistem operasi sistem
operasi bagi komputer-komputer pribadi model lama, misalnya MS-DOS
dan sistem-sistem yang khusus, semua sistem operasi yang penting
menyediakan memori virtual. Kedua, sistim segmentasi murni menjadi
semakin jarang di gunakan. Apabila segmentasi di kombinasikan dengan
paging, sebagian besar masalah manajemen memori yang berhadapan
langsung dengan para perancang sistem operasi berada di daerah
paging.
Kebijakan Pengambilan (Fetch Policy)
Kebjakan pengambilan menentukan kapan sebuah page harus
dibawa ke dalam memori utama.Dua alternatif yang sering digunakan
adalah demand paging dan prepaging Pada demand paging,sebuah page
dibawa ke dalam memori utama hanya bila referensi dibuat ke suatu
lokasi pada page tersebut.Apabila elemen-elemen kebijakan manajemen
memori lainya baik,akan terjadi hal –hal berikut ini.Pada saat
sebuah proses mulai untuk pertama kalinya,akan terdapat banyak page
fault. Dengan semakin vanyaknya page yang dibawa ke dalam memori
utama,prinsip lokalitas menyatakan bahwa sebagian besar referensi –
referensi mendatang akan merupakan page –page yang baaru dibawa ke
dalam memori utama.Jadi, setelah beberapa saat,setelah semuanya
menjadi tenang page fault akan menurun sampai tingkat yang sangat
rendah.
Dengan prepaging,page-page selain yang dibutuhkan oleh page
fault akan dibawa. Daya tarik pada metode ini didasarkan pada
karakteristik yang dimiliki sebagian besar perangkat memori
sekunder,misalnya disk,yang memiliki seek time dan latensi
rotasional.Apabila sebuah page suatu proses tersimpan secara
kontigus di dalam memori sekunder,akan lebih efesien bila membawa
bebarapa page kontigus sekaligus dibandingkan dengan membawanya satu
persatu.Tentu saja kebijakan ini tidak efektif apabila sebagian
besar page ekstra yang dabawanya tidak direferensi.
Penggunaan Frame
Suatu keterbatasan pada kebijakan pengganti yang perlu
dibahas sebelum mempelajari berbagai algoritma: sebagian frame di
dalam memori utama dapat dikunci. Pada saat sebuah frame terkunci,
page saat itu tersimpan di dalam frame itu tidak dapat diganti.
Banyak karnel sistem operasi yang disimpan di dalam frame-frame yang
terkunci,juga disamping itu struktur kontrol. Selain itu, buffer I/O
dan hal-hal lainya yang bersifat kritis terhadap waktu dapat dikunci
ke dalam frame-frame mempri utama. Penguncaian dapat dilakukan
dengan cara mengaitkan lock bit dengan setiap frame. Bit ini dapat
disimpan di dalam frame table dan juga dapat dimasukan di dalam page
table saat itu.
Algoritma Dasar
Tidak terpengaruh oleh strategi manajemen resident set (yang
akan dibahas di subseksi berikutnya),terdapat algoritma dasar
tertentu yang digunakan untuk
pemulihan

Page yng akan diganti. Algoritma penggantian yang dikenal didalam
literatur di antaranya:
• Optimal
• Least recently used (LRU)
• Frist in, first out (FIFO)
• Clock.


Kebijakan lest-recently-used (LRU) menangani page di dalam
memori yang tidak pernah direferensikan dalam waktu terlama.
Berdasarkan prinsip lokalitas, page itu adalah page yang paling
kecil kemungkinannya untuk direferensikan dalam waktu dekat. Dalam
kenyataannya, kebijakan LRU dapat berfungsi sebaik kebijakan
optimal. Masalah yang dimiliki pendekatan ini adalah kesulitan dalam
mengimplementasikannya. Satu pendekatan yang dapat dilakukan adalah
berupa memberikan tag waktu terakhir direferensikan terhadap setiap
page-nya; hal itu harus dilakukan pada setiap referensi memori, baik
instruksi maupun data. Sekalipun hardware akan mendukung teknik
seperti itu, tetapi overheadnya sangat besar. Sebagai alternatif,
dapat digunakan stack referensi-referensi page, sama seperti
sebelumnya masih merupakan harapan yang mahal.
Pengujian sejumlah trace program yang memiliki pola
referensi sekuential seperti itu menunjukkan bahwaLRU,memiliki
kinerja yang buruk. Apabila sebuah program mengakses suatu range
alamat yang lebih besar dari memori utama yang dialokasikan ke
program, LRU melakukan page –out page itu sesuai dengan urutan page
tersebut direferensikan dan karena itu akan menjumpai rangkaian page-
fault tetap yang tanpa akhir. Di samping itu, peningkatan alokasi
memori tidak mengurangi laju page fault sampai progrm keseluruhan
pas ke dalam memori utama.
1. Sebuah rangkaian merupakan deret page fault dengan alamat-alamat
virtual yang
berurutan,yang berkembang dalam satu arah dengan tanpa adanya
fault terhadap page
yang berada ditengah deret.Page yang paling baru ditambahkan
menjadi kepala
rangkaian.
2. Apabila memori rendah dan suatu page harus digantikan,page akan
memeriksa apakah
ada rangkaian yang panjangnya lebih besar dari L.Page akan
memeriksa waktu fault
terbaru yang ke-N didalam setiap rangkaian dan akan memilih
rangkaian yang
memiliki fault ke-N paling baru.
3. Pager akan memilih page pertama yang masuk kedalam memori yang
jaraknya M
page atau lebih dari kepala rangkaian untuk menggantian.

BAB X
MULTI PROSESOR DAN
PENJADWALAN WAKTU
dengan subet untuk beroperasi, sebagaimana thread menunggu ketika
sebuah proses disisipkan, yang tertinggal untuk aplikasi secara
individual (mungkin melalui sekumpulan rutin library run-
time).Pendekatan ini mungkin tidak sesuai untuk seluruh
aplikasi.Namun, beberapa aplikasi dapat menjadi default untuk sebuah
thread tunggal sementara lainnya dapat diprogram guna mengambil
keuntungan dari fitur khusus sistem operasi ini.
Dalam pendekatan ini, penjadwalan bertanggung jawab dalam
sistem operasi umumnya ditujukan untuk membatasi alokasi ke prosesor
dan memproses sesuai dengan kebijakan berikut.Ketika sebuah
pekerjaan meminta satu atau lebih prosesor (ketika job masuk untuk
pertama kali atau karena kebutuhannya beubah).

1. Jika terdapat sebuah prosesor yang menganggur, gunakan
prosesor untuk memenuhi permintaan.
2. Jika tidak, job membuat permintaan baru, alokasikan sebuah
prosesor tunggal dengan membuat suatu job yang saat ini dialokasikan
ke lebih dari satu prosesor.
3. Jika permintaan ini tidak dapat dipenuhi, proses tetap
tersedia untuk itu atau job membatalkan permintaan (misalkan tidak
terdapat sebuah kebutuhan untuk proses ekstra).
Selama pelepasan dari satu atau lebih prosesor (termauk pelepasan
job)
4. Scan antrean yang ada dari permintaan yang tidak dipenuhi
untuk prosesor.Nyatakan sebuah prosesor tunggal untuk masing-masing
job dalam daftar yang saat ini tidak memiliki prosesor (yakni untuk
seluruh kedatangan baru).Kemudian, scan daftar sekali lagi,
mengalokasikan sisa prosesor dalam sebuah dasar FCFS.


PNJADWALAN WAKTU-NYATA
Komputasi waktu nyata menjadi sebuah disiplin yang
penting.Sistem operasi dan penjadwalan tertentu mungkin merupakan
komponen yang penting dari sistem waktu nyata.Contoh-contoh aplikasi
saat ini untuk sisem waktu nyata termasuk kontrol dari penelitian
laboratorium, kontrol pengembangan proses, rabotika, kontrol lalu
lintas udara, telekomunikasi, komando militer, dan sistem
kontrol.Generasi selanjutnya akan termasuk otonomi dari land
rover,pengontrolan dari robot dengan penghubung yang elastik, sistem
yang ditemukan dalam perusahaan intelijen, dan stasiun luar ankasa
serta eksplorasi dalam lautan.
Komputasi waktu nyata dapat didefinisikan sebagai
tipe dari komputasi kebenaran sistem yang saling bergantung, tidak
hanya dari hasil logika komputasi namun juga jumlah dari waktu yang
dihasilkan.

Karakteristik dari Sistem Operasi Waktu Nyata
Siatem Opersi waktu Nyata dapat dikarakteristikkan memiliki
persyaratan berikut dalam lima area umum [MORG91]:

• Deterministik
• Responsif
• Kontrol user
• Operasi Fail-soft

Suatu system operasi deterministic keberadaan dari operasi yang
dilakukan tetap ,menerka waktu atau dalam interval waktu yang
ditentukan. Ketika proses multiple yang diselesaikan untuk sumber
dan waktu prosesor , tidak terdapat system deterministic
total .Dalam sebuah system operasi waktu nyata , proses meminta
untuk layanan yang diperintahkan oleh even eksternal dan waktu .
Keberadaan dari system operasi dapat secara deterministik memenuhi
permintaan yang bergantung kepada kecepatn yang pertama dengan
tanggapan dari interrupt dan kedua dalam system yang memiliki
kapasitas yang culup untuk ditangani seluruh permintaan dalam waktu
yang dimintakan.

Satu pengukuran yang bermanfaat dari kemampuan system
operasi agar berfungsi secara deterministic adalah penundaan
maksikum kedatangan dari suatu interrupt device dengan prio ritas
tinggi ketika layanan dimilai . Dalam sebuah system operasi non
nyata , penundaan ini dapat berkisar ratusan ke milidetik ,
sementara dalam system operasi waktu nyata menyatakan bahwa
penundaan dapat dinyatakan dalam batas mana saja dari sedikit
mikrodetik ke sebuah milidetik.
Penentuan dan responsive bersama-sama membuat waktu tanggap untuk
kejadian eksternal.Persyaratan waktu tanggap adalah kritis untuk
sistem waktu nyata,karena sistem demikian harus memenuhi persyaratan
waktu yang dinyatakan oleh device secara individu, dan alur data
eksternal ke sistem
Kontrol user secara umum lebih luas dalam sistem operasi waktu nyata
dibandingkan dengan sistem operasi biasa.Dalam sebuah operasi non-
nyata tertentu, user tidak memiliki kontrol terhadap fungsi
penjadwalan sistem operasi atau hanya dapat menyediakan panduan
secara meluas,seperti pengelompokan user kedalam lebih dari satu
kelas prioritas. Dalam sebuah sistem waktu nyata,bagaimanapun
juga,esensial untuk memungkinkan kontrol terhadap prioitas tugas.
User seharusnya dapat membedakan antara keras dan lunak dari tugas
dan menjelaskan prioritas secara relatif di dalam masing-masing
kelas.Sebuah sistem waktu nyata juga memungkinkan user untuk
menyatakan karakteristik sedemikian sehingga penggunaan dari paging
atau memindahkan proses, proses apa yang harus selalu tersimpan
dalam memori utama, algoritma transfer disket mana yang digunakan,
hak apa dari prosesor dalam berbagai prioritas yang dimiliki, dan
sebagainya.

• kemampuan untuk menjawab interupt eksternal secara cepat
• Multitasking dengan tool komunikasi antarproses seperti
semaphore,signal,dan event
• Penggunaan dari urutan file khusus yang dapat
mengakumulasikan data dalam kecepatan tinggi
• Penjadwalan penyisipan didasarkan dalam prioritas
• Memperkecil interval selama interupt dinonaktifkan
• Alarm khusus dan time-out
BAB XI
MANAJEMEN I/O DAN
PENJADWALAN DISKET
Evolusi dari Fungsi I/O
Sebagaimana dengan system komputer yang telah berevolusi ,terdapat
sebuah bentuk peningkatan kompleksitas dan kemutakhiran dari
komponen individual.B ukti dari fungsi I/O tidak terdapat dalam
bentuk ini .Langkah –lanngkah evolusi dapat disimpulkan sebagai
berikut:
1. Prosesor yang langsung mengontrol sebuah device
peripheral.Ini mudah di lihat dengan sebuah device dari
mikroprosesor yang terkontrol .
2. sebuah pengontrol atau modul I/O ditambahkan. Prosesor
menggunakan sebuah I/O tanpa interupt .Dengan langkah ini,prosesor
menjadi terlepas dari rincian yang khusus dari interface device
eksternal.
3. Kongfigurasi yang sama dari lanngkah 2 digunakan , namun
saat ini interupt digunakan. Prosesor tidak membutuhkan untuk
mengeluarkan waktu menungggu sebuah operasi I/O untuk dilakukan ,
maka efesien menjadi meningkat.
4. modul I/Odiberikan kontrol langsung dari memori melalui
DMA . Saat ini dapat langsung memindahkan sekelompok dari blok data
ke atau dari memori tanpa melibatkan propesor ,kecuali di awal dan
di akhir transfer.
5. Modul I/O ditingkatkan menjadi terpisah dari propesor ,
dengan intruksi khusus yang diset sesuai I/O .CPU mengarahkan
propesor I/O untuk mengeksekusi program I/O dalam memori utama . I/O
proses mengambil dan mengeksekusi instruksi tanpa intervensi dari
propesor .Ini memungkinkan propesor untuk menyatakan sebuah deretan
aktivitas dari I/O dan untuk di interupt hanya ketika keseluruhan
dari deretan telah di lakukan .
6. Modul I/O memiliki memori lokal . Dengan arsitektur ini,
sebuah kumpulan device I/O dapat di kontrol dengan keterlibatan
propesor yang minimal . Penggunaan yang umum untuk sebuah arsitektur
demikian telah mengontrol komunikasi dengan interaktif
terminal .Prosesor I/O mengggunakan banyak tugas yang terlibat dalam
control dari terminal.

Sebagaimana yang dilanjutkan dari `path evolusioner , lebih dari
fungsi I/O dilakukan tanpa keterlibataan propesor .Propesor utama
menggunakan tugas dari I/O yang berhubungan untuk meningkatkan
kinerja.dangan dua langkah terakhir (5 dan 6) perubahan utama
terjadi dengan pengantar ke konsep dari modul yang dapat diambil
dalam eksekusi pogram .
Catatlah tentang terminologi:untuk seluruh modul yang di
jelaskan dalam langkah 5 sampai ke 6 , istilah Akses Memori Langsung
(DMA) adalah tepat, karena seluruh langkah –langkah tipe ini
melibatkan control langsung dari memori utama.

• Sistem file : Lapisan yang berhubungan dengan struktur
logika file dan dengan operasi yang dapat dinyatakan oleh
user,seperti buka,tutup,baca,tulis.Hak akses juga dikelola dalam
lapisan ini.
• Organisasi fisik : Sebagaimana dengan alamat memori yang
harus dikonversikan dalam alamat memori fisik,menggunakan segmentasi
dan struktur paging,referensi logika untuk file dan record yang
harus dikonversikan ke alamat penyimpanan secondary,menggunakan
jalur fisik dan sruktur sektor device penyimpana secondary.Alokasi
daerah penyimanan secondary dan buffer dari penyimpanan utama
diperlakukan dalam lapisan ini dengan baik.

11.4 BUFFERING I/O
Misalkan bahwa seorang user akan melakukan proses membaca blok data
dari sebuah tape dalam satu waktu dengan masing-masing blok yang
memiliki panjang 512 bytes.
Data yang akan dibaca dalam sebuah area data di dalam area alamat
dari proses user dalam lokasi virtual 1000 ke 1511. Cara yang paling
sederhana adalah mengeksekusi sebuah perintah I/O (seperti Read_blok
[100 tape]) ke unit tape dan menunggu untuk data tersedia. Proses
menunggu merupakan sebuah antrean yang sibuk (Pemeriksaan yang
kontinu dari status device) atau lebih praktis penghentian proses
dalam sebuah interupt.
Terdapat dua persoalan dengan pendekatan ini.
Pertama,program yang menunggu untuk I/O yang relatif lambat untuk
selesai. Persoalan kedua bahwa pendekatan ini untuk interfensi I/O
dengan keputusan pemindahan oleh sistem operasi. Lokasi virtual 1000
ke 1511 harus tetap dalam memori utama selama kegiatan dari transfer
blok. Jika tidak ada beberapa data mungkin hilang. Jika paging yang
sedang digunakan,sedikitnya halaman mengandung bagian dari proses
yang mungkin di-page keluar ke disket,adalah tidak memungkinkan
untuk memindahkan seluruhnya proses keluar,walaupun ini dibutuhkan
oleh sistem operasi. Perhatikan juga risiko deadlock dengan proses
tunggal. Jika sebuah proses mengeluarkan sebuah perintah I/O,akan
dihentikan menunggu hasil,dan dikeluarkan sesuai denganawal dari
operasi proses yang diblok menunggu dalam event dari I/O,dan operasi
I/O diblok menunggu untuk proses yang dipindahkan ke dalam. Untuk
menghindari deadlock,memori user terlibat dalam operasi I/O harus
dikunci dalam memori utama langsung setelah permintaan I/O di
keluarkan,walaupun operasi I/O diantrekan dan mungkin dieksekusi
untuk beberapa waktu.
Perhatikan yang sama juga diterapkan untuk operasi output.
Jika sebuah block sedang ditransfer dari seorang user,daerah proses
langsung ke sebuah modul I/O,maka proses sedang diblok selama
transfer dan proses dapat dipindahkan keluar.
Untuk menghindari biaya ini dan ketidakefisienan,sering
memudahkan untuk melakukan transfer input awal permintaan yang
sedang dibuat untuk melakukan transfer output beberapa kali setelah
permintaan dibuat. Teknik ini dikenal sebagai buffering. Dalam
bagian ini, kita melihat dalam beberapa skema buffering yang
didukung oleh sistem operasi untuk meningkatkan kinerja dari sistem.
Dalam membahas berbagai pendekatan ke buffering,penting
untuk membuat perbedaan di antara dua tipe dari device I/O:
berorientasi blok dan berorientasi alur. Device yang berorientasi
blok menyimpan informasi dalam blok yang biasanya dalam ukuran
tetap, dan transfer dibuat dalam satu blok setiap waktunya. Umumnya
adalah
Memungkinkan untuk mereferensikan data dengan jumlah dari blok-
nya.Disket dan tape merupakan contah dari device berorientasi
blok.Transfer device berorietasi alur ke dalam dan keluar sebagai
sebuah alur bytes dengan tanpa struktur blok.Terminal,printer,port
komunikasi,mouse dan alat untuk petunjuk lainnya,dan kebanyakan dari
device lainnya yang bukan merupakan tempat penyimpanan tambahan
merupakan berorientasi alur.
Buffer Tunggal
ipe terendah yang mendukung sistim operasi yang menyediakan
sebuah buffering tunggal (Gambar 1.6b ). Ketika seorang user
mengeluarkan sebuah permintaan I/O,sistim operasi menyatakan sebuah
buffer dalam bagian sistem memori utama ke operasi.
Untuk sebuah device berorientasi blok,skema buffering
tunggal dapat di jelaskan sebagai berikut: transfer input di buat
untuk sistem buffer.Ketika transfer di lengkapi,proses berpindah
dari blok dalam daerah user dan secara langsung blok permintaan
lainnya.Ini di kenal sebagai pembacaan lanjutnya atau input
antisipasi;dilakukan dalam bagian blok yang akan dibutuhkan.Untuk
banyak tipe dari komputasi,ini merupakan asumsi yang masuk akal
dalam ke banyakan waktu karena data yang biasanya diakses secara
sekuensial.Hanya dalam akhir dari pemprosesan sekuensial akan
merupakan sebuah blok yang tidak perlu.
Pendekatan ini umumnya akan menyediakan sebuah percepatan
dibandingkan buffering sistem. Proses user dapat memproses satu
dalam satu blok data sementara blok selanjutnya sedang dibaca.Sistim
operasi mampu untuk memindahkan proses keluar karena operasi input
yang menggunakan tempat dalam sistem operasi lebih dari pada proses
user dalam memori. Teknik ini tentunya lebih kompleks dari logika
dalam sistem operasi. Sistem operasi harus menyimpan jalur penugasan
dari buffer sistem untuk proses user. Pemindahan logika juga di
pengaruhi:Jika operasi I/O terlibat dalam disket yang sama yang
digunakan untuk pemindahan proses keluar.


BAB XII
MANAJEMEN FILE
Dalam kebanyakan aplikasi,file merupakan tema utama.Dengan seluruh
pengecualian dari aplikasi waktu nyata dan beberapa alpikasi yang
terspesialis, input ke alpikasi merupakan alat dari sebuah file dan
secara virtual seluruh alpikasi, output disimpan dalam sebuah
penyimpanan jangka panjang oleh user dan program lainnya .
File yang dimiliki aplikasi tunggal menggunakan mereka untuk
input dan /atau ouput. User mengingankan untuk mampu mengakses file,
menyimpan mereka dan memelihara integritas isi mereka. Untuk
membentuk objektif mereka,secara virtual seluruh siatem operasi
menyediakan system manajemen file. Khususnya, sistem manajemen file
yang mengandung utilitas progam yang berjalan merupakan ultilitas
privasi.Namun, dalam bagian yang terakhir, sistem manajemen file
membutuhkan sebuah layanan khusus dari siatem operasi, didalam
bagian yang terbesar, yang dinyatakan sebagai bagian dari sistem
operasi.Sewajar nya untuk memperhatikan elemen dasar manajemen file
dalm buku ini.
Kita mulai dengan sebuah kilasan, diikutidengan sebuah
pembahasan dalam organisasi dari sebuah alternatif file. Walaupun
organisasi file secara umum berada diluar batasan sistem operasi,
esensial untuk memiliki pemahaman yang umum dari alternatif umum
untuk menghargai beberapa kelemahan yang terdapat dalam manajemen
file. Sisa dari bab ini merupakan bagian dari manajemen file.
Empat istilah yang umum digunakan ketika membahas file:
.Field
.Record
.File
.Database

Field merupakan elemen dasar dari data.Sebuah field
tunggal mengandung sebuah nilai tunggal seperti nama belakang
karyawan, tanggal atau nilai dari pembacaan sensor.
Dikarakteristikkan dengan panjang dan tepe (misal ASCII
String,Desimal). Bergantung pada desain file, gield mungkin memiliki
panjang tetap atau panjang variable.Dalam kasus berikut, field dapat
mengandung dua atau tiga subfield; nilai yang sebenarnya untuk
disimpan, nama field dan beberapa kasus panjang dari field.Dalam
kasus lainnya dari panjang variable field, panjang dari field
mengindikasikan pengguna simbol demarkasi khusus di antara field.
Rekord merupakan sebuah koleksi dari field yang
berhubungan yang dapat diperlakukan sebagai unit dari beberapa
program aplikasi.Sebagai contoh, record karyawan mengadung field
demikian sebagai mana, nomor keamanan sosial, klasifikasi pekerjaan,
tanggal kontrak dan lain lain.Sekali lagi bergantung pada desain ,
rekord mungkin merupakan panjang tetap atau panjang variabel. Sebuah
rekord mungkin memiliki panjang variabel jika beberapa dari field
merupakan panjang variabel atau jumlah dari field dapat bervariasi.
Dalam kasus berikut, masing masing field biasanya bersama dengan
sebuah nama field .Dalam kasus lain, keseluruan dari rekord biasanya
termasuk sebuah panjang field.
File merupakan koleksi dari rekord yang sama. File
diperlukan sebagai entitas oleh user dan aplikasi yang dapat
direferensikan sebuah nama. File memiliki nama file unik dan mungkin
dibentik dan dihapus . Pembatasan kontrol akses biasanya diterapkan
dalam tiga file.Oleh karena itu, dalam sebuah sistim share, usur
program diberikan .
atau ditolak akses ke seluruh file. Dalam beberapa sistem mutakhir,
kontrol demikian didorong dalam rekord atau bahkan dalam ting file.
Database merupakan koleksi dari data yang berhubungan. Aspek
esensial dari sebuah database merupakan hubungan di antara elemen
yang ada dari data yang secara eksplisit dan databese tersebut
didesain untuk penggunaan oleh sejumlah aplikasi yang berbeda.
Sebuah database dapat mengandung seluruh informasi yang berhubungan
dngan sebuah organisasi atau proyek, seperti studi bisnis atau
ilmiah. Database itu sendiri mengandung satu atau lebih tippe dari
file. Biasanya terdapat pemisahan sistem manajemen database yang
independen dari sistem operasi, walaupun sistem dapat mengunakan
beberapa program manajemen file.
Rtrieve_All: mengembalikan seluruh rekord dan
file.Dibutuhkan untuk sebuah aplikasi yang harus memproses seluruh
informasi dalam file dalam suatu waktu. Sebagai contoh, sebuah
aplikasi yang menghasilkan rangkuman infomasi dalam file yang akan
dibutuhkan untuk mengembalikan seluruh rekord. Operasi ini sering
disamakan dengan istilah pemrosesan berurutan, karena seluruh rekord
diakses dengan berurutan.
• Retrieve_One: membutuhkan pengembalian hanya dari sebuah
rekord tunggal. Aplikasi interaktif yang berorientasi transaksi
membutuhkan operasi ini.
• Retrieve_Next: membutuhkan pengembalian rekord
yang "selanjutnya" dalam beberapa deretan logika untuk pengembalian
rekord yang paling sering. Beberapa aplikasi interaktif seperti
pengisian form membutuhkan operasi demikian. Sebuah program yang
melakukan pencarian dapat manggunakan opersi ini.
• Retrieve_Previous: sama dengan retrieve next, namun dalam
kasus ini rekord yang "provious" ke rekord yang baru saja daikses
dikembalikan.
• Insert_One: memasukkan rekord baru kedalam file. Mungkin
sebuah rekord baru sesuai dalam sebuah posisi tertentu untuk
menyedaikan sebuh deretan dari file.
• Delete_One: menghapuskan satu rekord yang telah ada.
Beberapa hubungan atau struktur data lainnya yang mungkin
membutuhkan untuk di-update untuk menyediakan deretan file.
• Update_One: mengembalikan sebuah rekord, mang_update satu
atau lebih fieldnya, dan menuliskan update rekord kembali ke file.
Sekali lagi mungkin dibutuhkan untuk menyediakan deretan dengan
operasi ini. Jika panjang dari rekord telah berubah, operasi update
umumnya lebih sulit daripada jika panjangnya disediakan.
• : mengembalikan sejumlah rekord. Sebagi contoh, sebuah
aplikasi atau user dapat menginginkan seluruh rekord memenuhi
sekumpulan kriteria.
Sistem manajemen file
Sebuah manajemen file merupakan sekumpulan dari sistem
software yang disediakan untuk user dan aplikasi penggunan file.
Umumnya, hanya cara useer atu aplikasi dapat mengakses file melalui
siste manajemen file.
• Untuk memenuhi kebutuhan manajemen data dan persyaratan
user , yang termasuk penyimpanan data dan kemampuan untuk operasi
yang di sebutkan .
• Untuk menjamin seluas mungkin bahwa data di dalam file sah .
• Untuk menjamin keberadaan dari sudut pandang sistem dalam
istilah keseluruhan throughtput dan dari sudut pandang waktu
respons .
• Menyeediakan dukungan I/O untuk sebuah variasi dari tipe
device penyimpanan .
• Untuk meminimasi atau mengeliminasi hilangnya atau hancurnya
data .
• Untuk menyediakan sebuah kumpulan rutin interface I\O yang
standar .
• Menyediakan dukungan I\O untuk multiple user , dalam kasus
sistem multipleuser .

Berhubungan dengan titik pertama memenuhi persyaratan dari
user , keberadaan dari persyaratan itu bergantung pada variasi
aplikasi dan lingkungan dari sistem komputer yang akan digunakan .
Untuk sebuah sistem dengan tujuan umum , berikut ini hal yang harus
dipenuhi :
1. Masing – masing user seharusnya mampu untuk membentuk ,
menghapus , membaca , dan mengubah file .
2. Masing – masing user dapat mengontrol akses ke user file
lainnya .
3. Masing –masing user dapat mengontrol tipe yang diakses yang
diperbolehkan ke file user .
4. Masing – masing user seharusnya mampu untuk membentuk user
file dalam sebuah bentuk yang sesuai dengan persoalan .
5. Masing – masing user seharusnya mampu untuk memindahkan data
di antara file .
6. Masing – masing user seharusnya mampu untukmendukung dan
mengembalikan file user jika mengalami kerusakan .
7. Masing – masing user seharusnya mampu untuk mengakses ke
file user lainnya dengan menggunakan nama simbolik .

Tidak ada komentar:

Posting Komentar