PROGRAM PASCA SARJANA STMIK HANDAYANI MA

SISTEM OPERASI LANJUT

OLEH : Rahmat Silahuddin 2016 130 027

PROGRAM PASCA SARJANA STMIK HANDAYANI MAKASSAR

KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa, yang telah berkenan memberi petunjuk dan kekuatan kepada kami sehingga Jurnal “Sistem Operasi” ini dapat diselesaikan.

Jurinal ini disusun dan dibuat berdasarkan materi – materi dipaparkan oleh beberapa kelompok mata kuliah Sistem Operasi Lanjutan. Materi – materi ini bertujuan agar dapat menambah pengetahuan dan wawasan Pembaca dalam belajar serta juga dapat memahami nilai – nilai dasar yang direfleksikan dalam berpikir dan berdiskusi.

Dalam penyusunan jurnal ini, kami mendapatkan materi oleh kelompok diskusi dalam mata kuliah sistem operasi lanjutan dan berbagai sumber dari internet serta petunjuk dari materi singkat yang diberikan oleh bapak dosen selaku pengampuh mata kuliah Sistem operasi lanjutan..Kami menyadari bahwa Jurnal ini masih jauh dari kesempurnaan baik dari bentuk penyusunan maupun materinya. Kritik dan saran dari pembaca sangat kami harapkan untuk penyempurnaan makalah selanjutnya.

Akhir kata semoga makalah ini dapat memberikan manfaat kepada kita semua.

BAB I PENDAHULUAN

A. Definisi Sistem Operasi

Sistem Operasi

berdasarkan American National Standart

Institute (ANSI) adalah software yang mengontrol pelaksana program- program komputer, yaitu dengan mengatur waktu proses, pengecekan kesalahan, mengontrol input dan output, melakukan perhitungan, komplikasi, penyimpanan, pengolahan data serta berbagai bentuk layanan yang terkait.

Sistem Operasi menurut Sibsankar Haldar, Alex Alagarsamy Aravind dalam bukunyaOperating System ialah sebuah software yang mengontrol semua sumber daya hardware dan secara efektif menyediakan kepada pengguna sebuah mesin software baru yang lebi nyaman untuk digunakan

hardware dasar.

Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan oleh booting. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti untuk software-software itu.

B. Sejarah Sistem Operasi

Sejarah sistem operasi terbagi menjadi 4 generasi diantaranya sebagai berikut:

1. GENERASI PERTAMA (1945 - 1955) Sistem operasi generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik. Pada generasi ini belum ada yang namanya sistem operasi komputer, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.Lebih dikenal dengan mikrokontroler, yaitu komponen elektronika aktif keluarga IC yang di dalamnya sudah ditanamkan sebuah firmware, yang mana firmware ini dibuat menggunakan bahasa aras rendah (bahasa assembly) dan metode ini lebih dikenal dengan istilah Embedded System yaitu sistem yang tertanam. Dimana sistem didedikasikan untuk fungsi khusus/terbatas, fungsi semacam ini sering disebut dengan istilah Specific Purpose.Adapun kombinasi dari memori gigih (ROM) dan kode program yang tertanam didalamnya itu sering disebut dengan istilah “Firmware”.Contoh : traficlight, jam digital, kalkulator, mesin cuci, mp3 player, hp jadul/mono-chrome, dll.

2. GENERASI KEDUA (1955-1965) Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan. Jadi proses pertama dikerjakan sampai selesai, kemudian baru proses yang lain, begitu seterusnya. 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 / since 1950) dan

IBSYS (International Business System) operating sistem hasil pengembangan FMS yang di miliki oleh IBM untuk computer IBM7090.

3. GENERASI KETIGA (1965-1980) Pada generasi ini sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer.Sistem operasi menjadi multi-user (di gunakan banyak pengguna sekaligus) dan multi-programming (melayani banyak program sekaligus), sehingga fungsi OS seperti ini sering disebut dengan istilah General Purpose yaitu sebuah sistem yang memiliki fungsi umum seperti fungsi untuk melayani user, sementara itu Sistem Operasi pada generasi ini masih berbasis Command Line Intrerface (CLI), sehingga masih sedikit user yang dapat menggunakannya, umunya adalah kalangan programmer.Ketika para ahli dari Bell Labs, sebuah laboratorium milik AT&T (American Telephone and Telegraph), bekerja sama dengan MIT (Massachusetts Institute of Technology ) dan General Electric membuat sistem operasi bernama Multics (Multiplexed Information and Computing Service). Nah, sistem operasi Multics ini awalnya didesain dengan harapan mampu menciptakan beberapa keunggulan, seperti multiuser, multiprosesor, dan multilevel filesystem. Namun pada tahun 1969, AT&T akhirnya menghentikan proyek pembuatan Multics karena sistem operasi Multics ini sudah tidak memenuhi tujuan semula. Dengan kata lain, proyek ini mengalami hambatan karena dalam kenyataannya Multics banyak terdapat bug dan sulit sekali dioperasikan.

Beberapa programmer Bell Labs yang terlibat dalam pembuatan dan pengembangan Multics, yaitu Ken Thompson dimana dia sendiri adalah pencipta bahasa pemrograman B, sementara itu bahasa pemrograman B merupakan penyempurnaan dari bahasa pemrograman sebelumnya yaitu BCPL ( Basic Combined Programming Language ) yang diciptakan oleh Martin Richard, kemudian Dennis Ritchie pencipta bahasa pemrograman C, yang mana adalah hasil penyempurnaan dari bahasa pemrograman B. Mereka secara tidak resmi tetap meneruskan proyek pengembangan Multics. Dan akhirnya sampailah pada sebuah sistem operasi generasi penerus dari Multics bulan Januari 1970 yang diberi nama UNIX. Nama UNIX diberikan oleh Brian Kernighan untuk memberi penegasan bahwa UNIX bukanlah Multics (tidak sama).

Tahun 1977, Mike Lesk mengembangkan "ported I/0 library", pustaka untuk mengatasi kesulitan membawa UNIX dari satu komputer ke komputer lain karna perbedaan penanganan sistem masukan dan keluaran dari setiap komputer. Unix pertama kali dibawa kedalam laboratorium Interdata 8/32, komputer mikro yang sama dengan PDP-11.

Tahun 1978, sistem operasi UNIX dibawa kedalam komputer mini VAX. Hingga saat ini, Unix masih banyak sebagai sistem eksperimental. Awal 1973 lebih dari 16 AT&T atau Western Electric di luar laboratorium Bell menjalankan sistem operasi Unix, Unix kemudian menyebar. Perusahaan-perusahaan mulai melakukan port terhadap Unix untuk mesinnya sehingga bermunculan beberapa varian Unix. Tahun 1977 Tahun 1978, sistem operasi UNIX dibawa kedalam komputer mini VAX. Hingga saat ini, Unix masih banyak sebagai sistem eksperimental. Awal 1973 lebih dari 16 AT&T atau Western Electric di luar laboratorium Bell menjalankan sistem operasi Unix, Unix kemudian menyebar. Perusahaan-perusahaan mulai melakukan port terhadap Unix untuk mesinnya sehingga bermunculan beberapa varian Unix. Tahun 1977

Lebih dari 6 tahun Berkeley mendapat dana dari ARPA untuk mengembangkan Unix yang kemudian disebut dengan BSD Unix. banyak pengembangan yang telah dilakukan seperti multitasking, penamaan file dengan jumlah karakter sampai dengan 255 karakter, dan kemampuan untuk digunakan di komputer lokal. pada tahun yang sama AT&T tetap mengembangkan Unix versinya, dan mulai khawatir akan kepopuleran BSD Unix. AT&T mengembangkan produk komersial Unix, yang disebut UNIX System V dan menyatakan sebagai standart Unix, dan menyatakan bahwa BSD Unix bukan merupakan produk Unix yang standart dan tidak kompetible, Pernyataan ini dikeluarkan oleh AT&T untuk meredam kepopuleran BSD Unix, juga karna hak cipta ada pada AT&T, BSD Unix dinyatakan sebagai BSD 4.2. dengan lisensi Berkeley dengan AT&T Universitas dapat secara bebas.

BAB II

PENGANTAR SISTEM OPERASI

A. PENGERTIAN SISTEM OPERASI

Sebuah Sistem Operasi atau dalam bahasa asing disebut Operating System adalah sebuah program yang mengatur perangkat keras(Hardware) komputer dan menyediakan layanan umum untuk aplikasiperangkat lunak(Software). Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistemdalam sistem komputer, tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program booting.

B. KOMPONEN SISTEM OPERASI

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

Memory manager merupakan salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.

a. Jenis-jenis Memori

1) Memori Kerja

2) ROM/PROM/EPROM/EEPROM

3) RAM

4) Cache memory

5) Memori Dukung

b. 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. Terdapat tiga skema lama dalam proses manajemen memori:

1. Single-user contiguous Setiap program (job) yang akan diproses dimuat secara keseluruhan (hanya bisa untuk 1 program/single user) kedalam memori dan dialokasikan sebanyak yang dibutuhkan secara berurutan (sequential). Jika terdapat program yang pemrosesannya membutuhkan ukuran terlalubesar dibandingkan kapasitas memori/RAM yang tersedia, maka tidak dapat dieksekusi. Permasalahan utama dari skema ini adalah belum mendukung multi programming atau networking karenahanya dapat menyelesaikan satu job dalam satu waktu. Hal ini mengakibatkan pemrosesan menjadi sangat lambat.

2. Fixed Partitions Skema ini dapat digunakan untuk melakukan lebih dari satu proses dalam satu waktu. Dilakukan dengan membagi memori menjadi beberapa partisi, satu partisi untuk setiap job. Ukuran dari setiap partisi bersifat statis dan hanya bisa diubah saat sistem di shut down atau di restart. Skema ini lebih fleksibel dibandingkan skema sebelumnya, karena memungkinkan beberapa program/job berada dalam memori dalam waktu yang sama. Namun demikian, setiap job yang sedang diproses tersimpan dalam memori sejak awal sampai akhir pemrosesan. Untuk mengalokasikan ruang memori untuk setiap job memory manager harus menjaga Partition Memory Table (PMT). PMT iniberisi: ukuran partisi, alamat memori, Job yang sedang ditangani, dan status partisi (Busy/Free).

Ilustrasi:

3. Dynamic Parti artitions Dengan partisi rtisi dinamis, memori yang tersedia masih di h disimpan di blok berdekatan tet tetapi alokasi memori yang diberikan untuk se uk setiap job hanya sebanyak me memori yang dibutuhkan (di-request) unt untuk memproses pekerjaan terse ersebut. Meskipun skema ini adalah perbaikan kan yang signifikan atas skema fix fixed partitions karena memori tidak terbua buang dalampartisi (internal fragm ragmentation), tetapi tidak sepenuhnya menyelesa lesaikan masalah.

Kekurangan dar dari skema ini alokasi memori epenuhnya diber berikan kepada job pertama yang di di-load, sehingga ketika job berikutnya yang ang akan diproses dengan ukuran n yang tidak sama dengan proses sebelumnya ya, akan langsung dimasukkan/dipr diproses dengan alokasi memori yang sesuai ai dengan alokasi memori yang di dibutuhkan job tersebut berdasarkan urutan an prioritas. Oleh karena itu, aloka lokasi memori untuk job berikutnya mencipta ptakan subsequent allocation (mem memori terbuang) antara blok memori yang ang dialokasikan. Masalah ini di disebut external fragmentation (fragmentasi asi eksternal) dan seperti halnya fr a fragmentasi internal, memungkinkan memori si ori sia-sia.

Duametodeuntuka untukalokasi free space memori: • First-fit mem emory allocation

Job dialokasi okasikan pada partisi pertama yang memenuhi enuhi persyaratan (ukuran job ob <= ukuran partisi). Metode alokasi ini m ni membuat proses alokasi lebih bih cepat tetapi kurang efisien karena banyakny knya memori yang terbuang.

Algoritma First-fit:

1) Set Counter to 1

2) Do while counter <= number of blocks in memory If job_size>memory_size(counter) Then counter = counter + 1 Else 


load job into memory_size(counter) adjust free/busy memory lists 
 go to step 4

End do 


3) Put job in waiting queue

4) Go fetch next job

• Best-fit memory allocation Job dialokasikan pada partisi terkecil dari yang memenuhi persyaratan (ukuran job <= ukuran partisi). Model alokasi ini memungkinkan memori yang terbuang menjadi sedikit (efisien), tetapi proses alokasinya memakan waktu yang lebih lama.

Algoritma Best-fit:

1) Initialize memory_block(0) = 99999

2) Compute initial_memory_waste = memory_block(0) – job_size

3) Initialize subscript = 0

4) Set counter to 1

5) Do while counter <= number of blocks in memory If job_size>memory_size(counter) Then counter = counter + 1 Else memory_waste = memory_size(counter) – job_size

If initial_memory_waste>memory_waste Then subscript = counter

initial_memory_waste = memory_waste counter = counter + 1

End do 


6) If subscript = 0 Then put job in waiting queue

Else 


load job into memory_size(subscript) 


adjust free/busy memory lists 


7) Go fetch next job

Deallocation

Ketikaseluruh proses telah selesai diproses, maka alokasi memori untuk job tersebut harus dibersihkan dari memori (deallocation). Deallocation merupakan sebuah proses membebaskan ruang memori yang telah teralokasi sebelumnya.

Untuk skema fixed-partition, Memory Manager mereset status blok memori sebuah job untuk “membebaskan”-nya setelah dipakai. Bisa menggunakan berbagai macam kode, Misal: 0=free, 1=terpakai.

Untuk skema dynamic-partitions, proses deallocation lebih kompleks, karena harus menggabungkan alokasi memori yang tidak terpakai. Tiga contoh kasus untuk dealokasi pada skema partisi dinamis:

1. Ketikablok yan yang akandidealokasibersebelahandenganblok nblok lain yang tidakterpakai

2. Ketikablok yang a g akandidealokasiberadadiantaraduablok yang t ng tidakterpakai

3. Ketika blok yang ng akan didealokasi terisolasi dari blok lain yan yang tidak terpakai

ManajemenMemori : Virtual Memori

Dalam pembahasan sebelumnya kita melihat skema alokasi memori sederhana. Setiap skema menunjukkan bahwa Manajer Memori menyimpan seluruh program di memori utama di lokasi yang berdekatan. Setiap skema memecahkan beberapa masalah tapi menimbulkan masalah lain, seperti fragmentasi atau overhead relokasi.

Pada bagian ini akan dibahas tentang evolusi virtual memoridengan tidak menyimpan keseluruhan program yang akan dieksekusi secara bersebelahan di memori utama serta menghilangkan kebutuhan bahwa keseluruhan program akan berada di dalam memori selama proses eksekusi.

Ada 4 skemadalammanajemen virtual memoriadalahsebagaiberikut :

1. Paged Memory Allocation Sebelum pekerjaan dimuat ke memori, job dibagi menjadi bagian-bagian yang disebut page yang akandimuat ke lokasi memori yang disebut page frame. Skema ini didasarkanpada konsep membagi setiap pekerjaan yang akan diprosesmenjadipage dengan ukuran yang sama. Bagian dari disk yang disebut sektor (blok), dan bagian dari memori utama disebut pageframe. Skema ini bekerja cukup efisien ketika page, sektor, dan pageframememiliki ukuran yang sama. Ukuran yang tepat (jumlah byte yang dapatdisimpan di masing-masing) biasanya ditentukan oleh ukuran sektor dari disk. Oleh karena itu, setiapsektor akan memegang salah satu page dari instruksi dan masuk ke dalam satu pageframedari memori. Sebelum mengeksekusi sebuah program, Manajer Memori mempersiapkan beberapa hal: - Menentukan jumlah page dalam program - Menemukan page frame yang kosong di memori utama - Memuat semua page program ke dalam page frame

Keuntungan utam utama dari menyimpan program di lokasi noncont noncontiguous adalah memori utama ya yang digunakan lebih efisien karena page fram frameyang kosong dapat digunakan kan oleh setiap pagedari pekerjaan apapun. Se Selain itu, skema pemadatan diguna unakan untuk partisi relocatable dihilangkan ka n karena tidak ada fragmentasi ekste ksternal antarapageframe (dan tidak ada fragme mentasi internal di page frame). Nam Namun, dengan setiap solusi baru akan datang ang masalah baru. Karena setiappage page dapat tersimpandimana saja pada memori ori utama, Memory Manager membut butuhkan mekanisme untuk melacak setiap ap page dari job tersebut dan itu tu berarti memperbesar ukuran dan kompleksi pleksitas perangkat lunak dari sistem ope m operasi, yang meningkatkan biaya overhead. ad.

Unutuk melacak ak page-page dari setiap job, memory manage ger menggunakan tiga tabel:

- Job table ble (JT); berisi ukuran job dan Lokasi dimana PMT PMT tersimpan. - Page Map Map Table (PMT); berisi jumlah page dan alam lamat memori dari

page fram rame terkait. - Memory ory Map Table (MMT); berisi lokasi setiap pa p pagˆe frame dan status job job (free/busy).

Memory Map Table Jo

Job Table

Page Map Table

Page State

Fra Siz

b Locati

2. Demand Paging Allocation Memory Demandpaging memperkenalkan konsep dimana hanya sebagian dari program yang dimuat ke memori untuk diproses. Dengan skema ini, setiap job masih dibagi menjadi page-page berukuran sama yang awalnya berada di penyimpanan sekunder. Ketika pekerjaan mulai dieksekusi, hanya page yang dibutuhkan yang dibawa ke memori. Skema Demand paging mengambil keuntungan dari fakta bahwa program yang ditulis secara berurutan sehingga jika salah satu bagian, atau modul, sedang diproses maka modul lain akan menganggur. Tidak semua page diakses pada saat yang sama atau bahkan berurutan. Contoh: penanganan kesalahan/error. Kunci keberhasilan pelaksanaan skema ini adalah penggunaan high- speed direct access storage device(seperti hard drive atau flash memory) yang dapat bekerja langsung dengan CPU. Hal tersebut sangat penting karena page harus dilalui dengan cepat daripenyimpanan sekunder ke memori utama dan kembali lagi.

Kapan dan ba n bagaimana page dikirim/dialihkan ke memori ori tergantung pada aturan awal da al dari sistem operasi. Seperti haln halnya skema sebelumnya, untuk melacak page page-page yang sedang diprose proses di memori, dibutuhkan tiga table: - Job Table able (JT); berisi ukuran job dan Lokasi dimana P na PMT tersimpan. - Page Map Map Table (PMT); berisi jumlah page dan alam lamat memori dari

page fram frame terkait, serta penambahan 3 field baru unt u untuk menandai, yaitu:

- Status: apa : apakah page yang diminta telah ada dalam mem emori?. - Modified ied: apakah isi page telah diubah?. - Reference nced: apakah page telah dijadikan referensi nsi dalam waktu

dekat?. Me . Menentukan page mana yang tetap berada di di memori, mana yang tela elah di-swap.

- Memory ory Map Table (MMT); berisi lokasi setiap pa p page frame dan status job job (free/busy). Proses pertuka tukaran/melewatkanpage (swaping), perlumempe mperhatikanhal-

halberikut (page (page replacement policy): - First In In First Out : Menghapus page yang paling ng lama berada di

memori. ori. - Least Re Recently Used : Menghapus page yang pal paling lama tidak diakses. s. - Least Fre Frequently Used - Most Rec ecently Used

3. SegmentedM dMemoryAllocation Dengan skem skema ini, setiap job dibagi menjadi beberap apa segmen yang memiliki ukur ukuran yang berbeda, satu untuk setiap modul odul yang berisi bagian-bagia gian yang melakukan fungsi terkait. Memori ut i utama tidak lagi dibagi kedala alam page frame, melainkan dialokasikan secar cara dinamis.

Segmented Memory Allocation dirancang untuk mengurangi page faults yang dihasilkan dari perulangan page yang terbagi dua atau lebih. Ketika program di-compile, segmen ditetapkan sesuai dengan modul struktural program. Setiap segmen diberi nomor dan menghasilkan Segmen Map Table (SMT) untuk setiap job. Memory manager melacak segmen menggunakan table: - Job Table: Daftar semua job dalam proses (satu untuk keseluruhan

sistem) - Segment MapTable: Daftar yang berisi detail setiapsegmen (satuuntuktiap job) - MemoryMapTable: Memonitor alokasi memori utama (satu untuk keseluruhan sistem) 


4. Segmented/Demand Paging Memory Allocation Demand Paging Memory Allocation adalah kombinasi dari Segmented Allocation Memory dan Demand Paging Allocation Memory, skema ini menawarkan manfaat logis dari segmentasi, serta manfaat fisik dari paging. Algoritma yang digunakan dalam skema ini hanya modifikasi kecil dari segmented dan demand paging memory allocation.Skema ini tidak menyimpan setiap segmen sebagai unit bersebelahan tunggal tetapi membagi ke dalam page dengan ukuran yang sama, lebih kecil dari sebagian besar segmen, dan lebih mudah dimanipulasi daripada seluruh segmen. Oleh karena itu, banyak masalah segmentasi(Pemadatan, fragmentasi eksternal, dan penanganan penyimpanan sekunder) dapat teratasikarena ukuran page tetap. Skemainimembutuhkanempat table: - Job Table: Daftar semua job dalam proses (satu untuk keseluruhan

sistem) - -Segment Map Table: Daftar berisi detail setiap segmen (satu untuk tiap job)

- Page Map Map Table: Daftar berisi detail setiap page ( ge (satu untuk tiap segmen) n) - Memory M ory Map Table: Memonitor alokasi page frame di e dimemori utama (satu untuk ke u untuk keseluruhan sistem) 
 
 


Virtual memor ory memungkinkan eksekusi program w walaupun tidak seluruhnya disim disimpan di dalam memori utama. Keuntunganny nnya:

- Ukuran job t n job tidak dibatasi oleh ukuran memoriutama a - Memori ut ori utama digunakan secara lebih efisien - Memungki ungkinkan jumlah multiprogramming tidak terba rbatas - Menghila hilangkan fragmentasi eksternal dan meminimal alkan fragmentasi

internal l 
 
 


PerbandinganSkemaAlokasiMemori

2. Manajemen Pr n Proses Manaje najemen proses merupakan konsep pokok dalam am sistem operasi, sehingga mas asalah manajemen proses adalah masalah lah utama dalam perancangan n sistem operasi. Proses adalah program am yang sedang dieksekusi. Prose Proses dapat juga didefinisikan sebagai unit ker kerja terkecil yang secara individu vidu memiliki sumber daya dan dijadwalka lkan oleh sistem operasi.Sebuah buah proses membutuhkan sejumlah sumbe ber daya untuk menyelesaikan kan tugasnya. Sumber daya tersebut dapat be berupa CPU time, alamat memor ori, berkas-berkas, dan perangkat-perangkat. kat. Sistem operasi mengalokasika sikan sumber daya-sumber daya tersebut sa saat proses itu diciptakan atau tau sedang diproses/dijalankan. Ketika proses t s tersebut berhenti 2. Manajemen Pr n Proses Manaje najemen proses merupakan konsep pokok dalam am sistem operasi, sehingga mas asalah manajemen proses adalah masalah lah utama dalam perancangan n sistem operasi. Proses adalah program am yang sedang dieksekusi. Prose Proses dapat juga didefinisikan sebagai unit ker kerja terkecil yang secara individu vidu memiliki sumber daya dan dijadwalka lkan oleh sistem operasi.Sebuah buah proses membutuhkan sejumlah sumbe ber daya untuk menyelesaikan kan tugasnya. Sumber daya tersebut dapat be berupa CPU time, alamat memor ori, berkas-berkas, dan perangkat-perangkat. kat. Sistem operasi mengalokasika sikan sumber daya-sumber daya tersebut sa saat proses itu diciptakan atau tau sedang diproses/dijalankan. Ketika proses t s tersebut berhenti

- Proses manajermerupakan kegiatan perencanaan dan pemantauan kinerja proses suatu sistem. - Proses manajer sangat berperan dalam hal berbagi sumber daya dan juga efisiensi waktu karena proses yang ada dalam sistem operasi sangat banyak.

- Suatu proses dapat terdiri dari single-thread dan multi-thread. - Keuntungan sistem thread adalah respon lebih cepat, menggunakan

resource bersama-samalebih ekonomis dan meningkatkan utilitas arsitektur mikroprosesor.

Kecepatan kinerja dan bandwidth pada processor menghasilkan hasil yang befariasi dari mesin kemesin, tetapi ada beberapa faktor untuk melakukan kecepatan clock mengacu pada dimana kecepatan prosesor dapat mengeksekusi instruksi sehingga lebih cepat clock speed yang dijalankan dan pada dasarnya lebih kepada instruksi yang dilakukan.

Tigahalutamadalammanajemen prosesyaitu :

1. Kinerja

2. Kecepatan

3. Bandwith

Clock spe k speed merupakan frekuensi kecepatan tindaka ndakan yang sangat tinggi, satuann uannya adalah megahertz dan gigahertz. 1 me megahertz artinya satu-juta siklus pe klus per detik, sementara gigahertz adala hsatu-m u-milyar siklus per detik. Jadi di komputer dengan kecepatan clock 800MH 800MHz berjalan 800.000.000 si 800.000.000 siklus per detik, sedangkan komputer 2.4G 2.4GHz berjalan 2.400.000.000 0.000 /detik.

Kecepat patan clock speed mengacup ada kecepatan prose prosesor pada saat menjalankan i n instruksi, sehingga lebih cepat clock speed di d dijalankan maka pada dasarnya ya lebih banyak instruksi yang dilakukan

Pada prose prosesor bandwidth tidak menentukan berapa ba banyak informasi dapat diproses oses dalam satu instruksi. Jika bandwidth yang g lebih luas maka data atau instruksi nstruksi yang berjalan lebih cepat untuk diproses oses oleh prosesor

Pada gambar diatas di jelaskan pada saat yang sama prosesor memiliki versi sendiri dari memori yang juga dikenal sebagai cache yang ada pada sebuah prosesor yang dimana chace memilik sedikit waktu berjalan yang biasanya diperiksa terlebih dahulu, sebelum memanggil halaman ram yang dapat diakses 5 sampai 10 kali lebih cepat dari mengakses proses ram.

Process scheduler terbagiatasdua :

• Job Scheduler : – Bertanggungjawabataspenjadwalan job – Menentukan job mana yang dapatmenggunakanCPU – Menentukanantrianuntukpergantian job saateksekusi – Mengetahuiketikasebuah job sudahselesai • Process Scheduler: – Bertanggungjawabataspenjadwalan proses – Menentukanlangkah-langkaheksekusi – Proses penjadwalanberdasarkankriteriatertentu

Pada job scheduler terdapat lima prosess scheduler yaitu hold, ready, run, wait dan finish.

Pada kelima proses yang telah di sebutkan maka dapat dijelaskan bagaimana hold menunjukkan atau memegang pekerjaan sampai memiliki izin untuk menjalankan proses, maka jika proses dalam keadaan ready maka diberikan sinyal untuk melanjutkan proses yang sedang berjalan dalam hal ini melakukan proses data, jika keseluruahan proses ini run atau berjalan kemudian ada kekawatiran maka proses akan berhenti dan apabila proses ini gagal maka akan dicek oleh tim dan memastikan apakah proses ini dapat berjalan kembali atau tidak, jika proses ini selesai atau finish maka akan dimasukkan kedalam proses Control Block yang berisi tentang informasi pemrosesan data.

1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya.

2. Running, yaitu status dimanasaatini proses sedang dieksekusi oleh prosesor.

3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat

prosesor siap/ bebas.Terdapat dua status tambahan, yaitu saat pembentukan dan terminasi:

4. New. Status yang dimilikipadasaat proses barusajadibuat.

5. Terminated. Status yang dimiliki pada saat proses telah selesai dieksekusi.

Proses Control Block adalah bentuk informasi-informasi lain yang diperlukan system operasi untuk mengendalikan dan mengoordinasikan beragam proses aktif dalam suatu proses. Dalam kenyataannya, proses banyak mengalami gangguan dalam menjalankan tugasnya oleh karena ituada PCB (Proses Control Block) untukmembantu dan memberikan dukungan kepada proses itu.

Setiap proses digambarkan dalam system operasi oleh sebuah process control block(PCB), juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah Setiap proses digambarkan dalam system operasi oleh sebuah process control block(PCB), juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah

Komponen Process Control Block (PCB)

1. Identifikasi process yaitu Unique atau identifikasi proses yang berkaitan dengan identitas proses yang unik. Identifikasi proses yang menciptakan identifikasi pemakai

2. Status process yaituKeadaan job (HOLD, READY, RUNNING, WAITING)

3. Keadaan process yang terdiridari Isi register process (yang berisi data saat running), status word, info memoriutama, resource, prioritas process

4. Accounting yaituPengukuran billing dankinerjadanWaktu CPU, waktu total, penggunaanmemori, operasi I/O, jumlahpembacaan input records, dll.

3. Proses penjadwalan (Scheduling)

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem computer. Tujuan dari penjadwalan adalah untuk mengganti CPU diantara proses-proses yang begitu sering sehingga pengguna dapat berinteraksi dengan setiap program sambil CPU bekerja. Terdapat beberapa tipe penjadwal berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:

a. Penjadwal jangka pendek (short term scheduller)

Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama Penjadwalan dijalankan setiap terjadi

b. Penjadwal jangka menengah (medium term scheduller) Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi yang membuatnya tertunda hilang dan dimasukkan kembali ke memori utama dan ready.

c. Penjadwal jangka panjang (long term scheduller) Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah.

Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistemoperasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Adapun penjadwalan bertugas memutuskan :

a. Proses yang harus berjalan

b. Kapan dan selama berapa lama proses itu berjalan Dalam lingkungan multiprogramming, biasanya ada lebih banyak pekerjaan untuk dieksekusi darimungkin bisa dijalankan pada satu waktu. Sebelum sistem operasi dapat menjadwalkan mereka,Kita perlu jadwal dan kebijakan ketika kita memiliki banyak pekerjaan untuk dilakukan atau kita berada dalam sumber daya yang terbatas. Terdapat tiga ruang lingkup sistem operasi yaitu :

1. Ada sejumlah terbatas; sumber daya (seperti disk drive, printer, dan tape drive)

2. Berapa sumber, setelahmereka dialokasikan, tidak dapat dibagi dengan pekerjaan lain (misalnya, printer); dan

3. Beberapasumber memerlukan Operator intervensi-yaitu, mereka tidak dapat dipindahkan secara otomatisdari satu pekerjaan ke pekerjaan (seperti tape drive).

Satu hal yang pasti tidak diinginkan adalah resource hogging/monopoli sumber dayaIni berarti sebuah pekerjaan bisa menjadi sangat egois dan membuat penggunaan semua sumber daya tidak terbagi dengan baik, maka dimungkinkan perlu untuk melakukan intervene/campur tangan untuk memastikan bahwa seluruh pekerjaan mendapatkan keseluruhan sumber daya untuk tiap kebutuhan yang berbeda. Jadi kita perlu pre-defined point sebelum melakukan intervene/campur tangan dalam cooperating time slicing/irisan waktu atau prioritas pekerjaan.

STRATEGI PENJADWALAN

Terdapat dua strategi penjadwalan, yaitu :

1. Penjadwalan nonpreemptive (run to completion)

Proses diberi jatah waktu oleh pemroses, maka pemroses tidak dapat diambilalih oleh proses lain sampai proses itu selesai.

2. Penjadwalan preemptive Proses diberi jatah waktu oleh pemroses, maka pemroses dapat diambil alihproses lain, sehingga proses disela sebelum selesai dan harus dilanjutkanmenunggu jatah waktu pemroses tiba kembali pada proses itu. Berguna padasistem dimana proses-proses yang mendapat perhatian/tanggapan pemrosessecara cepat, misalnya :

a. Pada sistem realtime, kehilangan interupsi (tidak layani segera) dapat berakibat fatal.

b. Pada sistem interaktif, agar dapat menjamin waktu tanggap yang memadai. Penjadwalan secara preemptive baik tetapi harus dibayar mahal. Peralihanproses memerlukan overhead (banyak tabel yang dikelola). Supaya efektif,banyak proses harus berada di memori utama sehingga proses-prosestersebut dapat segera running begitu diperlukan. Menyimpan banyak prosestak running benar-benar di memori utama merupakan suatu overheadtersendiri.

ALGORITMA PENJADWALAN

Berikut jenis-jenis algoritma berdasarkan penjadwalan :

1. Nonpreemptive, menggunakan konsep :

a. FIFO (First In First Out) atau FCFS (First Come First Serve) Merupakan Penjadwalan tidak berprioritas. FCFS adalah penjadwalan paling sederhana, yaitu :

- Proses-proses diberi jatah waktu pemroses berdasarkan waktu

- Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampaiselesai. - Penilian penjadwalan ini berdasarkan kriteria optimasi : - Adil

Adil dalam arti resmi (proses yang datang duluan akan dilayani lebih dulu), tapidinyatakan tidak adil karena job-job yang perlu waktu lama membuat job-jobpendek menunggu. Job-job yang tidak penting dapat membuat job-job pentingmenunggu lama.

- Efisiensi Sangat efisien. - Waktu tanggap Sangat jelek, tidak cocok untuk sistem interaktif apalagi untuk sistem waktu nyata.

- Turn around time Jelek. - Throughtput Jelek. FCFS jarang digunakan secara mandiri, tetapi dikombinasikan dengan skema lain,misalnya : Keputusan berdasarkan prioritas proses. Untuk proses-pross berprioritassama diputuskan berdasarkan FIFO. Penjadwalan ini :

a. Baik untuk sistem batch yang sangat jarang berinteraksi dengan pemakai. Contoh : aplikasi analisis numerik, maupun pembuatan tabel.

b. Sangat tidak baik (tidak berguna) untuk sistem interaktif, karena tidak memberiwaktu tanggap yang baik.

c. Tidak dapat digunakan untuk sistem waktu nyata (real-time applications).

b. SJF (Shortest Job First)\ Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai

Mekanismenya adalah menjadwalkan proses dengan waktu jalanterpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi danturn around time rendah dan penjadwalannya tak berprioritas.

diketahuisebelumnya.

c. HRN (Highest Ratio Next)

d. MFQ (Multiple Feedback Queues) - Penjadwalan berprioritas dinamis Penjadwalan ini untuk mencegah (mengurangi) banyaknya swapping

sangat banyak menggunakan pemroses (karenamenyelesaikan tugasnya memakan waktu lama) diberi jatah waktu (jumlahkwanta) lebih banyak dalam satu waktu. Penjadwalan ini juga menghendakikelas-kelas prioritas bagi proses-proses yang ada. Kelas tertinggi berjalanselama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelasberikutnya berjalan empat kwanta, dan seterusnya. Ketentuan yang berlaku adalah sebagai berikut

denganproses-proses

yang

- Jalankan proses pada kelas tertinggi. - Jika proses menggunakan seluruh kwanta yang dialokasikan,

maka diturunkankelas prioritasnya. - Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi. Mekanisme ini mencegah proses yang perlu berjalan lama swapping berkali-kalidan mencegah proses-proses interaktif yang singkat harus menunggu lama.

2. Preemptive, menggunakan konsep :

a. RR (Round Robin) Merupakan : - Penjadwalan yang paling tua, sederhana, adil,banyak digunakan

algoritmanyadan mudah diimplementasikan. - Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwalberdasarkan lama waktu berjalannya proses (preempt by time).

- Penjadwalan tanpa prioritas. - Berasumsi bahwa semua proses memiliki kepentingan yang sama,

sehinggatidak ada prioritas tertentu. Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemrosesyang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Jikaproses masih running sampai akhir quantum, maka CPU akan mempreempt prosesitu dan memberikannya ke proses lain.Penjadwal membutuhkannya dengan memelihara daftar proses dari runnable.Ketika quantum habis untuk satu proses tertentu, maka proses tersebut akandiletakkan diakhir daftar (list), seperti nampak dalam gambar berikut ini :

(a) : Daftar proses runnable. (b) : Daftar proses runnable sesudah proses b habis quantumnya.

Algoritma yang digunakan : Algoritma yang digunakan :

b. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainyaoperasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.

c. Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri danpemroses dialihkan ke proses lain. Diimplementasikan dengan :

a. Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.

b. Ambil proses yang berada di ujung depan antrian menjadi running.

c. Bila kwanta belum habis dan proses selesai, maka ambil proses di ujung depanantrian proses ready.

d. Jika kwanta habis dan proses belum selesai, maka tempatkan proses running keekor antrian proses ready dan ambil proses di ujung depan antrian prosesready.

Masalah yang timbul adalah menentukan besar kwanta, yaitu : - Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround timerendah. - Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak sehinggamenurunkan efisiensi proses. Switching dari satu proses ke proses lain membutuhkan kepastian waktu yangdigunakan untuk administrasi, menyimpan, memanggil nilai-nilai register, pemetaanmemori, memperbaiki tabel proses dan senarai dan sebagainya. Mungkin prosesswitch ini atau konteks switch membutuhkan waktu 5 msec disamping waktupemroses yang dibutuhkan untuk menjalankan proses tertentu.Dengan permasalahan tersebut tentunya harus ditetapkan kwanta waktu yangoptimal Masalah yang timbul adalah menentukan besar kwanta, yaitu : - Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround timerendah. - Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak sehinggamenurunkan efisiensi proses. Switching dari satu proses ke proses lain membutuhkan kepastian waktu yangdigunakan untuk administrasi, menyimpan, memanggil nilai-nilai register, pemetaanmemori, memperbaiki tabel proses dan senarai dan sebagainya. Mungkin prosesswitch ini atau konteks switch membutuhkan waktu 5 msec disamping waktupemroses yang dibutuhkan untuk menjalankan proses tertentu.Dengan permasalahan tersebut tentunya harus ditetapkan kwanta waktu yangoptimal

- Adil Adil bila dipandang dari persamaan pelayanan oleh pemroses. - Efisiensi Cenderung efisien pada sistem interaktif. - Waktu tanggap Memuaskan untuk sistem interaktif, tidak memadai untuk sistem waktu nyata.

- Turn around time Cukup baik. - Throughtput Cukup baik. Penjadwalan ini :

1. Baik untuk sistem interactive-time sharing dimana kebanyakan waktudipergunakan menunggu kejadian eksternal. Contoh : text editor, kebanyakan waktu program adalah untuk menunggukeyboard, sehingga dapat dijalankan proses-proses lain.

2. Tidak cocok untuk sistem waktu nyata apalagi hard-real-time applications.

b. SRF (Shortest Remaining First) Merupakan : - Penjadwalan berprioritasdinamis.

- Adalah preemptive untuk timesharing - Melengkapi SJF Pada SRF, proses dengan sisa waktu jalan diestimasi terendah

dijalankan,termasuk proses-proses yang baru tiba. - Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai. - Pada SRF, proses yang sedang berjalan (running) dapat diambil alih prosesbaru dengan sisa waktu jalan yang diestimasi lebih rendah.

- Kelemahan : - Mempunyai overhead lebih besar dibanding SJF. SRF perlu

penyimpanan waktulayanan yang telah dihabiskan job dan kadang-kadang harus menanganiperalihan.

- Tibanya proses-proses kecil akan segera dijalankan. - Job-job lebih lama berarti dengan lama dan variasi waktu tunggu

lebih lamadibanding pada SJF. SRF perlu menyimpan waktu layanan yang telah dihabiskan , menambah overhead. Secara teoritis, SRF memberi waktu tunggu minimum tetapi karena overheadperalihan, maka pada situasi tertentu SFJ bisa memberi kinerja lebih baik dibandingSRF.

c. PS (Priority Schedulling) Adalah tiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapatjatah 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, mayorberprioritas 80,

DalamUNIX perintah untuk mengubah prioritas menggunakan perintah nice. Pemberian prioritas diberikan secara :

a. Statis (static priorities) Berarti prioritas tidak berubah. Keunggulan : Mudah diimplementasikan. Mempunyai overhead relatif kecil. Kelemahan : Tidak tanggap terhadap perubahan lingkungan yang mungkin menghendaki penyesuaian prioritas.

b. Dinamis (dynamic priorities) Merupakan mekanisme untuk menanggapi perubahan lingkungan sistemberoperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumurpendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan. Kelemahan : Implementasi mekanisme prioritas dinamis lebih kompleks dan mempunyaioverhead lebih besar. Overhead in diimbangi dengan peningkatan dayatanggap sistem.

d. GS (Guaranteed Schedulling) Klasifikasi lain selain berdasarkan dapat/tidaknya suatu proses diambil secara paksa adalah klasifikasi berdasarkan adanya prioritas di proses- proses, yaitu :

1. Algoritma penjadwalan tanpa berprioritas.

2. Algoritma penjadwalan berprioritas, terdiri dari :

a. Berprioritas statik

4. Device Manager

Sistem operasi berfungsi sebagai tempat mengatur input output yang terjadi dan sering disebut sebagai device manager yang menyediakan device driver agar perangkat yang digunakan lebih efisien. Misalnya di dalam membaca file di harddisk, CD-ROM, Flasdisk. Sistem Operasi mengatur agar perangkat-perangkat input output yang ada tidak terjadi tabrakan data sehingga masing-masing perangkat bisa bekerja sesuai penjadwalan. Penjadwalan di sini maksudnya adalah antrian proses, kapan perangkat tersebut digunakan dan kapan perangkat tersebut tidak digunakan.

Device Manager adalah sebuah bagian dari Sistem Operasi yang bertugas untuk mengatur seluruh perangkat yang terhubung kedalam komputer. Meskipun banyak perangkat computer yang muncul dan menghilang di pasar serta perkembangan perangkat computer yang sangat cepat, device manager harus dapat mengelola setiap perangkat. Untuk melakukannya, device manager harus menjaga keseimbangan pasokan dan permintaan terhadap system perangkat yang dimana permintaan dari pengguna tidak terbatas.

Manajemenperangkatmelibatkan 4 fungsidasar : - Status Of Each Device (Status masing-masingperangkat) Tugasdasar yang pertamabagimanajemenperangkatadalahmemantau status masing – masingperangkat, sepertitempatpenyimpanan, printer, perangkatjaringan, danperangkatlainnya.

- Enforce Policies (menegakkankebijakan) Pada proses ini device manager berfungsi untuk melakukan pengontrolan terhadap perangakat yang terhubungdalamhal proses apasaja yang menjadi tugas dari perangkat tersebut dan seberapa lama perangkat tersebut dapat melaksanakan tugasnya.

- Allocation (alokasi) Melakukanalokasiataumemberikanruangkepadaperangkatdalammelak ukantugas yang telahdiatursebelumnya.

- Deallocation (dealokasi) Deallocation adalah sebuah proses membebaskan ruang memori yang telah teralokasi sebelumnya. Pada dealokasi terdapat dua tingkatan proses yaitu pertama pada saat perintah I/O telah dieksekusi dan perangkat sementara tidak lagi digunakan, tingkatan kedua ketika pekerjaan dari perangkat telah selesai dan perangkat dilepaskan secara perangkat.

JenisPerangkat

perangkatpadaumumnyamasukkedalamsalahsatudaritigakategoriyaitu

Perbedaannyaadalahpadafungsidarikarakteristikperangkat, sertabagaimanamerekadikelolaoleh Device Manager.

- Dedicated Devices (perangkatkhusus) adalah perangkat yang ditugaskan untuk hanya mengerjakan satu pekerjaan pada satu

waktu, perangkat ini melayani pekerjaan sampai sebuah job terselesaikan atau sampai perangkat tersebut dilepaskan. Beberapa perangkat, seperti tape, printer, dan plotter, menuntut semacam skema alokasi, karena akan menjadi tidak baik untuk membiarkan beberapa pengguna berbagi. Contohnya sebuah plotter digunakan bersama bias menghasilkan setengah dari grafik satu pengguna dan setengah dari yang lain. Kerugian dari perangkat khusus adalah bahwa mereka harus dialokasikan untuk satu pengguna selama eksekusi pekerjaan, yang bias sanga ttidak efisien, terutama ketika perangkat tidak digunakan 100 persen dari waktu, beberapa perangkat dapat dibagi atau virtual.

- Shared Device (perangkatbersama) dapat ditugaskan untuk beberapa proses. Misalnya, disk, atau perangkat penyimpanan

akses langsung DASD (Direct Access Storage Device), dapat digunakan bersama oleh beberapa proses pada saat yang sama dengan waktu proses permintaan yang berbeda oleh pengguna (interleaving), tapi interleaving ini harus hati-hati dikendalikan oleh Device Manager. Semua konflik seperti ketika Proses Adan Proses B masing-masing perlu membaca dari disk yang sama- harus diselesaikan berdasarkan kebijakan yang telah ditetapkan

- Virtual Device (perangkat virtual) adalah kombinasi dari dua perangkat yaitu: perangkat khusus yang telah berubah menjadi

perangkat bersama. Misalnya, printer (yang merupakan perangkat dedicated) diubah menjadi perangkat sharable melalui program spooling yang melewatkan semua permintaan cetak ke disk. Ketika semua output pekerjaan pada printer selesai, dan printer siap untuk mencetak seluruh dokumen, barulah output dikirimke printer untuk mencetak.

Karena disk adalah perangkat sharable, teknik ini dapat mengkonversi satu printer menjadi beberapa printer virtual, sehingga meningkatkan performa dan penggunaan. Spooling adalah teknik yang sering digunakan untuk mengatur pekerjaan yang akan diselesaikan oleh perangkat I / O.