Just look! The day's almost as beautiful as you!

Category: all (Page 2 of 2)

MANAJEMEN I/O (INPUT/OUTPUT)

Dalam sistem komputer manajemen I/O adalah bagian yang sangat diperlukan karena i/o adalah sarana user untuk bisa berkomunikasi dengan komputer. Seperti keyboard, mouse, monitor, speaker, disk drives, networking ports, dll.

Manajemen I/O harus memiliki subsistem yang dapat bersaing dengan dua kecenderungan. yaitu: gravitasi terhadap antarmuka standar untuk berbagai perangkat, sehingga lebih mudah untuk menambahkan perangkat baru yang dikembangkan untuk sistem yang ada, dan pengembangan jenis perangkat yang baru, dimana interface standar yang ada tidak selalu mudah untuk diterapkan. Device driver adalah modul yang dapat dipasang ke OS untuk menangani perangkat tertentu atau kategori perangkat sejenis.

 

I/O Hardware

  I/O secara kasar dapat dikategorikan sebagai penyimpanan, komunikasi, user-interface dan device yang lainnya. Device tersebut dikendalikan oleh instruksi I/O. Alamat-alamat yang dimiliki device akan digunakan oleh direct I/O instruction dan memory-mapped I/O. Beberapa konsep yang umum digunakan ialah port, bus , dan controller. Port adalah koneksi yang digunakan oleh device untuk berkomunikasi dengan mesin. Sedangkan Bus adalah koneksi yang menghubungkan beberapa device menggunakan kabel-kabel. Dan Controller adalah alat-alat elektronik yang berfungsi untuk mengoperasikan port, bus, dan device.

13_01_TypicalBus.jpg

 

Application I/O Interface

Merupakan suatu mekanisme untuk mempermudah pengaksesan, sehingga sistem operasi melakukan standarisasi cara pengaksesan peralatan I/O.

Akses pengguna aplikasi untuk berbagai perangkat yang berbeda dilakukan melalui layering, dan melalui enkapsulasi semua kode perangkat yang spesifik ke driver perangkat, sementara lapisan aplikasi disajikan dengan interface umum untuk semua perangkat .

Beberapa hal yang berhubungan dengan Application I/O Interface:

  1. Block and Character Devices

  • Perangkat blok mengakses blok pada satu waktu, dan ditandai oleh “b” sebagai karakter pertama dalam long listings pada sistem UNIX. Operasi yang didukung termasuk read (), write (), dan seek ().

  • File peta memory  I / O dapat berlapis-lapis di atas driver block-device.

  • Perangkat karakter yang diakses satu byte pada suatu waktu, dan ditandai oleh “c” di UNIX long listings. Operasi yang didukung termasuk get () dan put (), dengan fungsi yang lebih canggih seperti membaca seluruh lini yang didukung oleh rutinitas higher-level library.

  1. Network Devices

Karena akses jaringan secara inheren berbeda dari akses disk lokal, kebanyakan sistem menyediakan antarmuka terpisah untuk perangkat jaringan. Salah satu yang banyak digunakan pada sistem operasi adalah interface socket. Socket bertindak seperti kabel atau pipa yang menghubungkan dua entitas jaringan. Data dapat dimasukkan ke dalam soket di salah satu ujung, dan dibacakan secara berurutan di ujung lain. Soket biasanya full-duplex, yang memungkinkan untuk transfer data.

  1. Clocks and Timers

Clock dan timer pada hardware komputer, memiliki tiga fungsi :

  • memberi informasi waktu saat ini

  • memberi informasi lamanya waktu sebuah proses

  • sebagai trigger untuk suatu operasi pada suatu waktu.

Fungsi ini sering digunakan oleh sistem operasi. Akan tetapi, sayangnya operasi waktu ini tidak di-standarisasi pada semua sistem. Programmable interrupt timer dapat digunakan untuk memicu operasi dan mengukur waktu yang berlalu. Hal ini dapat diatur untuk memicu interupsi pada rentang waktu tertentu di masa mendatang, atau untuk memicu interupsi berkala secara teratur. Sayangnya, ini terbatas dalam resolusi dengan frekuensi interupsi dari PIT, dan dapat dikenakan beberapa penyimpangan dari waktu ke waktu. Pendekatan alternatifnya adalah untuk menyediakan akses langsung ke frekuensi tinggi hardware counter, yang menyediakan resolusi dan akurasi yang lebih tinggi, tetapi yang tidak mendukung interupsi.

  1. Blocking and Non-blocking I/O

Dengan blocking I / O, proses akan dipindahkan ke antrian ketika menunggu permintaan I / O dibuat, dan pindah kembali ke antrian ready ketika permintaan selesai, sehingga memperbolehkan proses lain berjalan untuk sementara. Dengan non-blocking I / O, I / O mengirimkan permintaan untuk kembali dengan segera, tidak melihat apakah I / O operasi yang diminta telah berjalan atau tidak. Hal ini memungkinkan proses untuk memeriksa data yang tersedia tanpa mendapatkan gangguan sepenuhnya jika data tidak ada disana.

Kernel I/O subsystems

  1. I/O Scheduling

Dengan scheduling, kita dapatmeningkatkan kemampuan sistem secara menyeluruh, kita dapat membagi device dengan rata di antara proses-proses, dan dapat mengurangi waktu tunggu rata-rata untuk menyelesaikan I/O. Prioritas juga dapat berperan dalam  scheduling.

  1. Buffering

Buffer merupakan area memori yang menyimpan data ketika mereka sedang dipindahkan antara dua device atau antara device dan aplikasi. Buffering dilakukan untuk tiga buah alasan. Pertama adalah perbedaan kecepatan antara dua perangkat. Yang kedua adalah perbedaan ukuran transfer data. Dan yang terakhir untuk mendukung copy semantik.

  1. Caching

Caching melputi penjagaan salinan data di lokasi lebih cepat daripada akses dimana data tersebut biasanya disimpan. Buffering dan caching sangat mirip, kecuali buffer dapat memegang satu-satunya salinan item data yang diberikan, sedangkan cache hanya salinan duplikat beberapa data yang disimpan di tempat lain. Buffering dan caching berjalan hand-in-hand, dan seringkali ruang penyimpanan yang sama dapat digunakan untuk kedua tujuan.

  1. Spooling dan Device  Reservation

Spool adalah sebuah buffer yang menyimpan output untuk sebuah device, seperti printer, yang tidak dapat menerima interleaved data streams. Jika beberapa proses ingin mencetak pada saat yang sama, mereka masing-masing mengirimkan data cetak mereka ke file yang tersimpan di direktori spool. Ketika setiap file ditutup, maka aplikasi dapat melihat bahwa pekerjaan cetak sudah lengkap, dan scheduler cetak mengirimkan setiap file ke printer yang sesuai satu per satu. Dukungan diberikan untuk melihat antrian spool, menghapus pekerjaan dari antrian, bergerak dari satu pekerjaan antrian ke antrian yang lain, dan dalam beberapa kasus mengubah prioritas pekerjaan di antrian. Antrian Spool dapat bersifat umum atau khusus. OS juga dapat memberikan dukungan untuk proses untuk meminta / mendapatkan akses eksklusif untuk perangkat tertentu, dan / atau menunggu sampai perangkat menjadi tersedia.

  1. Error Handling

Permintaan I / O bisa gagal karena berbagai alasan, baik sementara karena buffer overflow atau permanen dikarenakan disk yang crash. Permintaan I / O biasanya mengembalikan kesalahan bit (atau lebih) yang menunjukkan masalah. Sistem UNIX juga mengatur variabel global errno untuk salah satu dari seratus atau lebih nilai yang didefinisikan dengan baik untuk menunjukkan kesalahan tertentu yang telah terjadi. Beberapa perangkat, seperti perangkat SCSI, mampu memberikan banyak informasi lebih rinci tentang kesalahan, dan bahkan menjaga error log on-board yang dapat diminta oleh host.

  1. I/O Protection

I / O sistem harus melindungi baik disengaja ataupun tidak disengaja. Aplikasi pengguna tidak diizinkan untuk menjalankan I / O dalam mode user. Semua I / O permintaan yang ditangani melalui panggilan sistem yang harus dilakukan dalam mode kernel. Daerah memori dipetakan dan I / O port harus dilindungi oleh sistem manajemen memori, tetapi untuk akses ke daerah-daerah tidak dapat sepenuhnya ditolak untuk program user. Sebaliknya sistem perlindungan memori membatasi akses sehingga hanya satu proses pada suatu waktu dapat mengakses bagian-bagian tertentu dari memori, seperti bagian dari  layar memori sesuai dengan jendela tertentu.

  1. Kernel Data Structure

Kernel mempertahankan sejumlah struktur data penting yang berkaitan dengan sistem I / O, seperti  open file table. Struktur ini adalah object-oriented, dan fleksibel untuk memungkinkan akses ke berbagai perangkat I / O melalui interface umum. Windows NT membawa objek-orientasi satu langkah lebih jauh, melaksanakan I / O sebagai pesan melalui sistem dari sumber melalui berbagai perantara ke perangkat.

 

I/O Requests to Hardware Operations

Pengguna meminta data menggunakan nama file, yang akhirnya harus dipetakan ke blok data tertentu dari perangkat tertentu yang dikelola oleh driver perangkat tertentu. DOS menggunakan pemisah khusus untuk menentukan perangkat tertentu. UNIX menggunakan mount table untuk memetakan prefiks nama file untuk dipasangkan ke perangkat yang lebih spesifik. Dimana beberapa entri dalam mount table sesuai prefiks yang berbeda dari nama file dipilih salah satu yang cocok dengan awalan terpanjang. UNIX menggunakan file perangkat khusus, biasanya terletak di /dev, untuk mewakili dan mengakses perangkat fisik secara langsung. Serangkaian tabel lookup dan maping membuat akses perangkat yang berbeda menjadi fleksibel, dan agak transparan kepada pengguna.

Manajemen I/O Pada Windows

Dalam windows sistem i/o menyediakan model driver berlapis yang dinamakan stack. Biasanya IRP akan berpindah dari satu driver ke driver lain dalam satu stack yang sama ke fasilitas komunikasi. Misalkan mouse ketika digunakan harus berkomunikasi dengan USB hub, kemudian USB hub harus berkomunikasi dengan USB Host Controller, selanjutnya USB Host Controller harus berkomunikasi melalui PCI bus ke seluruh hardware computer. Maka stack akan berisi mouse driver, USB hub, USB Host Controller, dan PCI bus. Pada windows semua kelas perangkat berbagi driver umum yang disebut “port driver”. Port driver mengimplementasikan operasi standard untuk suatu kelas dan “calls device-spesific routine” yang kemudian mengimplementasikan fungsi “device-spesific”.

i/o manager pada windows mempunyai 2 sub component yaitu: Plug and Play manager and power manager. PnP manager adalah teknologi PnP milik Microsoft yang berfungsi untuk mengenali dan mengadaptasi perubahan pada konfigurasi hardware. Agar Pnp bekerja maka perangkat dan drivernya harus memenuhi standar PnP. Pnp manager secara otomatis mengenali perangkat yang dipasang dan mendeteksi perubahan pada perangkat seiring sistem beroperasi. Pnp manager pun tetap mengawasi sumber daya yang digunakan oleh perangkat, dan juga potensi jika sumber daya tersebut digunakan serta menangani “loading” driver tersebut. Dilain sisi, power manager ikut berperan dalam mengurangi komsumsi tenaga pada perangkat. Sehingga suatu perangkat dapat diset dalam mode “low-power”(sleep mode) ketika tidak digunakan, dan dapat langsung dipakai ketika diperlukan.

Manajemen I/O Pada Linux

Dalam Linux system i/o kurang lebih mirip dengan yang terdapat pada Unix. User dapat membuka saluran akses ke perangkat sama seperti membuka file-perangkat lain yang tampak sebagai objek dalam file sistem. Linux membagi semua perangkat i/o menjadi 3 kelas: “block devices”, “character devices”, dan “network devices”.

“Block devices” 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. Fungsi “block devices” sendiri didukung oleh 2 sistem component, block buffer cache dan request manager. Block buffer cache bertugas sebagai pool dari buffer i/o aktif dan cache dari “completed i/o”. “Request manager” adalah lapisan software yang mengelola konten read dan write buffer dari dan menuju block-device driver.

“Character devices” yaitu perangkat yang menerima, dan mengirimkan aliran karakter tanpa membentuk suatu struktur blok. Contoh : terminal, line printer, pita kertas, kartu-kartu berlubang, mouse. Perangkat ini tidak memerlukan random access untuk sebuah block data. Akan tetapi, tiap perangkat telah memiliki berbagai fungsi yang telah terdaftar pada kernel yang diimplementasikan pada file operasi i/o.

Sedangkan “network devices” berbeda dengan block atau character devices, user harus berkomunikasi secara tidak langsung dengan cara harus membuka sambungan dengan subsistem jaringan kernel.

 

References:

  1. Abraham Silberschatz, Greg Gagne, and Peter Baer Galvin, “Operating System Concepts, Eighth Edition “, Chapter 13

  2. http://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/13_IOSystems.html

Peranan Sistem Operasi pada Virtual Memory

  1. Fetch Policy

adalah yang menentukan apakah suatu page akan diambil kedalam main memory atau tidak. alternatif yang terkait dengan fetch policy yaitu demand paging dan prepaging.

  1. Demand Paging

Dengan demand paging, page akan diambil kedalam main memory ketika ada referensi yang dibuat pada suatu lokasi untuk page tersebut. jika disetujui oleh memory management policy yang lain, maka demand paging akan dilaksanakan.

  1. Prepaging

Dengan prepaging, page selain yang digunakan pada demand paging akan diambil kedalam main memory. Prepaging menggunakan karakteristik dari kebanyakan secondary memory device, seperti disk yang memiliki seek time dan rotational latency. Policy ini tidak efektif jika kebanyakan dari extra page page yang diambil tidak memiliki referensi apapun.

 

  1. Placement Policy

Adalah yang menentukan dimana bagian proses akan tersimpan pada memori asli. Pada sistem dengan segmentasi, placement policy menjadi pilihan yang terbaik. Sedangkan dalam sistem paging atau sistem segmentasi yang digabung paging, placement policy menjadi kurang baik karena perangkat keras address translasi dan perangkat keras pengaksesan main memori dapat berfungsi dengan efisiensi yang sama.

 

  1. Replacement Policy

Berdasarkan implementasi memori virtual yaitu konsep demand paging. Ini berarti sistem operasi, dan bukan programmer, mengontrol swapping halaman dalam dan luar dari memori utama karena mereka diwajibkan oleh proses yang aktif. Ketika halaman non-residen yang dibutuhkan oleh proses, sistem operasi harus memutuskan mana halaman yang akan diganti dengan halaman yang diminta. Bagian dari memori virtual yang membuat keputusan ini disebut Replacement Policy.

  • Optimal
    Halaman yang diganti adalah salah satu yang tidak akan digunakan untuk periode waktu yang lama. Algoritma ini membutuhkan pengetahuan masa depan tentang string yang tidak selalu tersedia. Dengan demikian, kebijakan ini digunakan untuk studi perbandingan.

  • Least Recently Used (LRU)
    Halaman yang diganti adalah salah satu yang belum dirujuk karena yang lainnya telah direferensikan.

  • First in first-out (FIFO)
    Halaman yang diganti adalah halaman “tertua” di memori, satu halaman yang dimuat sebelum yang lainnya dimuat.

  • Clock
    Dalam algoritma ini, Anda harus mempertahankan daftar link yang melingkar, dengan kepala pointer menunjuk ke halaman kandidat potensial berikutnya untuk penggusuran. Sebagai bagian dari algoritma ini, Anda juga jharus mempertahankan ‘Referensi Bit’ dengan setiap halaman virtual.

 

  1. Resident Set Management

  • Biasanya kebijakan alokasi memberikan sejumlah proses halaman pada memori utama untuk dieksekusi.

  • Jumlah halaman yang dialokasikan juga dikenal sebagai set penduduk (halaman).

  • Dua kebijakan untuk alokasi set penduduk: tetap dan variabel.

  • Ketika proses baru dimuat ke memori, mengalokasikan sejumlah page frame berdasarkan jenis aplikasi, atau kriteria lainnya. Prepaging atau permintaan paging digunakan untuk mengisi halaman.

  • Ketika kesalahan halaman terjadi, pilih halaman untuk menggantikannya.

 

  1. Cleaning Policy

Berkaitan dengan penentuan waktu saat page yang telah dimodifikasi harus ditulis ke memori sekunder. Alternatif dalam penerapannya meliputi Demand cleaning (page akan ditulis ke memori sekunder ketika page telah terpilih untuk digantikan) dan Precleaning (page ditulis dalam batches).

Sebuah cleaning policy adalah kebalikan dari fetch policy; itu berkaitan dengan penentuan bila halaman dimodifikasi harus ditulis ke memori sekunder. dua alternatif umum adalah membersihkan permintaan dan precleaning. With demand cleaning, sebuah halaman ditulis ke memori sekunder hanya ketika telah dipilih untuk penggantian. Sebuah precleaning policy menulis halaman modifikasi sebelum frame halaman mereka dibutuhkan sehingga bahwa halaman dapat ditulis dalam batch.

Ada bahaya dalam mengikuti kebijakan tersebut secara penuh. Dengan precleaning, sebuah halaman ini ditulis tetapi tetap dalam memori utama sampai algoritma penggantian menyatakan bahwa itu dihapus. Precleaning memungkinkan penulisan halaman dalam batch, tapi masuk akal untuk menulis ratusan atau ribuan halaman hanya untuk menemukan bahwa sebagian dari mereka telah dimodifikasi lagi sebelum mereka diganti. Kapasitas transfer memori sekunder terbatas dan tidak boleh disia-siakan dengan operasi pembersihan yang tidak perlu.

Di sisi lain, dengan membersihkan permintaan, penulisan halaman kotor digabungkan untuk, dan mendahului, membaca di sebuah halaman baru. Teknik ini dapat meminimalkan halaman menulis, tetapi itu berarti bahwa proses yang terdapat kesalahan halaman mungkin harus menunggu selama dua transfer halaman sebelum dapat diblokir. Hal ini dapat menurunkan penggunaan prosesor.

Pendekatan yang lebih baik menggabungkan halaman buffering. Hal ini memungkinkan dengan mengadopsi kebijakan berikut: Bersihkan hanya halaman yang diganti, tapi yang memisahkan operasi pembersihan dan penggantian. Dengan halaman buffering, halaman diganti dapat ditempatkan pada dua daftar: dimodifikasi dan dimodifikasi. Halaman-halaman pada daftar dimodifikasi bisa berkala ditulis dalam batch dan dipindah ke daftar modifikasi.

 

  1. Load Control

Load control berkaitan dengan penentuan jumlah proses yang akan menetap di memori utama, yang telah disebut sebagai tingkat multiprogramming. itu kebijakan pengendalian beban sangat penting dalam manajemen memori yang efektif. Jika terlalu sedikit proses yang resident pada satu waktu, maka akan ada banyak kesempatan ketika semua proses diblokir, dan banyak waktu yang akan dihabiskan dalam swapping. Di sisi lain, jika terlalu banyak proses yang resident, maka, rata-rata, ukuran resident set masing-masing proses akan memadai dan akan sering terjadi patahan. Hasilnya adalah akan buruk.

referensi :

 

http://cs.gmu.edu/cne/modules/vm/yellow/repol.html

http://www.cse.psu.edu/~anand/473/p3/

http://www.cse.buffalo.edu/~bina/cse421/spring00/LEC78MemMgt/tsld027.htm

Operating System 7th Edition William Stalling

 

Hardware Virtual Memory

  1. Prinsip Locality

Locality atau lokalitas mengacu pada penggunaan memori berdasarkan tempat atau posisi. Terdapat 2 jenis lokalitas yaitu :

a. Spatial locality

Mengacu pada kecenderungan eksekusi untuk melibatkan beberapa lokasi memori yang berkelompok. Hal ini memperlihatkan kecenderungan dari processor untuk mengakses instruksi secara berurutan. Spatial locality juga memperlihatkan kecenderungan program untuk mengakses data secara berurutan, seperti saat mengakses tabel data.

b. Temporal locality

Mengacu pada kecenderungan processor untuk mengakses lokasi memori yang baru saja dipakai. contohnya yaitu ketika pengulangan proses dieksekusi, processor mengeksekusi instruksi yang sama berulang-ulang.

 

  1. Paging
    Paging adalah sebuah sekema dimana sebuah proses (memori ataupun program) dipecah menjadi bagian – bagian kecil. Dengan menggunakan paging, dapat terjadi fragmentasi internal tetapi tidak terjadi fragmentasi eksternal.
    Sistem operasi menggunakan tabel page untuk mencatat lokasi tempat page di memori, juga mencatat daftar frame yang kosong. Alamat absolut dihitung berdasarkan nomor page dan offset.
    Pada Virtual Memory, proses dapat dieksekusi meski baru memiliki beberapa page saja yang sudah ditaruh di memori, bila page baru dimasukkan ke memori dapat menyebabkan terjadi perpindahan page dari memori ke harddisk.

  • Page Table Structure (PTS)

Prosedur pada PTS :

1.jpg

1. Register menyimpan alamat awal pada tabel page suatu proses

2. Sebuah program membutuhkan data dan mengirimkan sebuah alamat virtual

3. Nomor page pada alamat virtual digunakan sebagai indeks untuk menunjuk nomor frame  gj pada tabel page

4. Nomor frame digabungkan dengan offset pada alamat virtual menjadi alamat fisik

5. Alamat fisik digunakan untuk mengakses bagian program pada memori

 

Jumlah page yang ada biasanya lebih banyak dari pada jumlah frame, sehingga bit untuk page (n) lebih besar dari pada bit untuk frame (m). Karena tabel page dapat berukuran sangat besar, maka tabel page juga mengalami paging. sebagian besar tabel page disimpan di virtual memory dan sebagian kecil disimpan di memori.

  • Inverted Page Table (IPT)

Pada inverted Page Table, nomor page alamat virtual ditaruh di suatu tabel frame berdasarkan fungsi hash, yaitu fungsi yang akan memetakan suatu nilai ke lokasi tertentu di dalam sebuah tabel. Nilai hash menunjuk ke tabel IPT, yang dimana jumlah entri pada IPT adalah sama dengan frame di memori.
Struktur Tabel IPT :2.jpg

• Nomor page = nomor page alamat virtual

• Identitas proses

–ID proses pemilik nomor page tersebut ID proses pemilik nomor page tersebut

• Bit-bit kontrol

Terdiri dari bitbit yang digunakan sebagai tanda: –Terdiri dari bit-bit yang digunakan sebagai tanda:

valid, referenced, modified, protection, dan locking

• Chain pointer:

– Pointer yang menunjuk ke entri lain yang masih

kosong (saat insert data) kosong (saat insert data)

– Pointer yang menunjuk ke entri lain akibat terjadi

overflow (saat baca data) overflow (saat baca data)

 

  • Translation Lookaside Buffer (TLB)

TLB merupakan cache khusus berkecepatan tinggi untuk menyimpan entri tabel page yang sering digunakan, sehingga dapat menutupi kekurangan PTS dan IPT.

Prosedur TLB :

3.jpg

• Suatu program minta data/program dengan mengirimkan alamat virtual

• Prosesor mencari page# yang diminta pada TLB

• Jika page# yang diminta ada pada TLB, maka terjadi TLB hit. Frame# diambil dari TLB untuk membentuk alamat fisik

• Bila terjadi TLB miss, prosesor mencari page# yang diminta pada tabel page

• Jika page#yang diminta ada pada tabel page, maka frame# diambil dari tabel page untuk membentuk alamat fisik

• Page# yang baru saja diambil disimpan juga di TLB (diupdate)

• Jika page# tidak ada di tabel page (page fault atau tidak ada di memori), maka dilakukan pencarian data ke harddisk )

• Alamat fisik digunakan untuk mengambil data pada memori

 

  1. Ukuran Page

Ukuran pada page dapat berubah – ubah dikarenakan beberapa hal seperti ukuran memori yang digunakan cendrung semakin besar, ukuran program yang cendrung membesar, dan program yang kompleks.

 

Apa akibatnya jika ukuran page semakin kecil ?

(+) Fragmentasi internal semakin kecil

(-) Jumlah page yang diperlukan oleh suatu proses semakin banyak

(-) Ukuran tabel page semakin besar

(-) Ruang memori yang diperlukan untuk menyimpan tabel page semakin besar

(-) Dapat terjadi page fault dua kali

(-)Transfer data dari memori sekunder ke memori tidak efisien, jika ukuran blok data di harddisk jauh lebih besar daripada ukuran page

 

Jika ukuran page semakin besar maka kebalikan dari yang sudah disebutkan diatas.

 

  1. Segmentasi

 

Segmentasi merupakan skema manajemen memori yang mendukung cara pandang seorang programmer terhadap memori. Ruang alamat logika merupakan sekumpulan dari segmen-segmen. Masing-masing segment mempunyai panjang dan nama. Alamat diartikan sebagai nama segmen dan offset dalam suatu segmen. Jadi jika seorang pengguna ingin menunjuk sebuah alamat dapat dilakukan dengan menunjuk nama segmen dan offsetnya. Untuk lebih menyederhanakan implementasi, segmen-segmen diberi nomor yang digunakan sebagai pengganti nama segment.

 

Secara sederhana segmentasi bisa diartikan sebagai suatu ruang alamat atau segment yang berada di memori. Segment-segment itu dalam keadaan independent. Setiap segment berisi alamat 0 sampai maksimum secara linier. Panjang setiap segment berbeda-beda sampai panjang maksimun, perubahan panjang segment terjadi selama proses eksekusi.

 

Segment stack bertambah ketika terjadi operasi push dan turun saat operasi pop, dimana setiap segment merupakan ruang alamat terpisah segment-segment dapat tumbuh dan mengkerut secara bebas tanpa mempengaruhi yang lain.

 

Alamat terdiri dari dua bagian pada memori bersegment yaitu :

1. Nomor segment

2. Alamat pada segment ( offset ).

 

User’s View of a Program

Logical View of Segmentation

 

Segmentation Hardware

 

Example of Segmentation

Logical to Physical Address Translation in Pentium

Intel Pentium Segmentation

 

  1. Kombinasi Paging dan Segmentasi

 

Teknik kombinasi paging dan segmentasi adalah ruang alamat pemakai dibagi menjadi sejumlah segment sesuai dengan kehendak pemrogram. Segment tersebut dibagi menjadi sejumlah page berukuran tetap dan berukuran sama dengan page frame memori utama. Jika segment kurang dari ukuran page, maka segnent hanya memerlukan satu page.

 

Dari segi pandangan pemrogram, alamat maya masih berisi nomor segment dan offset di segment itu. Dari segi pandangan sistem, offset segment dipandang sebagai nomor page dan offset page untuk page di segment yang dispesifiksikan. Penggabungan dengan proses adalah tabel segment dan sejumlah tabel page, merupakan satu tabel persegment proses.

 

Saat proses running, register menyimpan alamat awal tabel segment untuk proses, pemroses menggunakan bagian nomor segment untuk mengindeks tabel segment proses guna menemukan tabel page untuk segment. Bagian angka page alamat maya digunakan untuk indeks tabel page dan mencari nomor page korespondensi. Angka tersebut kemudian dikombinasikan dengan bagian offset alamat maya untuk menghasilkan alamat nyata yang diinginkan.

 

Sistem paging dan segmentasi mempunyai keunggulan dan kelemahan masing-masing. Sistem paging transparan bagi pemrogram, mengeliminasi fragmentasi ekstenal, penggunaan memori utama yang efisien.. Karena potongan-potongan yang di pindahkan masuk dan keluar memori utama berukuran sama, maka dimungkinkan mengembangkan algoritma menajemen memori yang memanfaatkan kelakuan program.

 

Pada kombinasi paging dan segmentasi, ruang alamat pemakai dibagi menjadi sejumlah segmen sesuai kehendak pemrogram. Tiap segmen dibagi menjadi sejumlah page berukuran tetap, berukuran sama dengan page frame memori utama. Jika segmen kurang dari ukuran page, segmen hanya memerlukan satu page. Dari pandangan pemrogram, alamat maya masih berisi nomor segmen dan offset di segmen itu. Dari pandangan system, offset segmen dipandang sebagai nomor page dan offset page untuk page di segmen yang dispesifikasikan.

  1. Proteksi dan Sharing

 

Dengan dilakukannya pengelompokan antara segmen-segmen yang sama, maka

pemeliharaan dari segmen tersebut dapat menjadi lebih mudah, walau pun didalam segmen tersebut sebagian berisi instruksi dan sebagian lagi berisi data. Dalam arsitektur modern, instruksi-instruksi yang digunakan tidak dapat diubah tanpa campur tangan pengguna, oleh karena itu, segmen yang berisi instruksi dapat diberi label read only atau hanya dapat dijalankan saja. Perangkat keras yang bertugas untuk melakukan pemetaan ke memori fisik akan melakukan pemeriksaan terhadap bit proteksi yang terdapat pada segmen, sehingga pengaksesan memori secara ilegal dapat dihindari, seperti suatu usaha untuk menulis ke area yang berstatus tidak boleh dimodifikasi.

 

Keuntungan lain dari segmentasi adalah menyangkut masalah pembagian penggunaan kode atau data. Setiap proses mempunyai tabel segmennya sendiri, dimana ini akan digunakan oleh dispatcher untuk menentukan tabel segmen dari perangkat keras yang mana akan digunakan ketika proses yang bersangkutan di eksekusi oleh CPU. Segmen akan berbagi ketika anggota dari elemen tabel segmen yang berasal dari dua proses yang berbeda menunjuk ke lokasi fisik yang sama. Pembagian tersebut terjadi pada level segmen, maka, informasi apa pun dapat dibagi jika didefinisikan pada level segmen. Bahkan beberapa segmen pun dapat berbagi, sehingga sebuah program yang terdiri dari beberapa segmen pun dapat saling berbagi pakai.

 

Referensi:

 

Penjadwalan Proses

  1. Konsep Penjadwalan Proses

 

Permasalahan  yang  menyebabkan  dibutuhkannya  penjadwalan  adalah  bila terdapat berbagai macam tugas (job) atau proses yang harus dilakukan, sedangkan sumber  daya  (waktu,  bahan  baku,  tenaga  kerja,  mesin,  modal,  dan  sebagainya) yang  dibutuhkan  untuk  menyelesaikan  tugas-tugas  atau  proses  tersebut  terbatas sehingga  diperlukan  suatu  pengaturan  atas  pelaksanaan  tugas-tugas  atau  prosesproses  tersebut.  Conway (1967)   mendefinisikan  penjadwalan  sebagai  berikut:

”Scheduling is the task of assigning each operation  to a specific position or the time  scale  of  the  specific  machine”.  Sedangkan  Fogarty (1991)  mengatakan bahwa  penjadwalan  mencakup  dua hal,  yaitu  scheduling dan  sequencing yang masing-masing didefinisisikan sebagai berikut:

”Scheduling  is  the  assigning  of  starting  and  completion  times  orders  (job)  and frequently  includes  the  times  when  orders  are  to  arrive  and  leave  each department”.

Scheduling (penjadwalan)  merupakan  proses  penugasan  kapan  pekerjaan  harus dimulai dan diselesaikan, sedangkan  sequencing  (pengurutan) merupakan proses pengaturan  urutan  atas  pekerjaan-pekerjaan  yang  harus  diselesaikan  tersebut. Karena  eratnya  hubungan  diantara  kedua  istilah  ini, maka  biasanya  dalam penggunaan kata scheduling (penjadwalan), pengertian sequencingsudah tercakup didalamnya.

Pada sistem komputer terdapat beberapa bentuk dari penjadwalan, admission (pintu masuk ke system), memory, dan CPU scheduler coba lihat gambar scheduler dari batch system berikut:

Pada sistem multiprogramming, selalu akan terjadi beberapa proses berjalan dalam suatu waktu. Sedangkan pada uniprogramming hal ini tidak akan terjadi, karena hanya ada satu proses yang berjalan pada saat tertentu. Sistem multiprogramming diperlukan untuk memaksimalkan utilitas CPU. Pada saat proses dijalankan terjadi siklus eksekusi CPU dan menunggu I/O yang disebut dengan siklus CPU-I/O burst. Eksekusi proses dimulai dengan CPU burst dan dilanjutkan dengan I/O burst, diikuti CPU burst lain, kemudian I/O burst lain dan seterusnya seperti pada gambar berikut:

Pada saat suatu proses dieksekusi, terdapat banyak CPU burst yang pendek dan terdapat sedikit CPU burst yang panjang. Program yang I/O bound biasanya sangat pendek CPU burst nya, sedangkan program yang CPU bound kemungkinan CPU burst nya sangan lama. Hal ini dapat digambarkan dengan grafik yang eksponensial atau hiper eksponensial seperti pada gambar. Oleh karena itu sangat penting pemilihan algoritma penjadwalan CPU.

CPU Scheduler

Pada saat CPU menganggur, maka sistem operasiharus menyeleksi proses-proses yang ada di memori utama (ready queue) untuk dieksekusi dan mengalokasikan CPU untuk salah satu dari proses tersebut. Seleksi semacam ini disebut dengan shortterm scheduler (CPU scheduler).

Keputusan untuk menjadwalkan CPU mengikuti empat keadaan di bawah ini :

1)  Apabila proses berpindah dari keadaan running ke waiting;

2)  Apabila proses berpindah darikeadaan running ke ready;

3)  Apabila proses berpindah dari keadaan waiting ke ready;

4)  Apabila proses berhenti.

Apabila model penjadwalan yang dipilih menggunakan keadaan 1 dan 4, maka penjadwakan semacam ini disebut non-peemptive. Sebaliknya, apabila yang digunakan adalah keadaan 2 dan 3, maka disebut dengan preemptive. Pada non-preemptive, jika suatu proses sedang menggunakan CPU, maka proses tersebut akan tetap membawa CPU sampai proses tersebut melepaskannya (berhenti atau dalam keadaan waiting). Preemptive scheduling memiliki kelemahan, yaitu biaya yang dibutuhkan sangat tinggi. Antara lain, harus selalu dilakukan perbaikan data. Hal ini terjadi jika suatu proses ditinggalkan dan akan segera dikerjakan proses yang lain.

Dispatcher

Dispatcher adalah suatu modul yang akan memberikan kontrol pada CPU terhadap penyeleksian proses yang dilakukan selama short-term scheduling. Fungsi-fungsi yang terkandung di dalamnya meliputi:

1.  Switching context;

2.  Switching ke user-mode;

3.  Melompat ke lokasi tertentu pada user program untuk memulai program. Waktu yang

diperlukan oleh dispatcher untuk menghentikan suatu proses dan  memulai untuk

menjalankan proses yang lainnya disebut dispatch latency.

  1. Perbedaan Penjadwalan Long Term, Medium Term, dan Short Term.

Short term scheduler : Mempunyai tugas untuk menjadwalkan alokasi pemroses di antara proses ready di memori utama. Penjadwalan dijalankan setiap terjadi di pengalihan proses untuk memilih proses berikut yang harus dijalankan.

– Di dalam short term ini digunakan untuk memilih diantara proses – proses yang siap dieksekusi & satu diantaranya dialokasikan ke CPU.

– Penjadwalan short term biasa digunakan untuk CPU, proses dieksekusi dan hanya beberapa milidetik saja sebelum menunggu I/O.

Medium term scheduler: Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder yang disebut swapping. Proses ini mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan proses dimasukkan kembali ke memori utama dan ready.

– Dalam penjadwalan medium term ini, beberapa OS seperti contoh time-sharing harus membutuhkan penjadwalan dengan level tambahan.

Long term scheduler: Penjadwalan ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif, program ini berprioritas rendah, digunakan sebagai pengisi selama periode aktivitas job-job interaktif rendah.

– Jika pada long term ini tiding sering mengeksekusi, dan digunakan jika proses meninggalkan suatu sistem.

– Digunakan untuk memilih suatu proses dari pool & menyimpan pada memori.

  1. Parameter Dalam Penjadwalan Proses

Algoritma penjadwalan CPU yang berbeda akan memiliki perbedaan properti. Sehingga untuk memilih algoritma ini harus dipertimbangkan dulu properti-properti algoritma tersebut. Ada beberapa parameter yang digunakan untuk melakukan pembandingan algoritma penjadwalan CPU, antara lain:

  1. CPU utilization: Diharapkan agar CPU selalu dalam keadaan sibuk. Utilitas CPU dinyatakan dalam bentuk prosen yaitu 0-100%. Namun dalam kenyataannya hanya berkisar antara 40-90%.

  2. Throughput: throughput Adalah banyaknya proses yang selesai dikerjakan dalam satu satuan waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah proses user yang dapat dieksekusi dalam interval waktu tertentu. Sasaran penjadwalan adalah memaksimalkan jumlah proses yang dilayani per satu interval waktu. Lebih tinggi waktu throughput maka lebih banyak kerja yang dilakukan sistem. Kriteria-kriteria tersebut saling tergantung dan dapat saling bertentangan sehingga tidak dimungkinkan optimasi semua criteria secara simultan Contoh:

Untuk memberikan waktu tanggap kecil umumnya memerlukan penjadwalan yang sering beralih-alih di antara proses-proses yang ada. Cara ini meningkatkan overhead sistem sehingga menurunkan efisiensi. Kebijaksanaan perancangan penjadwalan melibatkan kompromi di antara kebutuhan-kebutuhan yang saling bertentangan. Kompromi ini tergantung sifat dan penggunaan sistem komputer.

  1. Turnaround time: Banyaknya waktu yang diperlukan untuk mengeksekusi proses, dari mulai menunggu untuk meminta tempat di memori utama, menunggu di ready queue, eksekusi oleh CPU, dan mengerjakan I/O  sampai semua proses-proses tersebut diselesaikan. Waktu yang dimaksud adalah waktu yang dihabiskan proses berada di sistem, atau juga bisa diekspresikan sebagai penjumlahan waktu eksekusi (waktu pelayanan proses) dan waktu menunggu dari porses tersebutatau bisa dirumuskan seperti:

Turn arround time = waktu eksekusi + waktu tunggu. Sasaran dari penjadwalan adalah meminimalkan turn arround time.

  1. Waiting time: Waktu yang diperlukan oleh suatu proses untuk menunggu di ready queue. Waiting time ini tidak mempengaruhi eksekusi proses dan penggunaan I/O.

  2. Response time: Waktu yang dibutuhkan oleh suatu proses dari minta dilayani hingga ada respon pertama yang menanggapi permintaan tersebut. Respon time berbeda untuk sistem interaktif dan sistem waktu nyata.

  • Respon time sistem interaktif: respon time dalam sistem interkatif didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukan oleh program atau transaksi sampai hasil pertama muncul di perangkat output seperti layar (terminal)

  • Respon time sistem waktu nyata: pada sistem waktu nyata (real time), respon didefinisikan sebagai waktu dari saat kemunculan suatu kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan terhadap kejadian dieksekusi.

  1. Fairness: adil adalah menyakinkan proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan CPU yang sama dan tidakada proses yang tidak kebagian layanan CPU sehingga mengalai starvation. Starvation merupakan suatu kondisi bahwa proses tidak pernah berjalan tidak dijadwalkan untuk berjalan.

  1. Konsep Penjadwalan Berdasarkan Prioritas

Penjadwalan prioritas adalah tiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapat jatah waktu lebih dulu (running). Berasumsi bahwa masing-masing proses memiliki prioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya. Ilustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer, dimana proses dari jendral berprioritas 100, proses dari kolonel 90, mayor berprioritas 80, kapten berprioritas 70, letnan berprioritas 60 dan seterusnya. Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain:

a. Batas waktu

b. Kebutuhan Memori

c. Akses file

d. Perbandingan antara I/O Burst dengan CPU Burst

e. Tingkat kepentingan proses

Proses-proses yang sangat banyak operasi masukan/keluaran menghabiskan kebanyakan waktu menunggu selesainya operasinya masukan/keluaran. Proses-proses ini diberi prioritas sangat tinggi sehingga begitu proses Memerlukan pemroses segera diberikan, proses akan segera memulai permintaan masukan/keluaran berikutnya sehingga menyebabkan proses blocked menunggu selesainya operasi masukan/keluaran. Dengan demikian pemroses dapat dipergunakan proses-proses lain. Proses-proses I/O berjalan paralel bersama proses-proses lain yang benar-benar memerlukan pemroses, sementara proses-proses I/O itu menunggu selesainya operasi DMA. Proses-proses yang sangat banyak operasi I/O-nya, kalau harus menunggu lama untuk memakai pemroses (karena prioritas rendah) hanya akan membebani memori, karena harus disimpan tanpa perlu proses-proses itu dimemori karena tidak selesai-selesai menunggu operasi masukan dan menunggu jatah pemroses.

Penjadwalan  dengan  pendekatan  heuristic menggunakan  aturan  pengurutan  atau priority  dispatching,  pada  priority  dispatching ditentukan  aturan  prioritasnya untuk memilih suatu operasi diantara operasi-operasi yang mengalami gangguan. Penentuan prioritas bergantung pada tujuan  yang ingin dicapai. Beberapa aturan prioritas menutur Fogarty(1991), adalah:

1.  Random (R)

Pemilihan  operasi  secara  random  artinya  setiap  pekerjaan  yang  akan dikerjakan  diurutkan  secara  random (tiap  job mempunyai  kemungkinan yang sama untuk dipilih)

2.  Most Working Remaining (MWR)

Prioritas tertinggi diberikan pada operasi dengan sisa waktu proses terlama.

Aturan  prioritas  ini  cocok  digunakan  untuk  menghasilkan  jadwal  dengan

makespan terpendek.

3.  Least Working Remaining (LWR)

Prioritas  tertinggi  diberikan  pada  operasi  dengan  sisa  waktu  proses terpendek. Aturan ini biasanya meminimasi flow timerata-rata.

4.  Most Operation Remaining (MOR)

Prioritas tertinggi diberikan pada operasi dengan successor terbanyak.

5.  Fewest Operation (FO)

Prioritas tertinggi diberikan pada produk dengan sisa operasi paling sedikit. Aturan ini biasanya mengurangi WIP, waktu penyelesaian produk, dan rata-rata waktu keterlambatan.

6.  Shortest Processing Time (SPT)

Prioritas  tertinggi  diberikan  pada  operasi  dengan  waktu  proses  terpendek, aturan  ini  biasanya  meminimasi  WIP,  rata-rata  keterlambatan  (mean latenes) dan waktu penyelesaian rata-rata (mean flow time) produk.

7.  First Come First Serve (FCFS)

Prioritas tertinggi diberikan pada operasi yang masuk St (stasiun ke-t) lebih dahulu. Aturan  ini  cocok  untuk  tipe  organisasi  dimana  konsumen mementingkan waktu pelayanan.

8.  Earliest Due Date (EDD)

Prioritas  tertinggi  diberikan  pada  produk  dengan  due  date (batas  waktu penyelesaian) terpendek. Aturan ini berjalan dengan baik bila waktu proses job-job relatif sama.

9.  Critical Ratio (CR)

Urutkan job berdasarkan CR terkecil (mengurangi lateness)

10.  Slack Time (ST)

       Merupakan variasi dari EDD.

11.  Slack Per Remaining Operation (S/OPN)

   Merupakan variasi dari ST, urutkan job berdasarkan S/OPN terkecil (aturan ini mengurangi lateness).

12.  Least Setup (LSU)

Urutkan  job berdasarkan  waktu  setup  terkecil  (aturan  ini  mengurangi makespan).

Referensi

Anggota yang berkontribusi:

  1. Rhesa Fauzan H (1103120102)

  2. M. Taufik Wahdiat (1103120104)

  3. Rakhmad Indra Permadi (1103121281)

Overview Peterson

Overview Peterson

 

3.3 ROUTING

Dari chapter sebelumnya, diketahui bahwa forwarding dan routing berbeda. Forwarding terdiri dari mengambil paket data, melihat address tujuan, membuat tabel dan mengirim paket pada jalur yang ditentukan oleh tabel. Sementara routing adalah proses dimana tabel forwarding dibuat.

3.3.1 Network As A Graph

Masalah dasar pada routing yaitu menemukan jalan yang memiliki cost terendah diantara yang lain. Kelemahan dari pendekatan ini yaitu

  • tidak mendeteksi node atau link failure

  • tidak mempertimbangkan kemungkinan node atau link baru

  • berasumsi cost edge tidak bisa diganti

Karena kekurangan tersebut, routing digunakan agar dapat memakai protokol dinamik yang dapat menyelesaikan masalah diatas dan menemukan jalan dengan cost terendah

3.3.2 Distance Vector (RIP)

 

3.3.3 Link State (OSPF)

Asumsi awal dari link state ini sama dengan distance vector. Setiap node diasumsikan mengetahui apakah keadaan link tujuan sedang up atau down. Ide dasar dari link state yaitu setiap node mengetahui bagaimana cara mencapai tujuan secara langsung dan yakin setiap node bisa mengetahui peta lengkap dari network. Link state routing berpaku pada dua mekanisme, yaitu penyebaran informasi link state dan kalkulasi rute dari total link state.

Reliable Flooding

Reliable flooding adalah proses yang meyakinkan setiap node mendapat informasi link state dari node lainnya. Proses pengiriman informasi ini dilakukan sampai setiap node mendapatkan informasi dari link state. Setiap node membuat link-state packet yang berisi :

  • ID node yang membuat LSP

  • List node yang terhubung dengan node pembuat dengan cost masing-masing

  • Nomor urut

  • Waktu untuk menghidupkan LSP

ID dan list node digunakan untuk kalkulasi rute, sedangkan nomor urut dan waktu digunakan untuk membuat reliable flooding lebih baik.

Route Calculation

The Open Shortest Path First Protocol

fitur

  • Authentication of Routing Message

  • Additional Hierarchy

  • Load Balancing

3.3.4 Metriks

3.4 IMPLEMENTASI DAN KINERJA
3.4.1 Switch Basics

a.jpg

Dari gambar diatas dapat dilihat prosesor dengan 3 interface jaringan yang digunakan sebagai switch. angka ini menunjukkan jalan yang diambil oleh paket ketika tiba pada interface 1 sampai keluar pada interface 2. dapat dilihat bahwa prosesor memiliki mekanisme untuk memindahkan data langsung dari interface ke memori utama tanpa harus melalui CPU. Setelah paket tersebut sampai didalam memori, CPU memeriksa header untuk menenturkan interface yang akan dilalui paket ketika akan keluar. dengan menggunakan Direct Memory Access, paket dipindahkan keluar melalui interface yang sesuai.

 

3.4.2 Ports

Kebanyakan switch secara konsep terlihat mirip, terdiri dari sejumlah input dan output port dan fabric. Setidaknya satu prosesor kontrol yang bertanggung jawab atas seluruh switch yang berkomunikasi melalui port secara langsung maupun tidak langsung seperti melalui switch fabric. Port berkomunikasi dengan dunia luar. Mereka mungkin menerima serat optik dan laser, buffer menahan paket yang menunggu untuk di switch atau dikirimkan, dan jumlah yang signifikan dari sirkuit lain yang memungkinkan beralih ke fungsi.

 

3.4.3 Fabrics

switch fabric harus dapat memindahkan paket dari port input ke port output dengan delay minimal dan dengan cara yang memenuhi throughput tujuan dari switch. Itu berarti fabric menampilkan beberapa derajat paralelisme. Sebuah fabric berkinerja tinggi dengan n port sering memindahkan satu paket dari masing-masing port n untuk salah satu port output pada saat yang sama.

 

3.4.4 Router Implementation

5.1 Simple Demultiplexer (UDP)

 

Protocol transport yang paling simpel adalah yang memperpanjang layanan pengantaran dari host-to-host dari network utama menjadi layanan komunikasi process-to-process. Biasanya terdapat banyak proses yang dijalankan di tiap host jadi protokol perlu menampahkan tingkatan dari demultiplexing yang berarti memperbolehkan tiap host menjalankan proses yang terdiri dari banyak aplikasi untuk membagi network. UDP (User Datagram Protocol) adalah salah satu contoh protokolnya.

Topik yang paling menarik dari protokol ini adalah bentuk alamat yang digunakan untuk mengidentifikasi target process. Walaupun memungkinkan bagi proses-proses untuk mengidentifikasi satu sama lain secara langsung dengan process id (pid) yang telah di-assign oleh OS, pendekatan ini bisa dilakukan di sistem terdistribusi tertutup yang hanya ada satu OS yang berjalan di semua host dan assign setiap proses dengan id yang unik. Pendekatan yang lebih umum yang digunakan UDP adalah porses-proses yang secara tidak langsung mengidentifikasi satu sama lain menggunakan abstract locater, yang biasa disebut port. Ide dasar adalah sumber proses mengirimkan pesan ke port dan proses tujuan menerima pesan dari port.

Topik berikutnya adalah bagaimana proses mengajarkan port mengenai proses dari mengirimkan pesan tersebut. Biasanya, proses klien menginisiasi pertukaran pesan dengan proses server. Saat klien mengontak server, server mengetahui port dari klien and bisa membalasnya. Masalah yang sebenarnya adalah bagaimana klien mengetahui port dari server. Pendekatan umum adalah server menerima pesan-pesan di port yang sudah dikenalnya. Setiap server menerima pesan-pesannya di port yang tetap yang dipublikasikan secara luas. Contohnya di internet, DNS menerima pesan-pesan di port yang sudah dikenal yaitu port 53 di setiap host. pesan mendengar pesan di port 25, dan Talk program dari Unix menerima pesan di port 517, dan lain-lain. Mapping ini dipublikasikan secara periodik di RFC dan tersedia di sebagian besar sistem Unix di file /etc/services. Terkadang port yang sudah dikenal hanya sebagai titik awal dari komunikasi: Klien dan server menggunakan port yang telah dikenal untuk kemudian menyetujui bahwa beberapa port yang lain akan menggunakan komunikasi berikutnya, meninggalkan port yang sudah dikenal bebas digunakan oleh klien-klien yang lain.

 

Strategi alternatif adalah untuk menggeneralisasi ide ini, sehingga hanya ada satu port yang dikenal, yaitu di tempat port mapper menerima pesan-pesannya. Klien akan mengirimkan pesannya ke port yang sudah dikenal oleh port mapper, memerintahkan port untuk berbicara ke servis apapun, dan port mapper mengembalikan port yang cocok. Strategi ini memudahkan bagi perubahan port yang berhubungan dengan servis yang berbeda setiap waktu dan agar setiap host menggunakan port yang berbeda untuk servis yang sama.

Seperti yang telah disebutkan, port hanyalah sebuah abstraksi. Bagaimana ia diimplementasikan secara tepat berbeda dari sistem yang satu dengan sistem lainnya, atau lebih tepatnya, dari OS yang satu dengan OS lainnya. Sebagai contoh, socket API yang dideskripsikan di Chapter 1 adalah contoh dari implementasi dari port-port. Biasanya, port diimplementasikan dengan pesan yang mengantri, seperti digambarkan Figure 5.2. Saat pesan masuk, protokol (contohnya UDP) menambahkan pesan tersebut ke akhir antrian. Jika antrian penuh, pesan akan dibuang.

 

 

Walaupun UDP tidak mengimplementasikan pengaturan arus atau pengiriman yang terpercaya, ia menyediakan satu atau lebih fungsi selain dari pesan demultiplexing ke beberapa proses aplikasi-ia juga memastikan keakuratan dari pesan dengan menggunakan checksum. Tapi data masukan yang digunakan checksum agak berbeda dari kebanyakan.

UDP checksum mengambil UDP header sebagai input masukan, isi dari pesan utama, dan sesuatu yang disebut pseudoheader. Pseudoheader terdiri dari 3 bagian dari IP header-nomor protokol, ip adress sumber, dan ip adress tujuan-ditambah UDP length field. Tujuan dari adanya pseudoheader adalah untuk memverifikasi bahwa pesan yang dikirim adalah antara dua endpoint yang benar.

Thread

DEFINITION

A thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler (typically as part of an operating system). The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is a component of a process. Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources. In particular, the threads of a process share the latter’s instructions (its code) and its context (the values that its variables reference at any given moment).

On a single processor, multithreading is generally implemented by time-division multiplexing (as in multitasking): the processor (CPU) switches between different hardware threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, threads can be truly concurrent, with every processor or core executing a separate thread simultaneously. The operating system uses hardware threads to implement multi processing. Hardware threads are different from the software threads mentioned earlier. Software threads are a pure software construct. The CPU has no notion of software threads, and is unaware of their existence.

Many modern operating systems directly support both time-sliced and multiprocessor threading with a process scheduler. The kernel of an operating system allows programmers to manipulate threads via the system call interface. Some implementations are called a kernel thread, whereas a lightweight process (LWP) is a specific type of kernel thread that shares the same state and information.

Programs can have user-space threads when threading with timers, signals, or other methods to interrupt their own execution, performing a sort of ad hoc time-slicing.

 

DIFFERENCES BETWEEN THREAD AND PROCESS

Threads differ from traditional multitasking operating system processes in that:

  • processes are typically independent, while threads exist as subsets of a process

  • processes carry considerably more state information than threads, whereas multiple threads within a process share process state as well as memory and other resources

  • processes have separate address spaces, whereas threads share their address space

  • processes interact only through system-provided inter-process communication mechanisms

  • context switching between threads in the same process is typically faster than context switching between processes.

Systems such as Windows NT and OS/2 are said to have “cheap” threads and “expensive” processes; in other operating systems there is not so great a difference except the cost of address space switch which implies a TLB flush.

MULTITHREADING

Multithreading is mainly found in multitasking operating systems. Multithreading is a widespread programming and execution model that allows multiple threads to exist within the context of a single process. These threads share the process’s resources, but are able to execute independently. The threaded programming model provides developers with a useful abstraction of concurrent execution. Multithreading can also be applied to a single process to enable parallel execution on a multiprocessing system.

Multi-threaded applications have the following advantages:

  • Responsiveness: Multi-threading has the ability for an application to remain responsive to input. In a single-threaded program, if the main execution thread blocks on a long-running task, the entire application can appear to freeze. By moving such long-running tasks to a worker thread that runs concurrently with the main execution thread, it is possible for the application to remain responsive to user input while executing tasks in the background. On the other hand, in most cases multithreading is not the only way to keep a program responsive, with non-blocking I/O and/or Unix signals being available for gaining similar results.

  • Faster Execution: This advantage of a multithreaded program allows it to operate faster on computer systems that have multiple or multi-core CPUs, or across a cluster of machines, because the threads of the program naturally lend themselves to truly concurrent execution.

  • Less Resource Intensive: Using threads, an application can serve multiple clients concurrently using less resource than it would need when using multiple process copies of itself. For example, the Apache HTTP server, which uses a pool of listener and server threads for listening to incoming requests and processing these requests.

  • Better System Utilization: Multi-threaded applications can also utilize the system better. For example, a file-system using multiple threads can achieve higher throughput and lower latency since data in faster mediums like the cache can be delivered earlier while waiting for a slower medium to retrieve the data.

  • Simplified Sharing and Communication: Unlike processes, which require message passing or shared memory to perform inter-process communication, communication between threads is very simple. Threads automatically share the data, code and files and so, communication is vastly simplified.

  • Parallelization: Applications looking to utilize multi-core and multi-CPU systems can use multi-threading to split data and tasks into parallel sub-tasks and let the underlying architecture manage how the threads run, either concurrently on a single core or in parallel on multiple cores. GPU computing environments like CUDA and OpenCL use the multi-threading model where dozens to hundreds of threads run in parallel on a large number of cores.

Multi-threading has the following drawbacks:

  • Synchronization: Since threads share the same address space, the programmer must be careful to avoid race conditions and other non-intuitive behaviors. In order for data to be correctly manipulated, threads will often need to rendezvous in time in order to process the data in the correct order. Threads may also require mutually exclusive operations (often implemented using semaphores) in order to prevent common data from being simultaneously modified or read while in the process of being modified. Careless use of such primitives can lead to deadlocks.

  • Thread crashes Process: An illegal operation performed by a thread crashes the entire process and so, one misbehaving thread can disrupt the processing of all the other threads in the application.

Issues with multithreading

There are few known issues with multithreading

  1. when a thread execute a fork system call to create a new proccess, does the child process duplicate all thread from the parent or just the thread ?

  2. how does a multithread process handle its signal ? is a signal delivered to a process receive by any thread, a few particular thread or all of thr thread ?

  3. how thread are scheduled ? at what level they scheduled, the user level or the kernel level ?

Operating systems schedule threads in one of two ways:

  1. Preemptive multitasking is generally considered the superior approach, as it allows the operating system to determine when a context switch should occur. The disadvantage of preemptive multithreading is that the system may make a context switch at an inappropriate time, causing lock convoy, priority inversion or other negative effects, which may be avoided by cooperative multithreading.

  2. Cooperative multithreading, on the other hand, relies on the threads themselves to relinquish control once they are at a stopping point. This can create problems if a thread is waiting for a resource to become available.

Threads, called tasks, made an early appearance in OS/360 Multiprogramming with a Variable Number of Tasks (MVT) in 1967.

Until the late 1990s, CPUs in desktop computers did not have much support for multithreading, although threads were still used on such computers because switching between threads was generally still quicker than full-process context switches. Processors in embedded systems, which have higher requirements for real-time behaviors, might support multithreading by decreasing the thread-switch time, perhaps by allocating a dedicated register file for each thread instead of saving/restoring a common register file. In the late 1990s, the idea of executing instructions from multiple threads simultaneously, known as simultaneous multithreading, had reached desktops with Intel’s Pentium 4 processor, under the name hyper-threading. It has been dropped from Intel Core and Core 2 architectures, but later was re-instated in the Core i7 architectures and some Core i3 and Core i5 CPUs.

 

THREAD MODELS

 

1:1 (Kernel-level threading)

Threads created by the user are in 1-1 correspondence with schedulable entities in the kernel. This is the simplest possible threading implementation. Win32 used this approach from the start. On Linux, the usual C library implements this approach (via the NPTL or older LinuxThreads). The same approach is used by Solaris, NetBSD and FreeBSD.

N:1 (User-level threading)

An N:1 model implies that all application-level threads map to a single kernel-level scheduled entity; the kernel has no knowledge of the application threads. With this approach, context switching can be done very quickly and, in addition, it can be implemented even on simple kernels which do not support threading. One of the major drawbacks however is that it cannot benefit from the hardware acceleration on multi-threaded processors or multi-processor computers: there is never more than one thread being scheduled at the same time. For example: If one of the threads needs to execute an I/O request, the whole process is blocked and the threading advantage cannot be utilized. The GNU Portable Threads uses User-level threading, as does State Threads.

M:N (Hybrid threading)

M:N maps some M number of application threads onto some N number of kernel entities, or “virtual processors.” This is a compromise between kernel-level (“1:1”) and user-level (“N:1”) threading. In general, “M:N” threading systems are more complex to implement than either kernel or user threads, because changes to both kernel and user-space code are required. In the M:N implementation, the threading library is responsible for scheduling user threads on the available schedulable entities; this makes context switching of threads very fast, as it avoids system calls. However, this increases complexity and the likelihood of priority inversion, as well as suboptimal scheduling without extensive (and expensive) coordination between the userland scheduler and the kernel scheduler.

Hybrid implementation examples

  • Scheduler activations used by the NetBSD native POSIX threads library implementation (an M:N model as opposed to a 1:1 kernel or userspace implementation model)

  • Marcel from the PM2 project.

  • The OS for the Tera/Cray MTA

  • Microsoft Windows 7

  • The Haskell compiler GHC uses lightweight threads which are scheduled on operating system threads.

Fiber implementation examples

Fibers can be implemented without operating system support, although some operating systems or libraries provide explicit support for them.

  • Win32 supplies a fiber API (Windows NT 3.51 SP3 and later)

  • Ruby as Green threads

  • Netscape Portable Runtime (includes a user-space fibers implementation)

  • ribs2

 

References

  1. Pat Villani: Advanced WIN32 Programming: Files, Threads, and Process Synchronization, Harpercollins Publishers

  2. Bill Lewis: Threads Primer: A Guide to Multithreaded Programming, Prentice Hall

  3. http://www.dmoz.org//Computers/Programming/Threads/

  4. http://www.futurechips.org/tips-for-power-coders/parallel-programming.html

  5. Sibsankar Haldar, Alex Alagarsamy Aravind: Operating System

Tugas Jarkom – Error Detection and Correction

  1. Hamming Code
  • Mekanisme dan Cara Kerja

Ada  beberapa  metode  yang  digunakan  untuk  mendeteksi error  dan  mengkoreksi  error  yang  terjadi.  Salah  satunya adalah dengan menggunakan metode Hamming Code. Metode  hamming  code  merupakan  salah  satu  metode yang  paling  sederhana.  Metode  ini menggunakan  operasi  logika  XOR  (Exclusive-OR)   dalam proses pendeteksian error  maupun pengkoreksian error. Input dan  output  dari metode  ini  berupa  bilangan  biner.  Hamming code  merupakan  salah  satu  jenis  linier  error  correcting  code yang  sederhana  dan  banyak  dipergunakan  pada  peralatan elektronik (Satra, 2007).

Metode  hamming  code  bekerja  dengan  menyisipkan beberapa  buah  check  bit  ke  data.  Jumlah  check  bit  yang disisipkan  tergantung  pada  panjang  data.  Rumus  untuk menghitung jumlah  check bit  yang akan disisipkan ke dalam data. Data 2^n bit,  c = (n+1) bit, dimana c adalah jumlah check  bit yang disisipkan.

Tabel 1. Kenaikan data bit dan check bit

Data Bit

Check Bit

2

2

4

3

8

4

16

5

32

6

64

7

128

8

256

9

Check bit kemudian disisipkan pada data pada posisi yang dihitung menggunakan rumus perhitungan posisi check bit.

Rumus perhitungan posisi Check Bit C^i= 2^(i-1)

Sehingga dengan rumus posisi tersebut, didapat posisi check bit yang akan diletakkan pada data diperlihatkan pada tabel.

Tabel 2. Tabel posisi check bit

Check Bit

Posisi

C1

1

C2

2

C3

4

C4

8

C5

16

C6

32

C7

64

C8

128

C9

256

  • Proses Pendeteksian Error
  1. Hitung panjang data masukan dari metode  hamming code  yang  merupakan  hasil  penjumlahan  dari panjang  data  masukan  dengan  panjang  check  bit. Panjang  data  keluaran  dari  metode  hamming  code sama  dengan  panjang  data  masukan  dari  metode hamming code.

  2. Tandai posisi bit yang merupakan posisi dari check bit. Posisi selain posisi check bit merupakan posisi data bit.

  3. Tentukan  rumus  perhitungan  dari  masing-masing check bit.untuk n = 1 hingga jumlah dari check bit, lakukan hal berikut:

a.) Catat  semua  posisi  dimana  bit  n  dari  member position  bernilai  1,  kecuali  posisi  bit  itu  sendiri. Member position merupakan bentuk biner dari posisi bit.  Rumus  dari  check  bit  n  sama  dengan  operasi XOR dari posisi-posisi yang dicatat.

b.)  Hitung berapa panjang bit yang diterima dan original.

c.)  Cek tabel posisi check bit dan ekstrak chek bit nya.

d.)  Hitung kembali chek bit nya dengan bit yang didapat.

e.)  Konversikan operasikan XOR ke bentuk decimal.

  • Contoh Kasus Hamming Code

Suatu memori internal menyimpan word 8 bit, suatu data 0011 0010 disimpan pada suatu alamat. Hitunglah bit paritas untuk mendeteksi dan memperbaiki kesalahan. Andaikan bit ke lima mengalami kesalahan, tunjukkan bagaimana kode Hamming mendeteksi kesalahan tersebut dan memperbaikinya.

Jawab:

8 bit = 2^n = 2^3. n=3

bit paritas = n+1 = 3+1 = 4

8+4 = 12

DSC_0674.JPG

P1 (melangkahi 1) = 00101 = 0 (menggunakan operasi XOR, jika bit 1 berjumlah ganjil maka = 1,

P2 (melangkahi 2) = 01101 = 1 sedangkan jika bit 1 berjumlah genap maka = 0)

P4 (melangkahi 3) = 0110 = 0

P8 (melangkahi 4) = 0010 = 1

Andaikan bit 5 mengalami kesalahan, maka:

DSC_0674 - Copy.JPG

P1 = 01101 = 1 (salah)

P2 = 01101 = 1 (benar)

P4 = 1110 = 1 (salah)

P8 = 0010 = 1 (benar)

Karena kesalahan terjadi di P1 dan P4, maka 1+4 = 5. Maka kesalahan terjadi di bit ke-5

  • Kekurangan dan Kelebihan Hamming Code

Kelebihan yang didapatkan dengan menggunakan metode ini adalah cara kerjanya yang cukup  sederhana  dan  tidak  membutuhkan  alokasi memori yang banyak. Selain itu dengan digunakannya konsep error  correcting  code  pada  metode  ini  maka  jika  ditemukan error saat pendeteksian, data tidak perlu ditransmisikan ulang tetapi  langsung  dikoreksi  di  simpul  tujuan.

Sedangkan kekurangan dari metode Hamming Code adalah tidak dapat mendeteksi bila terjadi dua buah kesalahan sekaligus. Contohnya bila 1111111 terkirim sebagai 11011110 pada odd parity code yang seharusnya adalah 11111111.

 

  1. Metode Longitudinal Redundancy Check

  • Mekanisme dan cara kerja

Longitudinal Redundancy Check (LRC) adalah metode pendeteksi kesalahan untuk mendeterminasikan kebenaran dari data yang disimpan/ditransmit. Pada metode pengecekan error LRC, blok bit diorganisasikan kedalam baris dan kolom. Kemudian paritas bit tiap kolom dihitung sehingga terbentuk baris dari hasil perhitungan paritas tersebut. Seletah itu, hasil yang didapat disatukan dengan data aslinya dan dikirim pada receiver. Setelah sampai pada receiver, hasil perhitungan data asli dibandingkan dengan data yang diterima pada receiver.

Contoh perhitungan LRC :

Terdapat 5 baris data yang terdiri dari 8 bit, yaitu : 11010010 11100010 00101010 01110100 00101111

Jpeg

Setiap baris atau kolom dihitung untuk mendapatkan hasil paritas bit dan hasil dikirim pada receiver.

Jpeg

Bit yang ada pada receiver akan dihitung dan dibandingkan dengan hasil paritas bit yang dikirimkan. Jika terjadi error akan dapat terlihat dengan jelas (lihat baris 2, error ditandai dengan lingkaran).

Jpeg

  • Kelebihan dan Kekurangan LRC

Kelebihan dari LRC yaitu lebih mudah dalam mendeteksi adanya burst error, namun kelemahan dari LRC yaitu ketidak mampuannya mendeteksi kesalahan jika terjadi 2 bit error di baris yang sama namum berbeda kolom. LRC juga membutuhkan lebih banyak alokasi memori.

 

3. Metode Two Dimensional Parity

Two-dimensional parity adalah sebuah error detection dengan menambahkan bit parity untuk tiap baris data dan juga kolom data. Dengan menggunakan two-dimensional parity ini kita dapat mendeteksi kesalahan sampai dengan 3 bit.

Contoh :

Diketahui biner data sebagai berikut : 1111111 0000000 1010101 1100110 0101101 0010011

sa

Maka bit data dan parity adalah : 11111111 00000000 10101010 11001100 01011010 00100111 11100100

• KELEBIHAN:

• BISA MENDETEKSI LETAK BIT YANG SALAH (JIKA HANYA TERDAPAT 1 KESALAHAN)

MENINGKATKAN DETEKSI BURST ERROR

• KELEMAHAN:

• TIDAK DAPAT MENDETEKSI KESALAHAN SEPERTI CONTOH: DATA: 11110000 11000011 ERROR: 01110001 01000010 (ADA 2 DATA DI BAGIAN PERTAMA YANG SALAH KEMUDIAN DI BAGIAN KEDUA JUGA ADA 2 DATA YANG SALAH DI POSISI YANG SAMA)

 

Referensi:

Lubis, Ahmad Alfi Albar dkk. (2010). Perancangan Error Detection System And Error Correction System

Menggunakan Metode Hamming Code Pada Pengiriman Data Text. Medan: USU.

 http://t4planet.tripod.com/longitudinalredundancycheck.html

http://w ww.slideshare.net/angelgdiaz_ut/errors-error-detection-and-error-control-8600677

http://www.techopedia.com/definition/1800/longitudinal-redundancy-check-lrc

http://www.s cribd.com/doc/221737240/Teori-Informasi-Error-Detection

 

PERANAN ANGGOTA KELOMPOK

No

NIM

Nama Anggota

Peranan

1

1103121281

Rakhmad Indra Permadi

Hamming Code

2

1103120102

Rhesa Fauzan Hermawan

Two Dimensional Parity

3

1103120104

Muhammad Taufik Wahdiat

Longitudinal Redudancy Check

Tugas-1 Jaringan Komputer

 

 A. Pengertian Jaringan KomputerJaringan-KomputerJaringan komputer adalah sekumpulan komputer yang saling terhubung satu sama lain melalui suatu media seperti kabel dan nirkabel. Informasi yang berupa data akan dikirimkan dari suatu komputer ke komputer lainnya sehingga masing-masing komputer yang terhubung tersebut bisa saling bertukar informasi.

B. Requirement Sebuah Jaringan

Pada umumnya, sebuah jaringan membutuhkan dua atau lebih node dan penghubung antar node tersebut. Pada jaringan komputer, dibutuhkan dua komputer atau perangkat lain dan penghubung diantara perangkat-perangkat tersebut. Requirement pada jaringan komputer yaitu : Connectivity, Resource Sharing dan Performance.

  • Connectivity : yaitu dua atau lebih komputer yang saling terhubung melalui sebuah media koneksi seperti kabel dan wireless. dengan menggunakan switch, besarnya network pada suatu jaringan dapat ditingkatkan.

  • Resource Sharing : Pemakaian bersama jaringan dengan biaya yang efektif.

  • Performance : Kinerja jaringan yang dibuat harus memiliki akses yang cepat dengan biaya yang rendah.

 

C. Latar Belakang Pemilihan Arsitektur Jaringan (internet)

Dalam memilih arsitektur jaringan internet, hal-hal yang harus kita perhatikan antara lain:

1. Tarif

Tarif yang ditawarkan harus seusai dengan servis yang disediakan dan harus terjangkau oleh masyarakat umum

2. Kualitas

Kulaitas jaringan harus stabil dan tidak putus-putus ataupun mati karena pastinya akan mengganggu layanan dari internet itu sendiri.
3. Kecepatan

Kecepatan haruslah sesuai dengan yang dibutuhkan masyarakat umum. Semakin cepat akan semakin baik agar kebutuhan terpenuhi.

Arsitektur jaringan komputer dibedakan menjadi arsitektur logic dan arsitektur fisik. Arsitektur logic berkaitan dengan logika hubungan masing-masing komputer dalam suatu jaringan. Sedangkan arsitektur fisik berkaitan dengan susunan fisik sebuah jaringan komputer, biasanya disebut juga dengan topologi jaringan.

Topologi Bus

Pada topologi bus seluruh komputer dalam sebuah jaringan terhubung dalam sebuah bus atau jalur komunikasi data. Semua node yang tergabung dalam network akan mendapatkan pesan yang sama melalui jalur network pada saat yang sama. Topolgi ini memiliki kelemahan pada saat tingkat komunikasi data sangat padat, karena kemungkinan terjadinya collusion (tabrakan) komunikasi antara beberapa komputer menjadi sangat besar. Hal ini menyebabkan turunnya kecepatan lalu lintas data, yang pada akhirnya menurunkan kinerja jaringan secara keseluruhan. Namun topologi ini juga memiliki kelebihan yaitu dapat menambah atau mengurangkan komputer dan node tanpa mengganggu operasi yang telah dijalankan serta murah untuk rangkaian jaringan yang kecil

Topologi bus terdiri daripada beberapa komputer yang disambungkan kepada satu kabel utama dengan menggunakan terminator.

bus_topo

Kekurangan topologi bus :

  • Jika kabel tulang belakang (backbone) atau nodenya bermasalah, rangkaian tidak dapat berfungsi, maka diperlukan terminator untuk kedua ujung kabel backbone tersebut.

  • Diperlukan repeater jika jarak tempuh LAN jauh.

Topologi Ring

Pada topologi ini seluruh komputer dalam jaringan terhubung pada sebuah jalur data yang menghubungkan komputer satu dan komputer yang lainnya secara sambung menyambung sehingga menyerupai cincin. Tiap node akan berfungsi sebagai repeater yang menerima sinyal dari node sebelumnya, memperkuat dan meneruskan sinyal ke node berikutnya.


topologi-ring

Kelebihan topologi ring :

  • Tingkat kerumitan jaringan rendah (sederhana).

  • Memiliki kecepatan yang lebih baik dibandingkan dengan topologi bus.

  • Lebih hemat kabel.

Kekurangan topologi ring :

  • Apabila terjadi gangguan pada salah satu titik atau lokasi dalam jaringan,maka akan mempengaruhi jaringan secara keseluruhan.

Topologi Star

Dalam topologi jaringan bintang, salah satu sentral dibuat sebagai sentral pusat. Bila dibandingkan dengan sistem mesh, sistem ini mempunyai tingkat kerumitan jaringan yang lebih sederhana sehingga sistem menjadi lebih ekonomis, tetapi beban yang dipikul sentral pusat cukup berat.

Tiap node pada topologi ini dihubungkan ke satu titik (concentrator) melalui hubungan point to point. Concentrator dapat berupa hub, switch, router, multipoint repetear dan lain-lain. Dalam topologi ini masing-masing komputer dalam jaringan dihubungkan ke pusat dengan menggunakan jalur yang berbeda, maka jika terjadi gangguan pada salah satu titik dalam jaringan, tidak akan mempengaruhi bagian jaringan yang lain. Hal ini juga memungkinkan pengaturan jaringan yang lebih fleksibel, serta memungkinkan kecepatan komunikasi data yang lebih baik jika dibandingkan topologi yang lain (bus dan ring).
images

Kelebihan topologi star :

  • Memudahkan deteksi dan isolasi kesalahan atau kerusakan.

  • Pemasangan atau perubahan stasiun sangat mudah dan tidak mengganggu bagian jaringan yang lain.

Kekurangan topologi star :

  • Kinerja jaringan sangat dipengaruhi oleh kemampuan sentral dari jaringan tersebut.

  • Kemungkinan tingkat kerusakan atau gangguan dari sentral ini lebih besar.

  • Boros kabel.

 

D. Parameter Performansi Jaringan Beserta Cara Perhitungannya

Metrik yang diukur didalam teknik pengukuran trafik jaringan biasanya dalam berupa.

  • Delay, One way delay (OWD) adalah waktu yang dibutuhkan oleh satu paket dari tempatsumber ke tujuan. Sementara waktu dari sumber ke tujuan kembal lagi ke sumber disebutdengan round trip time (RTT) delay.

  • Loss, persentase paket yang tidak sampai ke tujuan di jaringan.

  • Kapasitas bandwidth, yaitu bandwidth maksimum secara teori dari suatu elemen jaringanatau jalur ujung ke ujung.

  • Utilisasi bandwidth, Jumlah total trafik yang menggunakan suatu hop atau jalur.

  • Bandwidth tersedia, Kapasitas bandwidth dikurangi dengan utilisasi pada suatu intervalwaktu.

  • Bandwidth tercapai, Truput antara dua titik pada suatu kondisi tertentu, seperti protokoltransmisi (TCP atau UDP), perangkat keras dari host (kecepatan prosesor, kecepatan busatau kecepatan NIC), system operasi dan lain-lain.

Pengukuran kinerja dilakukan dengan

1. Pembentukan baseline

Pembentukan baseline dijadikan sebagai dasar pembanding sebelum dan sesudahperubahan. Baseline tergantung pada konsep operasi sebagai berikut :

  • Router/switch : CPU, memory, buffer management, utilization, throughput

  • Availability : menunjukan kenaikan stabilitas/availabilitas jaringan

  • Aplikasi : bandwidth usage, type of application, top talker2.

2. Measuring Avaibility

Dilakukan dengan mengukur Ukuran waktu network atau aplikasi dapat digunakanoleh pemakai. Dari perspektif network, menunjukkan kehandalan komponen jaringan secara individual. Harus diperhatikan jadwal outage : move, add, change,shutdown, dsb.

3. Measuring Respon Time

Pengukuran dilakukan dengan mengukur waktu yang diperlukan traffic berjalan darisatu titik ke titik lainnya. Faktor yang mempengaruhi adalah Network congestion,routing yang salah, piranti jaringan yang menurun, gangguan jaringan seperti badaipaket, Noise or CRC error. Yang perlu diperhatikan adalah bahwa respon time yangberbasis pemakai (respon time sisi pemakai) merupakan gabungan antara respontime client, jaringan, dan server.

4. Measuring Accuracy

Measuring accuracy adalah Ukuran traffic interface yang tidak mengalamikesalahan, atau prosentase dari sukses rate terhadap total paket dalam periodewaktu. Penyebabnya adalah pengkabelan yang tidak sesuai standar, electricalinterference, gangguan pada hardware dan software.5. Measuring UtilizationPengukuran Utilization adalah ukuran penggunaan sumber daya pada satuan waktu.Utilisasi yang tinggi belum tentu jelek kinerjanya. Utilisasi rendah dapatdimungkinkan karena adanya gangguan, utilisasi yang berlebih dapatmenyebabkan packet drop dan queuing.Metrik kinerja yang lazim diukur adalah respon time, packet loss, utilization,availability, through put, CPU dan memory usage.

 

referensi :

http://ee.unila.ac.id/index.php/component/content/article/57-weds-knowledge/164-pengukuran-trafik-jaringan.html

http://www.academia.edu/5202402/Jaringan_Komputer_dan_Komunikasi_Data_Building_a_Network_Lecture_2_Requirements_and_Network_Architecture

 

Tugas ke-1 SISOP Rangkuman Overview Sistem Operasi

 

A. Definisi Dari Sistem Operasi

 

Sistem operasi adalah perangkat lunak level rendah yang mendukung operasi dasar sistem dan melakukan kontrol serta manajemen perangkat keras.

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. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan “kernel” suatu Sistem Operasi.

 

B. Fungsi dari Sistem Operasi

 

Fungsi dasar dari sistem operasi adalah:

  • booting

  • melakukan tugas dasar komputer

  • menyediakan user interface

  • menangani system resources

  • menyediakan manajemen file

1. Booting

Proses saat menyalakan atau merestart komputer dikenal dengan booting. Cold boot adalah saat dimana komputer dinyalakan dari keadaan mati. Warm boot adalah proses menggunakan sistem operasi untuk merestart komputer.

2. Melakukan tugas dasar komputer

Sistem operasi melakukan tugas dasar komputer, yaitu mengelola beberapa perangkat peripheral seperti mouse, keyboard, dan printer. Kebanyakan dari operasi sistem sekarang menerapkan plug and play, dimana mouse, keyboard, dan printer akan dideteksi dan diatur secara otomatis tanpa campur tangan dari user.

3. Menyediakan user interface

Pengguna dapat berinteraksi dengan software melalui user interface. Ada 2 tipe utama dari user interface, yaitu command line dan Graphical User Interface (GUI). Melalui command line, user berinteraksi dengan sistem operasi dengan mengetik command untuk melakukan tugas tertentu. Melalui GUI, user berinteraksi dengan sistem operasi melalui mouse untuk mengakses windows, icon, dan menu.

4. Menangani system resources

Sistem operasi menangani memori komputer dan  central processing unit (CPU) melalui berbagai aplikasi atau perangkat peripheral. Sistem operasi memastikan bahwa setiap aplikasi mendapatkan bahan yang diperlukan untuk memaksimalkan fungsi dari sistem secara keseluruhan.

5. Menyediakan manajemen file

Sistem operasi dapat menangani pengorganisasian dan tracking file atau folder yang disimpan atau diambil dari disk komputer. Sistem file manajemen mendukung user untuk membuat file atau direktori, menamai file, meng-copy atau memindahkan file. Sistem operasi melacak dimana file berada pada hard drive melalui tipe file sistem.

 

C. Sejarah Sistem Operasi

 

Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi:

1. 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.

2. Generasi Kedua (1955-1965)

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 (Fortran Monitoring System) dan IBSYS. Jadi generasi komputer kedua ini merupakan generasi pertama dari sistem Operasi.

3. 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 sekaligus) dan multi-programming (melayani banyak program sekaligus).

4. 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.

Adapun sejarah sistem operasi yang dirinci dari tahun 1980an. Artikel ini menguraikan sejarah sistem operasi dari DOS, Mac, Windows, BSD, sampai Linux.

1956

GM-NAAI/O :Sistem operasi pertama ini digunakan pertama kali oleh General Motors pada komputer besar IBM 704. Namun, sistem ini tidak lebih hebat dari Batch Processing.

1969

Unix :Sistem operasi modern pertama ini dikembangkan oleh Ken Thompson dan Dennis Ritchie yang saat itu membutuhkan sebuah platform yang cepat untuk game “Space Travel” mereka.

1973

XeroxAlto : Sistem pertama dengan graphical interface yang hanya digunakan untuk penelitian sampai 1981

1980

QDOS : Tim Paterson dari Seattle Computer menulis QDOS yang dibuat dari OS terkenal pada masa itu, CP/M. QDOS (Quick and Dirty Operating System) dipasarkan oleh Seatle Computer dengan nama 86-DOS karena dirancang untuk prosesor Intel 8086.

Microsoft : Bill Gates dari Microsoft membeli lisensi QDOS dan menjualnya ke berbagai perusahaan komputer.

1981

PC  DOS : IBM meluncurkan PC  DOS yang dibeli dari Microsoft untuk komputernya yang berbasis prosesor Intel 8086.

MS  DOS : Microsoft menggunakan nama MS  DOS untuk OS ini jika dijual oleh perusahaan diluar IBM.

1983

MS  DOS 2.0 : Versi 2.0 dari MS  DOS diluncurkan pada komputer PC XT.

1984

System 1.0 : Apple meluncurkan Macintosh dengan OS yang diturunkan dari BSD UNIX. System 1.0 merupakan sistem operasi pertama yang telah berbasis grafis dan menggunakan mouse.

MS DOS 3.0 : Microsoft meluncurkan MS DOS 3.0 untuk PC AT yang menggunakan chip Intel 80286 dan yang mulai mendukung penggunaan hard disk lebih dari 10 MB.

MS DOS 3.1 : Microsoft meluncurkan MS DOS 3.1 yang memberikan dukungan untuk jaringan.

1985

MS Windows 1.0 : Microsoft memperkenalkan MS­Windows, sistem operasi yang telah menyediakan lingkungan berbasis grafis (GUI) dan kemampuan multitasking. Sayangnya sistem operasi ini sangat buruk performanya dan tidak mampu menyamai kesuksesan Apple.

Novell Netware : Novell meluncurkan sistem operasi berbasis jaringan Netware 86 yang dibuat untuk prosesor Intel 8086.

1986

MS  DOS 3.2 : Microsoft meluncurkan MS  DOS 3.2 yang menambahkan dukungan untuk floppy 3.5 inch 720 KB.

1987

OS/2 : IBM memperkenalkan OS/2 yang telah berbasis grafis, sebagai calon pengganti IBM PC DOS.

MS  DOS 3.3 : Microsoft meluncurkan MS  DOS 3.3 yang merupakan versi paling populer dari MS DOS.

Windows 2.0 : Windows versi 2.0 diperkenalkan.

MINIX : Andrew S. Tanenbaum mengembangkan Minix, sistem operasi berbasis Unix yang ditujukan untuk pendidikan. MINIX nantinya menginspirasi pembuatan Linux.

1988

MS  DOS 4.0 : Microsoft mengeluarkan MS DOS 4.0 dengan suasana grafis.

WWW : Proposal World Wide Web (WWW) oleh Tim Berners Lee.

1989

NetWare/386 (juga dikenal sebagai versi 3) diluncurkan oleh Novell untuk prosesor Intel 80386.

1990

Perpisahan : Dua perusahaan raksasa berpisah, IBM berjalan dengan OS/2 dan Microsoft berkonsentrasi pada Windows.

Windows 3.0 : Microsoft meluncurkan Windows versi 3.0 yang mendapat sambutan cukup baik.

MS Office : Microsoft membundel Word, Excel, dan PowerPoint untuk menyingkirkan saingannya seperti Lotus 1 2 3, Wordstar, Word Perfect dan Quattro.

DR DOS : Digital Research memperkenalkan DR DOS 5.0.

1991

Linux 0.01 : Mahasiswa Helsinki bernama Linus Torvalds mengembangkan OS berbasis Unix dari sistem operasi Minix yang diberi nama Linux.

MS DOS 5.0 : Microsoft meluncurkan MS DOS 5.0 dengan penambahan fasilitas full -screen editor, undelete, unformat dan Qbasic.

1992

Windows 3.1 : Microsoft meluncurkan Windows 3.1 dan kemudian Windows for Workgroups 3.11 di tahun berikutnya.

386 BSD : OS berbasis Open Source turunan dari BSD Unix didistribusikan oleh Bill Jolitz setelah meninggalkan Berkeley Software Design, Inc (BSDI). 386 BSD nantinya menjadi induk dari proyek Open Source BSD lainnya, seperti NetBSD, FreeBSD, dan OpenBSD.

Distro Linux : Linux didistribusikan dalam format distro yang merupakan gabungan dari OS plus program aplikasi. Distro pertama Linux dikenal sebagai SLS (Softlanding Linux System).

1993

Windows NT : Microsoft meluncurkan Windows NT, OS pertama berbasis grafis tanpa DOS didalamnya yang direncanakan untuk server jaringan.

Web Browser : NCSA memperkenalkan rilis pertama Mosaic, browser web untuk Internet.

MS  DOS 6.0 : Microsoft memperkenalkan MS DOS 6.0 Upgrade, yang mencakup program kompresi harddisk DoubleSpace.

Slackware : Patrick Volkerding mendistribusikan Slackware Linux yang menjadi distro populer pertama di kalangan pengguna Linux.

Debian : Ian Murdock dari Free Software Foundation (FSF) membuat OS berbasis Linux dengan nama Debian.

MS  DOS 6.2 : Microsoft meluncurkan MS DOS 6.2.

NetBSD : Proyek baru OS berbasis Open Source yang dikembangkan dari 386BSD dibuat dengan menggunakan nama NetBSD.

FreeBSD : Menyusul NetBSD, satu lagi proyek yang juga dikembangkan dari 386BSD dibuat dengan nama FreeBSD.

1994

Netscape : Internet meraih popularitas besar saat Netscape memperkenalkan Navigator sebagai browser Internet.

MS DOS 6.22 : Microsoft meluncurkan MS DOS 6.22 dengan program kompresi bernama DriveSpace. Ini merupakan versi terakhir dari MS DOS.

FreeDOS : Jim Hall, mahasiswa dari Universitas Wisconsin River Falls Development mengembangkan FreeDOS. FreeDOS dibuat setelah Microsoft berniat menghentikan dukungannya untuk DOS dan menggantikannya dengan Windows 95.

SuSE : OS Linux versi Jerman dikembangkan oleh Software und System Entwicklung GmbH (SuSE) dan dibuat dari distro Linux pertama, SLS.

Red Hat : Marc Ewing memulai pembuatan distro Red Hat Linux.

1995

Windows 95 : Microsoft meluncurkan Windows 95 dengan lagu Start Me Up dari Rolling Stones dan terjual lebih dari 1 juta salinan dalam waktu 4 hari.

PC DOS 7 : IBM memperkenalkan PC DOS 7 yang terintegrasi dengan program populer pengkompres data Stacker dari Stac Electronics. Ini merupakan versi terakhir dari IBM PC DOS.

Windows CE : Versi pertama Windows CE diperkenalkan ke publik.

PalmOS : Palm menjadi populer dengan PalmOS untuk PDA.

OpenBSD : Theo de Raadt pencetus NetBSD mengembangkan OpenBSD.

1996

Windows NT 4.0 : Microsoft meluncurkan Windows NT versi 4.0

1997

Mac OS : Untuk pertama kalinya Apple memperkenalkan penggunaan nama Mac OS pada Mac OS 7.6.

1998

Windows 98 : Web browser Internet Explorer menjadi bagian penting dari Windows 98 dan berhasil menumbangkan dominasi Netscape Navigator.

Server Linux : Linux mendapat dukungan dari banyak perusahaan besar, seperti IBM, Sun Microsystem dan Hewlet Packard. Server berbasis Linux mulai banyak dipergunakan menggantikan server berbasis Windows NT.

Google : Search Engine terbaik hadir di Internet dan diketahui menggunakan Linux sebagai servernya.

Japan Goes Linux : TurboLinux diluncurkan di Jepang dan segera menjadi OS favorit di Asia, khususnya di Jepang, China dan Korea.

Mandrake : Gael Duval dari Brazil mengembangkan distro Mandrake yang diturunkan dari Red Hat.

1999

Support : Hewlett Packard mengumumkan layanan 24/7 untuk distro Caldera, Turbo Linux, Red Hat dan SuSE.

Corel Linux : Corel pembuat program Corel Draw, yang sebelumnya telah menyediakan Word Perfect versi Linux, ikut membuat OS berbasis Linux dengan nama Corel Linux dan yang nantinya beralih nama menjadi Xandros.

2000

Mac OS/X : Mac OS diganti dengan mesin berbasis BSD Unix dengan kernel yang disebut sebagai Mac OS/X.

Windows 2000: Microsoft meluncurkan Windows 2000 sebagai penerus Windows NT.

Windows Me : Microsoft meluncurkan Windows Me, versi terakhir dari Windows 95.

China Goes Linux : Red Flag Linux diluncurkan dari Republik Rakyat China.

Microsoft vs IBM : CEO Microsoft Steve Ballmer menyebut Linux sebagai kanker dalam sebuah interview dengan Chicago Sun Times. Di lain pihak, CEO IBM Louis Gartsner menyatakan dukungan pada Linux dengan menginvestasikan $ 1 milyar untuk pengembangan Linux.

2001

Windows XP : Microsoft memperkenalkan Windows XP.

Lindows: Michael Robertson, pendiri MP3.com, memulai pengembangan Lindows yang diturunkan dari Debian. Nantinya Lindows berganti nama menjadi Linspire karena adanya tuntutan perubahan nama oleh Microsoft.

2002

Open Office : Program perkantoran berbasis Open Source diluncurkan oleh Sun Microsystem.

OS Lokal : OS buatan anak negeri berbasis Linux mulai bermunculan, diantaranya Trustix Merdeka, WinBI, RimbaLinux, Komura.

2003

Windows 2003 : Microsoft meluncurkan Windows Server 2003.

Fedora : Redhat mengumumkan distro Fedora Core sebagai penggantinya. Nantinya ada beberapa distro lokal yang dibuat berbasiskan Fedora, seperti BlankOn 1.0 dan IGOS Nusantara.

Novell : Ximian, perusahaan pengembang software berbasis Linux dibeli oleh Novell, begitu juga halnya dengan SuSE yang diakuisisi oleh Novell.

LiveCD : Knoppix merupakan distro pertama Linux yang dikembangkan dengan konsep LiveCD yang bisa dipergunakan tanpa harus diinstal terlebih dahulu. Distro lokal yang dibuat dari Knoppix adalah Linux Sehat dan Waroeng IGOS.

2004

Ubuntu : Versi pertama Ubuntu diluncurkan dan didistribusikan ke seluruh dunia. Ada beberapa versi distro yang dikeluarkan, yaitu Ubuntu (berbasis Gnome), Kubuntu (berbasis KDE), Xubuntu (berbasis XFCE), dan Edubuntu (untuk pendidikan).

2005

Mandriva : Mandrake bergabung dengan Conectiva dan berganti nama menjadi Mandriva.

2006

Unbreakable Linux : Oracle ikut membuat distro berbasis Linux yang diturunkan dari Red Hat Enterprise.

CHIPLux : Distro lokal terus bermunculan di tahun ini, bahkan Majalah CHIP yang lebih banyak memberikan pembahasan tentang Windows juga tidak ketinggalan membuat distro Linux dengan nama CHIPLux, yang diturunkan dari distro lokal PC LINUX dari keluarga PCLinuxOS (varian Mandriva). CHIPLux merupakan distro lokal pertama yang didistribusikan dalam format DVD.

2007

Vista : Setelah tertunda untuk beberapa lama, Microsoft akhirnya meluncurkan Windows Vista. Windows Vista memperkenalkan fitur 3D Desktop dengan Aero Glass, SideBar, dan Flip 3D. Sayangnya semua keindahan ini harus dibayar mahal dengan kebutuhan spesifikasi komputer yang sangat tinggi.

2008

3D OS : Tidak seperti halnya Vista yang membutuhkan spesifikasi tinggi, 3D Desktop di Linux muncul dengan spesifikasi komputer yang sangat ringan. Era hadirnya teknologi 3D Desktop di Indonesia ditandai dengan hadirnya sistem operasi 3D OS yang dikembangkan oleh PC LINUX. Ada beberapa versi yang disediakan, yaitu versi 3D OS untuk pengguna umum serta versi distro warnet Linux dan game center Linux.

2010

Windows7 : Sistem Operasi ini merupakan penyempurna dari sistem operasi yang di buat sebelumnya oleh microsoft. Bisa dikatakan bahwa sistem operasi ini merupakan sistem operasi terbaik yang ada pada saat ini.

 

 

 

D. Tugas OS Berkaitan Dengan Proses, Manajemen Memori, Proteksi dan Keamanan, Penjadwalan dan Manajemen Resource.

 

Fungsi sistem operasi secara garis besar adalah membuat sistem komputer menjadi lebih mudah digunakan, menjadikan penggunaan sumber daya hardware komputer lebih efisien dan menyediakan antarmuka pengguna.

Sistem Operasi dikembangkan untuk mengotomatisasi hal-hal yang pada awalnya harus dilakukan secara manual. Selain itu sistem operasi menyembunyikan detail operasi perangkat keras dan menyediakan antarmuka yang lebih mudah dimengerti, seperti GUI (Graphic User Interface) dan CLI(Command Line Interface). Dengan kata lain, sistem operasi melakukan abstraksi bagi pengguna terhadap pengaksesan sumber daya komputer.

Sistem operasi sebagai Resources Manager atau pengatur sumber daya serta penjadwalan. Sistem operasi akan mengatur sumber daya komputer agar sesuai dengan tugas-tugas yang dikerjakan sehingga terpakai secara efisien, efektif dan aman. Pada sistem komputer dimungkinkan beberapa job dikerjakan secara sekuensial untuk dimasukkan ke prosesor. Sumber daya komputer tentu akan dibagi-bagi untuk masing-masing tugas. Contohnya ketika kita sedang memakai printer. Jika kita mencoba melakukan pencetakan dari satu job, maka sistem operasi akan mengatur agar printer tidak dialokasikan (dipindahtugaskan) ke job lainnya untuk menghindari kondisi dimana halaman cetak akan berisi sebagian job pertama dan sebagian job kedua.

Yang dilakukan sistem operasi untuk mengatur sumber daya komputer adalah dengan bertindak sebagai Process Manager, Memory Manager, Device Manager dan File Manager. Penjelasannya mengenai tugas-tugas sistem operasi adalah sebagai berikut :

  • Manajemen Proses : Proses adalah sekumpulan pekerjaan yang dieksekusi oleh prosesor secara teknis. Sistem operasi akan mengatur proses-proses tersebut agar tidak saling mengganggu bahkan dapat saling bekerjasama. Sistem operasi dapat membuat dan menghentikan proses, menunda dan melanjutkan kembali proses serta menyediakan mekanisme penjadwalan, komunikasi, sinkronisasi dan penanganan deadlock (dimana suatu proses terhenti oleh karena tabrakan data atau operasi yang mustahil dilakukan).

  • Manajemen Memori : Tugas dari komponen Manajemen Memori adalah untuk mengatur pemakaian memori primer agar dapat digunakan oleh sebanyak mungkin proses yang berlangsung atau terjadwal tanpa saling mengganggu. Caranya dengan mengelola memori kosong, mengalokasikan dan membebaskan ruang memori terhadap proses, melakukan proteksi terhadap proses yang terdapat pada memori primer.

  • Manajemen Device : Mengelola beragam peralatan atau peranti I/O yang berbeda karakteristiknya dapat digunakan oleh proses-proses yang mengontaknya. Pengaksesan peranti I/O dilakukan melalui device driver (suatu program yang berfungsi menghubungkan sistem operasi dengan hardware I/O). Secara garis besar tugas komponen manajemen device adalah penjadwalan peranti I/O, buffering, caching, spooling, pemesanan device dan koreksi kesalahan.

  • Manajemen Berkas : Pada tugas ini, sistem operasi akan mengatur berkas-berkas yang ada pada memori sekunder. Sistem operasi akan membentuk suatu sistem berkas tertentu tergantung dari jenis sistem operasi tersebut. Misalnya FAT16 pada MSDOS, EXT3/EXT4 pada Linux dan NTFS pada Windows NT. Untuk kerapian dan kemudahan akses bagi pengguna, biasanya sistem operasi akan menyimpan berkas dalam bentuk hirarki atau pohon. Tugas utama manajemen berkas adalah mendukung operasi/pemanipulasian pada berkas (misalnya menghapus, menggandakan atau memindahkan), mengelola ruang kosong pada memori sekunder, mengelola isi direktori, melakukan proteksi dan recovery pada berkas.

  • Proteksi dan Keamanan : Proteksi dalam sistem operasi adalah suatu mekanisme untuk mengontrol akses terhadap beberapa software dan hardware yang diproteksi dalam sistem operasi. Sedangkan Keamanan adalah suatu mekanisme dalam sistem operasi untuk melindung data-data dan informasi penting dari aspek ancaman , aspek penyusup , dan aspek musibah.

Referensi

Newer posts »

© 2024 Wahdiat's blog

Theme by Anders NorenUp ↑