Anda di halaman 1dari 25

TUGAS PERBANDINGAN SISTEM OPERASI WINDOWS

LINUX DAN MAC

Oleh:
Rama Abietya Modana
NPM: 202310032

PROGRAM STUDI TEKNOLOGI INFORMASI


FAKULTAS INFORMATIKA DAN PARIWISATA
INSTITUT BISNIS DAN INFORMATIKA KESATUAN
BOGOR
2023
1. Manajemen Proses
Proses adalah sustu entinitas yang dinamis mengandung sejumlah instruksi data, program counter,
kumpulan register serta stack yang berisi alamat memori. Proses joga dapat dikatakan sebagai
program yang sedang dieksekusi(Program Aplikasi/Sistem Operasi) proses juga dapat dikatakan
sebagai unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan
dijadwalkan oleh system operasi. Dengan demikian system operasi mempunyai kegiatan yang
sangat kompleks dalam mengelolah seluruh sumber daya dan memberikan system operasi
membutuhkan suatu manajemen proses.

 Manajemen Proses Windows


Windows adalah salah satu sistem operasi yang mempunyai banyak keunggulan dalam
menjalankan suatu eksekusinya. Di dalam sistem operasi ini, terdapat proses-proses yang sangat
valid dan selalu berhubungan satu sama lain. Di dalam windows, prosesnya mempunyai beberapa
elemen dasar untuk menjalankan proses tersebut, yaitu:
· Identifier, terdiri dari:
1. Identifier proses,
2. identifier proses yang menciptakan,
3. Identifier pemakai.
· State:
Mendefinisikan status proses (running, ready, block, dsb).
· Priority:
Menjelaskan prioritas proses.
· Program counter
· Memory pointers
· Context data
· I/O status information
Untuk menjadwalkan informasi yang sudah masuk.
· Accounting information
Sistem operasi windows memperbolehkan proses berjalan menghasilkan proses lagi. Aksi ini
disebut Proses swapning dengan macam:
1. Proses induk (parent) adalah proses yang bisa membuat proses baru,
2. Proses anak (child) merupakan proses baru.
Diagram State Proses
Diagram state dasar (3 keadaan) memiliki 3 elemen:
1 Running
2 Ready
3 Blocked
KETERANGAN GAMBAR:
Proses baru diciptakan berada pada state ready
Proses dari running menjadi blocked karena sumberdaya yang diminta belum tersedia atau
meminta layanan perangkat masukan/ keluaran (I/O) sehingga menunggu kejadian yang muncul.
Proses ini dikenal dengan event wait.
Proses dari running jadi ready karena penjadwal memutuskan eksekusi proses lain oleh karena
jatah waktu telah habis (timeout).
Proses dari blocked jadi ready karena sumber daya yang diminta tersedia atau layanan I/O selesai/
terpenuhi. Proses ini dikenal event occur
Proses dari ready jadi running karena penjadwal memutuskan untuk mengeksekusi proses
tersebut.

Diagram state lanjut (5 keadaan) memiliki 5 elemen:


1) Running
2) Ready
3) Blocked
4) Suspendedready
5) Suspendedblocked

KETERANGAN GAMBAR:
Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu
1. Suspendedready
2. Suspendedblocked
Pnundaan dapat diinisialisasi oleh proses itu seendiri atau proses lain.
Pada sistem monoprocessor, proses running dapat men-suspenddirinya sendiri karenatak ada pro
ses lain yang juga running yang dapat memerintahkan suspend.
Pada sistem multiprocessor, proses running dapat di-suspend proses running lain pada
pemroses berbeda.Proses ready hanya dapat di-suspend oleh proses lain.
Pada proses blocked terdapat transisi menjadi suspendedblocked.

 LINUX
Manajemen proses pada linux tentunya sudah menjadi keseharian penggunaan. Apakah itu
administrator sistem Linux atau pengguna biasa. Manajemen proses pada linux sudah menjadi
rutinitas harian untuk memantau operasi proses sistem dan menghentikan beberapa proses di luar
kendali pada waktu yang tepat.
Dibandingkan dengan sistem Linux, manajemen proses lebih intuitif di Windows. Terutama
menggunakan task manager untuk melaukan manajemen proses. Secara umum, ada 3 tujuan
utama penggunaan Task Manager.
1. Menggunakan tag aplikasi dan proses untuk melihat program dan proses mana yang berjalan
di sistem.
2. Menggunakan tag kinerja dan pengguna untuk menentukan kesehatan server.
3. Mengakhiri tugas dan proses secara paksa di tab aplikasi dan proses.
Meskipun perintah digunakan untuk manajemen proses pada Linux maupun Windows, tujuan
utama dari manajemen proses adalah sama. Yaitu untuk melihat program dan proses yang berjalan
di sistem. Untuk menentukan kesehatan server dan untuk menghentikan proses yang tidak perlu
secara paksa.

 MAC
Di dalam sistem operasi, proses merupakan program yang dieksekusi dengan system resource yang
terkait, yang mungkin juga fisik (seperti siklus prosessor dan memori) atau abstak (seperti proses
membuka file atau nomor). Kernel menyediakan sebuah ilusi dari ekseskusi bersamaan dari
resource schedule antara proses ready ke proses run. Pada system multiprosesor atau multicore,
lebih dari satu proses dapat dijalankan secara bersamaan.

a. Proses: dari awal Unix sampai Mac OS X


Proses abstraksi telah lama digunakan untuk menggambarkan berbagai aktifitas dalam suatu sistem
computer. Pada awal Unix, program user dapat menjalankan sebuah proses atau bisa mewakili satu
atau lebih arus kontrol dalam kernel misalnya, proses 0 menuju sched (),proses scheduler. Satu-
satunya cara untuk membuat proses baru pada UNIX tradisional adalah melalui fork () system call
, dan satu-satunya cara untuk menjalankan sebuah program baru dalam sebuah proses melalui exec
() system call.

b. Mac OS X Execution
Kode dapat dijalankan dibeberapa lingkungan Mac OS. Dimana pada setiap lingkungan dibedakan
berdasarkan pada salah satu atau lebih hal berikut : arsitektur mesin, format eksekusi, system mode
(user atau kernel), beberapa aturan dan sebagainya. Masing masing lingkungan (environment)
memiliki eksekusi yang berbeda. Berikut ini beberapa ruang lingkupnya :
BSD, Mach, dan I / O Kit bagian dari kernel.
ü BSD user-space environment.
Carbon environment
Classic environment
Cocoa environment
Java runtime environment
Dashboard environment untuk menjalankan widget berbasis JavaScript
Rosetta binary translation environment memungkinkan menjalankan executable PowerPC untuk
berjalan di komputer Macintosh berbasis x86

c. Scheduling
Selain proteksi memori (tidak dimiliki pada versi sebelum mac os x), Mac OS X memberikan
kelebihan dari versi sebelumnya yaitu preemptive multitasking. Kestabilan di versi OS 9
bergantung kepada kerjasama multitasking (applikasi yang bekerja sama pada time share prosessor
multiplexing). Jika satu atau lebih aplikasi tidak dapat “bekerjasama”, kemungkinan semua proses
menjadi tidak responsif karena tidak mendapatkan pembagian yang wajar dari prosessor. Kernel
Mach pada Mac OS X mengelola preemptive multitasking,schedule proses dengan
mengedepankan tugas prioritas. Hal ini memungkinkan Mac OS X memberikan dukungan yang
real time untuk aplikasi yang memerlukan prilaku soft real time (kernel). Preemptive multitasking
juga memungkinkan Mach untuk memastikan bahwa penggunaan prosesor yang paling effisien
(teknologi).
Tugas dasar dari mach untuk Mac OS X adalah proses. Pada dasarnya task merupakan sekumpulan
resource sistem dimana yang direferensikan oleh port dan dapat dipergunakan bersama dengan
tugas lain melalui distribusi port yang benar. Setiap tugas berisi ruang alamat virtual yang dapat
dipergunakan bersama dengan tugas-tugas yang lain melalui manajemen memori eksternal. Setiap
tugas harus mengandung setidaknya satu thread. (seperti instruksi yang hanya dieksekusi oleh
threads, bukan task) dan semua thread yang terdapat dalam task berbagi kesemua resource (kernel).
Karena task memiliki tanggung jawab untuk mengatur resource, sebuah thread adalah sebuah
entitas yang ringan, yang mempunyai overhead yang rendah karena menangani status informasi
yang minimal (terutama status register). Hal ini dapat dieksekusi bersamaan dengan thread lain
(bahkan semua yang termasuk task yang sama). Dengan menggunakan teknik synkronisasi
beberapa thread dapat menyelesaikan pekerjaan lebih effisient daripada satu thread. Thread Mach
memanfaatkan sumber daya yang dialokasikan untuk task mereka masing masing dengan
mengeksekusi instruksi trap (jebakan) yang mengakibatkan kernel mengirim sebuah pesan ke
beberapa thread lain atau proses lain atau melakukan operasi atas nama thread (kernel).
Mac OS X menggunakan kedua time-sharing dan fixed priority policies untuk penjadwalan thread.
Penjadwalan thread Mach menyesuaikan time-sharing prioritas thread dalam usaha untuk menjaga
keseimbangan konsumsi sumber daya sistem diantara semua time-sharing thread. Thread dengan
prioritas tinggi seperti real time thread biasanya diberikan prioritas tetap. Setelah mengeksekusi
untuk quantum waktu yang tetap, thread ini pindah ke antrian akhir yang memiliki prioritas yang
sama. Hal ini dimungkinkan untuk mengijinkan thread dengan prioritas tetap berjalan asmpai
bloknya atau di preempted oleh thread yang prioritasnya lebih tinggi dengan menetapkan quantum
waktu tak terhingga.
2. Manajemen Memory
Sistem operasi memiliki tugas untuk mengatur bagian memori yang sedang digunakan dan
mengalokasikan jumlah dan alamat memori yang diperlukan, baik untuk program yang akan
berjalan maupun untuk sistem operasi itu sendiri. Tujuan dari manajemen main memory adalah
agar utilitas CPU meningkat dan untuk meningkatkan efisiensi pemakaian memori. Main
memory atau lebih dikenal sebagai memori adalah sebuah array yang besar dari word atau byte
yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai
alamat tersendiri. Main memory berfungsi sebagai tempat penyimpanan instruksi/data yang akses
datanya digunakan oleh CPU dan perangkat I/O. Main memory termasuk tempat penyimpanan
data yang yang bersifat volatile (tidak permanen), yaitu data akan hilang kalau komputer
dimatikan.Sistem komputer modern memiliki sistem hirarki memori, artinya memori yang ada
di komputer disusun dengan tingkatan kecepatan dan kapasitas yang berbeda. Memori yang
memiliki kecepatan sama dengan kecepatan prosesor memiliki kapasitas yang kecil, berkisar
hanya dari ratusan KB hingga 4 MB dengan harga yang sangat mahal. Sedangkan main memory
yang kecepatannya jauh di bawah kecepatan prosesor memiliki kapasitas yang lebih besar,
berkisar dari 128 MB hingga 4 GB dengan harga yang jauh lebih murah. Sistem hirarki memori
ini memiliki tujuan agar kinerja komputer yang maksimal bisa didapat dengan harga yang
terjangkau.

 Manajemen Memory Windows


Windows memiliki memori fisik dan virtual yang dibutuhkan oleh proses sebuah program atau
lebih (multitasking). Sebelum kita membahas tentang memory-nya kita patut mengetahui dulu
apa itu proses. Proses adalah sebuah program yang sedang dieksekusi, sedangkan program adalah
kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses
membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat
berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat I/O. Sistem operasi
mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan atau sedang
diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi akan mengambil
kembali semua sumber daya agar bisa digunakan kembali oleh proses lainnya.

Kita pasti sudah mengenal apa itu memory fisik, sedangkan virtual memory? Virtual
Memory merupakan sebuah memory cadangan dari sebuah memory fisik yang berfungsi untuk
menyimpan data sementara dari sebuah proses kerja suatu sistem, mekanisme ini beroperasi
dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard
drive yang disebut dengan swap file, page file atau swap partition.

Keuntungan dari menggunakan Virtual Memory ini antara lain:


 Lalu lintas proses input dan output akan menjadi lebih rendah, sehingga proses lebih cepat

· Penggunaan memory fisik akan lebih sedikit


· Tidak akan terjadi deadlock (error system)
· Dapat menambah jumlah user yang akan ditangani
· Memory Virtual dapat diset melebihi kapasitas memory fisik
Singkatnya, Virtual Memory selalu dimiliki oleh sebuah sistem operasi untuk mencegah
terjadinya deadlock antar aplikasi maupun sistem itu sendiri.
Nah dalam manajemen memory Windows ini kita akan mengetahui beberapa hal yang
di perlukan untuk melakukan hal tersebut. Dikarenakan penulisan saya hanya dibatasi 3 halaman
oleh dosen saya, maka saya mencoba menjelaskannya dengan singkat dan berharap dapat dengan
mudah dicerna oleh pembaca sekalian.
Pada Windows, kita bisa memajemen memory dengan memantau proses pada aplikasi
bawaan windows sendiri, Task Manager.
Kita dapat memanggil task manager melalui beberapa cara :
1) Melalui Ctrl + Shift + Esc
2) Melalui Ctrl + Alt + Del dan pilih Start Task Manager
3) Melalui Klik kanan pada task bar dan pilih Start Task Manager Dengan menggunakan
Task Manager, adalah hal paling mudah untuk memanajemen proses sekaligus memanajemen
memory pada Windows.

Deskripsi Manajemen Memori:


1. Manajemen memori adalah Tugas yang paling penting dan paling kompleks dari
sistemoperasi.
2. Memori adalah sumber daya Komputer yang sangat penting, sehingga
dikelolasangat hati-hati oleh sistem operasi. CPU berhubungan dengan waktu eksekusi(
runningtime/CPU time), Memori berhubungan dengan ruang dan alamat ( space dan
address).
3. Memori sebagai pengingat dan penyimpan informasi yang berupa data dan
program.
4. Manajemen memori berkaitan dengan memori utama sebagai sumber daya yang
harusdialokasikan dan dipakai bersama diantara sejumlah proses yang aktif.
5. Manajemen memori berkaitan juga dengan usaha agar pemrogram atau proses
tidakdibatasi oleh kapasitas memori fisik yang terdapat pada sistem komputer.
Manajemen Memori Terdapat 2 (dua) manajemen memori yaitu:
1) Manajeman memori statis, Dengan pemartisian statis, jumlah, lokasi dan ukuran proses
dimemori tidak beragam sepanjang waktu secara tetap.
2) Manajemen memori dinamis Dengan pemartisian dinamis , jumlah, lokasi dan ukuran
proses dimemori dapat beragam sepanjang waktu secara dinamis.

 Manajemen Memory Linux

Memori (atau lebih tepat disebut memori fisik) merupakan istilah generik yang merujuk pada

media penyimpanan data sementara pada komputer. Setiap program dan data yang sedang

diproses oleh prosesor akan disimpan di dalam memori fisik. Data yang disimpan dalam

memori fisik bersifat sementara, karena data yang disimpan di dalamnya akan tersimpan

selama komputer tersebut masih dialiri daya (dengan kata lain, komputer itu masih hidup).

Ketika komputer itu direset atau dimatikan, data yang disimpan dalam memori fisik akan
hilang. Oleh karena itulah, sebelum mematikan komputer, semua data yang belum disimpan ke

dalam media penyimpanan permanen (umumnya berbasis disk, semacam hard disk atau floppy

disk), sehingga data tersebut dapat dibuka kembali di lain kesempatan. Memori fisik umumnya

diimplementasikan dalam bentuk Random Access Memory (RAM), yang bersifat dinamis

(DRAM). Mengapa disebut Random Access, adalah karena akses terhadap lokasi-lokasi di

dalamnya dapat dilakukan secara acak (random), bukan secara berurutan (sekuensial).

Meskipun demikian, kata random access dalam RAM ini sering menjadi salah kaprah. Sebagai

contoh, memori yang hanya dapat dibaca (ROM), juga dapat diakses secara random, tetapi ia
dibedakan dengan RAM karena ROM dapat menyimpan data tanpa kebutuhan daya dan tidak

dapat ditulisi sewaktu-waktu. Selain itu, hard disk yang juga merupakan salah satu media

penyimpanan juga dapat diakses secara acak, tapi ia tidak digolongkan ke dalam Random

Access Memory.

Apa itu Manajemen Memori?

Dalam konteks sistem operasi, manajemen memori merupakan mekanisme yang dilakukan oleh

sistem operasi dalam rangka mengelola, mengatur, memilih, dan menentukan proses yang

dijadwalkan oleh CPU untuk diantrikan pada memori.

Apa Fungsi dari Manajemen Memori?

Dengan adanya mekanisme manajemen memori oleh sistem operasi, maka tentu akan

memberikan pengaruh signifikan pada komputer, seperti:

(1) pengelolaan informasi, baik yang digunakan maupun tidak digunakan;

(2) pengalokasian memori ke proses yang memerlukan;

(3) pendealokasian memori dari proses yang telah selesai menggunakan memori;
(4) pengelolaan mekanisme swapping atau paging antara memori utama dan harddisk; dan

seterusnya

Memori

Memori itu sendiri merupakan sebuah tempat penyimpanan data yang dalam konteks ini
adalah RAM/ Main memori. Memori bekerja dengan menyimpan alamat-alamat data yang
akan diproses yang disimpan dalam memori secara acak, bersifat sementara dimana akan
terhapus bila tidak dialiri listrik (Komputer Mati). Pada komputer moderen memori wajib
ada dan sangat diperlukan, sistem tidak akan mengizinkan komputer menyala sebelum
memori dipasang.

Ada juga memori virtual yang berfungsi sebagiai cadangan atau sumber daya bantuan untuk
main memori.(cth: swap, rambooster).

Manajemen Memori
Manajemen memori disini berarti mengatur kinerja memori dalam sebuah sistem komputer
melalui operating system.

di Linux ada beberapa perintah menejemen memori:

free : Informasi memory (dalam kilobytes).

fdisk -l: melihat partisi yang ada

fdisk -n: membuat partisi baru

fdisk -d: menghapus partisi

fdisk -p: menampilkan partition table harddisk


 Manajemen Memory Mac
Memori adalah pusat dari kegiatan komputer , karena setiap proses yang akan dijalankan harus
melewati memori terlebih dahulu.karena untuk dapat dieksekusi program harus dibawa ke
memori untuk dieksekusi.
Pada umumnya mikrokernel mendukung proses dan menajemen memori yang minimal, sebagai
tambahan untuk fasilitas komunikasi. Bagian ini menjelaskan bagaimana linux menangani
memori dalam sistem. Memori managemen merupakan salah satu bagian terpenting dalam sistem
operasi. Karena adanya keterbatasan memori, diperlukan suatu strategi dalam menangani
masalah ini. Jalan keluarnya adalah dengan menggunakan memori virtual. Dengan memori
virtual, memori tampak lebih besar daripada ukuran yang sebenarnya.
Dengan memori virtual kita dapat:
1. Ruang alamat yang besar
Sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya.
Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya.
2. Pembagian memori fisik yang adil
Managemen memori membuat pembagian yang adil dalam pengalokasian memori antara
proses-proses.
3.Perlindungan
Memori managemen menjamin setiap proses dalam sistem terlindung dari proses-proses
lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam
sistem tersebut.
4. Penggunaan memori virtual bersama
Memori virtual mengizinkan dua buah proses berbagi memori diantara keduanya, contohnya
dalam shared library. Kode library dapat berada di satu tempat, dan tidak dikopi pada dua
program yang berbeda.
1. Memori Virtual
Memori fisik dan memori virtual dibagi menjadi bagian-bagian yang disebut page. Page ini
memiliki ukuran yang sama besar. Tiap page ini punya nomor yang unik, yaitu Page Frame
Number (PFN). Untuk setiap instruksi dalam program, CPU melakukan mapping dari alamat
virtual ke memori fisik yang sebenarnya.
2. Monitoring manajemen memory di mac os x
Mac os x memiliki manajemen memori yang sangat efisien . sistem operasi Mac secara
otomatis akan mengalokasikan memori dan menyesuaikan isi memori dengan kebutuhan
Cara melihat ataupun memonitoring manajemen memory yang ada di dalam mac os x dapat
dilakukan dengan cara memilih (Applications > Utilities > Activity Monitor>system
Memory
Empat jenis memori muncul dalam diagram pie Memori Sistem tab ini: Gratis, Wired, Aktif,
dan Tidak aktif. Jumlah irisan grafik pie empat sama dengan jumlah total random-access
memory (RAM) yang diinstal pada komputer Anda. RAM adalah memori kecepatan tinggi
yang digunakan untuk menyimpan informasi yang digunakan atau digunakan yang paling
baru. Informasi dalam RAM adalah load dari hard disk Anda pada saat startup dan ketika
Anda membuka aplikasi dan dokumen.
3. Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan, sesuai dengan tujuan pembuat berkas
tersebut. Umumnya berkas merepresentasikan program dan data. Berkas dapat mempunyai
struktur yang bersifat hirarkis (direktori, volume, dll.). Sistem operasi mengimplementasikan
konsep abstrak dari berkas dengan mengatur media penyimpanan massa, misalnya tapes dan disk.
Sistem operasi bertanggung-jawab dalam aktivitas yang berhubungan dengan managemen berkas:
1. Pembuatan dan penghapusan berkas.
2. Pembuatan dan penghapusan direktori.
3. Mendukung manipulasi berkas dan direktori.
4. Memetakan berkas ke secondary-storage.
5. Mem-back-up berkas ke media penyimpanan yang permanen (non-volatile).
Sistem Berkas
Semua aplikasi komputer butuh menyimpan dan mengambil informasi. Ketika sebuah proses
sedang berjalan, proses tersebut menyimpan sejumlah informasi yang terbatas, dibatasi oleh
ukuran alamat virtual. Untuk beberapa aplikasi, ukuran ini cukup, namun untuk lainnya terlalu
kecil.
Masalah berikutnya adalah apabila proses tersebut berhenti maka informasinya hilang. Padahal
ada beberapa informasi yang penting dan harus bertahan beberapa waktu bahkan selamanya.
Ada pun masalah ketiga yaitu sangatlah perlu terkadang untuk lebih dari satu proses mengakses
informasi secara berbarengan. Untuk memecahkan masalah ini, informasi tersebut harus dapat
berdiri sendiri tanpa tergantung dengan sebuah proses.
Pada akhirnya kita memiliki masalah-masalah yang cukup signifikan dan penting untuk dicari
solusinya. Pertama kita harus dapat menyimpan informasi dengan ukuran yang besar. Kedua,
informasi harus tetap ketika proses berhenti. Ketiga, informasi harus dapat diakses oleh lebih dari
satu proses secara bersamaan. Solusi dari ketiga masalah diatas adalah sesuatu yang
disebut berkas.
Berkas adalah sebuah unit tempat menyimpan informasi. Berkas ini dapat diakses lebih dari satu
proses, dapat dibaca, dan bahkan menulis yang baru. Informasi yang disimpan dalam berkas harus
persisten, dalam artian tidak hilang sewaktu proses berhenti. Berkas-berkas ini diatur oleh system
operasi, bagaimana strukturnya, namanya, aksesnya, penggunaannya, perlindungannya, dan
implementasinya. Bagian dari sistem operasi yang mengatur masalah-masalah ini disebut system
berkas.
Untuk kebanyakan pengguna, sistem berkas adalah aspek yang paling terlihat dari sebuah system
operasi. Dia menyediakan mekanisme untuk penyimpanan online dan akses ke data dan program.
Sistem berkas terbagi menjadi dua bagian yang jelas; koleksi berkas (masing-masing menyimpan
data yang berkaitan) dan struktur direktori (mengatur dan menyediakan informasi mengenai semua
berkas yang berada di sistem). Sekarang marilah kita memperdalam konsep dari berkas tersebut.

Konsep Berkas
Berkas adalah sebuah koleksi informasi berkaitan yang diberi nama dan disimpan di dalam
secondary storage. Biasanya sebuah berkas merepresentasikan data atau program.
Ada pun jenis-jenis dari berkas:
1. Text file: yaitu urutan dari karakter-karakter yang diatur menjadi barisan dan mungkin
halaman.
2. Source file: yaitu urutan dari berbagai subroutine dan fungsi yang masing-masing kemudian
diatur sebagai deklarasi-deklarasi diikuti oleh pernyataan-pernyataan yang dapat diexecute.
3. Object file: yaitu urutan dari byte-byte yang diatur menjadi blok-blok yang dapat dipahami
oleh penghubung system.
4. Executable file: adalah kumpulan dari bagian-bagian kode yang dapat dibawa ke memori dan
dijalankan oleh loader.

Atribut berkas
Selain nama dan data, sebuah berkas dikaitkan dengan informasi-informasi tertentu yang juga
penting untuk dilihat pengguna, seperti kapan berkas itu dibuat, ukuran berkas, dan lain-lain. Kita
akan sebut informasi-informasi ekstra ini atribut.
Setiap sistem mempunyai sistem atribusi yang berbeda-beda, namun pada dasarnya memiliki
atribut-atribut dasar seperti berikut ini:
1. Nama: nama berkas simbolik ini adalah informasi satu-satunya yang disimpan dalam format
yang dapat dibaca oleh pengguna.
2. Identifier: tanda unik ini yang biasanya merupakan sebuah angka, mengenali berkas didalam
sebuah sistem berkas; tidak dapat dibaca oleh pengguna.
3. Jenis: informasi ini diperlukan untuk sistem-sistem yang mendukung jenis berkas yang
berbeda.
4. Lokasi: informasi ini adalah sebuah penunjuk pada sebuah device dan pada lokasi berkas pada
device tersebut.
5. Ukuran: ukuran dari sebuah berkas (dalam bytes, words, atau blocks) dan mungkin ukuran
maksimum dimasukkan dalam atribut ini juga.
6. Proteksi: informasi yang menentukan siapa yang dapat melakukan read, write, execute, dan
lainnya.
7. Waktu dan identifikasi pengguna: informasi ini dapat disimpan untuk pembuatan berkas,
modifikasi terakhir, dan penggunaan terakhir. Data-data ini dapat berguna untuk proteksi,
keamanan, dan monitoring penggunaan.
Jenis Berkas
Salah satu atribut dari sebuah berkas yang cukup penting adalah jenis berkas. Saat kita mendesain
sebuah sistem berkas, kita perlu mempertimbangkan bagaimana operating sistem akan mengenali
berkas-berkas dengan jenis yang berbeda. Apabila sistem operasi dapat mengenali, maka
menjalankan berkas tersebut bukan suatu masalah. Seperti contohnya, apabila kita hendak
mengeprint bentuk binary-object dari sebuah program, yang didapat biasanya adalah sampah,
namun hal ini dapat dihindari apabila sistem operasi telah diberitahu akan adanya jenis berkas
tersebut.
Cara yang paling umum untuk mengimplementasikan jenis berkas tersebut adalah dengan
memasukkan jenis berkas tersebut ke dalam nama berkas. Nama berkas dibagi menjadi dua bagian.
Bagian pertama adalah nama dari berkas tersebut, dan yang kedua, atau biasa disebut extention
adalah jenis dari berkas tersebut. Kedua nama ini biasanya dipisahkan dengan tanda '.', contoh:
berkas.txt.
Operasi Berkas
Fungsi dari berkas adalah untuk menyimpan data dan mengizinkan kita membacanya. Dalam
proses ini ada beberapa operasi yang dapat dilakukan berkas. Ada pun operasi-operasi dasar yang
dilakukan berkas, yaitu:
1. Membuat Berkas (Create):
Kita perlu dua langkah untuk membuat suatu berkas. Pertama, kita harus temukan tempat didalam
sistem berkas. Kedua, sebuah entri untuk berkas yang baru harus dibuat dalam direktori. Entri
dalam direktori tersebut merekam nama dari berkas dan lokasinya dalam sistem berkas.
2. Menulis sebuah berkas (Write):
Untuk menulis sebuah berkas, kita membuat sebuah system call yang menyebutkan nama berkas
dan informasi yang akan di-nulis kedalam berkas.
3. Membaca Sebuah berkas (Read):
Untuk membaca sebuah berkas menggunakan sebuah system call yang menyebut nama berkas
yang dimana dalam blok memori berikutnya dari sebuah berkas harus diposisikan.
4. Memposisikan Sebuah Berkas (Reposition):
Direktori dicari untuk entri yang sesuai dan current-file-position diberi sebuah nilai. Operasi ini di
dalam berkas tidak perlu melibatkan M/K, selain itu juga diketahui sebagai file seek.
5. Menghapus Berkas (Delete):
Untuk menghapus sebuah berkas kita mencari dalam direktori untuk nama berkas tersebut. Setelah
ditemukan, kita melepaskan semua spasi berkas sehingga dapat digunakan kembali oleh berkas-
berkas lainnya dan menghapus entry direktori.
6. Menghapus Sebagian Isi Berkas (Truncate):
User mungkin mau menghapus isi dari sebuah berkas, namun menyimpan atributnya. Daripada
memaksa pengguna untuk menghapus berkas tersebut dan membuatnya kembali, fungsi ini tidak
akan mengganti atribut, kecuali panjang berkas dan mendefinisikan ulang panjang berkas tersebut
menjadi nol.
Keenam operasi diatas merupakan operasi-operasi dasar dari sebuah berkas yang nantinya dapat
dikombinasikan untuk membentuk operasi-operasi baru lainnya. Contohnya apabila kita ingin
menyalin sebuah berkas, maka kita memakai operasi create untuk membuat berkas baru, read
untuk membaca berkas yang lama, dan write untuk menulisnya pada berkas yang baru.
Struktur Berkas
Berkas dapat di struktur dalam beberapa cara:
Cara yang pertama adalah sebuah urutan bytes yang tidak terstruktur. Akibatnya sistem operasi
tidak tahu atau peduli apa yang ada dalam berkas, yang dilihatnya hanya bytes. Ini menyediakan
fleksibilitas yang maksimum. User dapat menaruh apa pun yang mereka mau dalam berkas, dan
sistem operasi tidak membantu, namun tidak juga menghalangi.
Cara berikutnya, adalah dengan record sequence. Dalam model ini, sebuah berkas adalah sebuah
urutan dari rekaman-rekaman yang telah ditentukan panjangnya, masing-masing dengan beberapa
struktur internal. Artinya adalah bahwa sebuah operasi read membalikan sebuah rekaman dan
operasi write menimpa atau menambahkan suatu rekaman.
Struktur berkas yang ketiga, adalah menggunakan sebuah tree. Dalam struktur ini sebuah berkas
terdiri dari sebuah tree dari rekaman-rekaman tidak perlu dalam panjang yang sama, tetapi masing-
masing memiliki sebuah field key dalam posisi yang telah ditetapkan dalam rekaman tersebut.
Tree ini disort dalam field key dan mengizinkan pencarian yang cepat untuk sebuah key tertentu.
Metode Akses
Berkas menyimpan informasi. Apabila sedang digunakan informasi ini harus diakses dan dibaca
melalui memori komputer. Informasi dalam berkas dapat diakses dengan beberapa cara. Berikut
adalah beberapa caranya:
Akses Sekuensial
Akses ini merupakan yang paling sederhana dan paling umum digunakan.
Informasi di dalam berkas diproses secara berurutan. Sebagai contoh, editor dan
kompilator biasanya mengakses berkas dengan cara ini.

Akses Langsung
Metode berikutnya adalah akses langsung atau dapat disebut relative access. Sebuah berkas dibuat
dari rekaman-rekaman logical yang panjangnya sudah ditentukan, yang mengizinkan program
untuk membaca dan menulis rekaman secara cepat tanpa urutan tertentu.
Managemen Berkas pada System Call
System calls yang berhubungan dengan berkas sangat diperlukan. Seperti ketika kita ingin
membuat atau menghapus suatu berkas. Atau ketika ingin membuka atau menutup suatu berkas
yang telah ada, membaca berkas tersebut, dan menulis berkas itu. System calls juga diperlukan
ketika kita ingin mengetahui atribut dari suatu berkas atau ketika kita juga ingin merubah atribut
tersebut. Yang termasuk atribut berkas adalah nama berkas, jenis berkas, dan lain-lain.
Ada juga system calls yang menyediakan mekanisme lain yang berhubungan dengan direktori atau
sistim berkas secara keseluruhan. Jadi bukan hanya berhubungan dengan satu spesifik berkas.
Sistem Berkas pada Jaringan
Sharing
Kita dapat berbagi berkas dengan pengguna lainnya yang teregistrasi. Hal pertama yang harus kita
lakukan adalah menentukan dengan siapa berkas tersebut akan dibagi dan akses seperti apa yang
akan diberikan kepada mereka. Berbagi bekas berguna bagi pengguna yang ingin bergabung
dengan pengguna lain dan mengurangi usaha untuk mencapai sebuah hasil akhir.
Saat sebuah sistem operasi dibuat untuk multiple user, masalah berbagi berkas, penamaan berkas
dan proteksi berkas menjadi sangat penting. Oleh karena itu, sistem operasi harus dapat
mengakomodasikan/mengatur pembagian berkas dengan memberikan suatu struktur direktori
yang membiarkan pengguna untuk saling berbagi.
Berkaitan dengan permasalahan akses berkas, kita dapat mengijinkan pengguna lain untuk melihat,
mengedit atau menghapus suatu berkas. Proses mengedit berkas yang menggunakan web-file
system berbeda dengan menggunakan aplikasi seperti Windows Explorer. Untuk mengedit sebuah
file dengan web-file system, kita harus menduplikasi berkas tersebut dahulu dari web-file system
ke komputer lokal, mengeditnya di komputer lokal, dan mengirim file tersebut kembali ke system
dengan menggunakan nama berkas yang sama.
Sebagai contoh, kita dapat mengizinkan semua pengguna yang terdaftar untuk melihat berkas-
berkas yang ada di direktori (tetapi mereka tidak dapat mengedit atau menghapus berkas tersebut).
Contoh lainnya, kita dapat mengijinkan satu pengguna saja untuk melakukan apa pun terhadap
sebuah direktori dan segala isinya (ijin untuk melihat semua berkas, mengeditnya, menambah
berkas bahkan menghapus isi berkas). Kita juga dapat memberikan kesempatan bagi pengguna
untuk mengubah izin dan kontrol akses dari sebuah isi direktori, namun hal tersebut biasanya di
luar kebiasaan, sebab seharusnya satu-satunya pengguna yang berhak mengubah izin adalah kita
sendiri.
Sistem berkas web memungkinkan kita untuk menspesifikasikan suatu akses dalam tingkatan
berkas. Jadi, kita dapat mengijinkan seluruh orang untuk melihat isi dari sebuah direktori atau
mengijinkan sebagian kecil pengguna saja untuk mengakses suatu direktori. Bahkan, dalam
kenyataannya, kita dapat menspesifikasikan jenis akses yang berbeda dengan jumlah pengguna
yang berbeda pula.
Kebanyakan pada sistem banyak pengguna menerapkan konsep direktor berkas owner/user dan
group.
Owner: pengguna yang dapat mengubah atribut, memberikan akses, dan
memiliki sebagian besar kontrol di dalam sebuah berkas atau direktori.
Group: sebagian pengguna yang sedang berbagi berkas.
Remote File System
Jaringan menyebabkan berbagi data terjadi di seluruh dunia. Dalam metode implementasi pertama,
yang digunakan untuk berbagi data adalah program FTP (File Transfer Protocol). Yang kedua
terbesar adalah DFS (Disributed File System) yang memungkinkan remote direktori terlihat dari
mesin lokal. Metode yang ketiga adalah WWW (World Wide Web).
FTP digunakan untuk akses anonim (mentransfer file tanpa memiliki account di sistem remote)
dan akses autentik (membutuhkan ijin). WWW biasanya menggunakan akses anonim, dan DFS
menggunakan akses autentik.
Client-Server Model
Server : mesin yang berisi berkas
Klien : mesin yang mengakses berkas
Server dapat melayani banyak pengguna dan klien dapat menggunakan banyak server. Proses
identifikasi klien biasanya sulit, dan cara yang biasa digunakan adalah melacak alamat IP, namun
karena alamat IP dapat dipalsukan, cara ini menjadi kurang efektif. Ada juga yang menggunakan
proses kunci terenkripsi, namun hal ini lebih rumit lagi, sebab klien-server harus menggunakan
algoritma enkripsi yang sama dan pertukaran kunci yang aman.
Proteksi
Dalam pembahasan mengenai proteksi berkas, kita akan berbicara lebih mengenai sisi keamanan
dan mekanisme bagaimana menjaga keutuhan suatu berkas dari gangguan akses luar yang tidak
dikehendaki.
Sebagai contoh bayangkan saja Anda berada di suatu kelompok kerja dimana masing-masing staf
kerja disediakan komputer dan mereka saling terhubung membentuk suatu jaringan; sehingga
setiap pekerjaan/dokumen/berkas dapat dibagi-bagikan ke semua pengguna dalam jaringan
tersebut. Misalkan lagi Anda harus menyerahkan berkas RAHASIA.txt ke atasan Anda, dalam hal
ini Anda harus menjamin bahwa isi berkas tersebut tidak boleh diketahui oleh staf kerja lain apalagi
sampai dimodifikasi oleh orang yang tidak berwenang. Suatu mekanisme pengamanan berkas
mutlak diperlukan dengan memberikan batasan akses ke setiap pengguna terhadap berkas tertentu.
Tipe Akses
Proteksi berkaitan dengan kemampuan akses langsung ke berkas tertentu. Panjangnya, apabila
suatu sistem telah menentukan secara pasti akses berkas tersebut selalu ditutup atau selalu
dibebaskan ke setiap pengguna lain maka sistem tersebut tidak memerlukan suatu mekanisme
proteksi. Tetapi tampaknya pengimplementasian seperti ini terlalu ekstrim dan bukan pendekatan
yang baik. Kita perlu membagi akses langsung ini menjadi beberapa jenis-jenis tertentu yang dapat
kita atur dan ditentukan (akses yang terkontrol).
Dalam pendekatan ini, kita mendapatkan suatu mekanisme proteksi yang dilakukan dengan cara
membatasi jenis akses ke suatu berkas.
Beberapa jenis akses tersebut antara lain
1. Read/Baca: membaca berkas
2. Write/Tulis: menulis berkas
3. Execute/Eksekusi: memasukkan berkas ke memori dan dieksekusi
4. Append/Sisip: menulis informasi baru pada baris akhir berkas
5. Delete/Hapus: menghapus berkas
6. List/Daftar: mendaftar nama dan atribut berkas
Operasi lain seperti rename, copying, atau editing yang mungkin terdapat di beberapa system
merupakan gabungan dari beberapa jenis kontrol akses diatas. Sebagai contoh, menyalin sebuah
berkas dikerjakan sebagai runtutan permintaan baca dari pengguna. Sehingga dalam hal ini,
seorang pengguna yang memiliki kontrol akses read dapat pula meng-copy, mencetak dan
sebagainya.
Kontrol Akses
Pendekatan yang paling umum dipakai dalam mengatasi masalah proteksi berkas adalah dengan
membiarkan akses ke berkas ditentukan langsung oleh pengguna (dalam hal ini pemilik/pembuat
berkas itu). Sang pemilik bebas menentukan jenis akses apa yang diperbolehkan untuk pengguna
lain. Hal ini dapat dilakukan dengan menghubungkan setiap berkas atau direktori dengan
suatu daftar kontrol-akses (Access-Control Lists/ACL) yang berisi nama pengguna dan jenis akses
apa yang diberikan kepada pengguna tersebut.
Sebagai contoh dalam suatu sistem VMS, untuk melihat daftar direktori berikut daftar kontrol-
akses, ketik perintah "DIR/SECURITY", atau "DIR/SEC". Salah satu keluaran perintah itu adalah
daftar seperti berikut ini:
WWW-HOME.DIR;1 [HMC2000,WWART] (RW,RWED,,E)
(IDENTIFIER=WWW_SERVER_ACCESS,OPTIONS=DEFAULT,ACCESS=READ)
(IDENTIFIER=WWW_SERVER_ACCESS,ACCESS=READ)
Baris pertama menunjukkan nama berkas tersebut WWW-HOME.DIR kemudian disebelahnya
nama grup pemilik HMC2000 dan nama pengguna WWART diikuti dengan sekelompok jenis
akses RW, RWED,,E (R=Baca, W=Tulis, E=Eksekusi, D=Hapus). Dua baris dibawahnya itulah
yang disebut daftar konrol-akses. Satu-satu baris disebut sebagai masukan kontrol-akses (Access
Control Entry/ACE) dan terdiri dari 3 bagian. Bagian pertama disebut sebagai
IDENTIFIER/Identifikasi, menyatakan nama grup atau nama pengguna (seperti [HMC2000,
WWART]) atau akses khusus (seperti WWW_SERVER_ACCESS). Bagian kedua merupakan
daftar OPTIONS/Plihan-pilihan. Dan terakhir adalah daftar ijin ACCESS/akses, seperti read atau
execute, yang diberikan kepada siapa saja yang mengacu pada bagian Identifikasi.
Cara kerjanya: apabila seorang pengguna meminta akses ke suatu berkas/direktori, sistem operasi
akan memeriksa ke daftar kontrol-akses apakah nama pengguna itu tercantum dalam daftar
tersebut. Apabila benar terdaftar, permintaan akses akan diberikan dan sebaliknya bila tidak,
permintaan akses akan ditolak.
Pendekatan ini memiliki keuntungan karena penggunaan metodologi akses yang kompleks
sehingga sulit ditembus sembarangan. Masalah utamanya adalah ukuran dari daftar akses tersebut.
Bayangkan apabila kita mengijinkan semua orang boleh membaca berkas tersebut, kita harus
mendaftar semua nama pengguna disertai ijin akses baca mereka.
Lebih jauh lagi, tehnik ini memiliki dua konsekuensi yang tidak diinginkan:
Pembuatan daftar semacam itu merupakan pekerjaan yang melelahkan dan tidak efektif.
Entri direktori yang sebelumnya memiliki ukuran tetap, menjadi ukuran yang Dapat berubah-ubah,
mengakibatkan lebih rumitnya managemen ruang kosong.
Masalah ini dapat diselesaikan dengan penggunaan daftar akses yang telah disederhanakan. Untuk
menyederhanakan ukuran daftar kontrol akses, banyak sistem menggunakan tiga klasifikasi
pengguna sebagai berikut:
Owner : pengguna yang telah membuat berkas tersebut.
Group : sekelompok pengguna yang saling berbagi berkas dan membutuhkan akses
yang sama.
Universe : keseluruhan pengguna.
Pendekatan yang dipakai belum lama ini adalah dengan mengkombinasikan daftar kontrol-akses
dengan konsep kontrol- akses pemilik, grup dan semesta yang telah dijabarkan diatas. Sebagai
contoh, Solaris 2.6 dan versi berikutnya menggunakan tiga klasifikasi kontrol-akses sebagai
pilihan umum, tetapi juga menambahkan secara khusus daftar kontrol-akses terhadap
berkas/direktori tertentu sehingga semakin baik sistem proteksi berkasnya.
Contoh lain yaitu sistem UNIX dimana konrol-aksesnya dinyatakan dalam 3 bagian. Masing-
masing bagian merupakan klasifikasi pengguna (yi.pemilik, grup dan semesta). Setiap bagian
kemudian dibagi lagi menjadi 3 bit jenis akses -rwx, dimana r mengontrol akses baca, w
mengontrol akses tulis dan x mengontrol eksekusi. Dalam pendekatan ini, 9 bit diperlukan untuk
merekam seluruh informasi proteksi berkas.
Berikut adalah keluaran dari perintah "ls -al" di sistem UNIX:
-rwxr-x--- 1 david karyawan 12210 Nov 14 20:12 laporan.txt
Baris di atas menyatakan bahwa berkas laporan.txt memiliki akses penuh terhadap
pemilik berkas (yi.david), grupnya hanya dapat membaca dan mengeksekusi,
sedang lainnya tidak memiliki akses sama sekali.
Pendekatan Pengamanan Lainnya
Salah satu pendekatan lain terhadap masalah proteksi adalah dengan memberikan sebuah kata
kunci (password) ke setiap berkas. Jika kata-kata kunci tersebut dipilih secara acak dan sering
diganti, pendekatan ini sangatlah efektif sebab membatasi akses ke suatu berkas hanya
diperuntukkan bagi pengguina yang mengetahui kata kunci tersebut. Meski pun demikian,
pendekatan ini memiliki beberapa kekurangan, diantaranya:
Kata kunci yang perlu diingat oleh pengguna akan semakin banyak, sehingga membuatnya
menjadi tidak praktis.
Jika hanya satu kata kunci yang digunakan di semua berkas, maka jika sekali kata kunci itu
diketahui oleh orang lain, orang tersebut dapat dengan mudah mengakses semua berkas lainnya.
Beberapa sistem (contoh: TOPS-20) memungkinkan seorang pengguna untuk memasukkaan
sebuah kata kunci dengan suatu subdirektori untuk menghadapi masalah ini, bukan dengan
satu berkas tertentu.
Umumnya, hanya satu kata kunci yang diasosiasikan dengan semua berkas lain.
Sehingga, pengamanan hanya menjadi semua-atau-tidak sama sekali. Untuk
mendukung pengamanan pada tingkat yang lebih mendetail, kita harus
menggunakan banyak kata kunci.
Mounting
Mounting adalah proses mengkaitkan sebuah sistem berkas yang baru ditemukan pada sebuah
piranti ke struktur direktori utama yang sedang dipakai. Piranti-piranti yang akan di-mount dapat
berupa cd-rom, disket atau sebuah zip-drive. Tiap-tiap sistem berkas yang akan di-mount akan
diberikan sebuah mount point, atau sebuah direktori dalam pohon direktori sistem Anda, yang
sedang diakses.
Sistem berkas yang dideskripsikan di /etc/fstab (fstab adalah singkatan ari filesystem tables)
biasanya akan di-mount saat komputer baru mulai dinyalakan, tapi dapat juga me-mount system
berkas tambahan dengan menggunakan perintah: mount [nama piranti] atau dapat juga dengan
menambahkan secara manual mount point ke berkas /etc/fstab. Daftar system berkas yang di-
mount dapat dilihat kapan saja dengan menggunakan perintah mount. Karena izinnya hanya diatur
read-only di berkas fstab, maka tidak perlu khawatir pengguna lain akan mencoba mengubah dan
menulis mount point yang baru.
Seperti biasa saat ingin mengutak-atik berkas konfigurasi seperti mengubah isi berkas fstab,
pastikan untuk membuat berkas cadangan untuk mencegah terjadinya kesalahan teknis yang dapat
menyebabkan suatu kekacauan. Kita dapat melakukannya dengan cara menyediakan sebuah disket
atau recovery-disk dan mem-back-up berkas fstab tersebut sebelum membukanya di editor teks
untuk diutak-atik.
Red Hat Linux dan sistem operasi lainnya yang mirip dengan UNIX mengakses berkas dengan
cara yang berbeda dari MS-DOS, Windows dan Macintosh. Di linux, segalanya disimpan di dalam
sebuah lokasi yang dapat ditentukan dalam sebuah struktur data. Linux bahkan menyimpan
perintah-perintah sebagai berkas. Seperti sistem operasi modern lainnya, Linux memiliki struktur
tree, hirarki, dan organisasi direktori yang disebut sistem berkas.
Semua ruang kosong yang tersedia di disk diatur dalam sebuah pohon direktori tunggal. Dasar
sistem ini adalah direktori root yang dinyatakan dengan sebuah garis miring ("/"). Pada linux, isi
sebuah sistem berkas dibuat nyata tersedia dengan menggabungkan sistem berkas ke dalam sebuah
sistem direktori melalui sebuah proses yang disebut mounting.
Sistem berkas dapat di-mount maupun di-umount yang berarti sistem berkas tersebut dapat
tersambung atau tidak dengan struktur pohon direktori. Perbedaannya adalah sistem berkas
tersebut akan selalu di-mount ke direktori root ketika sistem sedang berjalan dan tidak dapat di-
mount.
Sistem berkas yang lain di-mount seperlunya, contohnya yang berisi hard drive berbeda dengan
floppy disk atau CD-ROM.

4. Manajemen I/O
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.

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.
5. Manajemen Deadlock

o Tidak bisa disela (preemtion), resource yang dimiliki satu proses tidak akan diberikan kepada
proses lain sebelum proses itu sendiri mendapatkan resource tambahan dari proses lain sehingga
dia akan melepaskan resource yang dimilikinya untuk proses lain, hal ini berlaku untuk semua
proses yang ada, dengan kata lain tidak akan ada proses yang mengalah dan membiarkan dirinya
disela proses lain. o Menunggu sirkular, proses menunggu dalam model sirkular yang tidak
mungkin mendapatkan solusi karena satu sama lain saling menunggu tanpa batas waktu tertentu
(tak terhingga). Deadlock harus memenuhi semua syarat diatas  Strategi Menghadapi Deadlock
Strategi untuk menghadapi deadlock dapat dibagi menjadi tiga pendekatan, yaitu: o
Mengabaikan adanya deadlock. o Memastikan bahwa deadlock tidak akan pernah ada, baik
dengan metode Pencegahan, dengan mencegah empat kondisi deadlock agar tidak akan pernah
terjadi. Metode Menghindari deadlock, yaitu mengizinkan empat kondisi deadlock, tetapi
menghentikan setiap proses yang kemungkinan mencapai deadlock. o Membiarkan deadlock
untuk terjadi, pendekatan ini membutuhkan dua metode yang saling mendukung, yaitu: o
Pendeteksian deadlock, untuk mengidentifikasi ketika deadlock terjadi. o Pemulihan deadlock,
mengembalikan kembali sumber daya yang dibutuhkan pada proses yang memintanya. 
Strategi Mengatasi Deadlock 1. Prevention : memastikan paling sedikit satu penyebab Deadlock
tidak berlaku. • Mutual Exclusion : membuat file spool untuk resource yang digunakan
bersamasama • Hold and Wait : memaksa sebuah proses untuk melepaskan resource yang
dimilikinya ketika meminta resource baru • Circular Waiting : memberikan penamaan resource
berdasarkan urutan atau level • No Preemption : membolehkan adanya preemption. 2. Avoidance
: sistem menolak request terhadap resource yang berpotensi deadlock, Algoritma Banker.
Avoidance • Resource manager menolak proses yang meminta resource yang berpotensi
deadlock. • Jika ada permintaan resource yang maksimum digunakan, maka proses tersebut akan
dipaksa untuk melepaskan resource yang sudah dimiliknya. • Perlu adanya informasi tambahan.
Algoritma Banker • Didasarkan pada kondisi bank, dimana konsumen meminjam sejumlah uang,
lalu meminta pinjaman uang lagi • Proses dan resource dimodelkan dalam satu tabel

3. Detection and Recovery, yaitu membiarkan deadlock terjadi, lalu mendeteksinya kemudian
melakukan recovery seperti Algoritma Ostrich. Algoritma Ostrich merupakan algoritma yang
paling dikenal. Melalui Detection and Recovery, deadlock dibiarkan terjadi lalu dideteksi
kemudian dilakukan tindakan recovery seperlunya. Tindakan recovery yang dilakkukan adalah
melakukan preemption, membuat checkpoint untuk roolback lalu membunuh proses yang
priotasnya kecil.  Deadlock pada Windows Pada windows NT, untuk mendeteksi deadlock
yaitu berupa BSOD atau disebut Blue Screen Of Death. Dikatakan Blue Screen sebab memang
pada semua windows saat terjadi deadlock layar langsung berubah berwarna biru. Cara
mengatasinya adalah melalui reboot atau restart sederhana pada komputer.  Deadlock pada
Linux Pada linux untuk mengetahui apakah terjadi deadlock yaitu dengan menggunakan xosview
untuk mengetahui proses yang menggunakan CPU 100%, lalu kill saja proses tersebut. Linux
dengan kernel versi 2.4 mengalami deadlock pada sistem dengan prosesor lebih dari 2 unit.
Deadlock ini pada umumnya terjadi bila akses melalui Ethernet dilakukan, terutama bila
melakukan teaming pada jaringan. Proses akan terblock dan saling menunggu resource Ethernet
tersebut bebas. Beberapa kasus deadlock juga terjadi ketika OS Linux dijalankan dari kondisi
sleep, proses yang mengakses USB device akan mengalami deadlock Hal ini disebabkan fungsi
scheduler pada kernel yang digunakan tidak menyimpan state sebelum sleep, sehingga ketika
kernel dijalankan kembali, Proses-proses yang mengakses USB device tersebut menunggu
giliran mengakses, sementara scheduler belum menjadwalkan masing-masing proses. Kasus ini
juga terjadi pada Serial device.Deadlock terjadi pada persimpangan jalan Dalam kasus ini setiap
mobil bergerak sesuai nomor yang ditentukan, tetapi tanpa pengaturan yang benar, maka setiap
mobil akan bertemu pada satu titik yang permanen (yang dilingkari) atau dapat dikatakan bahwa
setiap mobil tidak dapat melanjutkan perjalanan lagi atau dengan kata lain terjadi Deadlock. 
Penyebab deadlock o Mutual eklusif, merupakan jaminan bagi proses bahwa hanya akan ada satu
proses yang menggunakan satu resource dalam waktu tertentu, dengan kata lain resource tidak
dapat digunakan oleh proses secara bersama-sama sehingga akan semakin besar kemungkinan
terjadi deadlock. o Hold & wait, dimana proses yang memiliki/ memegang (hold) resource
meminta resource tambahan untuk dapat RUNNING, tetapi resource tambahan tersebut tidak
pernah didapatnya.

6. Manajemen Security

Salah satu masalah utama di Windows yang paling sering Anda temukan adalah virus dan
spyware. Dari tahun ke tahun permasalahan ini bukan semakin mengecil tetapi malah semakin
membesar. Ini semua terjadi karena banyak lubang keamanan di Windows yang bisa
dieksploitasi oleh orang-orang yang tidak bertanggungjawab.
Linux diturunkan dari sistem operasi Unix yang memiliki tingkat sekuriti lebih kuat. Itu
sebabnya tidak ada banyak virus di Linux dan kalaupun ada tidak bisa berkembang biak dengan
pesat dan biasanya tidak mampu membawa kerusakan yang besar. Sekalipun tidak sepenting di
Windows,
Anda tetap bisa menemukan program-program anti virus di Linux, seperti ClamAV dan F-
Prot.Spyware adalah suatu masalah yang cukup umum di dunia Windows. Biasanya program
spyware mengamati, mengumpulkan dan mengirimkan data Anda ke suatu server. Untuk hal
yang lebih positif, program ini biasanya dipergunakan untuk keperluan marketing.
Sayangnya, ada juga yang berniat buruk yaitu dengan mencuri identitas, kartu kredit, dan
tindakan negatif lainnya.
Tidak banyak program spyware yang menginfeksi Linux mengingat cara kerja Linux yang lebih
susah untuk ditembus.
Linux secara umum terlihat sebagai sistem operasi yang stabil. Dan jika Anda membandingkan
Linux dengan Windows 95/98/ME, Linux jauh lebih stabil. Windows XP – jika Anda mengikuti
petunjuk sistemnya dengan baik – akan cukup stabil.
Dan seperti halnya dengan Windows, suatu saat Anda juga akan menemui masalah di Linux.
Sekalipun jarang, tetapi program yang crash atau hang bisa saja terjadi. Ini adalah suatu fakta
dari kehidupan di dunia komputer. Sekalipun demikian ada beberapa perbedaan di Windows dan
Linux. Unix dan Linux mempunyai sifat multi-user. Linux menjalankan aplikasi secara berbeda
dengan Windows. Ketika suatu aplikasi terkunci, Anda dapat mematikannya dengan mudah.
Cukup menekan kombinasi tombol Ctrl + Esc, dan Anda dapat memilih aplikasi (atau proses)
mana yang bermasalah.
Dan jika sistem grafis yang terkunci, Anda bisa berpindah ke command-prompt (dengan
menekan Ctrl+Alt+F1) dan membunuh proses software secara manual. Anda juga mempunyai
pilihan untuk merestart desktop saja dengan menekan Ctrl+Alt+Backspace. Ini berarti Anda
tidak harus melakukan reboot sekalipun sistem Linux sedang mengalami masalah.
Anda mungkin sudah mengetahui, bahwa sebagai user biasa (bukan Root) Anda tidak bisa
menulis file di sembarang folder. User biasa hanya memiliki akses tulis di folder home mereka.
Sebagai user biasa, Anda tidak akan bisa mengubah bagian penting dari sistem Linux. Ini
memang terkesan terlalu membatasi dan merepotkan, tetapi cara ini jauh lebih aman, karena
hanya orang tertentu yang mempunyai akses Root saja yang bisa menyentuh sistem. Bahkan
viruspun tidak bisa dengan mudah menyentuh sistem Linux. Itu sebabnya Anda tidak banyak
mendengar adanya virus di Linux.perbedaannya pada banyak macamnya virus yang ada kalau di
windows sangat banyak jenis virusnya sedangkan di Linux masih sedikit karena masih jarang
pembuatnya dan virus di windows tidak dapat menjangkit di Linux.

Keamanan Pada OS Linux Keamanan Pada OS Windows

Akun Pemakai (user account) Ø Gunakan Format NTFS pada


Ø Kekuasaan dalam satu account semua Partisi Hardisk anda Sistem
yaitu root, sehingga mudah dalam file FAT16/FAT32.
administrasi Ø Gunakan Pasword Account untuk
system. Ø Kecerobohan salah satu Login ke System Baik Windows XP
user tidak berpengaruh kepada Professional maupun Home Edition.
system secara Ø Nonaktifkan Simple File Sharing
keseluruhan. Ø Masing-masing Baik Windows XP Home Edition dan
user memiliki privacy yang ketat XP Professional.
Ø Gunakan firewall jika Anda
Terhubung ke Internet.
Kontrol Akses secara
Ø Menggunakan Pasword Screen
Diskresi(Discretionary Access
Server.
control)
Ø Pastikan Fasilitas Remote
Discretionary Access control (DAC)
Desktop Di Disable.
adalah metode pembatasan yang
Ø Aktifkan BitLocker
ketat, yang meliputi :Ø Setiap
BitLocker Drive Encryption dapat
account memiliki username dan
digunakan untuk mengenkripsi setiap
password sendiri.Ø Setiap
volume pada hard drive, termasuk
file/device memiliki
boot sistem, dan bahkan removable
atribut(read/write/execution)
media, seperti
kepemilikan, group, dan user umum.
USB. Ø Menaikkan UAC slider
bar
Kontrol akses jaringan (Network User Account Control telah
Access Control) ditingkatkan secara signifikan untuk
Firewall linux :alat pengontrolan menjadi kurang intrusif dan lebih
akses antar jaringan yang membuat cerdas dalam membedakan antara
linux dapat memilih host yang berhak
yang legal dan yang berpotensi
/ tidak berhak mengaksesnya. bahaya di Windows 7.
Fungsi Firewall linux Ø Patch Setiap Waktu
: 1. Analisa dan filtering Pada pengaturan default Windows 7,
paketMemeriksa paket TCP, lalu layanan Windows Update
diperlakukan dengan kondisi yang dikonfigurasi untuk mendownload
sudah ditentukan, contoh paket A dan menginstal file update sistem
lakukan tindakan B. operasi dan aplikasi Microsoft pada
2. Blocking content dan waktu yang tepat.
protocolBloking isi paket seperti Ø Instal software anti-spam dan
applet java, activeX, Vbscript, anti-malware
Cookies Ancaman terbesar bagi sistem klien
3. Autentikasi koneksi dan adalah Trojan horse, Outlook patch
enkripsiMenjalankan enkripsi dalam palsu, scanner anti virus palsu,
identitas user, integritas satu session
codec palsu. Bahayanya adalah
dan melapisi data dengan algoritma mereka tidak langsung
enkripsi seperti : DES, triple DES,menyerang Anda tetapi mereka akan
Blowfish, IPSec, SHA, MD5, IDEA, menggiring terlebih dahulu dengan
dsb. bahasa yang menipu lalu
Tipe firewall linux : Ø Application-
mengeksekusi ketika Anda mengklik
proxy firewall/Application persetujuan yang diminta.
Gateways Ø Dilakukan pada level Ø Aktifkan SmartScreen Filter di
aplikasi di layer OSI, system proxyInternet Explorer 8
ini meneruskan / membagi paket- Ketika anda pertama kali memulai
paket ke dalam jaringan internal. IE8, Anda akan ditanya apakah Anda
Contoh : software TIS FWTK ingin mengaktifkan SmartScreen
(Tursted Information System Firewall
Filter, yang memeriksa database
Toolkit) Ø Network level Firewall, lokal atau situs Microsoft untuk
fungsi filter dan bloking paket melihat apakah situs Web yang Anda
dilakukan di router jelajahi sebelumnya adalah aman
atau ada potensi
bahaya. Ø Monitoring Komputer
Enkripsi (encryption)
Anda
Penerapan Enkripsi di linux
Seiring waktu, kebanyakan sistem
: Ø Enkripsi
mengakumulasi lebih banyak dan
password àmenggunakan DES (
lebih banyak lagi program dan malah
Data Encryption Standard
seringkali program yang tidak perlu
) Ø Enkripsi komunikasi data
juga dimasukkan yang akhirnya
:1. Secure Shell (SSH) à Program
menuntut sumber daya memori.
yang melakukan loging terhadap
komputer lain dalam jaringan, Tanpa pembersihan aktif dari sistem
mengeksekusi perintah lewat mesin anda, komputer menjadi lebih
secara remote dan memindahkan file lambat, lebih rentan terhadap crash,
dari satu mesin ke mesin lainnya. dan penuh dengan serangan
Enkripsi dalam bentuk Blowfish, tambahan untuk hal-hal buruk untuk
IDEA, RSA, Triple DES.2. Secure mengeksploitasi.
socket Layer (SSL) à mengenkripsi Ø Back up data
data yang dikirimkan lewat port http. Kita semua telah menggunakan
komputer untuk waktu yang lama,
dan kita tahu bahwa hal yang paling
Logging
buruk bisa terjadi kapan saja.
Definisi àProsedur dari Sistem
Idealnya adalah jika memiliki
Operasi atau aplikasi merekam
komputer multiyear garansi, tetapi
setiap kejadian dan menyimpan
untuk meminimalkan kerusakan
rekaman tersebut untuk dapat
ketika crash komputer Anda,
dianalisa.Semua file log linux
pastikan untuk membuat cadangan
disimpan di directory /var/log.
data pengganti.·

Deteksi Penyusupan (Intrusion


Detection)
Definisi à aktivitas mendeteksi
penyusupan secara cepat dengan
menggunakan program khusus
secara otomatis yang disebut
Intrusion Detection System.
Tipe dasar IDS :Ruled based system
: mencatat lalu lintas data jika sesuai
dengan database dari tanda
penyusupan yang telah dikenal,
maka langsung dikategorikan
penyusupan. Pendekatan Ruled
based system :- Preemptory
(pencegahan) ; IDS akan
memperhatikan semua lalu lintas
jaringan, dan langsung bertindak jika
dicurigai ada
penyusupan.- Reactionary (reaksi) ;
IDS hanya mengamati file log
saja.- Adaptive system : penerapan
expert system dalam mengamati lalu
lintas jaringan.
Program IDS : Ø Chkwtmp :
program pengecekan terhadap entry
kosong Ø Tcplogd : program
pendeteksi stealth scan (scanning
yang dilakukan tanpa membuat sesi
tcp) Ø Host entry : program
pendeteksi login anomaly (perilaku
aneh) à bizarre behaviour (perilaku
aneh), time anomalies (anomaly
waktu), local anomaly

Anda mungkin juga menyukai