Minggu, 24 Oktober 2010

KELAS 12.3A.29

NAMA KELOMPOK:
DWI JULI YATI (18092346)
NURLITA NOVIANTI (18092360)
RAHMA NURJANAH (18092359)
NOVA ASTRIANTI (18092346)
ADITYA DEWO RESPATIH (18092354)

KEAMANAN DATA

Keamanan data telah menjadi bagian dari pengembangan teknologi informasi mengingat bahwa berjuta-juta bit informasi telah dipertukarkan dalam jaringan komputer terutama di internet. Masalah keamanan data dapat diklassifikasi kedalam beberapa dimensi. Suatu situs komersial misalnya harus memenuhi persayaratan berikut ini.

* Secrecy: kategori kemanan komputer yang meliputi perlindungan data/informasi terhadap akses dari pihak-pihak yang tidak berhak serta masalah keaslian (autentik) dari sumber data/informasi. Masalah secrecy berkaitan dengan proses enkripsi-dekripsi serta proses autentikasi.
* Integrity: kategori keamanan data yang menjamin bahwa data tidak terganggu selama proses transfer dari sumber ke tujuan melalui saluran-saluran komunikasi. Masalah integrity berkaitan dengan bagaimana melindungi data dari penyusup yang berusaha masuk ke sumber data, atau menyusup dalam jaringan data, untuk mengubah dan merusak. Masalah virus yang bisa menghancurkan data juga menjadi bagian dari integrity.
* Availability: kategori keamanan data yang bisa mempertahankan sumber informasi agar selalu sedia dan aktif melayani para penggunanya. Masalah availability berkaitan dengan usaha melindungi server dari gangguan yang bisa menyebabkan server gagal memberi pelayanan (denial of service / DOS).

Jenis Keamanan Data
Keamanan data ada beberapa macam, diantaranya Enkripsi, Firewall, Secure Socket Layerv, Kriptografi, Pretty Good Privacy.

1.Enkripsi adalah sebuah proses yang melakukan perubahan sebuah kode dari yang bisa dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak terbaca). Enkripsi juga dapat diartikan sebagai kode atau chipper.

2.Firewall adalah suatu keamanan yang bersifat seperti sebuah filter yang bertujuan untuk menjaga (prevent) agar akses (ke dalam atau ke luar) dari orang yang tidak berwenang tidak dapat dilakukan.

3.Secure Socket Layerv adalah suatu bentuk penyandian data sehingga informasi rahasia seperti nomor kartu kredit atau kontrol autentikasinya tidak dapat dibaca atau di akses oleh pihak lain selain pemiliknya daan server (pemilik servis).

4.Kriptografi adalah seni menyandikan data. Menyandikan tidak harus berarti menyembunyikan meskipun kebanyakan algoritma yang dikembangkan di dunia kriptografi berhu bungan dengan menyembunyikan data.

5.Pretty Good Privacy adalah salah satu algoritma keamanan komunikasi data melalui internet untuk komunikasi harian semacam electronic mail. PGP merupakan gabungan antara sistem pembiatan digest, enkripsi simetris dan asimetris.

KONKURENSI

Konkurensi adalah proses-proses (lebih dari satu proses) yang terjadi pada saat bersamaan. Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.
Beberapa masalah yang harus diselesaikan:

1.Mutual Exclusion
adalah suatu cara yang menjamin jika ada sebuah proses yang menggunakan variabel atau berkas yang sama (digunakan juga oleh proses lain), maka proses lain akan dikeluarkan dari pekerjaan yang sama.

2.Sinkronisasi
adalah Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan. Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsistensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock atau starvation.

3.Deadlock
adalah Adalah banyak proses yang saling menunggu hasil dari proses yang lain untuk dapat melanjutkan atau menyelesaikan tugasnya. Deadlock dalam arti sebenarnya adalah kebuntuan. Kebuntuan yang dimaksud dalam sistem operasi adalah kebuntuan proses. Jadi Deadlock ialah suatu kondisi dimana proses tidak berjalan lagi atau pun tidak ada komunikasi lagi antar proses. Deadlock disebabkan karena proses yang satu menunggu sumber daya yang sedang dipegang oleh proses lain yang sedang menunggu sumber daya yang dipegang oleh proses tersebut.

4.Startvation
adalah Adalah suatu proses akan menunggu suatu kejadian atau hasil suatu proses lain supaya dapat menyelesaikan tugasnya, tetapi kejadian yang ditunggu tidak pernah terjadi karena selalu diambil lebih dulu oleh proses yang lain.

A.Prinsip-prinsip Konkurensi
Konkurensi meliputi hal-hal sbb:
• Alokasi waktu pemroses untuk proses-proses
• Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
• Komunikasi antarproses
• Sinkronisasi aktivitas banyak proses.

Konkurensi dapat muncul pada konteks berbeda, antara lain:

1. Banyak aplikasi (multiple application).
Multiprogramming memungkinkan banyak proses sekaligus dijalankan. Proses-proses dapat berasal dari aplikasi-aplikasi berbeda. Pada sistem multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan di sistem komputer.

2. Aplikasi terstruktur.
Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai sekumpulan proses. Dengan sekumpulan proses, maka tiap proses menyediakan satu layanan spesifik tertentu.

3. Struktur sistem operasi.
Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem. Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam riset telah diimplementasikan sebagai sekumpulan proses. Sistem operasi bermodelkan client/server menggunakan pendekatan ini.

4. Untuk Strukturisasi Satu Proses.
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerjasama untuk mencapai tujuan proses.

B. Interaksi Antar Proses.


Pada sistem dengan banyak proses (kongkuren), terdapat 2 katagori interaksi, yaitu:

1. Proses-proses Saling Tidak Peduli (Independen).
Proses-proses ini tidak dimaksudkan untuk bekerja untukmencapai tujuan tertentu. Pada multiprogramming dengan proses-proses independen, dapat berupa batch atau sesi interaktif, atau campuran keduanya.

2. Proses-proses Saling Mempedulikan Secara Tidak Langsung.
Proses-proses tidak perlu saling mempedulikan identitas proses-proses lain, tapi sama-sama mengakses objek tertentu, seperti buffer masukan/keluaran. Proses-proses itu perlu bekerja sama (cooperation) dalam memakai bersama objek tertentu.

C. Kesulitan-kesulitan yang ditimbulkan konkurensi

Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:

1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:

a) Aktivitas proses-proses lain
b) Cara sistem operasi menangani interupsi
c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.

2. Beberapa kesulitan yang dapat muncul, di antaranya adalah:

a) Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.

b) Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.

c) Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.


3. Proses-proses konkuren mengharuskan beberapa hal yang harus ditangani, antara lain:
a) Sistem operasi harus mengetahui proses-proses yang aktif
b) Sistem operasi harus mengalokasikan dan mendealokasikan beragam sumber daya untuk tiap proses aktif. Sumber daya yang harus dikelola, antara lain:
(1) Waktu pemroses.
(2) Memori
(3) Berkas-berkas
(4) Perangkat I/O

c) Sistem operasi harus memproteksi data dan sumber daya fisik masing-masing proses dari gangguan proses-proses lain.

d) Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana eksekusi dilakukan.

D. Pokok Penyelesaian Masalah Kongkurensi

Pada dasarnya penyelesaian masalah kongkurensi terbagi menjadi 2, yaitu:

1. Mengasumsikan adanya memori yang digunakan bersama
2. Tidak mengasumsikan adanya memori yang digunakan bersama.
Adanya memori bersama lebih memudahkan penyelesaian masalah kongkurensi. Metode memori bersama dapat dipakai untuk singleprocessor ataupun multiprocessor yang mempunyai memori bersama. Penyelesaian ini tidak dapat digunakan untuk multiprocessor tanpa memori bersama atau untuk sistem tersebar.

Jumat, 15 Oktober 2010

SISTEM MANAJEMEN FILE

Dalam sistem operasi komputer kita mengenal sistem manajemen file. Sistem manajemen file ini perlu diterapkan agar dapat digunakan dalam sistem operasi komputer. Dalam penerapannya seringkali menimbulkan beberapa masalah, oleh karena itu masalah tersebut harus dapat diselesaikan oleh sistem operasi komputer. Penyelesaian tersebut memiliki beberapa cara yang masing-masing memiliki keunggulan dan kelemahan tersendiri.

Manajemen file dalam sistem operasi keluaran Microsoft Windows dapat dilakukan dengan memanfaatkan fungsi dan fasilitas yang ada pada program aplikasi file manager Windows Explorer. Aplikasi tersebut berfungsi untuk mengelola file dan folder, seperti menyalin file menjadi dua atau lebih salinan, menghapus atau memindahkan file atau folder ke tempat lain, seperti ke dalam disket atau folder lainnya.
Penggunaan menu dan operasi-operasi file pada Windows Explorer ini relatif mudah digunakan dan sederhana. Umumnya, Windows Explorer dieksekusi lewat: Start Menu | Program | Accessories | Windows Explorer. Atau cara cepatnya dengan klik kanan pada Start Menu, kemudian pilih Explorer.

1.Pengertian manajemen file

File system atau manajemen file adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dan mengorganisir file pada disk atau partisi. File system juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara memberi suatu file system ke dalam disk atau partisi dengan cara melakukan Format

2.Manfaat Manajemen File

dapat mengurangi resiko kehilangan file yang dikarenakan: terhapus secara tidak disengaja, tertimpa file baru, tersimpan dimana saja, dan hal lain yang tidak kita inginkan


Pada sebagian besar pemakai, system file merupakan bagian system operasi yang paling tampak. System file menyediakan pengaksesan dan penyimpanan file secara online terhadap data dan program. System file terisi dua bagian terpisah, yaitu kumpulan file yang masing-masing file menyimpan data dan / atau program serta struktur direktori yang mengorganisasikan dan menyediakan informasi mengenai file di system.

1.1 SASARAN DAN FUNGSI SISTEM MANAJEMEN FILE
Komputer dapat menyimpan file di beragam media penyimpanan seperti optical disk, magnetic tape dan magnetic disk. Agar computer dapat digunakan dengan nyaman maka computer harus menyediakan pandanga yang logic seragam dalam hal penyimpanan informasi atau data. Sistem informasi menyembunyikan property-properti fisik dari penyimpana fisik dengan mendefinisikan unit penyimpanan logic yang disebut file. File-file dipetakan ke perangkat fisik oleh system operasi. Perangkat fisik ini bersifat nonvolatile, sehingga isinya tetap bertahan setelah system computer dimatikan mengakhiri satu sesi layanan system computer.
File adalah koleksi yang diberi nama dari sebuah informasi yang direkam pada penyimpanan sekunder. File mempunyai sifat sebagai berikut :
a. Persistance
Informasi dapat bertahan meski proses yang membuatnya berakhir atau catu daya dihilangkan. Dengan property seperti ini maka file yang didapat dari hasil proses dapat dijaga dan digunakan pada masa yang akan dating.
b. Size
Setiap file memiliki ukuran, terkadang file mempunyai ukuran yang sangat besar sehingga memungkinkan membutuhkan tempat penyimpanan yang sangat besar pula.
c. Sharability
File dapat digunakan diberbagai proses yang mengakses informasi secara konkruen.

SASARAN SISTEM MANAJEMEN FILE
Pengolahan file adalah kumpulan perangkat lunak system yang menyediakan layanan-layanan berhubungan dengan penggunaan file ke pemakai dan atau aplikasi. Satu-satunya cara pemakai atau aplikasi mengakses file adalah lewat system file. Pemakai atau pemrogram tidak perlu mengembangkan perangkat lunak khusus untuk mengakses data dimasing-masing aplikasi. Sistem telah menyediakan pengendali terhadap asset penting itu.
Memenuhi manajemen data bagi pemakai (Grosshan[GRO-86]), kebutuhan manajemen data bagi pemakai untuk memberikan kemampuan melakukan operasi-operasi sebagai berikut :
- Menampilkan seluruh record data (Retrieve all)
- Menampilkan satu record data tertentu (retrieve one)
- Menampilkan satu record data berikutnya (retrieve next)
- Menampilkan satu record data sebelumnya (retrieve previous)
- Menyisispkan satu record data (insert one)
- Menghapus satu record data tertentu (delete one)
- Memperbaharui satu data tertentu (update one)
- Memperbaharui beberapa record tertentu dalam suatu criteria (update few)

Optimasi kerja (Grosshan[GRO-86]), yaitu : menurut system yaitu meningkatkan jumlah throughput keseluruhan. Menurut pemakai yaitu cepatnya waktu tanggap.

FUNGSI MANAJEMEN FILE
Beberapa fungsi yang diharapkan dari pengelolaan manajemen file :
1. Penciptaan, modifikasi dan penghapusan file
2. Mekanisme pemakaian file secara bersama
Menyediakan beragam tipe pengaksesan terkendali seperti :
- Read access (kendali terhadap akses membaca)
- Write access (kendali terhadap akses modifikasi)
- Execute access (kendali terhadap akses menjalankan program)
- Dan beragam kombinasi lain
3. Kemampuan back up dan pemulihan (recovery) untuk mencegah kehilangan karena kecelakaan atau dari upaya penghancuran informasi.
4. Pemakai dapat mengacu file dengan nama simbolik (symbolic name) bukan menggunakan penamaan yang mengacu perangkat fisik
5. Pada lingkungan sensitive dikehendaki informasi tersimpan aman dan rahasia
Lingkungan seperti : electronic fund transfer system, criminal record system, medical record system, dsb
System file menyediakan enkripsi data (merubah data menjadi symbol tertentu) dan dekripsi (pembukaan file bersandi rahasia) untuk menjaga agar data hanya dapat digunakan oleh pemakai yang diotorisasi saja.
6. System file harus menyediakan antarmuka (interface) yang bersifat user-frendly
System file harus menyediakan : pandangan secara logic (logical view) bukan pandangan secara fisik (physical view) terhadap data, fungsi dapat dilakukan terhadap data.

1.2 ARSITEKTUR PENGOLAHAN FILE
Pengolahan file biasanya terdiri dari :
1. System akses :barkaitan dengan nagaimana cara data yang disimpan pada file akses
2. Manajemen File : berkaitan dengan penyediaan mekanisme operasi pada file
3. Manajemen Ruang penyimpanan : berkaitan dengan alokasi tempat penyimpanan file diperangkat penyimpanan
4. Mekanisme integritas file : berkaitan dengan jaminan informasi pada file tidak terkorupsi

Program dapat mengakses file pada umumnya melalui system basis data (DBMS)atau fasilitas yang disediakan Sistem Operasi. Umumnya Sistem Operasi menyediakan manajemen file, manajemen penyimpanan file dan mekanisme integrasi. DBMS umumnya memuat bagian database engine, diataranya berisi mekanisme integrasi dan system akses.
DBMS menggunakan fasilitas yang disediakan system operasi untuk memberikan layanan-layanannya. Mekanisme integrasi merupakan masalah yang dilakukan ditingkat system operasi maupun di DBMS. Hanya system operasi tertentu, yaitu siste operasi yang dikhususkan untuk basisdata yang secara langsung menyatukan system akses di system operasi. Hal ini dilakukan untuk memperoleh kinerja yang lebih bagus. Sebagian besar system operasi hanya menyediakan pengelolaan file yang akan digunakan peragkat lunak aplikasi diatasnya

Pengolahan file melibatkan banyak subsistem penting di system computer, yaitu :
1. Manajemen perangkat masukan/keluaran di system operasi
Device driver, merupakan lapisan terbawah. Device driver berkomunikasi dengan perangkat secara langsung. Device driver bertanggung jawab memulai operasi masukan/keluaran dan mengolah penyelesaian permintaan masukan/keluaran. Pada operasi file perangkat yang sering digunakan adalah disk dan tape. Device driver merupakan bagian dari manajemen masukan/keluaran.

2. System file di system operasi
System file dasar,atau tingkat masukan/keluaran fisik merupakan antarmuka utama dengan perangkat keras. Lapisan ini berhubungan dengan blok-blok data yang dipertukarkan antara system dengan disk dan tape. Lapisan ini berfungsi dalam penempatan blok-blok datadiperangkat penyimpanan sekunder dan buffering blok-blok data itu di memori utama. Lapisan ini tidak berhubungan dengan isi data auat struktur file.

Abstraksi file dan direktori, system file memberikan abstraksi ke pemakai berupa file dan direktori. Pemakai maupun proses tidak perlu lagi berhubungan dengan blok-blok data melainkan beroperasi terhada abstraksi file dan/atau direktori.

Operasi-operasi terhadap file dan direktori, kumpulan system call dan/atau pustaka untuk manipulasi file dan direktori.

3. System akses dan/atau system manajemen basis data
System Akses,metode kases merupakan lapisan terakhir. Metode ini menyediakan antarmuka standar antara aplikasi dengan system file secara perangkat yang menyimpan data. Metode pengaksesan yang berbeda merefleksikan struktur file berbeda dan cara-cara pengaksesan dan pengolahan yang berbeda.
Metode pengaksesan yang paling dikenal adalah :
1. File pile (pile file)
2. File sekuen (sequential file)
3. File sekuen berindeks (indexed-sequenstial file)
4. File berindek majemuk (multiple-indexed file)
5. File ber-hash (hashed file)
6. File multiring (multiring file)

1.3 SISTEM FILE
Konsep terpenting dalam system operasi adalah file dan direktori. Pemakai memanipulasi data dengan merujuknya sebagai file atau direktori. Pemakai tidak dibebani dengan masalah penyimpanan, manipulsi perangkat dan sebagainya.

1. File : abstraksi penyimpanan dan pengambilan informasi didisk. Abstraksi ini membuat pemakai tidak dibebani cara dan letak penyimpana informasi, serta mekanisme kerja penyimpanan data.
Terdapat beragam pandangan mengenai file :
a. Pandangan pemakai
Terhadap file pemakai berkepentingan memahami hal-hal berikut :
- penamaan file
pemakai mengacu file dengan nama simbolik. Masing-masing file pada system harus mempunyai nama yang unik agar tidak ambigu. Penamaan file mutlak dengan menyertakan nama direktori tempat file, sebagai nama awal harus memberikan nama yang unik untuk semua file di system. Tidak boleh memberikan nama file yang sama dalam satu direktori.
Penamaan file berbeda sesuai direktori. Terdapat aturan dalam penamaan file :
• system yang case-sensitive, yang membedakan antara huruf kecil dan besar. Ex: LINUX/UNIX
• system case-sensitive tetapi tidak membedakan antara huruf besar dan kecil. Ex : DOS
“sekarang penamaan file cenderung menggunakan nama yang panjang karena lebih deskriptif”

- tipe file
terdapat tiga tipe file pada system operasi :
1. regular : file regular beridi informasi, terdiri dari file ASCII dan biner. File ASCII berisi baris teks, sedangkan file biner adalah file bukan file ASCII. Untuk file biner eksekusi (exe) mempunyai struktur internal (layout) yang hanya diketahui system operasi tertentu. Untuk file biner hasil program apliksi, struktur internal hanya diketahui program aplikasi tersebut.
2. Direktori : file direktori merupakan file yang dimikili system untuk mengelola struktur system file. File direktori merupakan file berisi informasi mengenai file didirektori.
3. Special : merupakan logic perangkat masukan/keluaran. Perangkat masukan/keluaran dapat dipandang sebagai file. Pengguna dihindarkan dari kerumitan operasi perangkat maukan/keluaran.
File special terbagi menjadi dua, yaitu :
• file special karakter : berhubungan dengan perangkat masukan/keluaran aliran karakter. File ini memodelkan perangkat masukan/keluaran seperti : terminal, printer, port jaringan, modem, dan perangkat bukan penyimpanan skunder.
• File special blok : berhubungan dengan perangkat masukan/keluaran sebagai kumpulan blok-blok data.

- atribut file
informasi tambahan mengenai file untuk memperjelas dan membatasi operasi-operasi yang dapat diterapkan. Atribut digunakan untuk pengelolaan file. Contoh atribut-atribut pada file[TAN-92] : protection, password, creator, owner, read-olny flag dll.

- perintah-perintah untuk manipulsi file.
Merupakan perintah yang dapat diberikan pemakai dibaris perintah ke shell (command interpreter). Perintah tersebut dapat dikategorikan menjadi :
• menciptakan file
• menghapus file
• mengcopi file
• merubah nama file
• dan manipulasi yang lain.
- Operasi pada file.
Operasi-operasi pada file yang sering diimplementasikan system operasi [TAN-92] : create, delete, open, close, read, write, append, seek, get attributes, set attributes, rename.

b. Pandangan pemrogram
Pemrogram perlu memahami operasi-operasi terhadap file

c. Pandangan perancang system
Implementasi pengelolaan file


2. Direktori : berisi informasi mengenai file. Kebanyakan informasi berkaitan dengan penyimpanan. Direktori adalah file, namun dimikili system operasi dan dapat diakses dengan rutin di system operasi.

Meski beberapa informasi direktori tersedia bagi pemakai atau aplikasi, informasi itu umumnya disediakan secara tidak langsung. Pemakai tidak dapat mengakses direktori secara langsung meski dalam mode read only.

Pandangan Pemakai : direktori menyediakan pemetaan nama file ke file. Informasi terpenting pada direktori berkaitan dengan penyimpanan termasuk lokasi dan ukuran penyimpanan file. Pada system bersama (shared system ), informasi yang penting adalah informasi pengendalian akses file. Satu pemakai adalah pemilik file yang dapat member wewenang pengaksesan ke pemakai-pemakai lain.

Aturan penamaan direktori mengikuti aturan penamaan file karena direktori merupakan file khusus. Beberapa konsep penting yang dipahami oleh pemakai :
• Hirarki direktori
Kebanyakan system menggunakan hirarki direktori atau berstruktur pohon. Terdapat satu direktori master (root) yang didalamnya terdapat subdirektori-subdirektori. Subdirektori dapat memuat subditerktori berikutnya, demikian seterusnya. Penamaan direktori sama aturannya dengan penamaan file, karena direktori merupakan file yang memiliki arti khusus.

• Jalur pengaksesan (path name)
Apabila system file diorganisasikan dengan pohon direktori, maka diperlukan cara menspesifikasikan nama file. Masalah penamaan file diselesaikan dengan penamaan absolute dan penamaan file relative. Terdapat dua jalur, yaitu :
1. Nama jalur absolute (absolute pathname) : nama jalur dari direktori root ke file, dimulai dari direktori root dan akan bernilai unik.
2. Nama jalur relative (relative pathname): jalur relative terhadap direktori kerja/saat itu (working directory atau current directory). Pemakai dapat menyatakan satu direktori sebagai current directory. Nama jalur tidak dimulai direktori root berarti relative current directory.

• Perintah-perintah manipulasi direktori
1. Pindah direktori
2. Penciptaan direktori
3. Penghapusan direktori
4. Penghapusan direktori mensyaratkan : direktori tidak sedang digunakan dan direktori telah kosong.

• Operasi pada direktori
Beragan operasi dapat diterapkan pada direktori, seperti pada file. Operasi-operasi yang khusus pada direktori yang dapat diimplementasikan system operasi sbb : create, delete, open directory, close directory, read directory, rename, link dan unlink.

3. Manipulasi seluruh system file
Terdapat perintah-perintah manipulsi system file :
• Pembentukan system file
• Pemeriksaan system file
• Pengkopian seluruh system file
• Manipulsi lain

1.4 SHARED FILE
Adalah file yang tidak hanya diacu oleh satu direktori (pemakai) tetapi juga oleh direktori-direktori yang lain. System file tidak lagi berupa pohon melainkan directory acyclic graph (DAG). Masalah-masalah di shared file :
1. Metode implementasi shared file
2. Metode pemberian kases pada shared file
3. Metode pengendalian atau penanganan terhadap pengaksesan simultan yang dilakukan pemakai-pemakai yang mengacu file, mencakup integrasi atau koherensi data.

1.5 SISTEM AKSES FILE
System akses merupakan pilihan, yaitu :
1. Dapat menjadi bagian system operasi, atau
2. System operasi sama sekali tidak memiliki komponen system berkas.

System operasi bertujuan umum (general-purposes operating system ) tidak mengimplementasikan system akses sebagai komponen system operasi, terserah system memanajemen basisdata yang dijalankan di system operasi itu yang menangani system akses. System operasi hanya memberikan pengelolaan system file dasar.

System operasi tertentu sering mengimplementasikan system akses sebagai bagiannya seperti system operasi mainframe untuk tujuan khusus. Implementasi system akses ditingkat system operasi untuk meningkatkan kinerja system menejemen basisdata.

a. Cara akses perangkat penyimpanan
Perangkat penyimpanan berdasar disiplin pengaksesan dibagi dua, yaitu :
• Perangkat akses sekuen (sequential access devices)
Proses harus membaca semua byte atau record file secara berurutan mulai dari awal, tidak dapat meloncati dan membaca diluar urutan. Ex : tape
• Peragkat akses acak (random access devices)
Dimungkinkan dapat membaca byte atau record di file secara tidak berurutan.

b. Organisasi file
Element pokok perancangan system akses adalah cara record-record diorganisasikan atau distrukturkan.
Beberapa criteria umum untuk pemilihan organisasi file adalah [WIE-87]
• Redudansi yang kecil
• Pengaksesan yang cepat
• Kemudahan dalam memperbaharui
• Pemeliharaan yang sederhana
• Kehandalan yang tinggi
Terdapat enam organisasi dasar, kebanyakan organisasi file system termasuk salah satu atau kombinasi kategori-kategori ini. Enam organisasi pengaksesan file secara dasar adalah sebagai berikut :
1. File pile (pile file)
2. File sekuen (sequential file)
3. File sekuen berindeks (indexed-sequenstial file)
4. File berindek majemuk (multiple-indexed file)
5. File ber-hash (hashed file)
6. File cincin (multiring file)
Keenam organisasi dasar ini dirinci dibukua Gio Wiederhold [WIE-87].

MANAJEMEN MEMORY


Memori merupakan pusat kegiatan pada sebuah komputer, karena setiap proses yang akan
dijalankan harus melalui memori terlebih dahulu. CPU mengambil instruksi dari memori sesuai yang
ada pada program counter. Instruksi memerlukan proses memasukkan/menyimpan ke alamat di
memori. Tugas sistem operasi adalah mengatur peletakan proses pada suatu memori. Algoritma
untuk manajemen memori ini bervariasi dari yang menggunakan pendekatan primitif pada mesin
sampai dengan pemberian halaman (page) dan strategi segmentasi (segment). Memori harus dapat
digunakan dengan baik, sehingga dapat memuat banyak proses pada suatu waktu.
Address Binding
Umumnya sebuah program ditempatkan dalam disk dalam bentuk berkas biner yang dapat dieksekusi.
Sebelum dieksekusi, sebuah program harus ditempatkan di memori terlebih dahulu. Kumpulan proses
yang ada pada disk harus menunggu dalam antrian (input queue) sebelum dibawa ke memori dan
dieksekusi. Prosedur penempatan yang biasa dilakukan adalah dengan memilih salah satu proses
yang ada di input queue, kemudian proses tersebut ditempatkan ke memori. Sebelum dieksekusi,
program akan melalui beberapa tahap. Dalam setiap tahap alamat sebuah program akan
direpresentasikan dengan cara yang berbeda. Alamat di dalam sebuah sumber program biasanya
dalam bentuk simbol-simbol.
Gambar 1 Multistep processing dari program user
Sebuah kompilator akan memetakan simbol-simbol ini ke alamat relokasi. Linkage editor akan
memetakan alamat relokasi ini menjadi alamat absolut. Binding adalah pemetaan dari satu ruang
alamat ke alamat yang lain. Binding instruksi dan data ke memori dapat dapat terjadi dalam tiga cara
yang berbeda:
a. Compilation Time. Jika kita tahu dimana proses akan ditempatkan di memori pada saat
mengkompilasi, maka alamat absolut dapat dibuat. Kita harus mengkompilasi ulang kode jika
lokasi berubah.
b. Load Time. Kita harus membuat kode relokasi jika pada saat mengkompilasi kita tidak
mengetahui proses yang akan ditempatkan dalam memori. Pada kasus ini, binding harus ditunda
sampai load time.
c. Execution Time. Binding harus ditunda sampai waktu proses berjalan selesai jika pada saat
dieksekusi proses dapat dipindah dari satu segmen ke segmen yang lain di dalam memori. Kita
butuh perangkat keras khusus untuk melakukan ini.
2
Pengalamatan Logika dan Fisik
Alamat logika adalah alamat yang dihasilkan oleh CPU, disebut juga alamat virtual. Alamat fisik
adalah alamat memori yang sebenarnya. Pada saat waktu kompilasi dan waktu pemanggilan, alamat
fisik dan alamat logika adalah sama. Sedangkan pada waktu eksekusi menghasilkan alamat fisik dan
alamat virtual yang berbeda.
Kumpulan alamat virtual yang dibuat oleh CPU disebut ruang alamat virtual. Kumpulan alamat fisik
yang berkorespondensi dengan alamat virtual disebut ruang alamat fisik. Untuk mengubah alamat
virtual ke alamat fisik diperlukan suatu perangkat keras yang bernama Memory Management Unit
(MMU).
Register utamanya disebut register relokasi. Nilai pada register relokasi akan bertambah setiap alamat
dibuat oleh proses pengguna dan pada waktu yang sama alamat ini dikirimkan ke memori. Ketika ada
program yang menunjuk ke alamat memori, kemudian mengoperasikannya, dan menaruh lagi ke
memori, akan dilokasikan oleh MMU karena program pengguna hanya berinteraksi dengan alamat
logika. Pengubahan alamat virtual ke alamat fisik merupakan pusat dari manajemen memori.
Gambar 2 Relokasi dinamis menggunakan register relokasi
Pemanggilan Dinamis (Dynamic Loading)
Seluruh proses dan data berada di memori fisik ketika dieksekusi. Ukuran dari memori fisik terbatas.
Untuk mendapatkan penggunaan ruang memori yang baik, kita melakukan pemanggilan secara
dinamis. Dengan pemanggilan dinamis, sebuah rutin tidak akan dipanggil jika tidak diperlukan.
Semua rutin diletakkan dalam disk dengan format yang dapat dialokasikan ulang. Progam utama
ditempatkan dalam memori dan dieksekusi. Jika sebuah rutin memanggil rutin lainnya, maka akan
diperiksa terlebih dahulu apakah rutin tersebut ada di dalam memori atau tidak, jika tidak ada maka
linkage loader akan dipanggil untuk menempatkan rutin-rutin yang diinginkan ke memori dan
memperbaharui tabel alamat program untuk menyesuaikan perubahan. Kemudian kendali diberikan
pada rutin yang baru dipanggil tersebut.
Keuntungan dari pemanggilan dinamis adalah rutin yang tidak digunakan tidak pernah dipanggil.
Metode ini berguna untuk kode dalam jumlah banyak, ketika muncul kasus-kasus yang tidak lazim,
seperti rutin yang salah. Dalam kode yang besar, walaupun ukuran kode besar, tapi yang dipanggil
dapat jauh lebih kecil.
Pemanggilan Dinamis tidak memerlukan bantuan sistem operasi. Ini adalah tanggung jawab para
pengguna untuk merancang program yang mengambil keuntungan dari metode ini. Sistem operasi
dapat membantu pembuat program dengan menyediakan kumpulan data rutin untuk
mengimplementasi pemanggilan dinamis.

MANAJEMEN I/O

Sering disebut device manager. Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca file pada hard-disk, CD-ROM dan floppy disk.

Komponen Sistem Operasi untuk sistem I/O :
• Buffer : menampung sementara data dari/ke perangkat I/O.
• Spooling : melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
• Menyediakan "driver" untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu.
Manajemen perangkat masukan/keluaran merupakan aspek perancangan sistem
operasi terluas dan kompleks karena sangat beragamnya perangkat dan
aplikasinya.
Beberapa fungsi manajemen input/ouput (I/O) :
a. Mengirim perintah ke perangkat I/O agar menyediakan layanan.
b. Menangani interupsi perangkat I/O.
c. Menangani kesalahan perangkat I/O.
d. Menyediakan interface ke pemakai.

Klasifikasi perangkat I/O

Perangkat I/O dapat dikelompokkan berdasarkan :
a. Sifat aliran datanya, yang terbagi atas :
1 Perangkat berorientasi blok.
Yaitu menyimpan, menerima, dan mengirim informasi sebagai blok-blok berukuran tetap yang berukuran 128 sampai 1024 byte dan memiliki alamat tersendiri, sehingga memungkinkan membaca atau menulis blok-blok secara independen, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain. Contoh : disk,tape,CD ROM, optical disk.
2 Perangkat berorientasi aliran karakter.
Yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa membentuk suatu struktur blok. Contoh : terminal, line printer, pita kertas, kartu-kartu berlubang, interface jaringan, mouse.
b. Sasaran komunikasi, yang terbagi atas :.
1 Perangkat yang terbaca oleh manusia.
Perangkat yang digunakan untuk berkomunikasi dengan manusia.
Contoh : VDT (video display terminal) : monitor, keyboard, mouse.
2 Perangkat yang terbaca oleh mesin.
Perangkat yang digunakan untuk berkomunikasi dengan perangkat elektronik.
Contoh : Disk dan tape, sensor, controller.
3 Perangkat komunikasi.
Perangkat yang digunakan untuk komunikasi dengan perangkat jarak jauh.
Contoh : Modem.

Faktor-faktor yang membedakan antar perangkat :
o Kecepatan transmisi data (data rate).
o Jenis aplikasi yang digunakan.
o Tingkat kerumitan dalam pengendalian.
o Besarnya unit yang ditransfer.
o Representasi atau perwujudan data.
o Kondisi-kondisi kesalahan.
Teknik pemograman perangkat I/O


Terdapat 3 teknik, yaitu :
a. I/O terprogram atau polling system.
Ketika perangkat I/O menangani permintaan, perangkat men-set bit status di register status perangkat. Perangkat tidak memberitahu ke pemroses saat tugas telah selesai dilakukan sehingga pemroses harus selalu memeriksa register tersebut secara periodik dan melakukan tindakan berdasar status yang dibaca. Software pengendali perangkat (driver) dipemroses harus mentransfer data ke/dari pengendali. Driver mengekseksui perintah yang berkomunikasi dengan pengendali (adapter) di perangkat dan menunggui sampai operasi yang dilakukan perangkat selesai.
Driver berisi kumpulan instruksi :
1 Pengendalian.
Berfungsi mengaktifkan perangkat eksternal dan memberitahu yang perlu dilakukan. Contoh : unit tape magnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke record berikut, dan sebagainya.
2 Pengujian.
Berfungsi memeriksa status perangkat keras berkaitan dengan perangkat I/O.


3 Pembacaan/penulisan
Berfungsi membaca/menulis untuk transfer data antara register pemroses dan perangkat eksternal.Masalah utama I/O terprogram adalah pemroses diboroskan untuk menunggu dan menjagai operasi I/O. Diperlukan teknik lain untuk meningkatkan efisiensi pemroses.

b. I/O dikendalikan interupsi.
Teknik I/O dituntun interupsi mempunyai mekanisme kerja sebagai berikut :
o Pemroses memberi instruksi ke perangkat I/O kemudian melanjutkan
melakukan pekerjaan lainnya.
o Perangkat I/O akan menginterupsi meminta layanan saat perangkat telah
siap bertukar data dengan pemroses.
o Saat menerima interupsi perangkat keras (yang memberitahukan bahwa
perangkat siap melakukan transfer), pemroses segera mengeksekusi
transfer data.
Keunggulan :
o Pemroses tidak disibukkan menunggui dan menjaga perangkat I/O untuk
memeriksa status perangkat.
Kelemahan :
o Rate transfer I/O dibatasi kecepatan menguji dan melayani operasi
perangkat.
o Pemroses terikat ketat dalam mengelola transfer I/O. Sejumlah intruksi
harus dieksekusi untuk tiap transfer I/O.

c. Dengan DMA (direct memory access).
DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan perangkat I/O. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA controller dengan mengirim informasi berikut :
o Perintah penulisan/pembacaan.
o Alamat perangkat I/O.
o Awal lokasi memori yang ditulis/dibaca.
o Jumlah word (byte) yang ditulis/dibaca.
Setelah mengirim informasi-informasi itu ke DMA controller, pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta ke/dari memori secara langsung tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirim sinyal interupsi ke pemroses. Sehingga pemroses hanya dilibatkan pada awal dan akhir transfer data. Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA lepas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.
Keunggulan :
o Penghematan waktu pemroses.
o Peningkatan kinerja I/O.
Evolusi fungsi perangkat I/O
Sistem komputer mengalami peningkatan kompleksitas dan kecanggihan komponen-komponennya, yang sangat tampak pada fungsi-fungsi I/O sebagai berikut :
a. Pemroses mengendalikan perangkat I/O secara langsung.
Masih digunakan sampai saat ini untuk perangkat sederhana yang dikendalikan mikroprosessor sehingga menjadi perangkat berintelijen (inteligent device).
b. Pemroses dilengkapi pengendali I/O (I/O controller).
Pemroses menggunakan I/O terpogram tanpa interupsi, sehingga tak perlu memperhatikan rincian-rincian spesifik antarmuka perangkat.
c. Perangkat dilengkapi fasilitas interupsi.
Pemroses tidak perlu menghabiskan waktu menunggu selesainya operasi I/O, sehingga meningkatkan efisiensi pemroses.

d. I/O controller mengendalikan memori secara langsung lewat DMA. Pengendali dapat memindahkan blok data ke/dari memori tanpa melibatkan pemroses kecuali diawal dan akhir transfer.

e. Pengendali I/O menjadi pemroses terpisah.
Pemroses pusat mengendalikan.memerintahkan pemroses khusus I/O untuk mengeksekusi program I/O di memori utama. Pemroses I/O mengambil dan mengeksekusi intruksi-intruksi ini tanpa intervensi pemroses pusat. Dimungkinkan pemroses pusat menspesifikasikan barisan aktivitas I/O dan hanya diinterupsi ketika seluruh barisan intruksi diselesaikan.

f. Pengendali I/O mempunyai memori lokal sendiri.
Perangkat I/O dapat dikendalikan dengan keterlibatan pemroses pusat yang minimum.

Arsitektur ini untuk pengendalian komunikasi dengan terminal-terminal interaktif. Pemroses I/O mengambil alih kebanyakan tugas yang melibatkan pengendalian terminal.
Evolusi bertujuan meminimalkan keterlibatan pemroses pusat, sehingga pemroses tidak disibukkan dengan tugas I/O dan dapat meningkatkan kinerja sistem.

Prinsip manajemen perangkat I/O
Terdapat dua sasaran perancangan I/O, yaitu :
a. Efisiensi.
Aspek penting karena operasi I/O sering menimbulkan bottleneck.
b. Generalitas (device independence).
Manajemen perangkat I/O selain berkaitan dengan simplisitas dan bebas kesalahan, juga menangani perangkat secara seragam baik dari cara proses memandang maupun cara sistem operasi mengelola perangkat dan operasi I/O.

Software diorganisasikan berlapis. Lapisan bawah berurusan menyembunyikan kerumitanperangkat keras untuk lapisan-lapisan lebih atas. Lapisan lebih atas berurusanmemberi antar muka yang bagus, bersih, nyaman dan seragam ke pemakai.
Masalah-masalah manajemen I/O adalah :
a. Penamaan yang seragam (uniform naming).
Nama berkas atau perangkat adalah string atau integer, tidak bergantung pada perangkat sama sekali.
b. Penanganan kesalahan (error handling).
Umumnya penanganan kesalahan ditangani sedekat mungkin dengan perangkat keras.
c. Transfer sinkron vs asinkron.
Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba. Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah read, program kemudian ditunda secara otomatis sampai data tersedia di buffer.
d. Sharable vs dedicated.
Beberapa perangk dapat dipakai bersama seperti disk, tapi ada juga perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat. Contoh : printer.
Hirarki manajemen perangkat I/O
Hirarki manajemen perangkat I/O :
a. Interrupt handler.
Interupsi harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blocked saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked.

b. Device drivers.
Semua kode bergantung perangkat ditempatkan di device driver. Tiap device driver menangani satu tipe (kelas) perangkat dan bertugas menerima permintaan abstrak perangkat lunak device independent diatasnya dan melakukan layanan permintaan.
Mekanisme kerja device driver :
o Menerjemahkan perintah abstrak menjadi perintah konkret.
o Setelah ditentukan perintah yang harus diberikan ke pengendali, device
driver mulai menulis ke register-register pengendali perangkat.
o Setelah operasi selesai dilakukan perangkat, device driver memeriksa
status kesalahan yang terjadi.
o Jika berjalan baik, device driver melewatkan data ke perangkat lunak
device independent.
o Kemudian device driver melaporkan status operasinya ke pemanggil.

c. Perangkat lunak device independent.
Bertujuan membentuk fungsi-fungsi I/O yang berlaku untuk semua perangkat
dan memberi antarmuka seragam ke perangkat lunak tingkat pemakai.
Fungsi-fungsi lain yang dilakukan :
o Sebagai interface seragam untuk seluruh device driver.
o Penamaan perangkat.
o Proteksi perangkat.
o Memberi ukuran blok perangkat agar bersifat device independent.
o Melakukan buffering.
o Alokasi penyimpanan pada block devices.
o Alokasi dan pelepasan dedicated devices.
o Pelaporan kesalahan.

d. Perangkat lunak level pemakai.
Kebanyakan perangkat lunak I/O terdapat di sistem operasi. Satu bagian kecil berisi pustaka-pustaka yang dikaitkan pada program pemakai dan berjalan diluar kernel. System calls I/O umumnya dibuat sebagai prosedur-prosedur pustaka. Kumpulan prosedur pustaka I/O merupakan bagian sistem I/O. Tidak semua perangkat lunak I/O level pemakai berupa prosedur- prosedur pustaka. Kategori penting adalah sistem spooling. Spooling adalah cara khusus berurusan dengan perangkat I/O yang harus didedikasikan pada sistem multiprogramming.

Buffering I/O
Buffering adalah melembutkan lonjakan-lonjakan kebutuhan pengaksesan I/O, sehingga meningkatkan efisiensi dan kinerja sistem operasi.
Terdapat beragam cara buffering, antar lain :
a. Single buffering.
Merupakan teknik paling sederhana. Ketika proses memberi perintah untuk perangkat I/O, sistem operasi menyediakan buffer memori utama sistem untuk operasi.Untuk perangkat berorientasi blok.Transfer masukan dibuat ke buffer sistem. Ketika transfer selesai, proses memindahkan blok ke ruang pemakai dan segera meminta blok lain. Teknik ini disebut reading ahead atau anticipated input. Teknik ini dilakukan dengan harapan blok akan segera diperlukan. Untuk banyak tipe komputasi, asumsi ini berlaku. Hanya di akhir pemrosesan maka blok yang dibaca tidak diperlukan.
Keunggulan :
Pendekatan in umumnya meningkatkan kecepatan dibanding tanpa buffering. Proses pemakai dapat memproses blok data sementara blok berikutnya sedang dibaca. Sistem operasi dapat menswap keluar proses karena operasi masukan berada di memori sistem bukan memori proses pemakai.
Kelemahan :
o Merumitkan sistem operasi karena harus mencatat pemberian buffer-buffer sistem ke proses pemakai.
o Logika swapping juga dipengaruhi. Jika operasi I/O melibatkan disk
untuk swapping, maka membuat antrian penulisan ke disk yang sama yang digunakan untuk swap out proses. Untuk menswap proses dan melepas memori utama tidak dapat dimulai sampai operasi I/O selesai, dimana waktu swapping ke disk tidak bagus untuk dilaksanaka Buffering keluaran serupa buffering masukan. Ketika data transmisi, data lebih dulu dikopi dari ruang pemakai ke buffer sistem. Proses pengirim menjadi bebas untuk melanjutkan eksekusi berikutnya atau di swap ke disk Jika perlu.
Untuk perangkat berorientasi aliran karakter.

Single buffering dapat diterapkan dengan dua mode, yaitu :
o Mode line at a time.
Cocok untuk terminal mode gulung (scroll terminal atau dumb terminal). Masukan pemakai adalah satu baris per waktu dengan enter menandai akhir baris. Keluaran terminal juga serupa, yaitu satu baris per waktu.
Contoh mode ini adalah printer.
Buffer digunakan untuk menyimpan satu baris tunggal. Proses pemakai
ditunda selama masukan, menunggu kedatangan satu baris seluruhnya.
Untuk keluaran, proses pemakai menempatkan satu baris keluaran pada buffer dan melanjutkan pemrosesan. Proses tidak perlu suspend kecuali bila baris kedua dikirim sebelum buffer dikosongkan.
o Mode byte at a time.
Operasi ini cocok untuk terminal mode form, dimana tiap ketikan adalah penting dan untuk peripheral lain seperti sensor dan pengendali.

b. Double buffering.
Peningkatan dapat dibuat dengan dua buffer sistem.Proses dapat ditransfer ke/dari satu buffer sementara sistem operasi mengosongkan (atau mengisi) buffer lain. Teknik ini disebut double buffering atau buffer swapping. Double buffering menjamin proses tidak menunggu operasi I/O. Peningkatan ini harus dibayar dengan peningkatan kompleksitas. Untuk berorientasi aliran karakter, double buffering mempunyai 2 mode alternatif, yaitu :
o Mode line at a time.
Proses pemakai tidak perlu ditunda untuk I/O kecuali proses secepatnya mengosongkan buffer ganda.
o Mode byte at a time.
Buffer ganda tidak memberi keunggulan berarti atas buffer tunggal.
Double buffering mengikuti model producer-consumer.

c. Circular buffering.
Seharusnya melembutkan aliran data antara perangkat I/O dan proses. Jika kinerja proses tertentu menjadi fokus kita, maka kita ingin agar operasi I/O mengikuti proses. Double buffering tidak mencukupi jika proses melakukan operasi I/O yang berturutan dengan cepat. Masalah sering dapat dihindari denga menggunakan lebih dari dua buffer. Ketika lebih dari dua buffer yang digunakan, kumpulan buffer itu sendiri diacu sebagai circulat buffer. Tiap bufferindividu adalah satu unit di circular buffer.

Algoritma penjadwalan disk
Pada sistem multiprogramming, banyak proses yang melakukan permintaan membaca dan menulis rekord-rekord disk. Proses-proses membuat permintaan-permintaan lebih cepat dibanding yang dapat dilayani disk, membentuk antrian permintaan layanan disk. Diperlukan penjadwalan disk agar memperoleh kinerja yang optimal.

Terdapat dua tipe penjadwalan disk, yaitu :
1. Optimasi seek.
2. Optimasi rotasi (rotational latency).
Karena waktu seek lebih tinggi satu orde dibanding waktu rotasi, maka kebanyakan algoritma penjadwalan berkonsentrasi meminimumkan seek kumpulan atau antrian permintaan layanan disk. Meminimumkan latency biasanya berdampak kecil pada kinerja seluruh sistem. Penjadwalan disk melibatkan pemeriksaan terhadap permintaan-permintaan yang belum dilayani untuk menentukan cara paling efisien melayani permintaan-permintaan. Penjadwal disk memeriksa hubungan posisi diantara permintaan-permintaan. Antrian permintaan disusun kembali sehingga permintaan-permintaan akan dilayani dengan pergerakan mekanis minimum.

Beberapa kriteria penjadwalan disk, yaitu :
o Throughput, yaitu berusaha memaksimumkan.
o Waktu tanggap rata-rata, nilai ini diusahakan minimum.
o Variansi waktu tanggap, diusahakan minimum.

Beberapa algoritma penjadwalan disk, antara lain :
> First come first serve (FCFS).
Disk driver melayani satu permintaan sesuai urutan kedatangannya, merupakan metode yang adil. Saat rate permintaan sangat berat, FCFS dapat menghasilkan waktu tunggu sangat panjang. Dengan FCFS, sangat Sedikit usaha optimasi waktu seek. FCFS dapat menyebabkan banyak waktu untuk seek silinder yang paling dalam ke silinder paling luar. Ketika permintaan-permintaan terdistribusi seragam pada permukaan permukaan disk, penjadwalan FCFS menghasilkan pola seek yang acak. FCFS mengabaikan keterhubungan posisi diantara permintaan-permintaan yang menunggu di antrian. FCFS tidak membuat upaya optimasi pola seek.FCFS dapat diterima ketika beban disk masih ringan, tetapi begitu beban tumbuh cenderung menjenuhi perangkat dan menyebabkan waktu tanggap membesar.
> Shortest seek first (SSF).
Algoritma ini melayani permintaan seek track terdekat dari track dimana head berada. Kekurangan : lengan disk akan berkutat ditengah disk. Permintaan didaerah ekstrim (pinggir) akan menunggu sampai fluktuasi statistik menyebabkan tidak ada permintaan track-track tengah. Terdapat konflik antara meminimalkan waktu tanggao dengan fairness (adil).
> Elevator (SCAN).
Yaitu head bergerak searah sampai tidak ada permintaan ke arah itu, kemudian berbalik arah. Diperlukan bit tambahan untuk mencatat arah gerak head. Kebaikan : batas atas jumlah gerak adalah tetap yaitu dua kali jumlah silinder.
> Elevator dimodifikasi (C-SCAN).
Lengan head hanya bergerak searah, setiap kali mencapai silinder tertinggi, maka head akan bergerak ke silinder terendah dan dilanjutkan terus head bergerak searah. Ada kontroller yang dapat mengetahui pada track mana ia berada, dengan ini dapat dibuat optimasi untuk mencari sektor yang ada pada track tersebut.

> N-step scan.
Lengan disk bergerak maju mundur seperti algoritma SCAN, tapi dengan semua permintaan yang tiba selama menyapu dalam satu arah dikumpulkan dulu dan disusun kembali agar layanan optimal selama penyapuan balik.

> Exchenbach scheme.
Pergerakan lengan disk sirkular seperti C-SCAN, tapi dengan beberapa kekecualian penting setiap silinder dilayani tepat satu track informasi baik terdapat permintaan atau tidak untuk silinder itu. Permintaan-permintaan disusun untuk layanan dalam silinder itu untuk mendapatkan keunggulan posisi secara rotasi (agar dapat diterapkan optimasi rotasi), tapi jika terdapat dua permintaan dengan sektor-sektor yang overlap dalam satu silinder, hanya satu permintaan yang dilayani pada satu kesempatan.

Penanganan masalah operasi disk
Beberapa tipe kesalahan saat operasi disk dikategorikan sebagai berikut:
o Programming error.
Kesalahan disebabkan programming. Driver memerintahkan mencari track, membaca sektor, menggunakan head atau mentransfer ke atau dari memori yang tak ada. Biasanya tiap controller memeriksa parameter sehingga tidak melakukan operasi yang tak valid. Kesalahan ini seharusnya tidak pernah ada.
o Transient checksum error.
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk. Untuk mengeliminasi kesalahan ini maka dilakukan pengulangan operasi pada disk.
o Permanent checksum error.
Kesalahan disebabkan kerusakan disk.
o Seek error.
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsikembali.
o Controller error.
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah dengan pengendali yang baru.
o Track at time caching.
Kontroller mempunyai memori untuk menyimpan informasi track dimana ia berada, permintaan pembacaan blok track dilakukan tanpa pergerakan mekanik.




Clock

Perangkat keras clock.
Komputer dilengkapi dengan RTC (real time clock). Tipe perangkat clock,
terdiri dari :
> Clock yang ditimbulkan impulse tegangan listrik.
Clock in menginterupsi 50-60 interupt tiap detik sesuai dengan frekuensi listrik.
> Programmable interval timer (PIT).
Clock ini terdiri dari crystal oscilator, counter, dan holding register.
Dua keunggulan PIT, yaitu :
>> Mempunyai akurasi tinggi.
>> Frekuensi interupsi dapat diatur secara perangkat lunak.
Dengan crystal oscilator 2 MHz, menggunakan 16 bit holding registe, interupsi yang terjadi dapat diatur antara 1 ms sampai 65.536 ms.
PIT biasa digunakan sebagai :
>> Waktu sistem.
>> Pembangkit band rate.
>> Penghitung kejadian.
>> Pembangkit musik.
>> Dan diberagam aplikasi yang memerlukan pewaktuan.
Ketika digunakan untuk pewaktuan PIT menghasilkan interupsi secara periodik. PIT bekerja dengan menghitung pulsa eksternal yang diberikan crystal oscilator. Keluaran PIT berupa pulsa yang diteruskan secara langsung ke IRQm(Interupt Request) sehingga menimbulkan interupsi kepemroses. Periode waktu antara dua interupsi timer berturutan dapat diprogram dengan memasukkan nilai ke holding register. Interval interupsi mempunyai rumus sebagai berikut :Interval = (periode clock) x (nilai holding register).
Contoh :
Dikehendaki interval pewaktuan setiap 10 ms.
Frekuensi crystal oscilator adalah 2 MHz.
Berapa nilai yang harus dimasukkan ke holding register ?
Perhitungan :
Periode clock = 1/(2x106) = 0.5 x 10-6 = 0,5mms.
Nilai yang harus diberikan ke holding register = (10x10-3)/(0.5x10-6)=
20x103.
Agar PIT menimbulkan interupsi dengan waktu interval 10 ms, maka
holding register diset dengan nilai 20.000.


Metode pemrograman PIT.
Terdapat dua mode pemograman PIT, yaitu :
1. One shot mode.
Setiap kali PIT diinisialisasi maka dikopikan nilai holding register ke counter.Counter diturunkan setiap terjadi pulsa crystal oscilator.Ketika counter bernilai 0, PIT membuat interupsi ke pemroses dan berhenti. PIT menunggu diinisialisasi secara eksplisit oleh perangkat lunak. Mode ini hanya untuk menghasilkan satu kejadian tunggal, diperlukan ketika clock diaktifkan berdasarkan kejadian.
2. Square wave mode.
Sesudah counter mencapai 0 maka menyebabkan interupsi ke pemroses. Holding register dikopikan secara otomatis ke counter dan seluruh proses diulangi lagi sampai tak berhingga. Periode ini disebut clock ticks. Mode ini untuk menghasilkan kejadian-kejadian interupsi timer secara periodik, dilakukan secara otomatis tanpa melibatkan pemroses(perangkat lunak untuk inisialisasi kembali). Biasanya chip berisi dua atau tiga PIT independen dan mempunyai banyak option pemrograman (seperti menghitung keatas, pematian interupsi, dan sebagainya).

Perangkat lunak clock.
Beberapa fungsi clock disistem operasi, antara lain :
1. Mengelola waktu dan tanggal (waktu nyata).
Tekniknya adalah counter dinaikkan setiap terjadi clock tick.
Teknik ini bermasalah karena keterbatasan jumlah bit counter.
Counter berukuran 32 bit akan overflow setelah 2 tahun bila clock
ratenya bernilai 60Hz, solusinya adalah :
o Menggunakan counter 64 bit.
o Waktu dihitung dalam detik bukan dalam clock tick.
o Waktu dihitung relatif dengan saat komputer dihidupkan.
2. Mencegah proses berjalan lebih dari waktu yang ditetapkan.
Setiap kali proses dimulai, penjadwal inisialisasi counter dalam hitungan clock ticks. Setiap kali terjadi clock ticks, counter diturunkan. Saat counter mencapai 0 maka penjadwal mengalihkan pemroses ke proses lain.
3. Menghitung penggunaan pemroses (CPU).
Bila dikehendaki penghitungan dengan akurasi tinggi maka dilakukan dengan menggunakan timer kedua. Timer kedua terpisah dari timer sistem utama. Begitu proses dimulai, timer diaktifkan, saat proses berhenti maka timer dibaca. Timer menunjukkan lama waktu yang telah digunakan proses. Akurasi rendah dapat diperoleh dengan mengelola pointer ke tabel proses dan counter global.


4. Menangani system call alarm yang dibuat proses pemakai.
Mensimulasi banyak clock dengan membuat senarai semua permintaan clock, terurut berdasar waktu. Isinya adalah jumlah clock ticks setelah signal proses sebelumnya.
5. Mengerjakan profiling, monitoring dan pengumpulan statistik.
Untuk membuat data statistik kegiatan komputer.

RAM Disk.
Adalah perangkat disk yang disimulasikan pada memori akses acak (RAM). RAM disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan mekanis dalam seek dan rotasi. Kegunaannya untuk aplikasi yang memerlukan kinerja disk yang tinggi. Perangkat blok mempunyai dua perintah, yaitu membaca dan menulis blok. Normalnya blok-blok disimpan di disk berputar yang memerlukan mekanisme fisik.Gagasannya adalah meniru perangkat dengan mengalokasikan terlebih satu bagian memori utama untuk menyimpan blok-blok data. Keunggulan :
berkecepatan tinggi karena pengaksesan sesaat (tidak ada waktu tunda seek dan rotational latency), sangat baik untuk menyimpan program atau data yang sering diakses. Memori utama dibagi menjadi n blok berukuran sama, bergantung banyak memori yang dialokasikan. Ketika driver untuk RAM disk menerima perintah membaca atau menulis suatu blok, driver tinggal menghitung dimana lokasi memori tempat blok berada kemudian membaca atau menuliskannya.

Terminal
Beberapa alat input mempunyai fungsi ganda, yaitu disamping sebagai alat input juga berfungsi sebagai alat output sekaligus. Alat yang demikian disebut sebagai terminal. Terminal dapat dihubungkan ke sistem komputer dengan menggunakan kabel langsung atau lewat alat komunikasi.
Terminal dapat digolongkan menjadi non intelligent terminal, smart terminal, dan intelligent terminal. Non intelligent terminal hanya berfungsi sebagai alat memasukkan input dan penampil output, dan tidak bisa diprogram karena tidak mempunyai alat pemroses. Peralatan seperti ini juga disebut sebagai dumb terminal. Smart terminal mempunyai alat pemroses dan memori di dalamnya sehingga input yang terlanjur dimasukkan dapat dikoreksi kembali. Walaupun demikian, terminal jenis ini tidak dapat diprogram oleh pemakai, kecuali oleh pabrik pembuatnya. Sedangkan intelligent terminal dapat diprogram oleh pemakai.