Minggu, 21 Februari 2010

तुगास दिक्तत सिस्टम OPERASI

BAB I

PENDAHULUAN

I.1 Latar belakang

Dengan semakin canggih dan berkembangnya dunia IPTEK yang seperti dirasakan secara signifikan mengenai pandangan orang terhadap teknologi, walaupun secara esensi teknologi tersebut masih pada kerangka acuan yang ada. Misalnya pada zaman sebelum tahun 2000, orang umum masih memandang sebuah komputer adalah mesin yang biasanya terletak pada sebuah meja dimana pada meja tersebut terdapat keyboard , monitor dan CPU . Atau lebih dikenal dengan Personal Computer . Disamping itu, orang masih membedakan antara komputer dengan handphone , mesin fax , pemutar video, sound system, mesin fotocopy dan lain sebagainya. Namun dalam perkembangannya perangkat tersebut semakin sulit untuk dibedakan. Agar pembahasan kita lebih mendalam tentang sistem komputer ini, sebaiknya kita membahas dulu apa yang dimaksud dengan sistem dan komputer itu sendiri.

Komputer yang kita kenal saat ini adalah hasil pengembangan teknologi elektronika dan informatika sehingga bentuk komputer yang asalnya berukuran besar dan makan tempat, sekarang berbentuk kecil dengan kemampuan besar. Kemajuan industri komponen elektronika IC (integrated circuit) telah mendorong terciptanya berbagai perangkat chip IC yang beragam dan mendukung berbagai keperluan pembuatan produk elektronik. Kemajuan teknologi elektronika tidak terlepas dari adanya kemajuan di bidang pengetahuan dan pengolahan bahan semikonduktor khususnya silikon. Penerapan sistem komputer saat ini dapat dilihat dalam berbagai bidang seperti dibawah ini. Dalam dunia hiburan, dunia anak-anak telah lama mengenal alat permainan game yang dikendalikan oleh sistem komputer.

Di bidang industri, komputer telah dipergunakan untuk mengontrol mesin-mesin produksi dengan ketepatan tinggi (misalnya CNC, sebuah mesin serba guna dalam industri metal) sehingga dapat kita jumpai berbagai produk industri logam yang bervariasi dan akan sulit dikerjakan apabila dikerjakan secara manual. Banyak pula mesin-mesin dalam industri garmen yang dilengkapi dengan kontrol komputer, misalnya perusahaan topi bodir dapat memproduksi topi dengan kualitas gambar bordir yang seragam dalam jumlah banyak dalam waktu singkat.

Di perusahaan dagang seperti departement store telah dipergunakan mesin cash register (mesin kasir) yang dilengkapi dengan kontrol komputer sehingga mesin tersebut dapat dikontrol oleh pihak manajer hanya dari ruangan kerjanya saja. Di bidang pendidikan, selain digunakan sebagai alat bantu ajar, banyak peralatan laboratorium yang dilengkapi dengan komputer sehingga alat tersebut dapat bekerja lebih teliti dan dapat mengatasi kendala dan hambatan indra manusia. Dari bidang pendidikan dan riset yang mempergunakan alat-alat tersebut dihasilkan berbagai hasil penelitian yang bermanfaat yang banyak digunakan dalam kehidupan sehari-hari masyarakat.
Dalam bidang bioteknologi, peralatan-peralatan kultur telah banyak yang dilengkapi dengan kontrol komputer untuk mengusahakan ketelitian kerja pada ruang steril.

I.2 Tinjauan Pustaka

Dalam Ilmu komputer Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi.

Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.

Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.

Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer.



BAB II

PEMBAHASAN

A. SISTEM OPERASI

Dalam Ilmu komputer Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi.

Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.

Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital. Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.

Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer.

A.1 Sejarah Sistem Operasi

Sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi1:

· Generasi Pertama (1945-1955)

Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.

· Generasi Kedua (1955-1965)[1]

Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS dan IBSYS.

· Generasi Ketiga (1965-1980)

Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekali gus) dan multi-programming (melayani banyak program sekali gus).

· Generasi Keempat (Pasca 1980an)

Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.


A.2. FUNGSI SISTEM OPERASI

  1. Resource Manager, Fungsi ini untuk mengalokasikan sumber daya , seperti : memori, CPU, Printer, Disk Drive dan perangkat lainnya.
  2. Interface, Fungsi ini adalah sebagai perantara antara pengguna dengan hardware untuk menyediakan lingkungan yang bersahabat ( user friendly). Pengguna tidak memiliki ke khawatiran untuk mengoperasikan perangkat level bawah.
  3. Coordinator, Fungsi ini untuk menyediakan fasilitas sehingga aktifitas yang kompleks dapat diatur untuk dikerjakan dalam urutan yang telah disusun sebelumnya.
  4. Guardian, Fungsi ini untuk menyediakan kontrol akses yang melindungi file dan memberi pengawasan pada pembacaan/penulisan/eksekusi data dan program.
  5. GateKeeper, Fungsi ini adalah untuk mengendalikan siapa saja yang berhak masuk (Log) ke dalam sistem dan mengawasi tindakan apa saja yang dapat mereka kerjakan ketika telah log dalam sistem
  6. Optimizer, Fungsi ini adalah untuk menjadwal pemasukan ( Input ) oleh pengguna , pengaksesan basis data, proses komputasi dan pengeluaran ( Output ) untuk meningkatkan kegunaan.
  7. Accountant, Fungsi ini mengatur waktu CPU, penggunaan memori, pemanggilan I/O, disk storage, dan waktu koneksi terminal.
  8. Server, Fungsi ini adalah untuk menyediakan layanan yang sering dibutuhkan pengguna, baik secara eksplisit maupun implisit, seperti mekanisme akses file.

B. MANAJEMEN PROSES

Proses :

Adalah program yang sedang di jalankan atau software yang sedang dilaksanakan termasuk sistem operasi yang disusun menjadi sejumlah proses sequential.

Konsep dasar :

1. Multiprogramming

Melakukan proses satu persatu secara bergantian dalam waktu yang sangat cepat / bersamaan (hardware level). Setiap proses mempunyai satu virtual CPU.

2. Pseudoparallelism

Melakukan lebih dari satu pekerjaan dalam waktu yang bersamaan pseudoparallelism (user level).

B.1 MEMORY MANAJEMEN

Memori adalah tempat penyimpanan data

Fungsi memori

1. mengatur track yang ada dalam memori dengan memcatat status dari memori, apakah sedang digunakan atau dalam keadaan bebas

2. untuk kasus multiprogramming menentukan proses mana yang dapat menggunakan fasilitas memori

3. mengalokasikan memori pada saat prosesor membutuhkan

4. memberi tahu pada memori pada saat proses tidak lagi memerlukan

B.2 TEKNIK MEMORI MANAJEMEN

a. single conligius allocation (CSA)

yaitu pada saat pemrosesan berlangsung proses yang boleh dialokasikan kedal;am memory hanya satu proses saja dan letaknya bersebelahan dengan system operasi.

Kelemahan CSA:

  • pemakaian memori tidak maksimal
  • tidak bisa untuk multi programming
  • waiting time (waktu menunggu)

b. partition allocation (PA)

yaitu memori telah dibagi-bagi menjadi kebagian-bagian yang disebut partisi (kamar). Setiap partisi hanya boleh di tempati oleh satu proses saja.

Kelemahan PA

  • kerja dari prosesor lambat
  • so jadi rumit

c. relocatable partition

yaitu metode yang sangat membantu dalam mengatasi masalah fregmentasi. Pada metode ini semua free partisi (kosong) akan dikelompokan dalam satu bagian. Partisi yang terpisah-pisah akan di gabung menjadi free partition yang besar. Proses ini disebut dengan “COMPACTION”

d. page

yaitu teknik page proses akan dibagi menjadi bagian yang sama besar yang disebut page. Sedangkan memori yang dibagi-bagi disebut blog, dan setiap blok hanya ditempati oleh 1 page.

e. demand page

yaitu deman page yang digunakan untuk mengatasi masalah teknik pengalokasian page yang rumit pada teknik ini page-page dan job yang tidak diproses akan ditempatkan kedalam axalary.

Proses pergantian blog akan di tempati oleh 3 page yaitu:

1. FIFO (First In First Out)

adalah algoritma yang paling sederhana. Prinsip dari algoritma ini adalah seperti prinsip antrian (antrian tak berprioritas), halaman yang masuk lebih dulu maka akan keluar lebih dulu juga. Algoritma ini menggunakan struktur data stack. Apabila tidak ada frame kosong saat terjadi page fault, maka korban yang dipilih adalah frame yang berada di stack paling bawah, yaitu halaman yang berada paling lama berada di memori.

Gambar 6.2. Algoritma FIFO

Algoritma FIFO

Pada awalnya, algoritma ini dianggap cukup mengatasi masalah tentang pergantian halaman, sampai pada tahun 70-an, Belady menemukan keanehan pada algoritma ini yang dikenal kemudian dengan anomali Belady. Anomali Belady adalah keadaan di mana page fault rate meningkat seiring dengan pertambahan jumlah frame , seperti yang bisa dilihat pada contoh di bawah ini.

Gambar 6.3. Anomali Algoritma FIFO

Anomali Algoritma FIFO

Ketika jumlah frame ditambah dari 3 frame menjadi 4 frame, jumlah page fault yang terjadi malah bertambah (dari 14 page fault menjadi 15 page fault ). Hal ini biasanya terjadi pada kasus yang menginginkan halaman yang baru saja di-swap-out sebelumnya. Oleh karena itu, dicarilah algoritma lain yang mampu lebih baik dalam penanganan pergantian halaman seperti yang akan dibahas berikut ini.

2. LRU (Least Recently Used)

Dikarenakan algoritma optimal sangat sulit dalam pengimplementasiannya, maka dibuatlah algoritma lain yang performance-nya mendekati algoritma optimal dengan sedikit cost yang lebih besar. Algoritma ini mengganti halaman yang paling lama tidak dibutuhkan. Asumsinya, halaman yang sudah lama tidak digunakan sudah tidak dibutuhkan lagi dan kemungkinan besar, halaman yang baru di-load akan digunakan kembali.

Sama seperti algoritma optimal, algoritma LRU tidak mengalami anomali Belady. Algoritma ini memakai linked list untuk mendata halaman mana yang paling lama tidak terpakai. Linked list inilah yang membuat cost membesar, karena harus meng-update linked list tiap saat ada halaman yang di akses. Halaman yang berada di linked list paling depan adalah halaman yang baru saja digunakan. Semakin lama tidak dipakai, halaman akan berada semakin belakang dan di posisi terakhir adalah halaman yang paling lama tidak digunakan dan siap untuk di-swap.

Gambar 6.5. Algoritma LRU

Algoritma LRU

B. MANAGEMENT PROCESSOR

Ada 4 teknik yang digunakan dalam processor manajeman yaitu;

1.FCFS (first come first serve)

2.SJF (shortest job first)

3.HPRN (hight penalty ratio next)

4.Round Robin

sedangkan variable-variabel yang digunakan dalam keempat teknik tersebut adalah sebagai berikut;

  1. Arrival Time (waktu kedatangan proses/job)
  2. Run Time (lama sebuah job diproses)
  3. Start Time (waktu mulai job diproses)
  4. Finisht Time (akhir sebuah job diproses)>>FT =ST= RT
  5. TAT (turn around time)yaitu total waktu job diproses

TAT = Walt Time + Run Time

= Finisht Time – Arrival Time

Walt Time (WT) adalah waktu Arrival Time dengan Start Tine

WT = ST – AT

6.AvrTAT (waktu rata-rata sebuah job diproses)

∑TAT = ∑ TAT÷ Jumlah job

  1. FCFS (first come first serve)

Yaitu job yang pertama sekali diproses oleh microprocessor/job yamg pertama kali dilayani oleh microprocessor adalah job/proses yang pertama kali datang.

Contoh.

Job

AT

RT

ST

FT

TAT

A

07:10

15 Menit

07:30

07:45

35 Menit

B

07:05

20 Menit

07:10

07:30

25 Menit

C

07:00

10 Menit

07:00

07:10

10 Menit

D

07:25

5 Menit

07:45

07:50

25 Menit

∑=95 Menit

avr

TAT=95/4

=23,75Menit

Grafik


d

c

b

a

07:00

10

30

45

50

08:00

  1. SJF (shortest Job First)

Teknik ini berhubungan dengan Run Time dari masing-masing job,job yang memiliki Run Time terkecil didalam antrian akan diproses terlebih dahulu jika ditemukan 2 job yang memiliki Run Time yang sama maka akan digunakan metode FCFS (First Come First)

Contoh:

Job

AT

RT

ST

FT

TAT

A

06:00

11 Menit

06:00

06:11

11 Menit

B

06:15

15 Menit

06:11

06:26

15 Menit

C

06:20

10 Menit

06:26

06:46

26 Menit

D

06:35

25 Menit

06:46

07:11

46 Menit

∑=98 Menit

avr TAT=98/4

=24,5Menit


d

c

b

a

06:00

11

26

46

07:11

8:00

3.HPRN (hight penalty ratio next)

Teknik penjadwalan ini berdasarkan kepada Penalty Ratio (PR) yang merupakan perbandingan antara lama sebuah proses berada didalam system dengan Run Time atau

PR= TAT/RT

Lama sebuah proses berada didalam system ada kalanya sama dengan jumlah Run Time proses tersebut. Artinya proses tersebut tidak perlu menunggu sebelum diproses atau Arrval Time . Arrival Time = (AT + ST)

Sebaliknya ada proses yang harus menunggu sebelum dikerjakan karena ada proses lain yang juga sedang dikerjakan proses. Waktu tunngu tersebut dikenal dengan Walt TIME (WT). TAT = RT + WT akibatnya PR = ( RT +WT)/RT.

Pada teknik ini proses yang memiliki penalty ratio tertinggi akan mendapatkan prioritas terlebih dahulu untuk diproses. Jika ada proses yang memiliki waktu proses yang sama maka menggunakan cara FCFS untuk menentukan prioritas untuk diproses terlebih dahulu.

Contoh.

JOB

AT

RT

ST

FT

TAT

PR

A

09:00

40 Menit

09:00

09:40

40 Menit

1

B

09:00

60 Menit

09:15

11:10

130 Menit

2.16

C

09:00

30 Menit

09:30

10:10

70 Menit

2.33

∑=240 Menit

avr TAT=240/3

=80 Menit

1 Jam + 20 Menit

  1. Round Robin

Pada teknik ini sebuah proses seolah memiliki hak preantive atau hak untuk menghentikan proses sebuah Job. Setiap proses yang ada pada antrian akan mendapatkan Quantum waktu yang sama pemprosesan, tetapi proses dilakukan secara bergeliran / berputar.

contoh.

Job

AT

RT

ST

FT

TAT

A

08:00

5 Menit

08:30

08:45

45 Menit

B

08:10

11 Menit

08:40

08:16

54 Menit

C

08:15

10 Menit

08:15

08:55

50 Menit

d

08:00

25 Menit

08:30

08:40

25 Menit

∑= 174 Menit

avr TAT=174/4

=43,5 Menit


d

c

b

a

08:00

15

40

45

55

09:00

16

  1. PSJF

Teknik ini berdasarkan kepada run time terkecil suatu proses hanya saja dilakukan perbandingan nilai run time terkecil pada 2 waktu pertama diawal pemrosesan yang kedua pada saat proses lain datang

Job

AT

RT

ST

FT

TAT

A

04:05

15 Menit

04:05

04:20

15 Menit

B

04:15

10 Menit

04:20

04:30

15 Menit

C

04:10

25 Menit

04:30

04:55

45 Menit

∑=75 Menit

avr TAT=75/3

=25 Menit


d

c

b

a

04:05

20

30

50

05:00

D. MANAJEMEN DEVICE

· Penjadwalan FCFS

Bentuk algoritma penjadwalan disk yang paling sederhana adalah First Come First Served (FCFS). Sistem kerja dari algoritma ini melayani permintaan yang lebih dulu datang di queue. Algoritma ini pada hakekatnya adil bagi permintaan M/K yang mengantri di queue karena penjadwalan ini melayani permintaan sesuai waktu tunggunya di queue. Tetapi yang menjadi kelemahan algoritma ini adalah bukan merupakan algoritma dengan layanan yang tercepat. Sebagai contoh, misalnya di queue disk terdapat antrian permintaan blok M/K di silinder

Gambar FCFS

FCFS

85, 35, 10, 90, 45, 80, 20, 50, 65

secara berurutan. Jika posisi head awal berada pada silinder 25, maka pertama kali head akan bergerak dari silinder 25 ke 85, lalu secara berurutan bergerak melayani permintaan di silinder 35, 10, 90, 45, 80, 20, 50, dan akhirnya ke silinder 65. sehingga total pergerakan head-nya adalah 400 silinder.

Untuk lebih jelasnya perhatikan contoh berikut.

Tabel Contoh FCFS

Next cylinder accessed

Number of cylinder traversed

85

60

35

45

10

25

90

80

45

45

80

35

20

60

50

30

65

15

Total pergerakan head

400 silinder

Pergerakan head yang bolak balik dari 25 ke 85 kemudian ke 35 melukiskan masalah dari algoritma penjadwalan ini. Jika permintaan di silinder 20 dan 35 dilayani setelah atau sebelum permintaan di silinder 85 dan 90, total pergerakan head akan berkurang jumlahnya sehingga dapat meningkatkan performa.

· Penjadwalan SCAN dan C-SCAN

Pada algoritma SCAN, head bergerak ke silinder paling ujung dari disk. Setelah sampai disana maka head akan berbalik arah menuju silinder di ujung yang lainnya. Head akan melayani permintaan yang dilaluinya selama pergerakannya ini. Algoritma ini disebut juga sebagai Elevator Algorithm karena sistem kerjanya yang sama seperti yang digunakan elevator di sebuah gedung tinggi dalam melayani penggunanya. Elevator akan melayani pengguna yang akan menuju ke atas dahulu sampai lantai tertinggi, baru setelah itu dia berbalik arah menuju lantai terbawah sambil melayani penggunanya yang akan turun atau sebaliknya. Jika melihat analogi yang seperti itu maka dapat dikatakan head hanya melayani permintaan yang berada di depan arah pergerakannya. Jika ada permintaan yang berada di belakang arah geraknya, maka permintaan tersebut harus menunggu sampai head menuju silinder di salah satu disk, lalu berbalik arah untuk melayani permintaan tersebut.

Jika head sedang melayani permintaan silinder 25, dan arah pergerakan disk arm-nya sedang menuju ke silinder yang terkecil, maka permintaan berikutnya yang akan dilayani secara berurutan adalah 20 dan 10 lalu menuju ke silinder 0. Setelah sampai disini head akan berbalik arah menuju silinder yang terbesar yaitu silinder 99. Dalam pergerakannya itu secara berurutan head akan melayani permintaan 35, 45, 50, 65, 80, 85, dan 90. Sehingga total pergerakan head-nya adalah 115 silinder.

Salah satu behavior yang dimiliki oleh algoritma ini adalah, memiliki batas atas untuk total pergerakan head-nya, yaitu 2 kali jumlah silinder yang dimiliki oleh disk. Jika dilihat dari cara kerjanya yang selalu menuju ke silinder terujung, maka dapat dilihat kelemahan dari algoritma ini yaitu ketidakefisienannya. Mengapa head harus bergerak ke silinder 0, padahal sudah tidak ada lagi permintaan yang lebih kecil dari silinder 10?. Bukankah akan lebih efisien jika head langsung berbalik arah setelah melayani permintaan silinder 10 (mengurangi total pergerakan head )? Kelemahan inilah yang akan dijawab algoritma LOOK yang akan dibahas di sub-bab berikutnya.

Gambar SCAN

SCAN

Untuk lebih jelasnya perhatikan contoh berikut:

Tabel Contoh SCAN

Next cylinder accessed

Number of cylinder traversed

20

5

10

10

0

10

35

35

45

10

50

5

65

15

80

15

85

5

90

5

Total pergerakan head

115 silinder

Kelemahan lain dari algoritma SCAN adalah dapat menyebabkan permintaan lama menunggu pada kondisi-kondisi tertentu. Misalkan penyebaran banyaknya permintaan yang ada di queue tidak sama. Permintaan yang berada di depan arah pergerakan head sedikit sedangkan yang berada di ujung satunya lebih banyak. Maka head akan melayani permintaan yang lebih sedikit (sesuai arah pergerakannya) dan berbalik arah jika sudah sampai di ujung disk. Jika kemudian muncul permintaan baru di dekat head yang terakhir, maka permintaan tersebut akan segera dilayani, sehingga permintaan yang lebih banyak yang berada di ujung silinder yang satunya akan semakin kelaparan. Jadi, mengapa head tidak melayani permintaan-permintaan yang lebih banyak itu terlebih dahulu? Karena adanya kelemahan inilah maka tercipta satu modifikasi dari algoritma SCAN, yaitu C-SCAN yang akan dibahas berikutnya.

Algoritma C-SCAN atau Circular SCAN merupakan hasil modifikasi dari SCAN untuk mengurangi kemungkinan banyak permintaan yang menunggu untuk dilayani. Perbedaan yang paling mendasar dari kedua algoritma ini adalah pada behavior saat pergerakan head yang berbalik arah setelah sampai di ujung disk. Pada C-SCAN, saat head sudah berada di silinder terujung disk, head akan berbalik arah dan bergerak secepatnya menuju silinder di ujung disk yang satu lagi, tanpa melayani permintaan yang dilalui dalam pergerakannya. Sedangkan pada SCAN akan tetap melayani permintaan saat bergerak berbalik arah menuju ujung yang lain.

Untuk contoh permintaan seperti SCAN, setelah head sampai di silinder 99 (permintaan silinder 35, 45, 50, 65, 80, 85 dan 90 telah dilayani secara berurutan), maka head akan secepatnya menuju silinder 0 tanpa melayani silinder 20 dan 10. Permintaan tersebut baru dilayani ketika head sudah berbalik arah lagi setelah mencapai silinder 0.

Gambar C-SCAN

C-SCAN

Untuk lebih jelasnya perhatikan contoh berikut:

Tabel Contoh C-SCAN

Next cylinder accessed

Number of cylinder traversed

35

10

45

10

50

5

65

15

80

15

85

5

90

5

99

9

0

99

10

10

20

10

Total pergerakan head

193 silinder

Dengan sistem kerja yang seperti itu, terlihat bahwa head melayani permintaan hanya dalam satu arah pergerakan saja, yaitu saat head bergerak ke silinder terbesar atau saat bergerak ke silinder terkecil. sifatnya yang harus sampai ke silinder terujung terlebih dahulu sebelum bergerak berbalik arah, C-SCAN seperti halnya SCAN mempunyai ketidakefisienan untuk total pergerakan head. Untuk itulah dibuat algoritma LOOK yang akan dibahas berikut ini.

· Penjadwalan LOOK dan C-LOOK

Algoritma LOOK adalah algoritma penjadwalan disk yang secara konsep hampir sama dengan algoritma SCAN. Sesuai dengan namanya, algoritma ini seolah-olah seperti dapat "melihat". Algoritma ini memperbaiki kelemahan SCAN dan C-SCAN dengan cara melihat apakah di depan arah pergerakannya masih ada permintaan lagi atau tidak. Bedanya pada algoritma LOOK, disk arm tidak berjalan sampai ujung disk, tetapi hanya berjalan sampai pada permintaan yang paling dekat dengan ujung disk. Setelah melayani permintaan tersebut, disk arm akan berbalik arah dari arah pergerakannya yang pertama dan berjalan sambil melayani permintaan-permintaan yang ada di depannya sesuai dengan arah pergerakannya.

Gambar LOOK

LOOK

Untuk lebih jelasnya perhatikan contoh berikut:

LOOK (head awal di silinder 25) Pergerakan disk arm menuju ke silinder dengan nomor yang lebih kecil (yaitu ke sebelah kiri)

Tabel Contoh LOOK

Next cylinder accessed

Number of cylinder traversed

20

5

10

10

35

25

45

10

50

5

65

15

80

15

85

5

90

5

Total pergerakan head

95 silinder

Algoritma C-LOOK berhasil memperbaiki kelemahan-kelemahan algoritma SCAN, C-SCAN, dan LOOK. Algoritma C-LOOK memperbaiki kelemahan LOOK sama seperti algoritma C-SCAN memperbaiki kelemahan SCAN. Algoritma C-LOOK adalah algoritma penjadwalan disk yang secara konsep hampir sama dengan algoritma C-SCAN. Bedanya pada algoritma C-LOOK, disk arm tidak berjalan sampai ujung disk, tetapi hanya sampai pada permintaan yang paling dekat dengan ujung disk. Setelah melayani permintaan tersebut, disk arm akan berbalik arah dari arah pergerakannya yang pertama dan langsung berjalan ke permintaan yang paling dekat dengan ujung disk yang lain kemudian melayani permintaan tersebut. Setelah selesai melayani permintaan tersebut, disk arm akan berbalik arah kembali dan melayani permintaan-permintaan lain yang ada di depannya sesuai dengan arah pergerakannya.

Gambar C-LOOK

C-LOOK

Untuk lebih jelasnya perhatikan contoh berikut:

C-LOOK (head awal di silinder 25)

Tabel Contoh C-LOOK

Next cylinder accessed

Number of cylinder traversed

35

10

45

10

50

5

65

15

80

15

85

5

90

5

10

80

20

10

Total pergerakan head

155 silinder

Dari tabel tersebut, bisa dilihat bahwa disk arm bergerak dari permintaan 25 ke kanan sambil melayani pemintaan-permintaan yang ada di depannya yang sesuai dengan arah pergerakannya, yaitu permintaan 35, 45, 50, 65, 80, 85, sampai pada permintaan 90. Setelah melayani permintaan 90, disk arm berbalik arah dan langsung menuju ke permintaan 10 (karena permintaan 10 adalah permintaan yang letaknya paling dekat dengan ujung disk 0). Setelah melayani permintaan 10, disk arm berbalik arah kembali dan melayani permintaan-permintaan yang berada di depannya sesuai dengan arah pergerakannya yaitu ke permintaan 20.

Catatan:

Arah pergerakan disk arm yang bisa menuju 2 arah pada algoritma SCAN, C-SCAN, LOOK, dan C-LOOK, menuju silinder terbesar dan terkecil, diatur oleh hardware controller, hal ini membuat pengguna tidak bisa menentukan kemana disk arm bergerak.


· Penjadwalan LOOK dan C-LOOK

Algoritma LOOK adalah algoritma penjadwalan disk yang secara konsep hampir sama dengan algoritma SCAN. Sesuai dengan namanya, algoritma ini seolah-olah seperti dapat "melihat". Algoritma ini memperbaiki kelemahan SCAN dan C-SCAN dengan cara melihat apakah di depan arah pergerakannya masih ada permintaan lagi atau tidak. Bedanya pada algoritma LOOK, disk arm tidak berjalan sampai ujung disk, tetapi hanya berjalan sampai pada permintaan yang paling dekat dengan ujung disk. Setelah melayani permintaan tersebut, disk arm akan berbalik arah dari arah pergerakannya yang pertama dan berjalan sambil melayani permintaan-permintaan yang ada di depannya sesuai dengan arah pergerakannya.

Gambar LOOK

LOOK

Untuk lebih jelasnya perhatikan contoh berikut:

LOOK (head awal di silinder 25) Pergerakan disk arm menuju ke silinder dengan nomor yang lebih kecil (yaitu ke sebelah kiri)

Tabel Contoh LOOK

Next cylinder accessed

Number of cylinder traversed

20

5

10

10

35

25

45

10

50

5

65

15

80

15

85

5

90

5

Total pergerakan head

95 silinder

Algoritma C-LOOK berhasil memperbaiki kelemahan-kelemahan algoritma SCAN, C-SCAN, dan LOOK. Algoritma C-LOOK memperbaiki kelemahan LOOK sama seperti algoritma C-SCAN memperbaiki kelemahan SCAN. Algoritma C-LOOK adalah algoritma penjadwalan disk yang secara konsep hampir sama dengan algoritma C-SCAN. Bedanya pada algoritma C-LOOK, disk arm tidak berjalan sampai ujung disk, tetapi hanya sampai pada permintaan yang paling dekat dengan ujung disk. Setelah melayani permintaan tersebut, disk arm akan berbalik arah dari arah pergerakannya yang pertama dan langsung berjalan ke permintaan yang paling dekat dengan ujung disk yang lain kemudian melayani permintaan tersebut. Setelah selesai melayani permintaan tersebut, disk arm akan berbalik arah kembali dan melayani permintaan-permintaan lain yang ada di depannya sesuai dengan arah pergerakannya.

Gambar C-LOOK

C-LOOK

Untuk lebih jelasnya perhatikan contoh berikut:

C-LOOK (head awal di silinder 25)

Tabel Contoh C-LOOK

Next cylinder accessed

Number of cylinder traversed

35

10

45

10

50

5

65

15

80

15

85

5

90

5

10

80

20

10

Total pergerakan head

155 silinder

Dari tabel tersebut, bisa dilihat bahwa disk arm bergerak dari permintaan 25 ke kanan sambil melayani pemintaan-permintaan yang ada di depannya yang sesuai dengan arah pergerakannya, yaitu permintaan 35, 45, 50, 65, 80, 85, sampai pada permintaan 90. Setelah melayani permintaan 90, disk arm berbalik arah dan langsung menuju ke permintaan 10 (karena permintaan 10 adalah permintaan yang letaknya paling dekat dengan ujung disk 0). Setelah melayani permintaan 10, disk arm berbalik arah kembali dan melayani permintaan-permintaan yang berada di depannya sesuai dengan arah pergerakannya yaitu ke permintaan 20.

Catatan:

Arah pergerakan disk arm yang bisa menuju 2 arah pada algoritma SCAN, C-SCAN, LOOK, dan C-LOOK, menuju silinder terbesar dan terkecil, diatur oleh hardware controller, hal ini membuat pengguna tidak bisa menentukan kemana disk arm bergerak.

E. DEADLOCK

Pada pembahasan di atas telah dikenal suatu istilah yang populer pada bagian semaphores, yaitu deadlock. Secara sederhana deadlock dapat terjadi dan menjadi hal yang merugikan, jika pada suatu saat ada suatu proses yang memakai sumber daya dan ada proses lain yang menunggunya.

Latar Belakang

Misalkan pada suatu komputer terdapat dua buah program, sebuah tape drive dan sebuah printer. Program A mengontrol tape drive, sementara program B mengontrol printer. Setelah beberapa saat, program A meminta printer, tapi printer masih digunakan. Berikutnya, B meminta tape drive, sedangkan A masih mengontrol tape drive. Dua program tersebut memegang kontrol terhadap sumber daya yang dibutuhkan oleh program yang lain. Tidak ada yang dapat melanjutkan proses masing-masing sampai program yang lain memberikan sumber dayanya, tetapi tidak ada yang mengalah. Kondisi inilah yang disebut Deadlock atau pada beberapa buku disebut Deadly Embrace

Deadlock yang mungkin dapat terjadi pada suatu proses disebabkan proses itu menunggu suatu kejadian tertentu yang tidak akan pernah terjadi. Dua atau lebih proses dikatakan berada dalam kondisi deadlock, bila setiap proses yang ada menunggu suatu kejadian yang hanya dapat dilakukan oleh proses lain dalam himpunan tersebut.

Terdapat kaitan antara overhead dari mekanisme koreksi dan manfaat dari koreksi deadlock itu sendiri. Pada beberapa kasus, overhead atau ongkos yang harus dibayar untuk membuat sistem bebas deadlock menjadi hal yang terlalu mahal dibandingkan jika mengabaikannya. Sementara pada kasus lain, seperti pada real-time process control, mengizinkan deadlock akan membuat sistem menjadi kacau dan membuat sistem tersebut tidak berguna.

Contoh berikut ini terjadi pada sebuah persimpangan jalan. Beberapa hal yang dapat membuat deadlock pada suatu persimpangan, yaitu:

· Terdapat satu jalur pada jalan.

· Mobil digambarkan sebagai proses yang sedang menuju sumber daya.

· Untuk mengatasinya beberapa mobil harus preempt (mundur).

· Sangat memungkinkan untuk terjadinya starvation (kondisi proses tak akan mendapatkan sumber daya).

Gambar 3-13. Persimpangan. Sumber: . . .

Resources-Allocation Graph

Sebuah cara visual (matematika) untuk menentukan apakah ada deadlock, atau kemungkinan terjadinya.

G = (V, E) Graf berisi node and edge. Node V terdiri dari proses-proses = {P1, P2, P3, ...} dan jenis resource. {R1, R2, ...} Edge E adalah (Pi, Rj) atau (Ri, Pj)

Sebuah panah dari process ke resource menandakan proses meminta resource. Sebuah panah dari resource ke process menunjukkan sebuah instance dari resource telah dtempatkan ke proses. Process adalah lingkaran, resource adalah kotak; titik-titik merepresentasikan jumlah instance dari resource Dalam tipe. Meminta poin-poin ke kotak, perintah datang dari titik.

Gambar 3-14. Graph. Sumber: . . .

Jika graf tidak berisi lingkaran, maka tidak ada proses yang deadlock.

Jika membentuk lingkaran, maka:

i. jika tipe resource memiliki banyak instance, maka deadlock DAPAT ada.

Gambar 3-15. Non Deadlock. Sumber: . . .

ii. jika setiap tipe resource mempunyai satu instance, maka deadlock telah terjadi.

Gambar 3-16. Deadlock. Sumber: . . .

Model Sistem

Menurut Coffman dalam bukunya "Operating System" menyebutkan empat syarat bagi terjadinya deadlock, yaitu:

i. Mutual Exclusion

Suatu kondisi dimana setiap sumber daya diberikan tepat pada satu proses pada suatu waktu.

ii. Hold and Wait

Kondisi yang menyatakan proses-proses yang sedang memakai suatu sumber daya dapat meminta sumber daya yang lain.

iii. Non-pre-emptive

Kondisi dimana suatu sumber daya yang sedang berada pada suatu proses tidak dapat diambil secara paksa dari proses tersebut,sampai proses itu melepaskannya.

iv. Circular Wait

Kondisi yang menyatakan bahwa adanya rantai saling meminta sumber daya yang dimiliki oleh suatu proses oleh proses lainnya.

Strategi menghadapi Deadlock

Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan, yaitu:

i. Mengabaikan adanya deadlock.

ii. Memastikan bahwa deadlock tidak akan pernah ada, baik dengan metode Pencegahan, dengan mencegah empat kondisi deadlock agar tidak akan pernah terjadi. Metode Menghindari deadlock, yaitu mengizinkan empat kondisi deadlock, tetapi menghentikan setiap proses yang kemungkinan mencapai deadlock.

iii. Membiarkan deadlock untuk terjadi, pendekatan ini membutuhkan dua metode yang saling mendukung, yaitu:

o Pendeteksian deadlock, untuk mengidentifikasi ketika deadlock terjadi.

o Pemulihan deadlock, mengembalikan kembali sumber daya yang dibutuhkan pada proses yang memintanya.

Dari penjabaran pendekatan diatas, terdapat empat metode untuk mengatasi deadlock yang akan terjadi, yaitu:

Strategi Ostrich

Pendekatan yang paling sederhana adalah dengan menggunakan strategi burung unta: masukkan kepala dalam pasir dan seolah-olah tidak pernah ada masalah sama sekali. Beragam pendapat muncul berkaitan dengan strategi ini. Menurut para ahli Matematika, cara ini sama sekali tidak dapat diterima dan semua keadaan deadlock harus ditangani. Sementara menurut para ahli Teknik, jika komputer lebih sering mengalami kerusakkan disebabkan oleh kegagalan hardware, error pada kompilator atau bugs pada sistem operasi. Maka ongkos yang dibayar untuk melakukan penanganan deadlock sangatlah besar dan lebih baik mengabaikan keadaan deadlock tersebut. Metode ini diterapkan pada sistem operasi UNIX dan MINIX.

Mencegah Deadlock

Metode ini merupakan metode yang paling sering digunakan. Metode Pencegahan dianggap sebagai solusi yang bersih dipandang dari sudut tercegahnya deadlock. Tetapi pencgahan akan mengakibatkan kinerja utilisasi sumber daya yang buruk.

Metode pencegahan menggunakan pendekatan dengan cara meniadakan empat syarat yang dapat menyebabkan deadlock terjadi pada saat eksekusi Coffman (1971).

Syarat pertama yang akan dapat ditiadakan adalah Mutual Exclusion, jika tidak ada sumber daya yang secara khusus diperuntukkan bagi suatu proses maka tidak akan pernah terjadi deadlock. Namun jika membiarkan ada dua atau lebih proses mengakses sebuah sumber daya yang sama akan menyebabkan chaos. Langkah yang digunakan adalah dengan spooling sumber daya, yaitu dengan mengantrikan job-job pada antrian dan akan dilayani satu-satu.

Beberapa masalah yang mungkin terjadi adalah:

i. Tidak semua dapat di-spool, tabel proses sendiri tidak mungkin untuk di-spool

ii. Kompetisi pada ruang disk untuk spooling sendiri dapat mengarah pada deadlock

Hal inilah yang menyebabkan mengapa syarat pertama tidak dapat ditiadakan, jadi mutual exclusion benar-benar tidak dapat dihilangkan.

Cara kedua dengan meniadakan kondisi hold and wait terlihat lebih menjanjikan. Jika suatu proses yang sedang menggunakan sumber daya dapat dicegah agar tidak dapat menunggu sumber daya yang lain, maka deadlock dapat dicegah. Langkah yang digunakan adalah dengan membuat proses agar meminta sumber daya yang mereka butuhkan pada awal proses sehingga dapat dialokasikan sumber daya yang dibutuhkan. Namun jika terdapat sumber daya yang sedang terpakai maka proses tersebut tidak dapat memulai prosesnya.

Masalah yang mungkin terjadi:

i. Sulitnya mengetahui berapa sumber daya yang dibutuhkan pada awal proses

ii. Tidak optimalnya pengunaan sumber daya jika ada sumber daya yang digunakan hanya beberapa waktu dan tidak digunakan tapi tetap dimiliki oleh suatu proses yang telah memintanya dari awal.

Meniadakan syarat ketiga non preemptive ternyata tidak lebih menjanjikan dari meniadakan syarat kedua, karena dengan meniadakan syarat ketiga maka suatu proses dapat dihentikan ditengah jalan. Hal ini tidak dimungkinkan karena hasil dari suatu proses yang dihentikan menjadi tidak baik.

Cara terakhir adalah dengan meniadakan syarat keempat circular wait. Terdapat dua pendekatan, yaitu:

i. Mengatur agar setiap proses hanya dapat menggunakan sebuah sumber daya pada suatu waktu, jika menginginkan sumber daya lain maka sumber daya yang dimiliki harus dilepas.

ii. Membuat penomoran pada proses-proses yang mengakses sumber daya. Suatu proses dimungkinkan untuk dapat meminta sumber daya kapan pun, tetapi permintaannya harus dibuat terurut.

Masalah yang mungkin terjadi dengan mengatur bahwa setiap proses hanya dapat memiliki satu proses adalah bahwa tidak semua proses hanya membutuhkan satu sumber daya, untuk suatu proses yang kompleks dibutuhkan banyak sumber daya pada saat yang bersamaan. Sedangkan dengan penomoran masalah yang dihadapi adalah tidak terdapatnya suatu penomoran yang dapat memuaskan semua pihak.

Secara ringkas pendekatan yang digunakan pada metode pencegahan deadlock dan masalah-masalah yang menghambatnya, terangkum dalam tabel dibawah ini.

Tabel 3-1. Tabel Deadlock

Syarat

Langkah

Kelemahan

Mutual Exclusion

Spooling sumber daya

Dapat menyebabkan chaos

Hold and Wait

Meminta sumber daya di awal

Sulit memperkirakan di awal dan tidak optimal

No Pre-emptive

Mengambil sumber daya di tengah proses

Hasil proses tidak akan baik

Circular Wait

Penomoran permintaan sumber daya

Tidak ada penomoran yang memuaskan semua pihak

Menghindari Deadlock

Pendekatan metode ini adalah dengan hanya memberi kesempatan ke permintaan sumber daya yang tidak mungkin akan menyebabkan deadlock. Metode ini memeriksa dampak pemberian akses pada suatu proses, jika pemberian akses tidak mungkin menuju kepada deadlock, maka sumber daya akan diberikan pada proses yang meminta. Jika tidak aman, proses yang meminta akan di-suspend sampai suatu waktu permintaannya aman untuk diberikan. Kondisi ini terjadi ketika setelah sumber daya yang sebelumnya dipegang oleh proses lain telah dilepaskan.

Kondisi aman yang dimaksudkan selanjutnya disebut sebagai safe-state, sedangkan keadaan yang tidak memungkinkan untuk diberikan sumber daya yang diminta disebut unsafe-state.

Kondisi Aman (Safe state)

Suatu keadaan dapat dinyatakan sebagai safe state jika tidak terjadi deadlock dan terdapat cara untuk memenuhi semua permintaan sumber daya yang ditunda tanpa menghasilkan deadlock. Dengan cara mengikuti urutan tertentu.

Kondisi Tak Aman (Unsafe state)

Suatu state dinyatakan sebagai state tak selamat (unsafe state) jika tidak terdapat cara untuk memenuhi semua permintaaan yang saat ini ditunda dengan menjalankan proses-proses dengan suatu urutan.

Gambar 3-17. Safe. Sumber: . . .

Algoritma Bankir

Algoritma penjadualan ini diungkapkan oleh Dijkstra (1965) lebih dikenal dengan nama Algoritma Bankir. Model ini menggunakan suatu kota kecil sebagai percontohan dengan suatu bank sebagai sistem operasi, pinjaman sebagai sumber daya dan peminjam sebagai proses yang membutuhkan sumber daya. Deadlock akan terjadi apabila terdapat seorang peminjam yang belum mengembalikan uangnya dan ingin meminjam kembali, padahal uang yang belum dikembalikan tadi dibutuhkan oleh peminjam lain yang juga belum mengembalikan uang pinjamannya.

Beberapa kelemahan algoritma Bankir Tanenbaum (1992), Stallings (1995) dan Deitel (1990) adalah sebagai berikut:

i. Sulit untuk mengetahui seluruh sumber daya yang dibutuhkan proses pada awal eksekusi.

ii. Jumlah proses yang tidak tetap dan berubah-ubah.

iii. Sumber daya yang tadinya tersedia dapat saja menjadi tidak tersedia kembali.

iv. Proses-proses yang dieksekusi haruslah tidak dibatasi oleh kebutuhan sinkronisasi antar proses.

v. Algoritma ini menghendaki memberikan semua permintaan selama waktu yang berhingga.

Mendeteksi Deadlock dan Memulihkan Deadlock

Metode ini mengunakan pendekatan dengan teknik untuk menentukan apakah deadlock sedang terjadi serta proses-proses dan sumber daya yang terlibat dalam deadlock tersebut. Setelah kondisi deadlock dapat dideteksi, maka langkah pemulihan dari kondisi deadlock dapat segera dilakukan. Langkah pemulihan tersebut adalah dengan memperoleh sumber daya yang diperlukan oleh proses-proses yang membutuhkannya. Beberapa cara digunakan untuk mendapatkan sumber daya yang diperlukan, yaitu dengan terminasi proses dan pre-emption (mundur) suatu proses. Metode ini banyak digunakan pada komputer mainframe berukuran besar.

Terminasi Proses

Metode ini akan menghapus proses-proses yang terlibat pada kondisi deadlock dengan mengacu pada beberapa syarat. Beberapa syarat yang termasuk dalam metode ini adalah, sebagai berikut:

· Menghapus semua proses yang terlibat dalam kondisi deadlock (solusi ini terlalu mahal).

· Menghapus satu persatu proses yang terlibat, sampai kondisi deadlock dapat diatasi (memakan banyak waktu).

· Menghapus proses berdasarkan prioritas, waktu eksekusi, waktu untuk selesai, dan kedalaman dari rollback.

Resources Preemption

Metode ini lebih menekankan kepada bagaimana menghambat suatu proses dan sumber daya, agar tidak terjebak pada unsafe condition.

Beberapa langkahnya, yaitu:

· Pilih salah satu - proses dan sumber daya yang akan di-preempt.

· Rollback ke safe state yang sebelumnya telah terjadi.

· Mencegah suatu proses agar tidak terjebak pada starvation karena metode ini.

E. SECURITY

Kriptografi

Kriptografi adalah cabang dari ilmu matematika yang memiliki banyak fungsi dalam pengamanan data. Kriptografi adalah proses mengambil message dan menggunakan beberapa fungsi untuk menggenerasi materi kriptografis (sebuah digest atau message terenkripsi). Kriptografi adalah salah satu dari teknologi yang digunakan dalam layanan security seperti integrity, confidentiality, identity dan non repudiation.

  • Tipe Security Services

Sebelum kita memasuki bahasan dasar fungsi kriptografi, kita pelajari terlebih dahulu beberapa security services penting yang digunakan dalam sebuah aplikasi :Authentification – Adalah proses verifikasi indentitas dari pengguna pada akhir

jalur komunikasi.

  • Confidentiality – Jika kita mengirimkan data sensitive melalui sebuah jaringan, kita ingin memastikan bahwa hanya penerima yang dituju yang dapat membacanya.
  • Integrity – Kita ingin memastikan bahwa data yang kita terima tidak mengalami pengubahan, penambahan ataupun pemisahan.Non-repudiation – Service ini dapat menunjukkan bukti bahwa pengirim telah mengirimkan message, atau penerima telah menerima message.
  • Authorization – Untuk memastikan bahwa user memiliki hak akses spesifik terhadap data penting maupun sumber data.
  • Message Digests

Sebuah message digest juga disebut sebagai digital fingerprint. Sebuah message digest adalah sebuah kesimpulan matematis dari sebuah message atau file. Hal ini untuk memastikan integritas dari message atau file. Sehingga dapat memberikan informasi bahwa sebuah message telah mengalami perubahan atau tidak. Mengubah satu karakter dari sebuah file atau message dapat menyebabkan perubahan drastis dari message digest. Digest terbuat melalui sebuah proses yang sangat menyulitkan untuk membuat dua file atau message yang berbeda dengan message digest yang sama.Sebuah message digest berfungsi dalam satu alur fungsi. Sebuah message digest relatif mudah untuk diproses, namun sangat sulit jika dilakukan dengan cara sebaliknya. Dari sebuah message digest, sangat sulit untuk mengolah dan membuat sebuah message yang dapat menghasilkan message digest yang sama.

  • Kriptografi Symmetric Key

Dengan kriptografi symmetric key, sebuah message dapat terenkripsi dan terdekripsi menggunakan key yang sama. Baik pengirim maupun penerima message harus memiliki key yang sama supaya proses tersebut berjalan dengan sukses. Pengirim menggunakan key rahasia untuk mengenkripsi message, sedangkan penerima menggunakan kunci yang sama untuk mendekripsi message. Sekali message telah terenkripsi, message tersebut dapat dikirimkan melalui jaringan tanpa dipahami oleh penyadap.

  • J2ME Security

Protection Domains Sebuah protection domains mendefinisikan rangkaian permissions yang disertakan pada MIDlet Suite. MIDP 2.0 menjelaskan bahwa paling tidak terdapat dua buah protection domains : untrusted dan trusted domains. Untrusted domains adalah pembatasan dimana akses terhadap protected API pada kondisi default tidak diijinkan. Seorang user secara eksplisit harus mengatur tipe akses MIDlet Suite terhadap API. Untrusted MIDlets (berjalan di untrusted domains) tidak memerlukan user permission dalam mengakses protected API.Untrusted dan trusted domain menyediakan akses yang tak terbatas pada Record Management, MIDlet life cycle, LDCUI, Game dan Multimedia API. Bagaimanapun, API untuk koneksi HTTP dan HTTPS menuntut kejelasan permissions dari user jika MIDlet Suite berjalan pada untrusted domain.

Sebuah protection domain adalah rangkaian dari ”Allowed” dan ”User” permissions yang diberikan kepada MIDlet Suite.

Permissions

Terdapat dua tipe mode interaksi permissions, mode Allowed dan User. Pada mode Allowed, user tidak diminta melakukan pengaturan permission saat MIDlet mengakses sebuah API yang terproteksi. Sebuah aplikasi secara otomatis memberikan hak akses terhadap resource dan interaksi dari user tidak diperlukan.Dalam mode User, device menanyakan apakah user menginginkan untuk mencabut atau memberikan hak akses MIDlet terhadap resource. Frekuensi dari pertanyaan bergantung pada mode interaksi yang dipilih oleh user.

  • Mode Interaksi User

Sebuah user permission memiliki salah satu dari 3 mode interaksi berikut :Blanket – User memberikan permission pada MIDlet Suite untuk mengakses resource atau API secara permanen. User tidak akan lagi diminta melakukan pengaturan setiap MIDlet Suite berjalan. Permission yang ada akan tetap eksis hingga MIDlet Suite dihapus dari device atau user merubah permission tersebut.Membuat sebuah permission adalah salah satu dari cara pengamanan akses terhadap restricted APIs. Dalam MIDP, nama dari permission menggunakan nama dari package dari API tersebut sebagai prefix dan bersifat case sensitive. Jika permission tersebut ditujukan kepada sebuah class, maka penamaan permission harus mengandung nama class dan package.Sebuah MIDlet dapat menuntut adanya permission dengan mendeklarasikan MIDlet-Permissions ataupun atribut MIDlet-Permissions-Opt pada application descriptor. Jika MIDlet Suite menyertakan atribut MIDlet-Permissions, atribut permission tersebut. harus diberi hak akses terhadap protection domain. Jika hak akses tidak diberikan, maka proses instalasi akan dibatalkan.Multiple permissions dituliskan menggunakan tanda koma (,) sebagai pemisah. MIDlet- Permissions: javax.microedition.io.Connector.httpMIDlet-Permissions-Opt: javax.wireless.messaging.sms.receive, javax.wireless.messaging.sms.send Membuat permissions pada MIDlet Suite menggunakan NetBeans Mobility Pack :

  • Menggunakan Security dan Trust Service API (SATSA)

Security and Trust Services API (SATSA) terdefinisi dalam Java Spesification Reque(JSR) 177. SATSA adalah sebuah pilihan package yang menyediakan APIs untfungsi – fungsi security seperti manajemen digital signatures, pembuatan messadigest dan digital signatures, berhubungan dengan Java Cards dan operkriptografi lainnya.Contoh berikut ini menunjukkan cara pembuatan message digest dan enkrisebuah message menggunakan symmetric keys.

BAB III

PENUTUP

Dalam Ilmu komputer Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi.

Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi.

Bentuk penulisan disk drive modern adalah array blok logika satu dimensi yang besar. Ukuran blok logika dapat bermacam-macam. Array blok logika satu dimensi tersebut dipetakan dari disk ke sektor secara bertahap dan terurut. Ada dua macam aturan pemetaan, yaitu:

· CLV: kepadatan bit tiap track sama, semakin jauh sebuah track dari tengah disk, maka semakin besar jaraknya, dan juga semakin banyak sektor yang dimilikinya. Digunakan pada CD-ROM dan DVD-ROM.

· CAV: kepadatan bit dari zona terdalam ke zona terluar semakin berkurang, kecepatan rotasi konstan, sehingga aliran data pun konstan.

Host-Attached Storage (HAS) adalah pengaksesan storage melalui port M/K lokal.

Network-Attaced Storage (NAS) device adalah sebuah sistem penyimpanan yang mempunyai tujuan khusus untuk diakses dari jauh melalui data network .

Storage-area Network (SAN) adalah network private(menggunakan protokol storage daripada protokol network) yang menghubungkan server dan unit penyimpanan.

Penjadwalan disk sangat penting dalam meningkatkan efisiensi penggunaan perangkat keras. Efisiensi penggunaan disk terkait dengan kecepatan waktu akses dan besarnya bandwith disk. Untuk meningkatkan efisiensi tersebut dibutuhkan algoritma penjadwalan yang tepat dalam penjadwalan disk.

Algoritma penjadwalan disk ada beberapa macam, yaitu:

1. FCFS (First Come First Served)

2. Shortest-Seek-Time-First (SSTF)

3. SCAN

4. C-SCAN (Circular SCAN)

5. LOOK

6. C-LOOK (Circular LOOK)

Untuk algoritma SCAN, C-SCAN, LOOK dan C-LOOK, yang mengatur arah pergerakan disk arm adalah hardware controller. Hal ini membuat pengguna tidak terlibat di dalamnya.

DAFTAR PUSTAKA

http://id.wikipedia.org/wiki/Sistem_operasi

http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-1.3.pdf

http://www.scribd.com/doc/11634193/Sistem-Operasi-kOMPUTER

http://ikc.unimal.ac.id/umum/ibam/ibam-os-html/x4041.html

http://free.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-2/ch06s06.html

http://free.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-2/ch06s07.html

http://syakur.staff.gunadarma.ac.id/Downloads/files/7121/07+-+DEADLOCK.ppt

http://perkebunan.kaltimprov.go.id/content/info/komputer.pdf

http://kur2003.if.itb.ac.id/file/Deadlock.ppt

http://www.cert.or.id/~budi/courses/security/2007/Rizal%20ferdiyan%20Report.pdf

http://www.cert.or.id/~budi/courses/security/2006/pradono-report.doc

http://jokonurjadi.blogspot.com/2009/01/perang-sistem-operasi.html

http://tik12.wetpaint.com/page/Sistem+Operasi

http://one.indoskripsi.com/judul-skripsi-tugas-makalah/komputer/sejarah-sistem-operasi

http://mahaputrabelog.blogspot.com/2009/03/perkembangan-sistem-operasi-dan.html



[1] Menurut c.tambunan

Tidak ada komentar:

Posting Komentar