Sunday, February 24, 2019

Memahami struktur sistem operasi closed source

Gambar / Arsitektur sistem operasi


Arsitektur sistem operasi adalah merupakan arsitektur perangkat lunak yang digunakan untuk membangun suatu perangkat lunak sistem operasi yang akan digunakan dalam sistem komputer. Perkembangan arsitktur sistem operasi modern ini semakin komplek dan rumit sehingga memerlukan sistem operasi yang dirancang dengan sangat hati-hati, cermat dan tepat agar dapat berfungsi secara optimum dan mudah untuk dimodifikasi.
Sistem operasi merupakan kumpulan dari program-program (prosedur,fungsi, library) dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan”. Sistem pemanggilan program untuk mendapatkan layanan dari sistem operasi tersebut dikenal dengan nama Sistem Call atau API (aplication programming interface). Berbagai ragam Arsitektur sistem operasi moderen diantaranya adalah : 1) Sistem Monolitik. 2) Sistem Berlapis. 3) Sistem Client/server. 4) Sistem Virtual mesin dan 5) Sistem Berorientasi objek.

1) Sistem Monolitik

Arsitektur Sistem Monolitik

   Sistem monolitik Merupakan struktur sistem operasi sederhana yang dilengkapi dengan operasi “dual” pelayanan {sistem call} yang diberikan oleh sistem operasi. Model sistem call dilakukan dengan cara mengambil sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti register atau stack dan kemudian mengeksekusi suatu intruksi trap tertentu pada monitor mode.

Keunggulan dari sistem Monolitik ini adalah: 

  • Layanan terhadap job-job yang ada bisa dilakukan dengan cepat karena berada pada satu ruang alamat memory.


Kelemahan dari sistem Monolitik adalah:

  • Pengujian dan penghilangan kesalahan sulit dilakukan karena tidak dapat dipisahkan dan dilokasikan,
  • Sulit dalam menyediakan fasilitas pengamanan.
  • Kurang efisien dalam penggunaan memori dimana setiap computer harus menjalankan kernel yang besar sementara tidak memerlukan seluruh layanan yang disediakan kernel.
  • Kesalahan pemrograman di satu bagian kernel menyebakan matinya seluruh sistem.

2) Sistem berlapis


   Teknik pendekatan struktur sistem berlapis sistem operasi pada dasarnya dibuat menggunakan pendekatan top-down, semua fungsi ditentukan dan dibagi menjadi komponen komponen. Modularisasi sistem dilakukan dengan cara memecah sistem operasi menajdi beberapa lapis (tingkat). Lapisan terendah (layer 0) adalah perangkat keras dan lapisan teratas (layer N) adalah user interface. Dengan sistem modularisasi, setiap lapisan mempunyai fungsi (operasi) tertentu dan melayani lapisan yang lebih rendah.
   Sistem operasi pertama kali yang memakai sistem berlapis adalah THE. Sistem operasi THE yang dibuat oleh Dijkstra dan mahasiswa-mahasiswanya. Pada dasarnya sistem operasi berlapis dimaksudkan untuk mengurangi kompleknya rancangan dan implementasi dari suatu sistem operasi. Contoh sistem operasi yang menggunakan sistem ini adalah: UNIX termodifikasi, THE, Venus dan OS/2

Keuntungan Sistem Berlapis adalah:
  • Memiliki semua keunggulan rancangan modular.
  • Sistem terbagi dalam beberapa modul, setiap modul dan lapisan bisa dirancang, di uji, secara independen sehingga jika terjadi suatu kesalahan mudah untuk menanganinya.

Kelemahan Sistem Berlapis adalah:
  • Semua fungsi-fungsi dari sistem operasi harus terdapat di masing-masing lapisan, jika terjadi suatu kesalahan bisa jadi semua lapisan harus diprogram ulang.

3) Sistem Mesin virtual


   Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan sistem terlapis dengan tambahan berupa antarmuka yang menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses. Mesin virtual menyediakan antar muka yang identik untuk perangkat keras yang ada. Sistem operasi ini membuat ilusi atau virtual untuk beberapa proses, masing-masing virtual proses mengeksekusi prosessornya dan memorinya (virtual) masing masing.
   Meskipun konsep ini cukup baik, namun cukup komplek untuk diimple-mentasikan, karena system menggunakan metode dual-mode. Mesin virtual hanya dapat berjalan pada monitor-mode jika berupa sistem operasi, se-dangkan mesin virtual itu sendiri berjalan dalam bentuk user-mode. Konsek-uensinya, baik virtual monitor-mode maupun virtual user-mode harus dijalankan melalaui physical user mode. Hal ini menyebabkan adanya transfer dari user-mode ke monitor-mode pada mesin nyata, yang juga akan menyebabkan adan-ya transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual. Sumber daya (resource) dari computer fisik dibagi untuk membuat mesin virtual. Penjadwalan CPU dapat membuat penampilan bahwa user mempunyai proses-sor sendiri. Spooling dan system file dapat menyediakan card reader virtual dan line printer virtual. Terminal time sharing pada user melayani sebagai console operator mesin virtual. Contoh sistem operasi yang memakai mesin virtual ada-lah IBM S/370 dan IBM VM/370.
   Teknik ini berkembang menjadi sistem operasi emulator, shingga system operasi dapat menjalankan aplikasi-aplikasi untuk system operasi lain. Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16. aplikasi tersebut dijalankan sebagai input bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang di-panggil aplikasi dengan Win32 API ( Sistem Call di MS-Windows NT).

Keuntungan dan kerugian konsep mesin virtual adalah sebagai berikut:
  • Mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung.
  • Sistem mesin virtual adalah mesin yang cocok untuk riset dan pengembangan system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal.
  • Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.

4) Sistem Client Server


   Sistem operasi modem memiliki kecendrungan untuk memindahkan kode ke lapisan yang lebih tinggi dan menghapus sebanyak mungkin, kode-kode tersebut dari sistem operasi sehingga akan meninggalkan keruel yang minimal. Konsep ini biasa diimplementasikan dengan dengan cara menjadikan fungsi-fungsi yang ada pada sistem operasi menjadi user proses. Jika satu proses minta untuk dilayani, misalnya satu blok file, maka user proses {disini dinamakan: Client proses} mengirim permintaan tersebut ke user proses. Server proses akan melayani permintaan tersebutkemudian mengirimkan jawabannya kembali. Semua pekerjaan keruel dilakukan pada pengendalian komunikasi antara client dan server. Dengan membagi sistem operasi menjadi beberapa lapisan, dimana tiap-tipa bagian mengendalikan satu segi sistem, seperti pelayanan file, pelayanan proses, pelayanan terminal, atau pelayanan memori, maka tiap-tiap bagian menjadi lebih sederhana dan dapat diatur selain itu, oleh karena semua server berjalan pada user mode proses, dan bukan merupakan monitor mode, maka server tidak dapat mengakses hardware secara lansung. Akibatnya, jika terjadi kerusakan pada file server, maka pelayanan file akan terganggu. Namun hal ini tidak akan sampai menganggu sistem lainnya.

Keuntungan dari model client server ini adalah:
  • Dapat diadaptasikan pada sistem terdistribusi.
  • Jika suatu client berkomunikasi dengan server dengan cara mengirimkan pesan, maka server tidak perlu tahu apakah pesan itu dikirim oleh dan dari mesin itu sendiri {local} atau dikirim oleh mesin yang lain melalui jaringan.
  • Pengembangan dapat dilakukan secara modular
  • Kesalahan pada suatu subsistem tidak menganggu subsistem lain sehingga tidak mengakibatkan system mati secara keseluruhan

Kelemahan dari sistem client-server adalah :
  • Pertukaran pesan dapat menjadi bottleneck dan Layanan dilakukan secara “lambat” karena harus melalui pertukaran pesan antar client-server

5) Sistem Berorientasi Obyek

   Layanan Sistem operasi sebagai kumpulan proses untuk menyelesaikan pekerjaannya, yang sering disebut dengan system operasi bermodel proses, sedangkan layanan system operasi sebagai objek disebut dengan system operasi berorentasi objek. Pendekatan objek dimaksudkan untuk mengadopsi keunggulan dari teknolgi berorientasi objek.
  Pada system operasi berorientasi objek, layanan diimplementasikan sebagai kumpulan objek, masing-masing objek diberi tipe yang menandai property objek seperti proses, dirktori, berkas, dan sebagainya. Dengan memanggil operasi yang didefinisikan di objek, data yang berada dalam objek tersebut dapat diakses dan dimodifikasi

Contoh dari system operasi berorentasi objek antara lain adalah: 1) Eden 2) Choices 3) X-kernel. 4) Medusa. 5) Clunds. 6) Amoeba. 7) Muse. 8) Sistem operasi MS-Windows NT mengadopsi beberapa teknologi berorientasi objek tapi tidak secara keseluruhannya.



Penjadwalam processor


Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan proses yang harus berjalan, kapan dan selama berapa lama proses berjalan.

Kriteria yang digunakan untuk mengukur kualitas penjadwalan proses :
  1. Fairness atau pelayanan yang adil untuk semua pekerjaan
  2. Throughput atau memaksimumkan throughput. Throughput adalah jumlah pekerjaan yang dapat diselesaikan dalam satu unit waktu.
  3. Efficiency atau memaksimumkan pemakaian prosesor.
  4. Respone time atau meminimalkan respone time
  5. Meminimalkan Turn arround time. Turn arround time adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke system sampai proses diselesaikan sistem.
Jangka penjadwalan adalah merupakan interval atau range waktu dimana sistem operasi melalukan. Jangka penjadwalan proses dibedakan menjadi tiga:
  1. Penjadwalan jangka pendek atau short term scheduling / low level scheduling, yaitu mengurus masuknya antrian siap ke prosesor serta antrian siap ke alat peripheral I/O, yang mengurus prioritas dan preempsi.
  2. Penjadwalan jangka medium atau medium term scheduling / intermediate level scheduling, yaitu mengurus terhadap proses yang dikeluarkan dari prosesor yang belum rampung dikerjakan dan melanjutkan pekerjaan proses tersebut di prosesor.
  3. Penjadwalan jangka panjang atau long term scheduling / high level scheduling, yaitu mengurus masuknya pekerjaan baru berupa penentuan pekerjaan baru mana yang boleh diterima dan tugas disini diubah menjadi proses

Penjadwalan Prosesor, Strategi Penjadwalan dan Algoritma Penjadwalan


Microsoft windows menyediakan aplikasi task scheduler yang digunakan untuk mengelola penjadwalan suatu proses untuk mengerjakan suatu tugas tertentu. Aplikasi Task Scheduler Xversi 1.0 disertakan pada Windows 2000, Windows XP dan Windows Server 2003. Aplikasi Ini berjalan sebagai Windows Service, definisi tugas dan jadwal yang tersimpan dalam file biner pekerjaan. Tugas dapat dimanipulasi secara langsung dengan memanipulasi file pekerjaan. Task Scheduler 2.0 diperkenalkan dengan Windows Vista dan termasuk dalam Windows Server 2008 juga. 

Selain menjalankan tugas pada waktu yang dijadwalkan atau interval tertentu , Task Scheduler 2.0 juga mendukung kalender dan memicu berdasarkan aktivitas, seperti memulai tugas ketika peristiwa tertentu dan login ke log peristiwa atau ketika kombinasi peristiwa telah terjadi.

Aplikasi task scheduler meliputi 3 panel utama, yaitu:
  1. Task Scheduler Library, kolom ini akan membantu pengguna untuk melakukan navigasi diantara semua tugas yang ada.
  2. Task Scheduler Summary, bagian ini akan memperlihatkan informasi tentang tugas - tugas penting yang telah dibuat.
  3. Actions, melalui fungsi ini pengguna dapat membuat, menghapus, mengimport tugas, menjalankan mengaktifkan dan menon aktifkan tugas dan mengatur beberapa propertis untuk tugas yang spesifik.

Strategi Penjadwalan

Terdapat dua Strategi penjadwalan, yaitu:
  • Penjadwalan nonpreemptive (run – to – completion)
  • Penjadwalan preemptive
Penjadwalan Nonpreemptive
Begitu proses diberi jatah waktu pemroses maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.

Penjadwalan Preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu.

Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian tanggapan pemroses secara cepat. Misalnya :
  • Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat berakibat fatal.
  • Pada sistem interaktif/time-sharing, penjadwalan preemptive penting agar  dapat menjamin waktu tanggap yang memadai.
Penjadwalan preemptive bagus, tapi tidak tanpa ongkos. Perlaihan proses (yaitu proses beralih ke proses lain) memerlukan overhead (karena banyak tabel yang dikelola). Agar preemptive efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera running begitu diperlukan. Menyimpan banyak proses tak running benar-benar di memori merupakan suatu overhead tersendiri.

Algoritma Penjadwalan

Terdapat banyak algoritma penjadwalan ,baik nonpreemptive maupun preemptive. Algoritmanya seperti dibawah ini.

Algoritma-algoritma yang menerapkan strategi nonpreemptive diantaranya:
  • FIFO (Frist In First Out)
  • SJF (Shortest Job First)
  • HRN (Highest Ratio Net)
  • MFQ (Multiple Feedback Queues)
Algoritma-algoritma yang menerapkan strategi preemptive diantaranya:
  • RR (Round Robin)
  • SRF (Shortest remaining First)
  • PS (Priority Schedulling)
  • GS (Guaranteed Schedulle)

Manajemen memori


 Memori adalah pusat dari operasi pada sistem komputer modern, berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori adalah array besar dari word atau byte, yang disebut alamat. CPU mengambil instruksi dari memory berdasarkan nilai dari program counter. 

Sedangkan manajemen memori adalah suatu kegiatan untuk mengelola memori komputer. Proses ini menyediakan cara mengalokasikan memori untuk proses atas permintaan mereka, membebaskan untuk digunakan kembali ketika tidak lagi diperlukan serta menjaga alokasi ruang memori bagi proses. Pengelolaan memori utama sangat penting untuk sistem komputer, penting untuk memproses dan fasilitas masukan/keluaran secara efisien, sehingga memori dapat menampung sebanyak mungkin proses dan sebagai upaya agar pemogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.

Fungsi Manajemen memori:

Manajemen memori merupakan salah satu bagian terpenting dalam sistem operasi. Memori perlu dikelola sebaik-baiknya agar :
  1. Utilitas CPU meningkat.
  2. Data dan instruksi dapat diakses dengan cepat oleh CPU.
  3. Tercapai efisiensi dalam pemakaian memori yang terbatas.
  4. Transfer data dari/ke memori utama ke/dari CPU dapat lebih efisien.
  5. Mengelola informasi yang dipakai dan tidak dipakai. 
  6. Mengalokasikan memori ke proses yang memerlukan. 
  7. Mendealokasikan memori dari proses telah selesai. 
  8. Mengelola swapping atau paging antara memori utama dan disk.

TYPE-TYPE MANAJEMEN MEMORI 

A. Berdasarkan keberadaan swapping :

1. Manajemen tanpa swapping.
Manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama ekseskusi.

2. Manajemen dengan swapping.
Manajemen memori dengan pemindahan citra proses antara memori utama dan disk selama ekseskusi.

B. Manajemen Memori Berdasarkan Alokasi Memori

Terdapat dua cara menempatkan informasi ke dalam memori kerja

1. Alokasi Memori Berurutan (contigouos Allocation)
  • Pada alokasi memori berurutan, setiap proses menempati satu blok tunggal lokasi memori yang berurutan.
  • Kelebihan : sederhana, tidak ada rongga memory bersebaran, proses berurutan dapat dieksekusi secara cepat.
  • Kekurangan : memori boros, tidak dapat disisip apabila tidak ada satu blok memori yang mencukupi.

2. Alokasi Memori Tak Berurutan (Non Contiguous Allocation)
  • Program / proses ditempatkan pada beberapa sagmen berserakan, tidak perlu saling berdekatan atau berurutan. biasanya digunakan untuk lokasi memori maya sebagai lokasi page-page.
  • Kelebihan : sistem dapat memanfaatkan memori utama secara lebih efisien, dan system operasi masih dapat menyisip protes bila jumlah lubang-lubang memori cukup untuk memuat proses yang akan dieksekusi.
  • Kekurangan : memerlukan pengendalian yang lebih rumit dan memori jadi banyak berserakan tidak terpakai.

Terdapat 2 manajemen memori:

a. Manajemen memori statis
Dengan pemartisian statis, jumlah, lokasi, dan ukuran proses di memori tidak beragam sepanjang waktu secara tetap.

b. Manajemen memori dinamis
Dengan pemartisian dinamis, jumlah, lokasi, dan ukuran proses di memori dapat berseragam sepanjang waktu secara dinamis.

MANAJEMEN MEMORI PEMARTISIAN STATIS

Kondisi tanpa swapping :

a. Monoprogramming.
Merupakan manajemen memori paling sederhana, sistem komputer hanya mengijinkan satu program/pemakai berjalan pada satu waktu. Semua sumber daya sepenuhnya dikuasi proses yang sedang berjalan. Ciri-cirinya:
  1. Hanya terdapat satu proses pada satu saat, sehingga proses baru akan menimpa proses lama yang sudah selesai eksekusi.
  2. Hanya satu proses mengunakan semua memori.
  3. Pemakai memusatkan program keseluruh memori dari disk atau tape.
  4. Program mengambil kendali seluruh mesin.
  5. Masih dipakai untuk sistem kecil yaitu sistem tempelan (embedded system) yang menempel atau terdapat disistem lain.
  6. Sistem-sistem tempelan menggunakan mikroprosesor kecil, seperti Intel 8051, dan sebagainya.
  7. Sistem ini biasanya untuk mengendalikan satu alat sehingga menjadi bersifat intelejen (intelegent devices) dalam menyediakan satu fungsi spesifik. Karena hanya satu fungsi spesifik, dapat diprogram di mikroprosesor dengan memori kecil (1-64 Kb).

b. Multiprogramming dengan pemartisian statis
Multiprogramming dapat dilakukan dengan pemartisian statis, yaitu memori dibagi menjadi beberapa sejumlah partisi tetap. Pada partisi-partisi tersebut proses-proses ditempatkan.

MANAJEMEN MEMORI MULTIPROGRAMMING

melibatkan banyak pemakai secara simultan sehingga di memori akan terdapat lebih dari satu proses bersamaan. Oleh karena itu dibutuhkan sistem operasi yang mampu mendukung dua kebutuhan tersebut.

Melakukan dua aktivitas :
  1. Proteksi memori dengan isolasi ruang-ruang alamat secara disjoint (terpisah).
  2. Pemakaian bersama memori.

Memungkinkan proses-proses bekerja sama mengakses daerah memori bersama. Ketika konsep multiprogramming digunakan, pemakaian CPU dapat ditingkatkan.

MULTIPROGRAMMING pemartisian statis,

Terdapat beberapa alasan :

a. Mempermudah pemogram.
Pemrogram dapat memecah program menjadi dua proses atau lebih.

b. Agar dapat memberi layanan interaktif ke beberapa orang secara simultan.
Untuk itu diperlukan kemampuan mempunyai lebih dari satu proses dimemori agar memperoleh kinerja yang baik.

c. Efisiensi penggunaan sumber daya.
Bila pada multiprogramming maka proses tersebut diblocked (hanya DMA yang bekerja) dan proses lain mendapat jatah waktu pemroses, maka DMA dapat meningkatkan efisiensi sistem.

d. Eksekusi lebih murah jika proses besar dipecah menjadi beberapa proses kecil.

e. Dapat mengerjakan sejumlah job secara simultan.

PEMARTISIAN STATIS BERDASARKAN UKURAN 

Partisi-partisinya terbagi dua :

1. Pemartisian menjadi partisi berukuran sama (ukuran semua partisi memori sama), yaitu:
  • Beberapa proses yang ukurannya kurang atau sama dengan ukuran partisi dimasukkan ke sembarang partisi yang tersedia.

Kelemahan :
  • Bila program berukuran lebih besar dibanding partisi yang tersedia, maka tidak dapat dimuatkan, tidak dapat dijalankan. Pemogram harus mempersiapkan overlay sehingga hanya bagian program yang benar- benar dieksekusi yang dimasukkan ke memori utama dan saling bergantian. Untuk overlay diperlukan sistem operasi yang mendukung swapping.
  • Untuk program yang sangat kecil dibanding ukuran partisi yang ditetapkan, maka banyak ruang yang tak dipakai yang diboroskan, disebut fragmentasi internal. Kelemahan ini dapat dikurangi dengan partisi-partisi tetap berukuran berbeda.

2. Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda

Strategi penempatan program ke partisi

DESKRIPSI :
  • Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran sama. Penempatan proses ke memori dilakukan secara mudah karena dapat dipilih sembarang partisi yang kosong.
  • Strategi penempatan pada pemartisian menjadi partisi-partisi berukuran berbeda.

Satu antrian untuk tiap partisi (banyak antrian untuk seluruh partisi).

Proses ditempatkan ke partisi paling kecil yang dapat memuatnya.
  • Keuntungan : teknik ini adalah meminimalkan pemborosan memori.
  • Kelemahan : dapat terjadi antrian panjang disuatu partisi sementara antrian partisi-partisi lain kosong.

Satu antrian untuk seluruh partisi.

Proses-proses diantrikan di satu antrian tunggal untuk semua partisi. Proses segera ditempatkan di partisi bebas paling kecil yang dapat memuat.
  • Keunggulan : Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.
  • Kelemahan : Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar.

Fragmentasi pada pemartisian statis

Fragmentasi yaitu penyiaan/pemborosan memori akan terjadi pada setiap organisasi penyimpanan.

Fragmentasi pada pemartisian tetap terdiri dari:

a. Fragmentasi internal.
Proses tidak mengisi penuh partisi yang telah ditetapkan untuk proses.

b. Fragmentasi ekstenal.
Partisi dapat tidak digunakan karena ukuran partisi lebih kecil dibanding ukuran proses yang menunggu di antrian, sehingga tidak digunakan

Deskripsi Hirarki memori :
  1. Pemakaian memori dua tingkat, menggunakan cache memory yang dapat meningkatkan kinerja dan utilisasi memori secara dinamik.
  2. Chace memory merupakan penyimpan berkecepatan tinggi lebih cepat dibanding memori utama.
  3. Chace memory lebih mahal dibanding memori utama, sehingga kapasitas cache relatif kecil.

Address Binding
  • Sebelum eksekusi, program/proses berada di dalam disk, dan pada saat dieksekusi ia perlu berada pada suatu lokasi dalam memori fisik.
  • Address binding adalah menempatkan address relatif program/proses ke dalam address fisik memori (real memory address). Dapat berlangsung dalam salah satu tahapan : kompilasi, load atau eksekusi

Multiprograming dengan swapping 

Pemindahan proses dari memori uatama ke disk dan sebaliknya disebut juga dengan swapping. Dengan swapping, multiprograming sistem timesharing dapat ditingkatkan kinerjanya dengan memindah proses – proses Blocked ke disk dan hanya memasukkan proses – proses Ready ke memori utama. 

A. Multiprogramming dengan Pemartisian Dinamis 

Dengan pemartisian dinamis maka jumlah, lokasi dan ukuran proses di memory dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan partisi untuknya sesuai kebutuhan. Teknik ini meningkatkan utilisasi memori. 

Kelemahan pemartisian dinamis adalah :
  • Dapat terjadi lubang – lubang kecil memori di antara partisi – partisi yang dipakai.
  • Merumitkan alokasi dan dealokasi memori.

a. Terjadi Lubang – Lubang Kecil Memori 

Lubang-lubang(yaitu kelompok blog-blog memori yang tidak digunakan ) kecil diantara blog-blog memori yang digunakan dapat diatasi dengan pemadatan memori (memori compaction). Pemadatan memori adalah operasi mengabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan. 

Kelemahan utama teknik pemadatan memori:
  • Memerlukan waktu yang sangat banyak.
  • Sistem harus menghentikan sementra semua proses selagi melakukan pemadatan. Hal ini meningkatkan waktu tanggapan di sistem interaktif dan tak mungkin digunakan sistem waktu nyata.

b. Proses Tumbuh Berkembang 

Masalah lain pada pemartisian dinamis adalah proses dapat tumbuh berkembang segmen data proses dapat tumbuh, karena:
  • Heap untuk mendapat dinamis berkembang.
  • Stack untuk pemanggilan prosedur dan variabel lokal.

Solusi masalah ini adalah bila proses bersebelahan dengan lubang memori tak terpakai. Proses tumbuh memakai lubang itu. Masalah menjadi lebih parah bila proses bersebelahan dengan proses-proses lain. 

Peringkat alternative penyelesaian adalah
  • Bila masih terdapat lubang besar yang dapat memuat proses, maka proses dipindahkan ke lubang memori yang cukup.
  • Satu proses atau lebih di-swap ke disk agar dapat memberi lubang cukup besar untuk proses yang berkembang.
  • Jika proses tidak dapat tumbuh dimemori dan daerah swap di disk telah penuh, proses harus menungggu atau disingkirkan.

B. Pencatatan Pemakaian Memori 

Memori yang tesedia harus dikelola, dilakukan dengan pencatatan pemakaian memori. Terdapat tiga cara utama pencatatan pemakaian memori, yaitu:
  1. Pencatatan memakai peta bit (bit map).
  2. Pencatatan memakai senarai berkait.
  3. Pencatatan memakai sistem buddy.

a. Pencatatan Memakai Peta Bit.

Memori dibagi menjadi unit – unit alokasi, berkorespondensi dengan tiap unit alokasi adalah satu bit pada peta bit.
  • Nilai 0 pada peta bit berarti unit itu masih bebas.
  • Nilai 1 berarti unit digunakan.

Masalah pada peta bit adalah penetapan mengenai ukuran unit alokasi memori, yaitu:
  • Unit alokasi memori berukuran kecil berarti membesarkan ukuran peta bit.
  • Unit alokasi memori n berukuran besar berarti peta bit kecil tapi memori hanya disiakan pada unit terakhir masing – masing proses jika ukuran proses bukan kelipatan unit alokasi.

Keunggulannya:
  • Dealokasi dapat dilakukan secara mudah, hanya tinggal meng – set bit yang berkorespondensi dengan unit yang telah tidak digunakan dengan 0.

Kelemahan :
  • Harus dilakukan perhitungan blok lubang memori saat unit memori bebas.
  • Memerlukan ukuran peta bit besar untuk memori yang besar.

b. Pencatatan Memakai Senarai Berkait. 

Sistem operasi mengelola senarai berkait untuk blok – blok memori yang dialokasikan dan bebas. Blok memori menyatakan memori untuk proses atau memori yang bebas. 

Keunggulan :
  • Tidak ada penghitungan blok lubang memori karena sudah tercatat di simpul.
  • Memori yang diperlukan relatif lebihkecil.

Kelemahannya :
  • Dealokasi sulit dilakukan karena terjadi beberapa operasi penggabungan simpul – simpul di senarai.

C. Strategi Alokasi Memori 

Terdapat beragam strategi alokasi proses ke memori. Alokasi harus mencari sekumpulan blok memori yang ukurannya mencukupi untuk memuat proses yaitu lubang kosing yang sama atau lebih besar dibanding ukuran memori yang diperlukan proses. 

Adapun beragam algoritma seperti : 

a. First – fit Algorithm
Strategi ini dapat dilakukan pada pencatatan memori dengan peta bit maupun senarai berkait. 

Keunggulan yaitu Algoritma ini akan menemukan lubang memori paling cepat dibanding algoritma – algoritma lain. 

b. Next – fit Algorithm 
Mekanisme algoritma ini sama dengan algoritma first – fit algorithm, hanya penelusuran tidak dimulai dari awal tapi dimulai dari posisi terakhir kali menemukan segmen untuk proses.

c. Best – fit Algorithm 
Algoritma mencari sampai akhir dan mengambil lubang terkecil yang dapat memuat proses. Algoritma ini mencoba menemukan lubang yang mendekati ukuran yang diperlukan.

Kelemahan :
  • Sangat lambat dibanding first – fit algorithm karena selalu menelusuri seluruhnya setiap kali dipanggil.
  • Memori diboroskan lebih banyak dibanding first – fit atau next – fit dan next – fit selalu mengisi lubang kecil yang tidak digunakan.

d. Worst – fit Algorithm 
Algoritma ini selalu mencari lubang besar yang tersedia sehingga lubang dapat dipecah menjadi cukup besar agar berguna untuk proses – proses berikutnya.

e. Quick – fit Algorithm
Keempat algoritma ini dapat dipercepat dengan mengelola dua senarai yaitu :
  • Senarai untuk proses.
  • Senarai untuk lubang memori.

Keunggulan
  • Teknik ini mempercepat pencarian lubang atau penempatan proses.

Kelemahan
  • kompleksitas dealokasi memori bertambah dan melambatkan dealokasi memori karena memori yang dibebaskan harus dipindahkan dari senarai proses ke senarai lubang.

D. Sistem Buddy 

Adalah algoritma pengelola memori yang memanfaatkan kelebihan penggunaan bilangan biner untuk pengalamatan memori. Bilangan biner digunakan untuk mempercepat penggabungan lubang – lubang berdekatan ketika proses berakhir atau dikeluarkan. 

Manajer memori mengelola senarai blok – blok bebas berukuran 1, 2, 4, 8, 16 byte dan seterusnya, sampai kapasitas memori. Pada komputer dengan 1 megabyte memori maka terdapat 21 senarai yaitu dari 1 byte sampai 1 megabyte. 

Mekanisme Pengelola
  • Awalnya semua memori adalah bebas dan hanya satu senarai 1 megabyte berisi satu isian tunggal satu lubang 1megabyte. Senarai – senarai lain adalah kosong.

Keunggulan :
  • Sistem buddy mempunyai keunggulan dibandingkan dengan algoritma yang mengurutkan blok – blok bedasar ukuran. Ketika blok berukuran 24 dibebaskan, maka manajer memori
  • Hanya mencari pada senarai lubang 24 untuk memeriksa apakah dapat dilakukan penggabungan. Alokasi dan dealokasi pada sistem buddy dapat dilakukan dengan cepat.

Kelemahan :
  • Utilisasi memori pada sistem buddy sangat tidak efesien.

E. Alokasi Ruang Swap pada Disk 

Ada dua yaitu : ruang disk tempat swap dialokasikan begitu diperlukan dan ruang disk tempat swap dialokasikan lebih dulu. 

1. Ruang Disk tempat swap dialokasikan begitu diperlukan.
Ketika proses harus dikeluarkan dari memori utama, ruang disk segera dialokasikan sesuai ukuran proses. Untuk itu diperlukan algoritma untuk mengelola ruang disk seperti untuk mengelola memori utama. Ketila proses dimasukkan kembali ke memori utama, segera ruang disk untuk swap didealokasikan. 

2. Ruang Disk tempat swap dialokasikan lebih dahulu.
Saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang yang telah dialokasikan, bukan ke tempat – tempat berbeda setiap kali terjadi swap out. Ketika proses berakhir, ruang swap pada disk didealokasikan.

Paging System

Dalam sistem operasi komputer, paging adalah salah satu skema manajemen memori yang digunakan sistem operasi untuk menyimpan dan mengambil data dari penyimpanan sekunder untuk digunakan dalam memori utama. Dalam skema paging manajemen memori, sistem operasi mengambil data dari penyimpanan sekunder dengan ukuran blok yang sama yang disebut halaman. Keuntungan utama dari paging terhadap segmentasi adalah memungkinkan menggunakan ruang alamat memori fisik yang tidak berdekatan atau tidak berurutan. Sebelum paging mulai digunakan, sistem harus memasukkan program seluruhnya ke dalam penyimpanan yang bersambung, yang menyebabkan berbagai masalah penyimpanan dan fragmentasi.

Paging adalah bagian penting dari implementasi memori virtual pada sistem operasi yang kontemporer, yang memungkinkan mereka untuk menggunakan penyimpanan sekunder untuk data yang tidak dapat masuk secara fisik ke Random-Access Memory (RAM).
Segmentasi Memori

Segmentasi memori adalah pembagian memori utama komputer menjadi segmen atau bagian. Dalam sistem komputer yang menggunakan segmentasi, referensi ke lokasi memori termasuk nilai yang mengidentifikasi segmen dan offset dalam segmen tersebut. Segmen atau bagian juga digunakan dalam file objek program dikompilasi ketika mereka dihubungkan bersama-sama ke citra program dan ketika gambar dimuat ke memori.

Segmen biasanya sesuai dengan divisi alami program seperti rutinitas individu atau tabel data sehingga segmentasi umumnya lebih terlihat programmer dari paging sendiri. Segmen yang berbeda dapat dibuat untuk modul program yang berbeda, atau untuk kelas yang berbeda dari penggunaan 
memori tersebut sebagai segmen kode dan data. Segmen tertentu dapat dibagi antara program.

 Manajemen Input Output (I/O)

Pengertian Management Input Output

Dalam sistem komputer manajemen i/o sangat diperlukan karena i/o adalah sarana user untuk bisa berkomunikasi dengan komputer. Contoh perangkat i/o seperti keyboard, mice, audio controllers, video controllers, disk drives, networking ports, dll. Manajemen i/o pun diperlukan agar user dapat langsung menggunakan perangkat i/o tanpa harus menginialisasi terlebih dahulu. Oleh karena itu, dalam setiap system operasi selalu terdapat i/o manager.

Beberapa fungsi  management input /output :
1.      Mengirim perintah ke perangkat input / output agar menyediakan layanan.
2.      Menangani interupsi perangkat input / output
3.      Menangani kesalahan perangkat input /output.
4.      Menyediakan interface ke pemakai.

Teknik Management Input Output


 I/O Terprogram
Pada I/O terprogram, data saling dipertukarkan antara CPU dan modul I/O. CPU mengeksekusi program yang memberikan operasi I/O kepada CPU secara langsung, seperti pemindahan data, pengiriman perintah baca maupun tulis, dan monitoring perangkat.

Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu, apalagi CPU lebih cepat proses operasinya. Dalam teknik ini, modul I/O tidak dapat melakukan interupsi kepada CPU terhadap proses – proses yang diinteruksikan padanya. Seluruh proses merupakan tanggung jawab CPU sampai operasi lengkap dilaksanakan

 I/O Interrupt
           Teknik interrupt – driven I/O memungkinkan proses tidak membuang – buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
           Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU. Teknik interrupt – driven I/O memungkinkan proses tidak membuang buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O, bersamaan perintah I/O dijalankan modul I/O maka CPU akan melakukan eksekusi perintah – perintah lainnya. Apabila modul I/O telah selesai menjalankan instruksi yang diberikan padanya akan melakukan interupsi pada CPU bahwa tugasnya telah selesai.
Dalam teknik ini kendali perintah masih menjadi tanggung jawab CPU, baik pengambilan perintah dari memori maupun pelaksanaan isi perintah tersebut. Terdapat selangkah kemajuan dari teknik sebelumnya, yaitu CPU melakukan multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU

Direct Memory Access (DMA)
           Teknik yang dijelaskan sebelumnya yaitu I/O terprogram dan Interrupt-Driven I/O memiliki kelemahan, yaitu proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung. Hal ini berimplikasi pada :
            • Kelajuan transfer I/O yang tergantung pada kecepatan operasi CPU.
            • Kerja CPU terganggu karena adanya interupsi secara langsung.
            Bertolak dari kelemahan di atas, apalagi untuk menangani transfer data bervolume besar       dikembangkan teknik yang lebih baik, dikenal dengan Direct Memory Access (DMA). 
Prinsip kerja DMA adalah CPU akan mendelegasikan kerja I/O kepada DMA, CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja. Dengan demikian CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi.

Komponen Management Input Output
a.       Buffer : menampung sementara data dari/ke perangkat I/O.
b.      Spooling : melakukan penjadwalan pemakaian I/O sistem supaya lebih efisien (antrian dsb.).
c.       Menyediakan "driver" untuk dapat melakukan operasi "rinci" untuk perangkat keras I/O tertentu. 
Manajemen perangkat masukan/keluaran merupakan aspek perancangan sistem 
operasi terluas dan kompleks karena sangat beragamnya perangkat dan 
aplikasinya.


INPUT :
1.      Keyboard : berisi tombol-tombol yang terdiri dari fungsi,angka,huruf,tanda baca dan tombol kontrol
2.      Mouse : Perangkat keras untuk terhubung dengan layar komputer,berfungsi mengarahkan pointer dilayar monitor
3.      Microphone : Merekam suara kedalam kompputer yang akan disimpan ke sound card
4.      Scanner :  alat yang digunakan untuk memasukan data berbentuk object kedalam komputer untuk diubah kedalam bentuk digital
5.      CD-ROOM : alat komputer untuk membaca  dan memutar compact disk (cd),salah satu media penyimpanan memori
6.      DVD-ROOM : memutar dan membaca CD dan DVD

OUTPUT :
1.      Monitor :  perangkat yang akan menampilkan apa-apa saja yang kita kerjakan dikomputer baik itu teks atau grafik
2.      Printer : Pernagkat keras yang mencetak hasil inputa berupa image atau teks pada kertas
3.      Speaker :  Perangkat yang mengeluarkan data berupa suara




Perangkat Input Output
a.       Perangkat Keras
Piranti keras I/O atau device pada sistem komputer amatlah beragam. Masing-masing piranti I/O memiliki karakteristik yang khas. Karakteristik yang dapat digunakan sebagai pembeda antara piranti I/O yang satu dengan yang lain antara lain :
1.                  Modus Transfer Data.
2.                  Metode Akses.
3.                  Jadwal Transfer.
4.                  Sharing.
5.                  Kecepatan Akses.
6.                  Modus Operasi I/O

b.      Perangkat Lunak
Tujuan perancangan perangkat lunak I/O adalah :
1.                  Device Independence
2.                  Uniform Naming
3.                  Error Handling
4.                  Transfer Sinkron Vs. Asinkron
5.                  Sharable Vs. Dedicated Device






No comments:

Post a Comment