Tampilkan postingan dengan label Tugas Sistem Operasi. Tampilkan semua postingan
Tampilkan postingan dengan label Tugas Sistem Operasi. Tampilkan semua postingan

Minggu, 26 Juni 2011

Menejemen Sistem Input Output Di Linux Debian

Manajemen Sistem M/K ( I/O)
Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen M/K menjadi komponen yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat ( device).
Fungsi-fungsi sistem operasi untuk sistem M/K:
• Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat M/K
• Penjadwalan ( scheduling). Melakukan penjadualan pemakaian M/K sistem supaya lebih efisien.
• Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.
• Menyediakan driver perangkat yang umum. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K yang umum, seperti optical drive, media penyimpanan sekunder, dan layar monitor.
• Menyediakan driver perangkat yang khusus. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K tertentu, seperti kartu suara, kartu grafis, dan motherboard
Manajemen Sistem I/O
Sering disebut device manager. Menyediakan device driveryang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk .
Manajemen sistem I/O merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu.
Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen sistem/perangkatI/O:
• Mengirim perintah ke perangkat I/O agar menyediakan layanan.
• Menangani interupsi perangakat I/O .
• Menangani kesalahan pada perangakat I/O.
• Menyediakan antarmuka ke pengguna.
Ada juga beberapa perangkat keras yang terdapat pada I/O manajemen yaitu :
1. Pooling
• Busy-waiting/ polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear.
• Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.
2. Interupsi
Mekanisme Dasar Interupsi :
• Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt
request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU–contohnya nilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsi tersebut.
• Fitur Tambahan pada Komputer Modern :
• Pada arsitektur komputer modern, tiga fitur disediakan oleh CPU dan interrupt controller (pada perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus. Fitur-fitur ini antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama prosesi berada dalam critical state, efisiensi penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari device yang mengirimkan interupsi, dan fitur yang ketiga adalah adanya sebuah konsep multilevel interupsi sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system).
Penyebab Interupsi
• Interupsi dapat disebabkan berbagai hal, antara lain exception, page fault, interupsi yang dikirimkan oleh device controllers, dan system call Exception adalah suatu kondisi dimana terjadi sesuatu/ dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contoh nya pembagian dengan 0 (nol), pengaksesan alamat memori yang restricted atau bahkan tidak valid, dan lain-lain.
• System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa software interrupt atau trap.
3. DMA
• DMA adalah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO).
4. Handshaking

Penjadwalan Proses Linux Debian

Ketika kernel telah mencapai titik penjadwalan ulang, entah karena terjadi interupsi penjadwalan ulang maupun karena proses kernel yang sedang berjalan telah diblokir untuk menunggu beberapa signal bangun, harus memutuskanproses selanjutnya yang akan dijalankan. Linux telah memiliki dua algoritma penjadwalan proses yang terpisah satu sama lain. Algoritma yang pertama adalah algoritma time-sharing untuk penjadwalan preemptive yang adil diantara sekian banyak proses. Sedangkan algoritma yang kedua didesain untuk tugas real-time dimana proritas mutlak lebih utama daripada keadilan mendapatkan suatu pelayanan.

Bagian dari tiap identitas proses adalah kelas penjadwalan, yang akan menentukan algoritma yang digunakan untuk tiap proses. Kelas penjadwalan yang digunakan oleh Linux, terdapat dalam standar perluasan POSIX untuk sistem komputer waktu nyata.

Untuk proses time-sharing, Linux menggunakan teknik prioritas, sebuah algoritma yang berdasarkan pada kupon. Tiap proses memiliki sejumlah kupon penjadwalan; dimana ketika ada kesempatan untuk menjalankan sebuah tugas, maka proses dengan kupon terbanyaklah yang mendapat giliran. Setiap kali terjadi interupsi waktu, proses yang sedang berjalan akan kehilangan satu kupon; dan ketika kupon yang dimiliki sudah habis maka proses itu akan ditunda dan proses yang lain akan diberikan kesempatan untuk masuk.

Jika proses yang sedang berjalan tidak meiliki kupon sama sekali, linux akan melakukan operasi pemberian kupon, memberikan kupon kepada tiap proses dalam sistem, dengan aturan main: kupon = kupon / 2 + prioritas Algoritma ini cenderung untuk menggabungkan dua faktor yang ada: sejarah proses dan prioritas dari proses itu sendiri. Satu setengah dari kupon yang dimiliki sejak operasi pembagian kupon terakhir akan tetap dijaga setelah algoritma
telah dijalankan, menjaga beberapa sejarah sikap proses. Proses yang berjalan sepanjang waktu akan cenderung untukmenghabiskan kupon yang dimilikinya dengan cepat, tapi proses yang lebih banyak menunggu dapat mengakumulasi kuponnya dari. Sistem pembagian kupon ini, akan secara otomatis memberikan proritas yang tinggi ke proses I/O bound ataupun interaktif, dimana respon yang cepat sangat diperlukan.

Kegunaan dari proses pemberian prioritas dalam menghitung kupon baru, membuat prioritas dari suatu proses dapat ditingkatkan. Pekerjaan background batch dapat diberikan prioritas yang rendah; proses tersebut akan secara otomatis menerima kupon yang lebih sedikit dibandingkan dengan pekerjaan yang interaktif, dan juga akan menerima persentase waktu CPU yang lebih sedikit dibandingan dengan tugas yang sama dengan prioritas yang lebih tinggi. Linux menggunakan sistem prioritas ini untuk menerapkan mekanisme standar pembagian prioritas proses yang lebih baik.

Penjadwalan waktu nyata Linux masih tetap lebih sederhana. Linux, menerapkan dua kelas penjadwalan waktu nyata yang dibutuhkan oleh POSIX 1.b: First In First Out dan round-robin. Pada keduanya, tiap proses memiliki prioritas sebagai tambahan kelas penjadwalannya. Dalam penjadwalan time-sharing , bagaimanapun juga proses dengan prioritas yang berbeda dapat bersaing dengan beberapa pelebaran; dalam penjadwalan waktu nyata, si pembuat jadwal selalu menjalankan proses dengan prioritas yang tinggi. Diantara proses dengan prioritas yang sama, maka proses yang sudah menunggu lama, akan dijalankan. Perbedaan satu - satunya antara penjadwalan FIFO dan round-robin adalah proses FIFO akan melanjutkan prosesnya sampai keluar ataupun diblokir, sedangkan proses round-robin akan dipreemptivekan setelah beberapa saat dan akan dipindahkan ke akhir antrian, jadi proses round-robin dengan prioritas yang sama akan secara otomatis membagi waktu jalan antar mereka sendiri.

Perlu diingat bahwa penjadwalan waktu nyata di Linux memiliki sifat yang lunak. Pembuat jadwal Linux menawarkan jaminan yang tegas mengenai prioritas relatif dari proses waktu nyata, tapi kernel tidak menjamin seberapa cepat penjadwalan proses waktu-nyata akan dijalankan pada saat proses siap dijalankan. Ingat bahwa kode kernel Linux tidak akan pernah bisa dipreemptive oleh kode mode pengguna. Apabila terjadi interupsi yang membangunkan proses waktu nyata, sementara kernel siap untuk mengeksekusi sebuah sistem call sebagai bagian proses lain, proses waktu nyata harus menunggu sampai sistem call yang sedang dijalankan selesai atau diblokir.

Manajemen Proses di Linux Debian

Setiap kali instruksi diberikan pada Shell Linux, kernel akan menciptakan proses-id. Proses ini disebut juga dalam terminologi UNIX sebagai JOB. Proses-id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (dapat dilihat dalam daftar urutan pada /etc /inittab). Proses-proses sistem terbagi dalam tiga tipe utama, yaitu :
Interactive : Diprakarsai oleh sebuah shell dan berjalan dalam foreground dan
Background.
Batch : Secara tipical merupakan sebuah seri dari proses-proses yang
dijadwalkan untuk dieksekusi pada suatu waktu tertentu
Daemon : Secara tipikal diinisialisasi saat boot untuk membentuk fungsi-fungsi
sistem yang dibutuhkan, seperti LPD, NFS dan DNS
Proses Interaktive terdiri dari atas :
- Proses fireground adalah suatu proses yang ketika berjalan, shell tidak menampilkan prompt hingga proses berakhir.
- Proses background adalah suatu proses yang sewaktu-waktu berjalan, pemakai tetap dapat memberikan perintah yang lain. Sebab begitu perintah background diberikan (setelah di tekan ENTER), prompt akan ditampilkan kembali dan shell siap menerika perintah berikutnya.
7.1 Background Proses
Untuk menghasilkan sebuah background proses, dapat dilakukan dengan menjalankan perintah yang diakhiri dengan simbol &. Pada kondisi seperti ini, sehll tidak akan menunggu sampai eksekusi perintah berakhir. Begitu perintah berakhiran & diberikan, shell siap menerima perintah lain. Kegunaan perintah ini misalnya untuk memperoleh daftar seluruh file dari direktori root (/) beserta anak-anaknya dan menempatkannya ke sebuah file. Karena proses ini Kemungkinan memakan waktu yang cukup lama, pemakai dapat mengatur agar eksekusinya dilakukan dilatar belakang. Sehingga sementara sistem sedang memprosesnya, pemakai tetap dapat bekerja memberikan perintah-perintah lainnya.
Contoh :
$ls –lR / > lsroot 2>&1 &
Pada contoh tersebut, perintah ls beserta pesan kesalahan ditempatkan ke file lsroot dan dilakukan secara background. Proses latar belakang cocok untuk proses yang tidak menggunakan keluaran ke layar terminal atau masukkan dari keyboard.
7.2 Status Proses
Instruksi ps (proses status) digunakan untuk melihat kondisi proses yang ada. Ketika tidak ada option sama sekali, ps akan menampilkan proses yang saat itu dilakukan oleh sebuah terminal (tty?).
$ ps PID TT STAT TIME COMMAND 29384 p0 Is 0:00.01 -ksh (ksh) 27221 p0 R+ 0:00.00 ps
Proses ksh adalah proses shell yang aktif pada saat user login ke dalam sistem dan proses ksh ini akan menunggu instruksi dari pemakai. Bila shell menjalankan instruksi, maka shell menciptakan proses anak dan menunggu hingga proses tersebut selesai.
$ ps -u USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND dsn970210 29384 0.0 0.1 404 328 p0 Ss 7:35PM 0:00.01 -ksh (ksh) dsn970210 21658 0.0 0.1 284 164 p0 R+ 7:42PM 0:00.00 ps -u
Sebuah sistem yang dibangun oleh serangkain proses, dengan perintah ps –e (everthing) dapat ditampilkan sejumlah proses-proses tersebut.
$ ps -e
PID TTY TIME COMMAND
1 ? 00:00:05 init
2 ? 00:00:00 klogd
3 ? 00:00:00 inetd
—cut——
Semakin banyak pemakai yang sedang menggunakan sistem, semakin banyak proses yang akan ditampilkan. Tanda tanya (?) menyatakan bahwa proses tersebut adalah proses daemon (proses yang hidup terus selama sistem hidup dan berjalan dilatar belakang).
Sejumlah proses yang ditampilkan melalui ps –e berkedudukan sebagai pemimpin group proses (proses group leader), yaitu proses yang menjalankan proses yang lain. Sebagai contoh jika dijanlankan perintah ps –f (full listing), dengan hasil sebagai berikut :
$ps –f
UID PID PPID C STIME TTY TIME CMD
dsn970210 8907 1094 0 12:44 tty02 00:00:00 -bash
dsn970210 9205 8907 0 13:02 tty02 00:00:00 ps -f
Proses sh sebenarnya memimpin group proses. Tampak bahwa PID dari bash tercantum dalam PPID dari proses ps –f. PPID (parrent PID) menyatakan proses induk dari proses yang sedang berjalan, dan STIME menyatakan awal proses dimulai.
Contoh lain perintah ps :
ps –u anjik : untuk menampilkan proses yang terkait dengan seorang pemakai
ps –t tty02 : untuk menampilkan proses yang terkait dengan terminal
ps –auxww : untuk menampilkan informasi detail tentang setiap proses yang berjalan dalam komputer.
a : Mendaftar semua proses
u : menampilkan informasi dalam “user-oriented style”
x : memasukkan informasi dalam proses yang tidak
menampilkan kontrol ttys.
ww : memasukkan baris perintah dengan komplit, bahkan jika
mereka menjalankan sampai 132 kolom.
Field-field dalam output ps diantaranya :
USER : username dari proses. (Jika proses memiliki UID yang tidak sesuai dengan /etc/passwd, perlu berhati-hati karena dimungkinkan terjadi proses penyerangan.
PID : Proses Identification Number
%CPU : Prosentasi CPU yang digunakan
%MEM : Prosentasi MEMORY yang digunakan
SZ : Jumlah virtual memori yang digunakan proses
RSS : Resident set size, jumlah proses physical memory yang ditempati proses
TT : Terminal yang mengontrol proses
STAT : Field yang menunjukkan status proses
TIME : CPU time yang sedang digunakan
COMMAND : Nama perintah
Pada field STAT yang merupakan status proses dapat digunakan sebagai indikator terhadap suatu proses, sejumlah status tersebut dapat diketaui dari huruf pertama field STAT adalah :
R : actually running or runnable
S : Sleeping (sleeping > 20 seconds)
I : Idle (sleeping < 20 seconds)T : stopH : HaltedP : In page waitD : In disk waitZ : Zombie : In core
W : Swapped out
> : Proses yang telah melampaui soft limit ketetapan memori
Pada huruf ketiga field STAT menunjukkan keterangan apakah proses berjalan dengan altered CPU Schedule, antara lain :
N : Proses berjalan pada prioritas rendah
# : nice (nomor yang lebih tinggi dari 0)
< : Proses berjalan pada prioritas tinggiBeberapa pilihan perintah ps, sebagai berikut :-a : Menampilkan semua proses (termasuk milik user)-c : Menampilkan nama perintah dari environment task_struct-e : Menampilkan environment setelah baris perintah dan “and”-f : Menampilkan “forest” fromat pohon (proses dan subproses)-h : Tidak ada header-j : Jobs format-l : Long format-m : Menampilkan info memori-n : Output memori untuk USER dan WCHAN-r : Hanya proses-proses yang berjalan-s : Format signal-S : Menambah child CPU time dan page fault-t xx : Proses-proses yang hanya diasoasikan dengan ttyxx-u : Format user, memberikan nama user dan waktu mulai-v : format vm (virtual memory)-w : Wide output-x : Menampilakn proses-proses tanpa mengontrol terminal7.3 Menghentikan Proses (Kill)Kadang ada keinginan untuk membunuh atau menghentikan sebuah proses. Suatu alasan yang umum untuk menghentikan proses diantaranya :- Proses terlalu banyak menghabiskan CPU time- Proses berjalan terlalu lama tanpa menghasilkan output yang diharapkan.- Proses memproduksi terlalu banyak output pada layar atau ke sebuah file.- Proses mengunci terminal atau beberapa sesi lain.- Proses menggunakan file-file yang salah baik input maupun output, disebabkan kesalahan operator atau programming yang error.- Proses sudah tidak diperlukan lagi.Sebenarnya untuk menghentikan proses yang tidak berada pada background, cukup dengan menekan . Namun jika proses tersebut bekerja pada background, proses dapat dihentikan dengan perintah kill. Perintah kill bekerja dengan cara mengirim signal ke proses yang sedang berjalan melalui nomer proses yang sudah diketahui. Kill hanya dapat digunakan untuk menghentikan proses dari masing-masing user, hanya superuser saja yang berwenang untuk menghentikan proses user lain.
Format penulisan perintah kill sebagai berikut :
kill [-s signal_name] pid [...]
kill -l [exit_status]
kill -signal_name pid [...]
kill -signal_number pid [...]
Beberpa signal tersebut diantaranya:
1 HUP (hang up)
2 INT (interrupt)
3 QUIT (quit)
6 ABRT (abort)
9 KILL (non-catchable, non-ignorable kill)
14 ALRM (alarm clock)
15 TERM (software termination signal)
Contoh :
$ kill 123
Menghentikan proses dengan PID 123
$ kill -9 1234
Menghentikan dengan paksa proses dengan PID 1234.
# kill -HUP `cat /var/run/inetd.pid`
Mengirimkan hang up signal kepada daemon ined dengan PID seperti yang terseimpan pada /var/run/inetd.pid, dan meminta proses untuk membaca ulang susunan konfigurasi /etc/inetd.conf.
# kill 0
Menghentikan semua proses yang berjalan dalam background.
Jobs control adalah fasilitas yang memungkinkan suatu program dihentikan secara sementara dan kemudian dijalankan kembali. Fasilitas ini dapat dipakai untuk memindahkan program yang sedang berjalan secara background (dilatar belakang) ke foreground (di latar depan) atau sebaliknya. Fasilitas ini meniru fasilitas pada C shell.
Jika seseorang memberikan perintah (script shell, utilitas atau program), perintah tersebut akan menjadi sebuah job, terlepas perrintah itu dijalankan dilatar depan atau belakang.
Jobs control biasanya diaktifkan secara otomatis begitu berada di prompt (shell). Untuk mengetahui fasilitas ini sudah dijalankan atau belum, dapat deketahui dengan perintah :
$ set –o | grep monitor
monitor on
Jika perintah di atas menghasilkan informasi berupa “monitor on” berarti fasilitas job control sudah diaktifkan. Apabila fasilitas tesebut belum aktif, dapat diaktifkan dengan perintah :
$ set -o monitor
$ set -m
Untuk menjalankan perintah di background, perlu akhiran & disetiap perintah yang akan dijalankan.
$find / -name *.c –print > c.out 2> c.error &
Perintah diatas dipakai untuk memperoleh semua file berakhiran *.c dari root (/) danhasilnya ditempatkan ke file c.out. Adapun kalau ada sesuatu kesalahan (misalnya karena tidak diperkanankan membaca direktori tertentu berhubungan dengan ijin akses) kesalahan tersebut direkam ke file c.error. Proses ini dilakukan dibelakang layar, dan diberi nomor job dan identitas proses (PID).
Apabila nomor job adalah satu dan jobs belum berakhir, maka jika diberikan job kedua, maka nomor job tersebut sama dengan 2.
$ du / > du.out 2>1 &
[2] 272
Perintah du digunakan untuk memperoleh blok dari setiap file atau direktori. Setelah nomor job kedua diatas, jika dijalankan satu job lagi, maka :
$ sleep 500 & #tidak melakukan apa-apa selama 500 detik
[3] 273
Untuk melihat status proses dari perintah yang dieksekusi dilatar belakang, dapat digunakan perintah jobs.
$ jobs
[1] Stopped vi file1.txt &
[2] – Running ps –aux &
[3] + Running sleep 500 &
Informasi dibagian kiri menyatakan nomor job. Tanda + sesudah nomor job menyatakan job yang terbaru. Tanda – menyatakan job kedua yang terbaru. Informasi seperti running menyatakan bahwa perintah job sedang dieksekusi (belum selesai). Kemungkinan lain informasi adalah :
Stopped : job sedang berhenti secara sementara (ditangguhkan)
Done : job sudah selesai dikerjakan.
Bagian terkanan menyatakan nama perintah. Pemakai dapat memberikan pilihan –p pada perintah jobs. Pilihan ini akan menyebabkan jobs menampilkan PID dari semua proses yang dieksekusi dilatar belakang.
$ jobs –p
300
302
Artinya ada dua proses di latar belakang dengan PID 300 dan 302. Pilihan (option) –l akan menampilkan informasi seperti jobs tanpa option dan informasi PID (nomor proses)
$ jobs –l
[2] + 300 Running sleep 300 &
[1] – 302 Running sleep 150 &
Job yang berjalan dilatar depan dapat dihentikan dengan menekan tombol . Sebagai contoh, saat menjalankan perintah sleep 500 di latar depan, kemudian menekan tombol , maka proses tersebut akan dihentikan sementara.
$ sleep 500
[1] + Stopped sleep 500
Dengan menggunakan perintah jobs, status proses tersebut diatas dapat diketahui, sebagai berikut :
$ jobs
[1] + Stopped sleep 500
Job yang sedang ditangguhkan dapat diaktifkan kembali dengan cara diaktifkan dilatar belakang dan diaktifkan dilatar depan. Job yang sedang berhenti secara sementara dapat dijalankan kembali dilatar depan dengan cara menjalankan perintah fg. Dengan menjalankan perintah fg maka sleep 500 akan dijalankan di foreground, dan jika setelah di depan ingin ditangguhkan kembali tinggal menjalankan perintah bg.
$ sleep 500

[1] + Stopped sleep 500
$ bg #Eksekusi kelatar belakang
[1] sleep 500
Pada bentuk fg dan bg tanpa argumen, job terbarulah yang diproses. Sedangkan jika %n digunakan, job dengan nomor n yang diproses.
$ jobs
[2] + Running sleep 1000 &
[1] – Running sleep 200 &
$ fg %1
sleep 200 &
Proses yang sedang ditangguhkan ataupun yang sedang berada di latar belakang dapat dimatikan dengan menggunakan perintah kill.
$ kill %1 # job nomor 1 dihapus
[1] – Terminated sleep 200 &
Jika dikehendaki, pemakai dapat menyuruh shell menunggu suatu proses dilatar belakang selesai dieksekusi. Perintah yang diperlukan adalah wait. Perintahnya adalah wait %n, dengan n adalah nomor job dari proses latar belakang yang ditunggu.

Menejemen File di Linux Debian

1.Pengertian Dasar


File system atau manajemen file adalah metode dan struktur data yang digunakan sistem operasi untuk mengatur dan mengorganisir file pada disk atau partisi. File system juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara memberi suatu file system ke dalam disk atau partisi dengan cara melakukan Format.
File system Linux kebanyakan menggunakan ext2 (baca: second extended) atau ext3, file system yang tidak mengalami fragmentasi seperti halnya file system windows (FAT/FAT32). Ext2 juga memiliki system security yang baik dengan menerapkan access permission untuk owner, group owner, dan other.


2.Atribut File


Setiap sistem dalam manajemen file mempunyai sistem atribusi yang berbeda- beda, namun pada dasarnya di linux mempunyai atribut seperti berikut ini:

• Nama: Nama berkas simbolik ini adalah informasi satu-satunya yang disimpan dalam format yang dapat dibaca oleh pengguna.

• Indentifiers: Tanda unik ini yang biasanya merupakan sebuah angka, mengenali berkas didalam sebuah berkas; tidak dapat dibaca oleh peng- guna.

• Tipe: Informasi ini diperlukan untuk sistem-sistem yang mendukung tipe berbeda (misal: .tar.gz pada kompresi, .tex pada dokumen latex).

• Lokasi: Informasi ini adalah sebuah penunjuk pada sebuah device terse- but(misal: harddisk, UFD(usb flashdisk), floppy, DVD rom dll).

• Ukuran: Ukuran dari sebuah berkas (dalam bytes, words, atau, blocks)
dan mungkin ukuran maksimum dalam atribut juga.


• Permission : Informasi yang menentukan siapa yang dapat melakukan read, write, execute, dan lainnya.

• Waktu dan identifikasi pengguna : informasi ini dapat disimpan un- tuk pembuatan berkas, modifikasi terakhir, dan penggunaan terakhir. Data-data ini dapat berguna untuk proteksi, keamanan, dan monitoring pengggunaan.

Inode adalah Informasi yang mengidentifikasikan suatu file secara unik. In- ode mengidentifikasikan lokasi tempat file disimpan, dan karakteristik dari file tersebut. (owner, date, dsb); tetapi nama file tidak disimpan sebagai bagian dari inode. Informasi yang disimpan dalam inode antara lain :


Izin Akses File (File Permission)
Tidak seperti halnya sistem operasi DOS, setiap file Linux memiliki status izin akses (file permission). Maksudnya setiap file memiliki informasi untuk mengatur siapa yang berhak untuk membaca, menjalankan atau men- gubah file tersebut.
Linux merupakan sistem operasi multiuser dan umumnya digunakan se- bagai sistem operasi untuk jaringan. Oleh karena itu untuk menjaga privasi file, keamanan serta integritas sistem agar tidak terganggu, izin akses file di- gunakan untuk melindungi file/sistem dari orang lain yang tidak mempunyai hak.
Bayangkan tanpa adanya fasilitas ini maka mail anda akan dapat di baca oleh seluruh orang yang terhubung dalam jaringan yang sama. File-file anda tidak akan dapat dijamin keamanannya dari penghapusan dan pencurian oleh orang lain. Oleh karena itu penting bagi anda untuk memahami izin akses suatu file.
Perhatikan file di bawah ini :

darkstar:~$ ls –l filetes
-rw-r- -r- - l juli users 121 Dec 17 12:12 filetes


Notasi yang dicetak tebal-miring itulah yang menyatakan izin akses file.
- rw- r-- r-- 1 juli users
1 2 3 4


Gambar 2.1: Izin akses file

Perhatikan bahwa notasi di atas terdiri atas sepuluh digit yang dapat dikelompokkan sebagai berikut:
Notasi pertama menyatakan tipe dari file tersebut. Tanda dash (-) meny- atakan bahwa file tersebut adalah file biasa. Untuk direktori maka lokasi terse- but akan berisi karakter d, karakter l untuk link file, dan beberapa tipe lain yang tidak dibahas pada bab ini.
Notasi ke dua yang terdiri dari tiga karakter menunjukkan status file untuk pemilik (owner) dalam hal ini adalah juli. Adapun tiga karakter tersebut mengikuti aturan berikut:

• Karakter pertama untuk menentukan hak baca dari pemilik, karakter r berarti pemilik memiliki hak baca terhadap file tersebut sedangkan bila berisi karakter dash (-) berarti pemilik file tidak memiliki hak baca terhadap file tersebut.

• Karakter kedua untuk menunjukkan hak tulis terhadap file tersebut, dalam hal ini user tersebut memiliki hak untuk menulis atau mengubah file tersebut.

• Karakter ketiga untuk menentukan apakah file tersebut dapat dieksekusi oleh pemilik. Bila file tersebut dapat dieksekusi maka digit tersebut akan berisi karakter x.

Notasi ketiga juga terdiri atas tiga karakter, dimana tiga karakter ini menentukan izin akses file untuk seluruh user yang memiliki grup yang sama dengan user tersebut. Dalam hal ini grup dari pemilik file tersebut adalah users. Cara memahami tiga karakter izin grup ini pun sama dengan izin untuk pemilik file yang sudah dijelaskan sebelumnya. Dalam hal ini seluruh user yang termasuk dalam grup user hanya memiliki hak baca terhadap file tersebut.
Tiga karakter terakhir (notasi ketiga) digunakan untuk menentukan izin file untuk user lain yang tidak termasuk dalam grup tersebut (diistilahkan sebagai others). Dalam hal ini others hanya memiliki hak baca dan tidak hak tulis ataupun hak menjalankannya.
Secara umum file tersebut hanya dapat dibaca dan ditulis oleh pemilik yaitu juli, dan user lain yang berada satu grup (users) serta orang lain hanya dapat membaca file tersebut.

3.Operasi File


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:

• Membuat Berkas (Create):
Kita perlu dua langkah untuk membuat suatu berkas. Pertama, kita harus temukan tempat didalam sistem berkas. Kedua, sebuah entri un- tuk berkas yang baru harus dibuat dalam direktori. Entri dalam direktori tersebut merekam nama dari berkas dan lokasinya dalam sistem berkas.

• Menulis sebuah berkas (Write) :
Untuk menulis sebuah berkas, kita membuat sebuah system call yang menyebutkan nama berkas dan informasi yang akan ditulis kedalam berkas.

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

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

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

• Menghapus Sebagian Isi Berkas (Truncate):
User mungkin mau menghapus isi dari sebuah berkas, namun menyim- pan 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.


4.Struktur Direktori


Beberapa sistem komputer menyimpan banyak sekali berkas-berkas dalam disk, sehingga diperlukan suatu struktur pengorganisasian data agar lebih mu- dah diatur.
Direktori atau folder merupakan suatu entitas dalam sebuah berkas sistem yang mengandung berkas atau mengandung direktori lain. Sebenarnya, pada hakikatnya berkas atau berkas terdapat dalam disk, direktori hanya menyedi- akan link atau menunjuk pada berkas yang ada.
Dengan demikian, dapat disimpulkan bahwa direktori digunakan sebagai sarana untuk pengorganisasian berkas pada suatu sistem komputer. Dengan direktori, berkas-berkas dapat dikelompokkan. Berkas tersebut dapat berisi berkas ataupun direktori lain, sehingga direktori dapat juga disebut sebagai
berkas istimewa.
















Gambar 2.2: File Organization


Pada atribut, perbedaan pada direktori dan atribut pada berkas yaitu di- rektori tidak mempunyai tipe, sedangkan berkas mempunyai banyak tipe.


Direktori pada Unix

Struktur direktori yang digunakan dalam Unix adalah struktur direktori tradisional. Seperti yang terdapat dalam gambar direktori entri dalam Unix, setiap entri berisi nama berkas dan nomor inode yang bersangkutan. Semua informasi dari jenis, kapasitas, waktu dan kepemilikan, serta block disk yang berisi inode. Sistem Unix terkadang mempunyai penampakan yang berbe- da,tetapi pada beberapa kasus, direktori entri biasanya hanya string ASCII dan nomor inode.

Gambar 2.3: Direktori Unix
Saat berkas dibuka, sistem berkas harus mengambil nama berkas dan men- galokasikan block disk yang bersangkutan, sebagai contoh, nama path /usr/ast/ mbox dicari, dan kita menggunakan Unix sebagai contoh, tetapi algoritma yang digunakan secara dasar sama dengan semua hirarki sistem direktori sis- tem.
Pertama, sistem berkas mengalokasikan direktori root. Dalam Unix inode yang bersangkutan ditempatkan dalam tempat yang sudah tertentu dalam disk. Kemudian, Unix melihat komponen pertama dari path, usr dalam direk- tori root menemukan nomor inode dari direktori /usr. Mengalokasikan sebuah nomor inode adalah secara straight-forward, sejak setiap inode mempunyai lokasi yang tetap dalam disk. Dari inode ini, sistem mengalokasikan direk- tori untuk /usr dan melihat komponen berikutnya, dst. Saat dia menemukan entri untuk ast, dia sudah mempunyai inode untuk direktori /ust/ast. Dari inode ini, dia dapat menemukan direktorinya dan melihat mbox. Inode un- tuk berkas ini kemudian dibaca ke dalam memori dan disimpan disana sampai berkas tersebut ditutup.
Nama path dilihat dengan cara yang relatif sama dengan yang absolut.


Dimulai dari direktori yang bekerja sebagai pengganti root directory. Seti- ap direktori mempunyai entri untuk. dan ”..” yang dimasukkan ke dalam saat direktori dibuat. Entri ”.” mempunyai nomor inode yang menunjuk ke direktori di atasnya/orangtua (parent ), ”.” kemudian melihat ../dick/prog.c hanya melihat tanda ”..” dalam direktori yang bekerja, dengan menemukan nomor inode dalam direktori di atasnya/parent dan mencari direktori disk. Tidak ada mekanisme spesial yang dibutukan untuk mengatasi masalah nama ini. Sejauh masih di dalam sistem direktori, mereka hanya merupakan ASCII string yang biasa. Dari nomor inode ini kita memperoleh inode yang meru- pakan suatu struktur data yang menyimpan informasi berkas. Penghapusan berkas dilakukan dengan cara melepas inode. Inode ini berisi informasi tentang
:
• tipe
• ukuran
• waktu
• owner
• blok-blok disk


Gambar 2.4: Bagaimana file di UNIX ditampilkan

5.Konsep Mounting
5.1Mounting
Mounting adalah proses mengkaitkan sebuah sistem berkas yang baru dite- mukan 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 dari filesystem tables) biasanya akan di-mount saat komputer baru dimulai dinyalakan, tapi dapat juga me-mount sistem berkas tambahan dengan menggunakan perintah:
mount[nama_piranti]
Atau dapat juga dengan menambahkan secara manual mount point ke berkas /etc/fstab. Daftar sistem berkas yang di-mount dapat dilihat kapan saja dengan menggunakan perintah mount. Karena izinnya hanya diatur read- only di berkas fstab, maka tidak perlu khwatir pengguna lain kana menco- ba 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 tersebt sebelum membukanya di editor teks untuk diutak-atik. Pada linux, isi sebuah berkas dibuat nyata tersedia dengan mengabungkan sistem berkas ke dalam sebuah sistem direktori melalui sebuah proses yang disebut mounting.

5.2 Mounting Overview
Mounting membuat sistem berkas, direktori, piranti dan berkas lainnya menjadi dapat digunakan digunakan di lokasi-lokasi tertentu, sehingga memu- ngkinkan direktori itu menjadi dapat diakses. Perintah mount mengintruk- sikan sistem operasi untuk mengkaitkan sebuah sistem berkas ke sebuah direk- tori khusus.


5.3 Mounting point
Mount point adalah sebuah direktori dimana berkas baru menjadi da- pat diakses. Untuk me-mount suatu berkas atau direktori, titik mountnya harus berupa direktori,dan untuk me-mount sebuah berkas,mount pointnya juga harus berupa berkas.
Ada dua jenis mounting, yaitu remote mounting dan mounting lokal. Re- mote mounting dilakukan dengan sistem remote dimana data dikirimkan melalui jalur komunikasi. Network sistem berkas seperti Network File System (NFS), menharuskan agar file diekspor dulu sebelum dimount. Mounting lokal di- lakukan di sistem lokal.
Biasanya, sebuah sistem berkas, direktori, atau sebuah berkas di-mount ke sebuah mount point yang kosong, tapi biasanya hal tersebut tidak diperlukan. Jika sebuah berkas atau direktori yang akan menjadi mount point berisi da- ta, data tersebut tidak akan dapat diakses selama direktori/berkas tersebut sedang dijadikan mount point oleh berkas atau direktori lain. Sebagai ak- ibatnya, berkas yang di-mount akan menimpa apa yang sebelumnya ada di direktori/berkas tersebut. Data asli dari direktori itu dapat diakses kembali bila proses mounting sudah selesai.
Saat sebuah sistem berkas di-mount ke sebuah direktori, izin direktori root dari berkas yang di-mount akan mengambil alih izin dari mount point. Penge- cualiannya adalah pada direktori induk akan memiliki atribut .. (double dot). Agar sistem operasi dapat mengakses sistem berkas yang baru, direktori induk dari mount point harus tersedia.

Gambar 2.5: Mount Point


5.4 Mounting Sistem Berkas, Direktori, dan Berkas
Ada dua jenis mounting: remote mounting dan mounting lokal. Remote mounting dilakukan dengan sistem remote dimana data dikirimkan melalui jalur telekomunikasi. Remote sistem berkas seperti Network File Systems (NFS), mengharuskan agar file diekspor dulu sebelum di-mount. mounting lokal dilakukan di sistem lokal.
Tiap-tiap sistem berkas berhubungan dengan piranti yang berbeda. Se- belum kita menggunakan sebuah sistem berkas, sistem berkas tersebut harus dihubungkan dengan struktur direktori yang ada (dapat root atau berkas yang lain yang sudah tersambung). Sebagai contoh, kita dapat me-mount dari
/home/server/database ke mount point yang dispesifikasikan sebagai /home/user1,
/home/user2, and /home/user3 :

• /home/server/database /home/user1

• /home/server/database /home/user2

• /home/server/database /home/user3

Manajemen Memori di Linux Debian

Manajemen Memori Fisik
Bagian ini menjelaskan bagaimana linux menangani memori dalam sistem. Memori manajemen 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 dil
Manajemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses.
3. Perlindungan
Memori manajemen 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 mengijinkan 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.
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.
Penerjemahan alamat di antara virtual dan memori fisik dilakukan oleh CPU menggunakan tabel page untuk proses x dan proses y. Ini menunjukkan virtial PFN 0 dari proses x dimap ke memori fisik PFN 1. Setiap anggota tabel page mengandung informasi berikut ini:
1. Virtual PFN
2. PFN fisik
3. informasi akses page dari page tersebut
Untuk menerjemahkan alamat virtual ke alamat fisik, pertama-tama CPU harus menangani alamat virtual PFN dan offsetnya di virtual page. CPU mencari tabel page proses dan mancari anggota yang sesuai degan virtual PFN. Ini memberikan PFN fisik yang dicari. CPU kemudian mengambil PFN fisik dan mengalikannya dengan besar page untuk mendapat alamat basis page tersebut di dalam memori fisik. Terakhir, CPU menambahkan offset ke instruksi atau data yang dibutuhkan. Dengan cara ini, memori virtual dapat dimap ke page fisik dengan urutan yang teracak.
Demand Paging
Cara untuk menghemat memori fisik adalah dengan hanya meload page virtual yang sedang digunakan oleh program yang sedang dieksekusi. Tehnik dimana hanya meload page virtual ke memori hanya ketika program dijalankan disebut demand paging.
Ketika proses mencoba mengakses alamat virtual yang tidak ada di dalam memori, CPU tidak dapat menemukan anggota tabel page. Contohnya, dalam gambar, tidak ada anggota tabel page untuk proses x untuk virtual PFN 2 dan jika proses x ingin membaca alamat dari virtual PFN 2, CPU tidak dapat menterjemahkan alamat ke alamat fisik. Saat ini CPU bergantung pada sistem operasi untuk menangani masalah ini. CPU menginformasikan kepada sistem operasi bahwa page fault telah terjadi, dan sistem operasi membuat proses menunggu selama sistem operasi menagani masalah ini.
CPU harus membawa page yang benar ke memori dari image di disk. Akses disk membutuhkan waktu yang sangat lama dan proses harus menunggu sampai page selesai diambil. Jika ada proses lain yang dapat dijalankan, maka sistem operai akan memilihnya untuk kemudian dijalankan. page yang diambil kemudian dituliskan di dalam page fisik yang masih kosong dan anggota dari virtual PFN ditambahkan dalam tabel page proses. Proses kemudian dimulai lagi pada tempat dimana page fault terjadi. Saat ini terjadi pengaksesan memori virtual, CPU membuat penerjemahan dan kemudian proses dijalankan kembali.
Demand paging terjadi saat sistem sedang sibuk atau saat image pertama kali diload ke memori. Mekanisme ini berarti sebuah proses dapat mengeksekusi image dimana hanya sebagian dari image tersebut terdapat dalam memori fisik.
Swaping
Jika memori fisik tiba-tiba habis dan proses ingin memindahkan sebuah page ke memori, sistem operasi harus memutuskan apa yang harus dilakukan. Sistem operasi harus adil dalam mambagi page fisik dalam sistem diantara proses yang ada, bisa juga sistem operasi menghapus satu atau lebih page dari memori untuk membuat ruang untuk page baru yang dibawa ke memori. Cara page virtual dipilih dari memori fisik berpengaruh pada efisiensi sistem.
Linux menggunakan tehnik page aging agar adil dalam memilih page yang akan dihapus dari sistem. Ini berarti setiap page memiliki usia sesuai dengan berapa sering page itu diakses. Semakin sering sebuah page diakses, semakin muda page tersebut. Page yang tua adalah kandidat untuk diswap.
Pengaksesan memori virtual bersama
Memori virtual mempermudah proses untuk berbagi memori saat semua akses ke memori menggunakan tabel page. Proses yang akan berbagi memori virtual yang sama, page fisik yang sama direference oleh banyak proses. Tabel page untuk setiap proses mengandung anggota page table yang mempunyai PFN fisik yang sama.
Efisiensi
Desainer dari CPU dan sistem operasi berusaha meningkatkan kinerja dari sistem. Disamping membuat prosesor, memori semakin cepat, jalan terbaik adalah manggunakan cache. Berikut ini adalah beberapa cache dalam manajemen memori di linux:
1. Page Cache
Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache.
2. Buffer Cache
Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer.
3. Swap Cache
Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu.
Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan.
Load dan Eksekusi Program
1. Penempatan program dalam memori
Linux membuat tabel-tabel fungsi untuk loading program, memberikan kesempatan kepada setiap fungsi untuk meload file yang diberikan saat sistem call exec dijalankan. Pertama-tama file binari dari page ditempatkan pada memori virtual. Hanya pada saat program mencoba mengakses page yang telah diberikan terjadi page fault, maka page akan diload ke memori fisik.
2. Linking statis dan linking dinamis
a. Linking statis:
librari-librari yang digunakan oleh program ditaruh secara langsung dalam file binari yang dapat dieksekusi. Kerugian dari linking statis adalah setiap program harus mengandung kopi library sistem yang umum.
b. Linking dinamis:
hanya sekali meload librari sistem menuju memori. Linking dinamis lebih efisien dalam hal memori fisik dan ruang disk.

Sejarah Debian

Debian pertama kali diperkenalkan oleh Ian Murdock, seorang mahasiswa dari Universitas Purdue, Amerika Serikat, pada tanggal 16 Agustus 1993. Nama Debian berasal dari kombinasi nama Ian dengan mantan-kekasihnya Debra Lynn: Deb dan Ian.
Pada awalnya, Ian memulainya dengan memodifikasi distribusi SLS (Softlanding Linux System). Namun, ia tidak puas dengan SLS yang telah dimodifikasi olehnya sehingga ia berpendapat bahwa lebih baik membangun sistem (distribusi Linux) dari nol (Dalam hal ini, Patrick Volkerding juga berusaha memodifikasi SLS. Ia berhasil dan distribusinya dikenal sebagai "Slackware").
Proyek Debian tumbuh lambat pada awalnya dan merilis versi 0.9x di tahun 1994 dan 1995. Pengalihan arsitektur ke selain i386 dimulai ditahun 1995. Versi 1.x dimulai tahun 1996.
Ditahun 1996, Bruce Perens menggantikan Ian Murdoch sebagai Pemimpin Proyek. Dalam tahun yang sama pengembang debian Ean Schuessler, berinisiatif untuk membentuk Debian Social Contract dan Debian Free Software Guidelines, memberikan standar dasar komitmen untuk pengembangan distribusi debian. Dia juga membentuk organisasi "Software in Public Interest" untuk menaungi debian secara legal dan hukum.
Di akhir tahun 2000, proyek debian melakukan perubahan dalam archive dan managemen rilis. Serta di tahun yang sama para pengembang memulai konferensi dan workshop tahunan "debconf".
Di April 8, 2007, Debian GNU/Linux 4.0 dirilis dengan nama kode "Etch". Rilis versi terbaru Debian, 2009, diberi nama kode "Lenny". deb adalah perpanjangan dari paket perangkat lunak Debian format dan nama yang paling sering digunakan untuk paket-paket binari seperti itu.
Paket debian adalah standar Unix pada arsip yang mencakup dua gzip, tar bzipped atau lzmaed arsip: salah satu yang memegang kendali informasi dan lain yang berisi data. Program kanonik untuk menangani paket-paket tersebut adalah dpkg, paling sering melalui apt/aptitude.
Beberapa paket Debian inti tersedia sebagai udebs ("mikro deb"), dan biasanya hanya digunakan untuk bootstrap instalasi Linux Debian. Meskipun file tersebut menggunakan ekstensi nama file udeb, mereka mematuhi spesifikasi struktur yang sama seperti biasa deb. Namun, tidak seperti rekan-rekan mereka deb, hanya berisi paket-paket udeb fungsional penting file. Secara khusus, file dokumentasi biasanya dihilangkan. udeb paket tidak dapat diinstal pada sistem Debian standar.
Paket debian juga digunakan dalam distribusi berbasis pada Debian, seperti Ubuntu dan lain-lain. Saat ini telah terdapat puluhan distribusi Linux yang berbasis kepada debian, salah satu yang paling menonjol dan menjadi fenomena adalah Ubuntu

Rabu, 30 Maret 2011

Menejemen Proses Dilinux Debian

Kernel Linux mengurusi pengelolaan perintah I/O, pengelolaan RAM, dan proses. Pada level terbawah kernel, terdapat fungsi-fungsi untuk mengendalikan penghentian proses.
Integrity check: membackup code
Sebagai penangkal, Microsoft menggunakan Kernel Mode Code Signature (KMCS) dalam Vista, yang hanya mengijinkan driver perangkat dengan digital signature. Kebanyakan driver mendapatkan signature dari Windows Hardware Quality Lab (WHQL), tetapi pengembang dapat memberi signature sendiri code buatannya.
Untuk itu dibutuhkan sebuah sertifikat yang berlaku. Author melengkapi code secara digital dengan sebuah nilai Hash (sidik jari), memberi signature dengan sebuah kunci pribadi dan menambahkan sertifikat serta Hash terenkripsi. Pada upaya load sebuah driver, Windows mendekripsi Hash yang ada dalam code de¬ngan kunci dalam sertifikat dan memeriksa, apakah hash cocok dengan code program.
Windows juga memeriksa, apakah sertifikat yang bersangkutan terkait dengan salah satu pusat sertifikasi utama yang terintegrasi dalam loader dan kernel Windows. Vista mode 32 Bit memang memeriksa driver signature, namun berbeda dengan modus 64 Bit yang mengijinkan driver tanpa signature di-load.
Secara umum, modul kernel dapat diberi digital signature di bawah Linux dan MacOS X. Teori ini juga berlaku bagi driver, tetapi dalam sistem operasi tidak ada check routine untuk itu.

Selasa, 22 Maret 2011

Debian

Debian adalah sistem operasi bebas yang dikembangkan secara terbuka oleh banyak programer sukarela(pengembang Debian) yang tergabung dalam Proyek Debian. Sistem operasi Debian adalah gabungan dari perangkat lunak yang dikembangkan dengan lisensi GNU, dan utamanya menggunakan kernel Linux, sehingga populer dengan nama Debian GNU/Linux. Sistem operasi Debian yang menggunakan kernel Linux merupakan salah satu distro Linux yang populer dengan kestabilannya. Dengan memperhitungkan distro berbasis Debian, seperti Ubuntu, Xubuntu, Knoppix, Mint, dan sebagainya, maka Debian merupakan distro Linux yang paling banyak digunakan di dunia.

Sejarah

Debian pertama kali diperkenalkan oleh Ian Murdoch, seorang mahasiswa dari Universitas Purdue, Amerika Serikat, pada tanggal 16 Agustus 1993, Nama Debian berasal dari kombinasi nama mantan-kekasihnya ra dan namanya sendiri Murdoch.

Pada awalnya, Ian memulainya dengan memodifikasi distribusi SLS (Softlanding Linux System). Namun, ia tidak puas dengan SLS yang telah dimodifikasi olehnya sehingga ia berpendapat bahwa lebih baik membangun sistem (distribusi Linux) dari nol (Dalam hal ini, Patrick Volkerding juga berusaha memodifikasi SLS. Ia berhasil dan distribusinya dikenal sebagai "Slackware").

Proyek Debian tumbuh lambat pada awalnya dan merilis versi 0.9x di tahun 1994 dan 1995. Pengalihan arsitektur ke selain i386 dimulai ditahun 1995. Versi 1.x dimulai tahun 1996.

Ditahun 1996, Bruce Perens menggantikan Ian Murdoch sebagai Pemimpin Proyek. Dalam tahun yang sama pengembang debian Ean Schuessler, berinisiatif untuk membentuk Debian Social Contract dan Debian Free Software Guidelines, memberikan standar dasar komitmen untuk pengembangan distribusi debian. Dia juga membentuk organisasi "Software in Public Interest" untuk menaungi debian secara legal dan hukum.

Di akhir tahun 2000, proyek debian melakukan perubahan dalam archive dan managemen rilis. Serta di tahun yang sama para pengembang memulai konferensi dan workshop tahunan "debconf".

Konsep Manajemen Proses Disistem Operasi

Sistem Operasi - Proses
Terdapat beberapa definisi mengenai proses, antara lain :
Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi. Dalam pengertian lain, proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.
Keterkaitan hubungan antara proses dengan sistem operasi terlihat dari cara sistem operasi menjalankan/ mengeksekusi proses. Sistem operasi mengeksekusi proses dengan dua cara yaitu batch system yang mengeksekusi jobs dan time-shared system yang mengatur pengeksekusian program pengguna (user) atau tasks. Bahkan pada sistem pengguna tunggal (single user) seperti Microsoft Windows dan Mac OS, seorang pengguna mampu menjalankan beberapa program pada saat yang sama, seperti Spread Sheet, Web Browser, dan Web Email. Bahkan jika pengguna hanya menggunakan satu program saja pada satu waktu, sistem operasi perlu mendukung program internalnya sendiri, seperti manajemen memori. Dengan kata lain, semua aktivitas tersebut adalah identik sehingga kita menyebutnya ''proses''.
Program itu sendiri bukanlah sebuah proses. Program merupakan sebuah entitas pasif; serupa isi dari sebuah berkas didalam disket. Sedangkan sebuah proses adalah suatu entitas aktif, dengan sebuah program counter yang menyimpan alamat instruksi yang selanjutnya akan dieksekusi dan seperangkat sumber daya (resource) yang dibutuhkan agar sebuah proses dapat dieksekusi.
Suatu proses mungkin adalah satu dari keadaan berikut ini :
• New, Proses sedang diciptakan
• Running, Instruksi sedang dikerjakan
• Waiting, Proses sedang menunggu kejadian untuk terjadi
• Ready, Proses sedang menunggu untuk instruksi selanjutnya
• Terminated, Proses telah selesai


Dalam pengendalian antar proses, sistem operasi menggunakan metode :

• Saling melanjutkan (interleave), Sistem operasi harus dapat kembali melanjutkan proses setelah melayani proses lain.
• Kebijaksaan tertentu, Sistem operasi harus mengalokasikan sumber daya ke proses berdasar prioritasnya.
• Komunikasi antar proses dan penciptaan proses, Sistem operasi harus mendukung komunikasi dan penciptaan antar proses (menstrukturkan aplikasi).
• Pada sistem dengan banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap eksekusinya. Proses mengalami beragam state (ready, running, blocked) selama siklus hidupnya sebelum berakhir dan keluar dari sistem. Sistem operasi harus dapat mengetahui state masing-masing proses dan merekam semua perubahan yang terjadi secara dinamis. Informasi tersebut digunakan untuk kegiatan penjadwalan dan memutuskan alokasi sumber daya.
Dalam suatu proses terjadi beberapa operasi yaitu :
• Penciptaan Proses
• Penghancuran Proses
• Penundaan Proses
• Pelanjutan Proses
• Pengubahan Proses
• Memblok Proses
• Membangunkan Proses
• Menjadwalkan Proses
• Memungkinkan Proses bekomunikasi dengan proses lain






Proses Control Blok

Setiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) - juga disebut sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 10.2, Process Control Block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini:

1. Status Proses. Status new, ready, running, waiting, halted, dan juga banyak lagi.

2. Program Counter. Suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi
untuk proses ini.

3. CPU register. Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes register, ditambah code information pada kondisi apa pun. Beserta dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.

4. Informasi manajemen memori. Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.

5. Informasi pencatatan. Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.

6. Informasi status M/K. Informasi termasuk daftar dari perangkat M/K yang di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang diakses dan banyak lagi. PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses yang satu dengan yang lain. baru sehingga semua proses ini pada akhirnya membentuk pohon proses. Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat M/K. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi. Di dalam UNIX daftar dari proses yang sedang aktif berjalan bisa didapatkan dengan menggunakan perintah ps, contoh ps -el. Ada dua kemungkinan bagaimana jalannya (running) proses induk dan turunan. Proses-proses tersebut berjalan secara konkuren atau proses induk menunggu sampai beberapa/seluruh proses turunannya selesai berjalan. Juga terdapat dua kemungkinan dalam pemberian ruang alamat (address space) proses yang baru. Proses turunan dapat merupakan duplikasi.

Bila UNIX menggunakan kemungkinan pertama (proses baru merupakan duplikasi induknya) maka sistem operasi DEC VMS menggunakan kemungkinan kedua dalam pembuatan proses baru yaitu setiap proses baru memiliki program yang di-load ke ruang alamatnya dan melaksanakan program tersebut. Sedangkan sistem operasi Microsoft Windows NT mendukung dua kemungkinan tersebut. Ruang alamat proses induk dapat diduplikasi atau proses induk meminta sistem operasi untuk me-load program yang akan dijalankan proses baru ke ruang alamatnya.
Diagram state lanjut

Penundaan (suspend) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak.

Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Untuk jangka panjang, sumber daya-sumber daya proses dibebaskan (dilucuti). Keputusan membebaskan sumber daya-sumber daya bergantung sifat masing-masing sumber daya. Memori utama seharusnya segera dibebaskan begitu proses tertunda agar dapat dimanfaatkan proses lain. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.

Operasi suspend dan resume penting, sebab :

• Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses
dapat disuspend agar diresume setelah masalah diselesaikan. Contoh :P ada proses , bila tiba-tiba kerta habis maka proses disuspend. Setelah kertas dimasukkan kembali, proses pun dapat diresume.
• Pemakai yang ragu/khawatir mengenai hasil prose dapat mensuspend proses (bukan membuang (abort) proses). Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat disuspend) proses yang disuspend.
• Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat disuspend dan diresume saat beban kembali ke tingkat normal.

Dua state baru dimasukkan sehingga membentuk diagram 5 state, yaitu :

• Suspended ready
• Suspended blocked

Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.

• Pada sistem monoprocessor, proses running dapat mensuspend dirinya sendiri karena tak ada proses lain yang juga running yang dapat memerintahkan suspend.
• Pada sistem multiprocessor, proses running dapat disuspend proses running lain pada pemroses berbeda. Proses ready hanya dapat di suspend oleh proses lain

Senin, 14 Maret 2011

Sejarah Dan Perkembangan Linux

Nama Linux merupakan kombinasi unik antara nama penciptanya dan nama sistem operasi yang menjadi targetnya (UNIX). Semuanya berawal dari sebuah sistem operasi bernama Minix. Minix dibuat oleh Profesor Andrew Tanenbaum. Minix adalah sistem operasi mirip UNIX yang bekerja pada PC.

Torvald adalah salah seorang mahasiswa di Universitas Helsinki yang menggunakan Minix. Walaupun cukup bagus, ia belum menganggap Minix memadai.

Kemudian pada tahun 1991 ia membuat sistem operasi yang merupakan clone UNIX, yang diberi nama Linux. Seperti halnya Minix, Linux tidak menggunakan kode apa pun dari vendor UNIX komersial, sehingga Torvalds mendistribusikan linux di internet secara bebas dan gratis.

Pada Oktober 5 1991, Torvalds mengeposkan sistem operasinya di newsgroup comp.os.minix. Ia mengumumkan bahwa source code Linux tersedia dan meminta bantuan programmer-programmer lain untuk ikut mengembangkannya. Ketika itu

Linux masih setengah matang, sistem operasi ini hanya bisa menjalankan sedikit perintah UNIX, seperti bash, gcc dan gnu-make. Saat Linux 1.0 diluncurkan pada 1994, sistem operasi ini telah cukup stabil dan memiliki banyak feature, seperti preemptive multitasking (kemampuan untuk membagi sumber daya CPU untuk banyak aplikasi) dan symmetric multiprocessing (kemampuan untuk membagi tugas di antara banyak CPU). Linux bahkan memiliki maskotnya sendiri yang oleh torvalds dijelaskan sebagai “seekor penguin yang menggemaskan dan ramah, yang kekenyangan setelah makan banyak ikan hering”.

Pada 1996, tim pengembangan Linux yang ada diseluruh dunia mulai memberikan hasilnya. Tahun itu mereka telah membuat versi Linux untuk sejumlah versi hardware, dari Atari ST sampai Macintosh.

Linux terus berkembang pesat, utamanya karena ada sejumlah distributor (seperti RedHat, Caldera, dsb) yang berkompetisi untuk berebut pangsa pasar. Oleh karena itu dibentuk kelompok bernama Linux Standard Base. Kelompok ini bekerja untuk memastikan bahwa beragam distribusi Linux yang ada tetap bisa menjalankan

Aplikasi yang sama dan saling berinteroperasi. Saat ini ada tujuh distribusi Linux paling terkenal, yaitu :
RedHat Linux, distributor paling populer di AS dan salah satu yang paling mudah digunakan.
Mandrake Linux, distributor yang menambahkan update dan patch untuk RedHat Linux.
Caldera Open Linux, distibrusi Linux dengan instalasi dan lingkungan pengguna berbasis grafis yang bagus.
Suse Linux, distribusi Linux paling populer di Eropa yang juga menyediakan perangkat instalasi dan panduan berbahasa Indonesia.
Slackware Linux.
Debian GNU/Linux.
TurboLinux, distribusi Linux paling populer di Asia yang menyediakan dukungan untuk set karakter khusus Asia.
Catatan :
Distributor Linux masih banyak lagi. Yang mana yang terbaik tergantung dari kenyamanan pengguna. Masing-masing mempunyai kelebihan dan kelemahan sendiri.

Kemampuan LINUX
• Multiuser
• Multiprocessor
• Multitasking, memungkinkannya program-program berjalan bersamaan(background)
• MultiThreading, dapat menciptakan subproses dengan cara efisien
• Pembelokkan I/O, Pipe dan Filter
• Local dan Network File System
• Security, login dengan password, ownership, group
• X-Window System

Sejarah Dan Perkembangan Mac Os

Siapa yang tidak tahu dengan APPle ,Apple Computer (sekarang dikenal sebagai Apple, Inc) adalah kekuatan utama dalam revolusi Personal Computer (PC) yang berlangsung di tahun 1970-an dan’80s. Dan bahkan revolusi itu terus menerus berlangsung hingga kini berkat inovasi yang terus-menerus dilakukan oleh pihak pengembang Apple. Namun tahukah Anda, Apple pernah mengalami kebangkrutan, atau hal hal lain sepanjang karir gemilang Apple inc.

Pada tahun 1976, ketika bekerja pada perusahaan komputer temannya yang memproduksi Video TeleType Terminal (VTT), Wozniak mulai menggabungkan desain VTT dengan desain komputer yang sudah dia buat sebelumnya, terutama dengan menggantikan panel layar lampu kedip dengan layar video.

Kemudian dia mencoba untuk memperlihatkan desain barunya itu kepada perusahaan Hewlett-Packard (HP), tapi saat itu pihak HP mengira itu barang rongsokan yang tidak ada gunanya, dan bahkan saat itu Wozniak terus-terusan diejek Disaat Wozniak merasa tidak berguna, Steve Jobs mencoba untuk menghibur dan meyakinkan Wozniak bahwa mereka berdua bisa saja membuat perusahaan komputer sendiri untuk mengembangkan desain Wozniak itu. Akhirnya mereka sepakat untuk membuat perusahaan sendiri, dan Steve Jobs mengusulkan untuk memberi nama komputer pertamanya dengan sebutan Apple.

Pada bulan Agustus 1976, Wozniak melihat sebuah pameran layar berwarna yang saat itu disebut the Dazzler, dan saat itu Wozniak sangat terobsesi untuk menyempurnakan komputer Apple dengan menambahkan layar berwarna. Pada saat yang sama, dia juga ingin menyederhanakan arsitektur memori komputer Apple menjadi lebih sederhana namun tidak mengurangi performa, dan hal ini menandai pertama kali dibuatnya prosesor yang memorinya dibagi (share) dengan memori video.

Komputer Apple yang pertama resmi dibuat dan dirakit di garasi di rumah orang tua Steve Jobs. Steve Jobs mentargetkan menjual komputernya itu untuk para penggemar komputer yang sudah ada. Programnya dioperasikan dengan menggunakan pita kaset biasa. Pada saat itu sudah ada software utuk pemrograman, yaitu BASIC, tetapi ketika dicoba dijalankan pada komputer Apple tetapi gagal, kemudian Wozniak membuat sortware pemrograman sendiri. Pada saat pertama kali menjual komputer Apple, mereka menggunakan slogan "Byte into Apple" bisa mempunyai dua arti, pertama yaitu "Makanlah Buah Apel, tetapi arti lainnya adalah "Silahkan Coba Komputer Apple". Tetapi bisnis tidak langsung berjalan lancar. Para penggemar komputer saat itu lebih tertarik kepada produk "the Altair" dan merk-merk yang lainnya

Pada tahun 1976, Steve Jobs memutuskan untuk melebarkan sayap perusahaan, lalu dia mengontak beberapa pengusaha lokal. Setelah beberapa lama akhirnya dia berhasil memikat seorang pengusaha bernama Armas Clifford markkula yang bersedia memberikan pinjaman uang dari bank sebesar $ 250.000 untuk memenuhi angan-angan Steve Jobs dan Stephan Wozniak membuat perusahaan komputer yang lebih besar dan akan memproduksi Apple II. Sejak saat itulah pertama kali Perusahaan Apple Inc. resmi berdiri, tepatnya tanggal 3 Januari 1977.

Perusahaan baru yang dibentuk Jobs dan Wozniak kemudian pindah dari garasi rumah Jobs ke markas barunya di Cupertino, dan mulailah tantangan untuk menjalankan perusahaan dengan sebaik-baiknya. Mereka harus memikirkan untuk mencari peluang untuk menjual komputer personal kepada para pengguna komputer yang sudah lebih dulu menggunakan komputer merk lain. Akhirnya mereka mulai dengan strategi mempermudah cara kerja komputer menjadi semudah mungkin dan mengotomatisasikan aplikasi-aplikasi yang selama ini dilakukan secara manual.

Jobs memprakarsai penggunaan bahan plastik sebagai bahan utama cangkang komputer (casing) dan langsung digunakan pada peluncuran pertama komputer Aplle II, karena dia mempercayai bahwa penampilan juga bisa menarik hati para pengguna.
Pada tahun 1978, Apple memperkenalkan komputer Apple II+, yang merupakan komputer pertama yang mempunyai dan menggunakan Floppy Disk.

Pada tahun 1981, Jobs mempunyai ide gila untuk membuat komputer Apple yang mempunyai ukuran tidak lebih dari sebuah buku, dan akhirnya komputer itu dinamakan Apple IIb. Tapi prodak Apple IIb dia batalkan karena dikhawatirkan penjualannya akan mempengaruhi penjualan Macintosh. Tetapi tidak lama dari saat itu muncul komputer Toshiba Portable, kemudian Jobs tidak kalah cerdik dengan membuat komputer portable yang sudah dilengkapi dengan diskdrive.

Disaat-saat puncak kejayaan Apple Inc, terdengar kabar bahwa manajemen perusahaan mengalami masalah yang dikarenakan oleh egoisme dan antagonisme Steve Jobs yang saat itu merasa bahwa dia telah merajai dunia. Pihak perusahaan akhirnya memutuskan untuk menyewa kepala perusahaan baru untuk menghandel manajemen, dan dipilihlah John Sculley, mantan eksekutif perusahaan Pepsi.

Setelah menghadapi terpaan badai selama bertahun-tahun, kini Apple Inc. sedang menikmati hasilnya. Steve Jobs boleh berlega hati karena masih dapat menyelamatkan perusahaannya yang dulu nyaris hancur karena kurang bisa mengendalikan diri. Sejarah Apple Inc. telah diwarnai dengan berbagai penemuan-penemuan yang jenius yang dibarengi dengan strategi pemasaran yang kurang bagus, berbeda dengan perusahaan Microsoft yang mempunya desain yang kurang bagus tetapi memiliki strategi pemasaran yang cemerlang. Saat ini Apple Inc. kurang bisa menguasai pasar karena mereka masih kurang mampu untuk merespon kebutuhan pasar.

Sejarah Dan Perkembangan Microsoft Windows

Sejarah
Sejarah Windows diawali saat Microsoft memulai pengembangan Interface Manager, yang kemudian hari diubah namanya menjadi Microsoft Windows pada September 1981. Pada prototype pertama, interface Windows menggunakan menu yang ada di bawah layer. Tapi kemudian interface itu berubah menjadi menu pull down dan kotak dialog seperti yang digunakan pada Xerox Star. Hal itu terjadi di tahun 1982. Microsoft mengumumkan Windows di bulan November 1983. Sebelumnya telah ada system operasi lain yang sudah dirilis terlebih dahulu, seperti VisiOn, TopView dan Apple Lisa. Dan setelahnya ada GEM, DESQ, Amiga Workbench, GEOS/GeoWorks Ensemble,IBM OS/2,NeXTstep dan DeskMate. Di dalam promosinya, Windows menjanjikan suatu interface grafis yang mudah digunakan dan dengan dukungan multitasking. Terjadi beberapa kali penundaan dalam proses pengembangannya, dan pada akhirnya Windows 1.0 sudah resmi beredar pada November 1985.
Windows 2.0

Perkembangan
Windows 1.0
Microsoft akhirnya mengumumkan Windows pada bulan November 1983, dengan tekanan bahwa impian harus segera diwujudkan dari dan Topview yang segera terjadi. Hal Ini terjadi setelah Apple Lisa di release ( tetapi sebelum Macintosh), dan sebelum Digital Research mengumumkan GEM, pesaing lingkungan grafis yang lain. Windows menjanjikan suatu antar muka grafis sederhana, device-independent grafik, dan dukungan multitasking. Pengembangan telah tertunda beberapa kali, bagaimanapun, dan versi yang pertama tersedia bagi pasar konsumen ( setelah 55 tahun programmer dari pengembangan) pada bulanNovember 1985. Pemilihan dari aplikasi jarang, bagaimanapun, dan Windows penjualan adalah rendah hati. Yang berikut adalah fitur yang utama dari Windows 1.0:
• Graphical user interface (GUI) dengan menu drop-down, tiled windows, dan mouse support
• Device-independent screen dan printer graphics
• Cooperative multitasking of Windows applications
Windows 2.0
Windows 2.0, diperkenalkan pada musim gugur tahun 1987, menyajikan peningkatan usabilitas yang penting terhadap Windows. Dengan penambahan icon dan overlap jendela, Windows menjadi suatu lingkungan yang baik untuk pengembangan dari aplikasi utama ( seperti Excel, Word fork Windows, Corel Draw!, Ami, Pagemaker, dan Micrografx Designer). Penjualan telah menghimbau oleh runtime ( Lingkungan Aplikasi tunggal) versi yang disediakan oleh penjual perangkat lunak yang mandiri. Ketika Windows/386 ( lihat bagian yang berikutnya) telah dilepaskan/ release, Microsoft memberikan nama Windows Microsoft 2.0 menjadi Windows/286 untuk konsistensi. Berikut ini adalah perubahan yang utama dari versi yang lebih awal dari Windows:
• Overlapping windows
• PIF files for DOS applications

Windows/386
Di akhir 1987, Microsoft merelease Windows/386,yang secara fungsional setara dengan Windows/286, dapat menjalankan berbagai aplikasi DOS secara serempak di extended memori. Berbagai mesin virtual DOS dengan premptive multitasking merupakan fitur baru dalam Windows dari versi sebelumnya.
Windows 3.0
Microsoft Windows 3.0, yang direlease pada bulan Mei 1990, melengkapi memeriksa secara seksama dari lingkungan Windows. Windows 3.0 dapat mengalamati memori di atas 640KB, dan mempunyai antar muka yang jauh lebih powerful, vendor perangkat lunak yang mandiri mulai mengembang;kan aplikasi Windows dengan tenaga (vigor). Aplikasi baru yang powerful membantu Microsoft menjual lebih dari 10 juta salinan dari Windows, hal tersebut menjadikan GUI yang paling laris dalam sejarah komputasi. Berikut adalah perubahan yang utama dari versi Windows sebelumnya :
• Mode Standard ( 286), dengan dukungan memori besar
• Mode 386 Enhanced, dengan memori besar dan berbagai dukungan sesi DOS preempitve
• Tidak tersedia versi runtime
• Program Manajer dan File Manajer ditambahkan
• Dukungan jaringan
• Mendukung untuk lebih dari 16 warna
• Aplikasi Programming Interface (API) mendukung untuk combo boxes, menu hirarkis, dan private .ini file

Windows 3.1
Microsoft Windows 3.1, yang direlease pada April 1992, menyajikan peningkatan penting terhadap Windows 3.0. Dalam dua bulan pertama nya, menjual di atas tiga juta salinan, termasuk upgrade dari Windows 3.0. Berikut adalah perubahan yang utama dari Windows 3.0:
No Real (8086) mode support
Mendukung jenis tulisan (font) yang skalabel Truetype
Kemampuan Multimedia
Obyek Linking and Embedding ( OLE)
Kemampuan mem-boot kembali aplikasi
Mouse Trails untuk mempermudah mouse menggunakan peralatan display LCD
Perlindungan Interapplication lebih baik dan diagnostik kesalahan yang lebih baik
Mendukung API multimedia dan networking
Kompabilitas API level source dengan Windows NT


Windows 95
Windows 95 direlease pada Agustus 1995. Diarahkan pada pangsa pasar desktop, hal ini sangat berbeda dengan Windows 3.1 dan tidak lagi mensyaratkan DOS yang terpisah. Di rancang untuk tetap berjalan bersama dengan Windows NT, yang menawarkan tingkat yang lebih besar dari kompabilitas mundur dengan perangkat lunak dan driver yang lebih tua (terdahulu), atas biaya stabilitas dan keamanan dari Windows NT yang lebih besar. Fitur baru adalah sebagai berikut:
• Sesuatu yang baru, lebih Object-oriented GUI
• WIN32 API yang baru
• Preemptive multitasking dari aplikasi Win32
• Model memory flat 32-bit
• Protected memory
• Mendukung Built-in networking, termasuk dukungan dial-up
• Model driver 32-bit yang baru


Windows 98

Windows 98 direlease sebagai sebuah upgrade terhadap Windows 95. Windows 98 memiliki kesamaan antar muka (interface) dan fitur dari Windows 95, tetapi juga menyertakan update berikut ini:

• 32-bit allocation system (FAT32) yang tidak hanya mengijinkan drive hard disk lebih besar dari 2GB, tetapi juga penggunaan disk space yang lebih efisien, mengijinkan file untuk di-load lebih cepat dan mengambil tempat yang lebih sedikit; FAT32 dapat membaca drive hard disk sebesar 2TB (2000GB)
• Dukungan untuk peripheral Universal Serial Bus (USB)
• Dukungan untuk WebTV (sejak saat itu berubah menjadi MSN TV)
• Dukungan untuk lebih dari satu monitor
• Microsoft Web Server
• Microsoft Task Scheduler

Beberapa fitur ini juga tersedia dalam versi Windows terbaru (dikenal dengan OSR2) yang telah didistribusikan dengan PC baru pada tahun 1998. OSR2 tidak pernah tersedia untuk penjualan ritel.

Pada 1999, Microsoft merelease Windows 98SE (Second Edition), yang meningkatkan Windows dan juga ditambahkan fitur sebagai berikut:
• Dukungan untuk DVD-ROM
• Internet Connection Sharing (ICS)
• Meningkatkan waktu startup untuk program
• Meningkatkan dukungan USB


Windows Me

Windows Me, atau Millenium Edition, di release tahun 2000 sebagai upgrade dari Windows 98SE. Sangat mirip dengan pendahulunya, Windows Me menyertakan kemampuan home networking baru, video capture dan editing, dan mekanisme baru untuk pemugaran system dalam keadaan darurat.

Microsoft menggantikan Windows Me dengan Windows XP, yang digambarkan dibawah.

Windows NT
Catatan : Untuk alas an keamanan dan support, UITS merekomendasikan penggunaan Windows 2000 Profesional atau Windows XP Profesional, daripada NT Workstation 4.0 pada jaringan Universitas Indiana. Windows NT 4.0 memasuki fase daur hidup yang ditingkatkan. Hal ini mempunyai arti bahwa tidak lagi dipertimbangkan sebagai mainstream teknologi , dan support akan menjadi lebih dibatasi selama fase ini. Untuk informasi lebih lanjut, lihat halaman Petunjuk Daur Hidup Product Desktop Microsoft Windows pada :
http://support.microsoft.com/?LN=en-us&pr=lifecycle
Windows NT adalah produk terpisah dari Windows 3.x, Windows 95, dan Windows 98. Di arahkan pada pangsa pasar perusahaan, untuk digunakan pada workstation dan server yang high-end. Versi pertama, 3.1 dan versi 3.5 dan 3.51, menggunakan antar muka yang sama dengan Windows 3.1. Versi 4.0 menggunakan antar muka yang diperkenalkan pertama kali dengan Windows 95.
Windows NT 4.0 menawarkan fitur baru sebagai berikut:
• Dukungan NTFS file system
• Model keamanan (security model)
• Remote Access Server (RAS)
• Subsystem OS/2 dan POSIX
• Kemampuan untuk berjalan pada prosesor Intel, Alpha, MIPS dan Motorola
Windows NT 4.0 terdiri dari dua versi : Advanced Server dan Workstation. Versi Advanced Server dengan software tambahan yang mengijinkannya untuk menunjukkan aturan dari server enterprise. Advanced server memiliki fitur berikut dalam tambahan yang ditemukan pada versi Workstation :
• Software untuk menkontrol dan mengatur domain
• Internet Information Server (IIS)
• Dukungan untuk produk Microsoft BackOffice
• Software server DHCP, DNS dan WINS
Windows 2000
Windows 2000 di release sebagai update atas Windows NT 4.0. Windows 2000 bukan upgrade dari Windows 98 atau 98SE.
Windows 2000 dibangun pada Windows NT dan menawarkan peningkatan sebagai berikut:
• System operasi full 32-bit
• Dukungan untuk NTFS atau FAT32, dengan dukungan untuk drive hard disk sebesar 32GB ketika menjalankan FAT32.
• Windows File Protection, yang menjaga aplikasi yang di install dari penghapusan file system yang penting.
• Mengurangi beberapa skenario reboot, termasuk instalasi program yang mensyaratkan sebuah reboot untuk perbaikan fungsi.
• Dukungan untuk sampai 4GB Random Access Memory (RAM)
• Microsoft Management Console (MMC)
• Internet integrasi yang lebih kuat dengan Internet Explorer 5.0.1
Terdapat tiga versi Windows 2000 yang berbeda : Professional, Server dan Advanced Server. Professional di rancang untuk system desktop dan laptop,baik stand-alone dan network, untuk penggunaan individual. Server di rancang untuk menjalankan file dan printer servers. Advanced server di rancang untuk menjalankan server dengan lebih powerful; Advanced server telah mendukung tambahan RAM 4GB.
Windows XP
Di release pada akhir tahun 2001, Windows XP menggantikan tempat Windows family 95/98 dan NT.
Didasarkan pada kesamaan kode yang gunakan untuk membuat Windows 2000, XP terbagi dalam dua versi workstation pada saat diluncurkan : Home dan Professional. Kedua versi menyatukan fitur Windows 2000. Sejak peluncuran asli nya, tiga edisi baru dari Windows XP telah di release. Termasuk diantaranya Media Center Edition, Tablet PC Edition, dan XP Professional x64 (64-bit) edition
Catatan : Jika anda ingin meng-upgrade versi Windows terdahulu ke XP, UITS merekomendasikan sebuah intall bersih (clean install) daripada upgrade tradisional, dalam kaitan perbedaan yang kuat antara family sistem operasi yang terdahulu dengan Windows XP.

Windows XP Home Edition
Windows XP Home Edition telah menggantikan Windows 95, 98 dan Me.
Beberapa fitur-fitur baru yang ditawarkan oleh Windows XP Home Edition diantaranya:
• Cepat, mudah berpindah antar user (pengguna) pada computer yang sama tanpa perlu menutup aplikasi
• Luna, desktop dengan rancangan terbaru, yang mana menaruh fitur-fituryang sering digunakan pada lokasi yang paling mudah ditemukan pada menu Start.
• Peningkatan Windows Media Player , yang mengintegrasikan playback DVD, organisasi musik, dan burning CD.
• Windows Messenger, yang menawarkan built-in pengiriman pesan secara cepat melalui internet.
• Windows Movie Maker, yang menawarkan built-in video capture dan editing
• Internet Explorer 6, versi dari Microsoft web browser terkini.
• Remote Assistance, yang mengijinkan tehnisi untuk mengambil kontrol komputer sementara untuk mendiagnosis dan memperbaiki masalah, atau untuk mendemonstrasikan fitur-fitur.
• System Restore, yang mengijinkan komputer untuk menyimpan kembali dirinya terhadap konfigurasi yang terkini jika terjadi sesuatu kesalahan.
• Network Setup Wizard, mengijinkan setup yang lebih mudah untuk home network untuk file, printer dan Internet connection sharing.

Windows XP Professional Edition
Windows XP Professional Edition telah menggantikan Windows NT dan 2000. Sebagai tambahan terhadap fitur-fitur dari Home edition, yaitu menambahkan fitur-fitur baru untuk meningkatkan efisiensi networking dan task:
• Remote Desktop, yang mengijinkan pembuatan virtual session pada satu computer dari computer lain melalui internet
• Encryting File System, yang menawarkan keamanan yang lebih baik dengan file key-encrypting secara transparan
• Fast resume dari Hibernation, yang mengijinkan bekerja untuk resume yang cepat dan menyimpan waktu hidup batery pada komputer laptop.
• Dukungan untuk networking 802.1x untuk networking wireless yang lebih aman.

Windows Server 2003
Windows Server 2003 di release sebagai sebuah upgrade terhadap Windows 2000 Server. Fitur-fitur tambahan pada Windows Server 2003 diantaranya:
• Meningkatkan ketergantungan
• Built-in support untuk web services
• Runtime common language mengurangi jumlah bug dan lubang keamanan yang disebabkan oleh kesalahan pemrograman yang sering terjadi
• Dukungan untuk prosesor 32-bit dan 64-bit (tergantung pada versi)
• Symmetric multi-processing support sampai dengan prosesor 64
• Dukkungan sampai dengan RAM 512GB

Terdapat beberapa versi Windows 2003 Server yang berbeda yaitu: Standard Edition, Enterproses Edition, Datacenter Edition, Web Edition dan Small Business Server 2003.

Sejarah Dan Perkembangan MS-DOS

MS-DOS, singkatan dari Microsoft Disk Operating System, adalah sebuah sistem operasi yang sangat banyak digunakan oleh komputer IBM-PC atau yang kompatibel dengannya. Microsoft membuat MS-DOS sebagai sebuah sistem operasi mainstream, sebelum pada akhirnya menghentikan dukungan MS-DOS secara perlahan ketika mereka membuat sebuah sistem operasi berbasis antarmuka grafis (dikenal juga dengan sebutan GUI) untuk pasar mainstream, yang disebut sebagai Microsoft Windows.
MS-DOS dirilis pertama kali pada tahun 1981, dan seiring dengan waktu, Microsoft pun meluncurkan versi yang lebih baru dari MS-DOS. Tidak kurang hingga delapan kali Microsoft meluncurkan versi-versi baru MS-DOS dari tahun 1981 hingga Microsoft menghentikan dukungan MS-DOS pada tahun 2000. MS-DOS merupakan salah satu kunci keberhasilan Microsoft dalam memproduksi perangkat lunak, dari sebuah perusahaan kecil pembuat bahasa pemrograman saat didirikan hingga menjadi sebuah perusahaan perangkat lunak yang seolah menguasai dunia.

Sejarah
MS-DOS sebenarnya dibuat oleh sebuah perusahaan pebuat komputer, yang bernama Seattle Computer Products (SCP) pada tahun 1980 sebagai sebuah perangkat lunak sistem operasi dengan nama Q-DOS (singkatan dari Quick and Dirty Operating System), yang selanjutnya diubah namanya menjadi 86-DOS, karena Q-DOS didesain agar dapat berjalan pada komputer dengan prosesor Intel 8086. Microsoft pun membeli lisensinya dengn harga 50.000 dolar Amerika dari SCP, lalu mengubah namanya menjadi MS-DOS. Selanjutnya, saat IBM hendak meluncurkan komputer pribadi yang disebut dengan IBM PC, Microsoft pun menjual lisensi MS-DOS kepada IBM.

Pengembangan
IBM dan Microsoft selanjutnya merilis versi-versi DOS; di mana versi IBM yang langsung dibundel dengan komputer IBM PC disebut dengan "IBM PC-DOS" (singkatan dari International Business Machine Personal Computer Disk Operating System). Pada awalnya, IBM hanya menggunakan apa yang layak digunakan dari MS-DOS yang dirilis oleh Microsoft, seperti program-programnya atau utilitas yang disertakannya. Karena itulah, versi IBM selalu dirilis lebih lambat dibandingkan dengan versi MS-DOS. Tapi, MS-DOS versi 4.0 adalah versi MS-DOS pertama yang benar-benar sama seperti IBM PC-DOS, karena Microsoft sedang berkonsenstrasi untuk mengembangkan sebuah sistem operasi penerus DOS, yang disebut dengan OS/2.

Microsoft, ketika melisensikan DOS kepada IBM, menandatangani perjanjian lisensi yang salah satu poinnya mengandung bahwa Microsoft boleh melisensikan MS-DOS kepada perusahaan selain IBM, dan para perusahaan tersebut dipersilakan mengubah nama MS-DOS menjadi nama yang mereka gunakan (contoh: TandyDOS, Compaq DOS, dan lainnya). Kebanyakan versi-versi tersebut tentu saja sama dengan versi yang telah dikembangkan oleh Microsoft dengan MS-DOS-nya, tapi Microsoft mulai mencabut perjanjian lisensinya sehingga para perusahaan lain harus menggunakan nama MS-DOS, bukannya nama yang telah dikustomisasi sebelumnya. Hanya IBM yang diberikan keleluasaan untuk terus menggunakan nama IBM PC-DOS, bukannya MS-DOS.

MS-DOS pun berkembang dengan cukup cepat, dengan fitur-fitur signifikan yang diambil dari beberapa sistem operasi lainnya seperti Microsoft Xenix--salah satu varian sistem operasi UNIX yang dikembangkan oleh Microsoft--dan DR-DOS milik Digital Research, serta produk-produk utilitas lainnya seperti Norton Utilities dari Symantec Corporation (produk yang diadopsi seperti Microsoft Disk Defragmenter), PC-Tools dari Central Points (produk yang diadopsi seperti Microsoft Anti-Virus), manajer memori diperluas atau EMM (Expanded Memory Manager) QEMM dari Quarterdeck (produk yang diadopsi seperti EMM386), kompresi disk (atau disk compression) DriveSpace dari Stac Electronics, dan masih banyak produk yang diadopsi lainnya.

Ketika Intel Corporation memperkenalkan mikroprosesor baru yang disebut dengan Intel 80286, Microsoft dan IBM memulai proyek sistem operasi baru pengganti DOS yang disebut dengan OS/2, yang pada dasarnya adalah versi MS-DOS yang berjalan dalam modus terproteksi (protected mode). Tapi, Microsoft meninggalkan proyek OS/2 tersebut untuk memfokuskan diri pada pengembangan Microsoft Windows dan Microsoft Windows NT. Digital Resarch membuat sebuah antarmuka grafis yang disebut dengan GEM, tapi sangat kurang populer pada komputer IBM PC atau kompatibel. GEM ternyata mendapat pasarnya pada mesin komputer ATARI ST, tapi akhirnya disalip lagi oleh Microsoft dengan versi Windows 3.0.

Dibawah ini merupakan versi – versi Dos :
· PC DOS 1.0 (Agustus 1981)
· PC DOS 1.1 (Mei 1982)
· MS-DOS 1.25 (Mei 1982)
· MS-DOS 2.0 (Maret 1983)
· PC DOS 2.1 (Oktober 1983)
· MS-DOS 2.11 (Maret 1984)
· MS-DOS 3.0 (Agustus 1984)
· MS-DOS 3.1 (November 1984)
· MS-DOS 3.2 (Januari 1986)
· PC DOS 3.3 (April 1987)
· MS-DOS 3.3 (Agustus 1987)
· MS-DOS 4.0 (Juni 1988)
· PC DOS 4.0 (July 1988)
· MS-DOS 4.01 (November 1988)
· MS-DOS 5.0 (Juni 1991)
· MS-DOS 6.0 (Maret 1993)
· MS-DOS 6.2 (November 1993)
· MS-DOS 6.21 (Februari 1994)
· PC DOS 6.3 (April 1994)
· MS-DOS 6.22 (Juni 1994)
· PC DOS 7.0 (April 1995)
· MS-DOS 7.0 (Agustus 1995)
· MS-DOS 7.1 (Agustus 1996)
· MS-DOS 8.0 (September 2000)
· PC DOS 2000 (Tahun 2000)