Rabu, 04 November 2009

My FATHER'S NOTEBOOK

Kisah seorang anak manusia yg terlahir bisu dan tuli, dia lahir di jirya. Sebuah desa yang dipenuhi bunga-bunga almond pada musim semi dan buah almond pada musin gugur.Aga Akbar nama anak tersebut. keluarganya khususnya ibunya berbicara denganx dengan menggunakan bahasa isyarat sederhana.
Aga Akbar tidak banyak tahu tentang dunia ini meskipun dia mengerti konsep-konsep sederhana. Dia tahu bahwa matahari bersinar dan menjadikannya hangat, tetapi dia tidak tau, misalnya bahwa matahari sebenarnya adalah sebuah bola api. Dia juga tidak tahu bahwa tanpa matahari kehidupan mustahil terwujud. Atau, bahwa suatu hari nanti akan musnah selamanya, seperti lampu yang kehabisan minyak.
Dia tidak mengerti mengapa bulan kecil pada awalnya, kemudian perlahan menjadi besar. Dia tidak tahu apa-apa tentang gravitasi, belum pernah mendengar Archimedes. Dunianya adalah dunia masa lalunya, tentang hal-hal yang terjadi padanya, tentang hal-hal yang dipelajarinya, tentang kenangannya.Minggu,bulan, dan tahun misteri baginya.
Desa Aga Akbar terpencil. Tak banyak yang terjadi di jirya. Tak ada jejak dunia modern: tak ada sepeda,tak ada mesin jahit.
Ibu Aga Akbar hajar namanya, dia adalah selir dari seorang bangsawan. Ketika ibunya meninggal dia tidak mengerti apa yang sebenarnya terjadi. Biasanya saat ibuanya sakit..ibunya selalu berbicara padanya sambil memegangi tangannya. tapi pada waktu itu ibunya berhenti berbicara dan tangannya tak lagi bergerak...

Selasa, 03 November 2009

kasih sayang

Anda bisa memberi tanpa mengasihi,
tetapi Anda tidak mungkin mengasihi tanpa memberi.

Kasih sayang tidak akan mengambil bentuknya yang utuh sebagai kasih sayang jika ia hanya diperam sebagai perasaan atau niat di dalam hati.

Kasih sayang adalah pemberian; meskipun tidak semua pemberian adalah kasih sayang.

Jika kecintaan ...hati Anda adalah menjadikan diri Anda, keluarga, dan orang lain sebagai pengindah kehidupan – maka mudah bagi Anda untuk berlaku penuh kasih dalam pemeliharaan dan hubungan Anda dengan diri sendiri, keluarga, dan orang lain.

Memberilah, karena itu adalah cara untuk menjadikan kebaikan Anda sebuah kasih sayang yang mengindahkan kehidupan.
__Mario Teguh_

Rabu, 23 September 2009

Senyuman trakhir....

Selamat jalan Sahabatq..

Aq g tau harus percaya atau tidak..
asal kau tau aq mash blm percaya..kalau kau telah pergi..
pergi dan tak kembali...
senyuman waktu adalah senyuman terakhir yg aq lhat...
mengapa kau begitu cepat meninggalkan aq...
meningglakn kenangan qt,,,
canda itu...tawa itu...senyum itu...
Akankah aq menemukanx lq..smua itu???
kalau km telah pergi...
Ya Allah aq tau ini ud suratan dari Engkau...
aq mhon terimalah sahabatq si sisi-Mu..
dan brikanlah kesabaran dan keiklasan
bagi mereka yg ditinggalkan...

Selamat jalan Shabatq...
I always Remember U...

Sabtu, 19 September 2009

Selamat Hari Raya Idul Fitri 1430 H

Hampir sebulan penuh sudah kita berpuasa...
Hampir sebulan penuh sudah kita bersabar...
Menahan nafsu, makan, minum...
Berjuang melawan semua...

Hari besar kan datang
Hari yang dinanti
Hari besar kta
Hari Raya Idul Fitri

Dihari itu kita berbagi
Kita saling memafkan
Kita memulai hati kita yang baru
Dengan hati suci yang bersih

Min Al Aidin Wal Fa Idin
Kita saling memaafkan dan memohon maaf bersama
Bersilahturahmi...

Semoga Hari ini selalu hadir sepanjang tahun di hati kita
Agar dunia dapat menjadi lebih damai
Selamat hari Raya Idul Fitri
1430 H
Mhon Maaf lahir dan batin...

Sabtu, 01 Agustus 2009

Cinta

Sekalipun cinta telah aku uraikan...
dan aku jelaskan panjang lebar
Namun...
Jika cinta kudatangi aku jadi malu
pada keteranganku sendiri...
Meskipun lidahq telah mampu menguraikan dengan terang...
Namun...
tanpa lidah Cinta ternyata lebih terang..
Sementara pena begitu tergesa gesa menulisnya..
Kata-kata pecah begitu sampai kepada cinta
Dalam menguraikan cinta, akal berbaring tak berdaya..
Bagaikan keledai terbaring dalam lumpur..
CInta sendirilah yang menerangkan
Cinta dan Percintaan...

Senin, 13 Juli 2009

ROHATIL

JIKA

Aku tertatih lagi malam ini.
Aku merunduk lagi malam ini.
Lalu tersudut di bilik kesepian.

Andaikan saja dulu kita tak pernah bertemu.
Takkan pernah ada kerinduan menyelimuti jiwaku di bilik ini.
Andaikan saja dulu tak kau sentuh hatiku,
Takkan terisi kekosongan hatiku oleh bayanganmu.

Meski aku keluar dari bilik ini
Aku bagaikan kapas yang tertiup angin…
Melayang jauh hati di padang kesunyian.
Beribu-ribu benang kerinduan tersulam,
tak satupun juga kain sua dibentangkan.
Langkahku payah…
hingga tak mampu kau kupapah..


Ketika Aku Mengangis

Saat hujan menitik,
apa gunanya menanyai awan?
Kau tidak benar-benar ingin tahu.
Hanya takut basah, kan?

Jadi, apa perlunya bertanya?
Hujan akan reda juga.
Lalu kau akan lupa.

Minggu, 05 Juli 2009

VIRTUAL MEMORY di Windows Dan Linux

 Virtual Memory
Di Windows
Pada komputer kita, jumlah memory yang tersedia adalah jumlah antara memory fisik/RAM dengan virtual memory. Virtual memory adalah sebuah porsi pada hard disk yang di-set menyerupai RAM oleh system. Virtual memory merupakan ruang penyimpanan sementara yang digunakan untuk menjalankan program yang membutuhkan memory yang lebih besar dari memory fisik.
Virtual memory berupa file yang bernama pagefile.sys yang di-set hidden oleh Windows. File ini disebut paging file, yang digunakan untuk menampung program dan data yang tidak cukup di memory fisik. Virtual memory lebih lambat daripada memory fisik, dan penggunaan yang terlalu banyak dapat menurunkan kinerja sistem. Sehubungan dengan itu, windows memindahkan proses yang tidak terlalu sering ke virtual memory, dan membiarkan proses yang sering digunakan di memory fisik. Jadi ini sangat efisien.
Ukuran dari virtual memory dapat kita rubah, Windows merekomendasikan ukuran minimal dari vitual memory adalah 1.5 kali dari memory fisik kita.
Jika anda memiliki beberapa harddisk, misal hardisk pertama adalah C: dan harddisk kedua adalah D: dan anda jarang menggunakan drive D:, anda dapat memindahkan virtual memory ke drive D:. Memindahkan virtual memory ke harddisk yang jarang digunakan akan sedikit meningkatkan performa. Alasannya adalah, pada harddisk pertama biasanya head dari harddisk sangat sibuk untuk membuka program, dokumen, menyimpan file dan masih banyak lagi. Tetapi ingat, cara ini tidak akan berguna bila drivenya terletak pada harddisk yang sama atau dengan kata lain sebuah partisi.
Cara Kerja
Virtual Memory digunakan dengan membuat suatu file khusus yang disebut swapfile atau paging file. Virtual memory digunakan pada saat operating system kehabisan memory, dimana o.s. akan memindahkan data yang paling terakhir diakses ke dalam swapfile di hardisk. Hal ini mengosongkan/ membebaskan beberapa ruang kosong pada memory untuk aplikasi yang akan digunakan selanjutnya. Operating system akan melakukan hal ini secara terus menerus ketika data baru diisi pada ram.
Kemudian, pada saat data yang tersimpan di swapfile diperlukan, data tersebut ditukar (swap) dengan data yang paling terakhir dipakai di dalam memory (ram). Hal ini mengakibatkan swapfile bersifat seperti ram, walaupun program tidak dapat secara langsung dijalankan dari swapfile. Satu hal yang perlu dicatat bahwa karena operating system tidak dapat secara langsung menjalankan program dari swapfile, beberapa program mungkin tidak akan berjalan walau dengan swapfile yang besar jika kita hanya memiliki ram yang kecil.
 Virtual Memory
Di Linux
Managemen Memori di Linux
A. Managemen Memori Fisik
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.
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 managemen 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.

Perhitungan Alamat Absolut pada Paging dan Segmentation

Penghitungan Alamat Absolute pada Paging
Alamat referensi pada kode instruksi program adalah alamat pada ruang logika proses sehingga pada saat eksekusi, alamat referensi tersebut haruslah ditranslasi ke alamat fisik memori utama yang sesungguhnya.


Pada gambar diatas merupakan contoh translasi alamat pada system paging. Diasumsikan system memori computer menggunakan pengalamatan 16 bit, 16 bit pertama untuk menunjukkan nomor page,10 bit, terakhir untuk menunjukkan nilai offset, yaitu alamat relative dalam suatu page. Dengan kata lain, tiap page berukuran 20 bit atau 1024 alamat. Misalnya dalam program terdapat kode instruksi jump[1502]. Alamat 1502 dalam kode program adlah alamat logika proses sehingga jika instruksi ini dieksekusi di prosesor maka lamat 1502 harus ditranslasi terlebih dahulu.

Pehitungan Alamat Absolut Pada Segmentasi
Pada sistem segmentasi alamat logika pada kode instruksi program juga perlu ditranslasi pada saat dieksekusi.
Misalnya sistem memori computer menggunakan alamat 16 bit sehingga maksimal kapasitas memori utama adalah 64 kbyte. Bit alamat logika dapat dipecah atas nomor segmen dan alamat offset. Misalnya, nomor segmen menggunakan 4 bit atas alamat logika, yang berarti terdapat maksimal 212=4 kbyte. Misalnya dalam program terdapat instruksi jump[4848]. Pada saat eksekusi, berapakah alamat fisik hasil translasi dari referensi alamat logika 4848 pada instruksi jump tersebut?

Jika direpresentasikan dalam bentuk biner, alamt logika 4848 adalah 000100101111000, yang berarti nomor segmennya adalah 1 (0001) dan alamat offsetnya adalah 752 (001011110000). Dati tabel segmen proses terlihat bahwa segmen 1 dialokasikan pada memori fisik pada alamat awal 8224 sehingga pada saat dieksekusi alamat 4848 akan ditranslasi menjadi 8224 + 752 = 8976.

perbedaan Partition, Segmentation dan Paging

Partisi
Bahasan pertama adalah review sekilas tentang partisi. Hard disk untuk bisa diisi sistem operasi, membutuhkan satu wadah, yang dinamakan partisi. Jika Anda terbiasa menggunakan Microsoft, partisi disimbolkan dengan Drive. Misal, Drive C:(partisi pertama) Drive D:(partisi kedua) dan seterusnya.
Dengan membagi hard disk ke dalam beberapa partisi Anda dapat menjalankan berbagai sistem operasi secara bersamaan. Misalnya Linux - Windows 98 - Windows NT.
Partisi dikategorikan dalam tiga jenis. Primary, Extended dan Logical Partition. Partisi utama, disebut primary, dalam satu hard disk maksimal hanya 4 partisi. Jika Anda ingin lebih dari 4 partisi, maka perlu dibuat extended partition yang bisa memuat logical partition dengan jumlah lebih banyak. Jadi data hanya terletak di partisi primary atau logical, sedangkan extended hanya merupakan wadah dari partisi logical. Contoh pengaturan hard disk dan nama yang biasa dipergunakan di Linux.
Segmentasi
Segmentasi adalah sebuah bagian dari managemen memori yang mengatur pengalamatan dari memori yang terdiri dari segmen-segmen. logical address space adalah kumpulan dari segmen-segmen yang mana tiap-tiap segmen mempunyai nama dan panjang. alamat tersebut menunjukkan alamat dari segmen tersebut dan offset-nya didalam segmen-segmen tersebut. pengguna kemudian menentukan pengalamatan dari setiap segmen menjadi dua bentuk, nama segmen dan offset dari segmen tersebut (Hal ini berbeda dengan pemberian halaman, dimana pengguna hanya menentukan satu buah alamat, dimana pembagian alamat menjadi dua dilakukan oleh perangkat keras, semua ini tidak dapat dilihat oleh user).
Keuntungan lain dari segmentasi adalah menyangkut masalah pembagian penggunaan kode atau data. Setiap proses mempunyai tabel segmennya sendiri, dimana ini akan digunakan oleh dispatcher untuk menentukan tabel segmen dari perangkat keras yang mana akan digunakan ketika proses yang bersangkutan di eksekusi oleh CPU. Segmen akan berbagi ketika anggota dari elemen tabel segmen yang berasal dari dua proses yang berbeda menunjuk ke lokasi fisik yang sama. Pembagian tersebut terjadi pada level segmen, maka, informasi apa pun dapat dibagi jika didefinisikan pada level segmen. Bahkan beberapa segmen pun dapat berbagi, sehingga sebuah program yang terdiri dari beberapa segmen pun dapat saling berbagi pakai.
Paging
Membagi memory ke dalam chunks (bagian-bagian) kecil berukuran tetap dan
sama, dan membagi setiap proses ke dalam chunk berukuran sama tersebut
Chunks dari suatu proses dinamakan pages
Demand Paging atau permintaan pemberian halaman adalah salah satu implementasi dari memori virtual yang paling umum digunakan. Sistem Demand Paging pada prinsipnya hampir sama dengan sistem permintaan halaman yang menggunakan swapping, hanya saja pada sistem demand paging, halaman tidak akan dibawa ke dalam memori fisik sampai ia benar-benar diperlukan. Oleh sebab itu dibutuhkan bantuan perangkat keras untuk mengetahui lokasi dari halaman saat ia diperlukan. Daripada melakukan swapping, keseluruhan proses ke dalam memori utama, digunakanlah yang disebut lazy swapper yaitu tidak pernah menukar sebuah halaman ke dalam memori utama kecuali halaman tersebut diperlukan.

Pengalamatan Logical, Relative dan Physical

Pengalamatan Phyical
Pada meode pengalamatan memori secara fisik,alamat yang ditulis pada kode instruksi program hasil kompilasi merupakan alamat fisik memory utama yang sesungguhnya. Konsekuensinya adalah pada saat penyalinan image proses ke memori utama, maka kode instruksi dan data program harus disalin pada posisi yang sesuai dengan referensi tersebut. Pada saat eksekusi, prosesor akan memproses alamat pada kode instruksi program secara langsung tanpa melakukan translasi alamat memori.
Pengalamatan Relative
Pengalamatan relative terutama digunakan pada sistem yang menggunakan alokasi memori berurut, dimana keseluruhan image proses harus terletak di satu area memori yang utuh.
Alamat pada kode instruksi program merupakan alamat relatif(offset) terhadap posisi awal program. Pada saat image proses dari program tersebut disalin atau dialokasikan ke memori utama, alamat awal memorinya dicatat ke suatu register alokasi. Pada saat eksekusi, pemgaksesan alamatakan ditranslasi dengan menjumlahkan alamat referenai pada instruksi dengan isi registrasi alokasi untuk mendapatkan alamat fisik memori yang akan benar-benar diakses. Umumnya proses translasi ini dilakukan menggunakan perangkat keras khusus yang disebut dengan MMU(Memory Management Unit).
Pengalamatan logical
Pada pengalamatan secara logika, alamat yang ada pada kode program merupakan suatu alamat logika yang masih perlu diterjemahkan atau ditranslasikan kealamat fisik memori utama pada saat eksekusi. Umumnya , translasi almat untuk pengalamatannya secara logika terjadi pada saat eksekusi.
Kelebihan pengalamatan ini adalah relokasi program dapat dilakukan secara fleksibel, bahkan ruang atau kapasitas alamat logika program dapat lebih besar dari kapasitas fisik memori utama. Misalnya program dapat menggunakan ruang alamat logika sebesar 2Giga, sedangkan emori utama fisik di mana program tersebut dijalankan hanya memiliki kapasitas 256 Mega

Sabtu, 09 Mei 2009

Seputar PlasTik(Pelatihan Jurnalistik)

Pelatihan Jurnalistik yang diselenggarakan oleh Departemen pers Islam dan IT Lembaga Dakwah Kampus Majelis Kajian Mahasiswa Islam (LDK-MKMI) ternyata menarik minat mahasiswa. Terbukti, peserta yang hadir cukup banyak yang terdiri dari mahasiswa di berbagai fakultas di universitas trunojoyo tidak hanya anggota LDK MKMI.
Kegiatan yang dilaksanakan pada tanggal 06 Maret 2009 ini hari pertama acara diadakan di Ruang Kuliah Bersama (RKB) UNIJOYO yang nya salah satu materinya adalah ”Pengantar Jurnalistik” yang disampaikan oleh Tatik dari salah satu televisi lokal Jawa Timur, JTV. Sedangkan pemateri ”Teknik Penulisan Berita” yang disampaikan oleh Bapak Ali Hisyam S.Ag. Selaku dosen UNIJOYO yang tulisan-tulisannya sering dimuat di media cetak.
Hari kedua pelatihan jurnalistik diawali dengan materi tentang ”Teknik Investigasi” yang disampaikan oleh mas Oyong dari Radar Madura dimana materi tersebut mengantar para peserta untuk terjun langsung ke lapangan mencari berita. Selesai penyampaian materi, peserta pun di sebar ke titik-titik sesuai dengan kelompok dan tema yang diberikan oleh panitia, untuk tema ”Kenaikan Harga BBM” di daerah pasar Bangkalan,”Sosialisasi Pemilu” di daerah Telang dan kantor KPU Bangkalan,dan untuk tema ”Fatwa MUI tentang haramnya Rokok dan Golput” di daerah Mesjid Agung Bangkalan dan kantor MUI Bangkalan, bahkan peserta bertemu langsung dengan ketua MUI Kabupaten Bangkalan. Setelah peserta mendapatkan informasi sesuai dengan tema, panitia memberi waktu kurang lebih 1 minggu untuk membuat tulisan hasil investigasinya dalam bentuk buletin.
Setelah pengumpulan buletin dilakukan oleh peserta, pada tanggal 20 maret 2009, peserta dikumpulkan kembali untuk melakukan evaluasi terhadap buletin yang mereka buat. Sebelum evaluasi dilakukan, terlebih dahulu peserta diberikan gambaran seputar buletin sekaligus melakukan evaluasi terhadap buletin yang sudah dibuat oleh peserta. Materi ini disampaikan oleh Moh.Soleh, salah seorang mahasiswa FH Unijoyo yang banyak berkecimpung di dunia jurnalistik mahasiswa.
Puncak dari pelatihan jurnalistik ini adalah kunjungan ke Jawa Pos Surabaya pada tanggal 03 April 2009. kedatangan rombongan peserta dan panitia pelatihan jurnalistik disambut hangat oleh pihak Jawa Pos dengan menyediakan forum untuk memberikan pangetahuan tentang dunia jurnalistik khususnya proses produksi yang dilakukan oleh Jawa Pos selama ini. Mbak Irawati selaku sekretaris Redaktur Jawa Pos memaparkan tentang bagaimana proses pembuatan berita yang dilaksanakan oleh Jawa Pos para peserta pun sangat antusias dan menayakan tentang banyak hal terkait dengan materi yang pernah disampaikan dalam pelatihan, setelah rombongan diajak ke ruang redaksi yang kemudian diakhiri dengan pemberian cindera mata

Khazanah

Bagaimana Seorang Muslim Berfikir
"(Yaitu) orang-orang yang mengingat Allah sambil berdiri atau duduk atau dalam keadaan berbaring dan mereka memikirkan tentang penciptaan langit dan bumi (seraya berkata): "Ya Tuhan kami, tiadalah Engkau menciptakan ini dengan sia-sia. Maha Suci Engkau,maka peliharalah kami dari siksa neraka.
(QS. Aali 'Imraan, 3:191)

Pernahkah anda memikirkan bahwa anda tidak ada sebelum dilahirkan ke dunia ini; dan anda telah diciptakan dari sebuah ketiadaan? Pernahkan anda berpikir bagaimana bunga yang setiap hari anda lihat di ruang tamu, yang tumbuh dari tanah yang hitam, ternyata memiliki bau yang harum serta berwarna-warni? Pernahkan anda memikirkan seekor nyamuk, yang sangat mengganggu ketika terbang mengitari anda, mengepakkan sayapnya dengan kecepatan yang sedemikian tinggi sehingga kita tidak mampu melihatnya?
Pernahkan anda berpikir bahwa lapisan luar dari buah-buahan seperti pisang, semangka, melon dan jeruk berfungsi sebagai pembungkus yang sangat berkualitas, yang membungkus daging buahnya sedemikian rupa sehingga rasa dan keharumannya tetap terjaga?
Pernahkan anda berpikir bahwa gempa bumi mungkin saja datang secara tiba-tiba ketika anda sedang tidur, yang menghancur luluhkan rumah, kantor dan kota anda hingga rata dengan tanah sehingga dalam tempo beberapa detik saja anda pun kehilangan segala sesuatu yang anda miliki di dunia ini?
Pernahkan anda berpikir bahwa kehidupan anda berlalu dengan sangat cepat, anda pun menjadi semakin tua dan lemah, dan lambat laun kehilangan ketampanan atau kecantikan, kesehatan dan kekuatan anda?
Pernahkan anda memikirkan bahwa suatu hari nanti, malaikat maut yang diutus oleh Allah akan datang menjemput untuk membawa anda meninggalkan dunia ini?
Jika demikian, pernahkan anda berpikir mengapa manusia demikian terbelenggu oleh kehidupan dunia yang sebentar lagi akan mereka tinggalkan dan yang seharusnya mereka jadikan sebagai tempat untuk bekerja keras dalam meraih kebahagiaan hidup di akhirat?
Manusia adalah makhluk yang dilengkapi Allah sarana berpikir. Namun sayang, kebanyakan mereka tidak menggunakan sarana yang teramat penting ini sebagaimana mestinya. Bahkan pada kenyataannya sebagian manusia hampir tidak pernah berpikir.
Sebenarnya, setiap orang memiliki tingkat kemampuan berpikir yang seringkali ia sendiri tidak menyadarinya. Ketika mulai menggunakan kemampuan berpikir tersebut, fakta-fakta yang sampai sekarang tidak mampu diketahuinya, lambat-laun mulai terbuka di hadapannya. Semakin dalam ia berpikir, semakin bertambahlah kemampuan berpikirnya dan hal ini mungkin sekali berlaku bagi setiap orang. Harus disadari bahwa tiap orang mempunyai kebutuhan untuk berpikir serta menggunakan akalnya semaksimal mungkin.
Seseorang yang tidak berpikir berada sangat jauh dari kebenaran dan menjalani sebuah kehidupan yang penuh kepalsuan dan kesesatan. Akibatnya ia tidak akan mengetahui tujuan penciptaan alam, dan arti keberadaan dirinya di dunia. Padahal, Allah telah menciptakan segala sesuatu untuk sebuah tujuan sebagaimana dinyatakan dalam Al-Qur'an:
"Dan Kami tidak menciptakan langit dan bumi dan apa yang ada antara keduanya dengan bermain-main. Kami tidak menciptakan keduanya melainkan dengan haq, tetapi kebanyakan mereka tidak mengetahui." (QS. Ad-Dukhaan, 44: 38-39)

"Maka apakah kamu mengira, bahwa sesungguhnya Kami menciptakan kamu secara main-main (saja), dan bahwa kamu tidak akan dikembalikan kepada Kami?" (QS. Al-Mu'minuun, 23:115)
Oleh karena itu, yang paling pertama kali wajib untuk dipikirkan secara mendalam oleh setiap orang ialah tujuan dari penciptaan dirinya, baru kemudian segala sesuatu yang ia lihat di alam sekitar serta segala kejadian atau peristiwa yang ia jumpai selama hidupnya. Manusia yang tidak memikirkan hal ini, hanya akan mengetahui kenyataan-kenyataan tersebut setelah ia mati. Yakni ketika ia mempertanggung jawabkan segala amal perbuatannya di hadapan Allah; namun sayang sudah terlambat. Allah berfirman dalam Al-Qur'an bahwa pada hari penghisaban, tiap manusia akan berpikir dan menyaksikan kebenaran atau kenyataan tersebut:
"Dan pada hari itu diperlihatkan neraka Jahannam; dan pada hari itu ingatlah manusia akan tetapi tidak berguna lagi mengingat itu baginya. Dia mengatakan, "Alangkah baiknya kiranya aku dahulu mengerjakan (amal saleh) untuk hidupku ini." (QS. Al-Fajr, 89:23-24)
Padahal Allah telah memberikan kita kesempatan hidup di dunia. Berpikir atau merenung untuk kemudian mengambil kesimpulan atau pelajaran-pelajaran dari apa yang kita renungkan untuk memahami kebenaran, akan menghasilkan sesuatu yang bernilai bagi kehidupan di akhirat kelak. Dengan alasan inilah, Allah mewajibkan seluruh manusia, melalui para Nabi dan Kitab-kitab-Nya, untuk memikirkan dan merenungkan penciptaan diri mereka sendiri dan jagad raya:
"Dan mengapa mereka tidak memikirkan tentang (kejadian) diri mereka?, Allah tidak menjadikan langit dan bumi dan apa yang ada di antara keduanya melainkan dengan tujuan yang benar dan waktu yang ditentukan. Dan sesungguhnya kebanyakan di antara manusia benar-benar ingkar akan pertemuan dengan Tuhannya." (QS. Ar-Ruum, 30: 8)

Selasa, 07 April 2009

Definisi Proses:
Adalah program executable yang aktif di memory dan dieksekusi berdasarkan jadwal yang dibuat oleh CPU (scheduler). Linux mempunyai banyak proses yang secara simultan dieksekusi oleh karnel, dengan demikian minimal ada 1 proses yang sedang dalam keadaan “Running”, sedangkan yang lainnya dalam keadaan menunggu (waiting).
Definisi Thread
Sebuah thread merupakan sebuah pengontrol aliran program. Untuk lebih mudahnya, bayangkanlah thread sebagai sebuah proses yang akan dieksekusi didalam sebuah program tertentu. Penggunaan sistem operasi modern saat ini telah mendukung kemampuan untuk menjalankan beberapa program. Misalnya, pada saat Anda mengetik sebuah dokumen di komputer Anda dengan menggunakan text editor, dalam waktu yang bersamaan Anda juga dapat mendengarkan musik, dan surfing lewat internet di PC Anda. Sistem operasi yang telah terinstal dalam computer Anda itulah yang memperbolehkan Anda untuk menjalankan multitaskting. Seperti itu juga sebuah program (ibaratkan di PC Anda), ia juga dapat mengeksekusi beberapa proses secara bersama-sama(ibaratkan beberapa aplikasi berbeda yang bekerja pada PC Anda).
Sebuah contoh aplikasi adalah HotJava browser yang memperbolehkan Anda untuk
browsing terhadap suatu page, bersamaan dengan mendownload object yang lain,
misalnya gambar, memainkan animasi, dan juga file audio pada saat yang bersamaan.
Mutual Exclution
Saling pengecualian (sering disingkat ke mutex) algoritma digunakan dalam pemrograman yg berbarengan bersamaan untuk menghindari penggunaan sumber daya yang umum, seperti variabel global, dengan potongan-potongan kode komputer disebut bagian penting.
Contoh dari sumber daya yang halus-grained flags, counters atau antrian, yang digunakan untuk berkomunikasi antara kode yang berjalan secara bersamaan, seperti aplikasi dan penangan interrupt. Masalahnya akut karena thread dapat dihentikan atau dimulai setiap saat.

Untuk menggambarkan: seandainya bagian kode yang mengubah adalah bagian dari program data melalui beberapa langkah, ketika thread lain, mungkin dipicu oleh beberapa peristiwa tidak terduga, mulai mengeksekusi. Jika dibaca dari urutan kedua yang sama piece data, data yang sedang dalam proses sedang ditimpa, dalam sebuah negara tidak konsisten dan tidak terduga. Jika kedua thread yang mencoba Timpa data, berikut negara mungkin akan unrecoverable. Ini bagian penting dari kode akses berbagi data itu harus dilindungi, sehingga proses yang lain membaca dari atau menulis ke bingkah data dikecualikan dari berjalan.
Mutex umum juga merupakan nama untuk sebuah program objek yang saling negotiates pengecualian di antara benang, yang disebut kunci.
Race Condition
Race condition: situasi dimana beberapa proses mengakses dan memanipulasi suatu data secara konkuren. Nilai akhir dari data tersebut tergantung dari proses mana yang terakhir selesai dieksekusi
Sinkronisasi
Sinkronisasi: adalah suatu proses yang digunakan Untuk mencegah race condition proses-proses yang berjalan bersamaan (synchronized).
Deadlock
Deadlock secara harfiah adalah kebuntuan. Di dalam sistem operasi berarti suatu kondisi di mana sekumpulan proses tidak dapat berjalan kembali atau tidak adanya komunikasi antar proses. Definisi lainnya yaitu sekumpulan proses yang terblok yang tiap proses tersebut memegang sumber daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh proses di dalam kumpulan tersebut.
Starvation
Starvation adalah proses-proses yang tertentu yang tidak dapat melanjutkan eksekusi, misalkan karena prioritas rendah.
Monitor
Monitor adalah Media output untuk menampilkan/memperlihatkan informasi sehingga dapat dibaca dan diketahui oleh manusia. Monitor merupakan suatu konsepsi bahasa pemrograman yang menyediakan fungsi sama dengan semaphore & lebih mudah dikontrol.


Semaphore
Definisi Semaphore adalah pendekatan yang diajukan oleh Djikstra.
 Prinsipnya dua proses atau lebih dapat bekerjasama dengan menggunakan penanda-penanda sederhana.
 Variabel khusus untuk penanda disebut semaphore


Metode-metode penanganan Deadlock:
Metode pencegahan Terjadinya deadlock(deadlock Prevention)
Metode ini berkaitan dengan pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock. Pencegahan merupakan solusi yang bersih dipandang dari sudut tercegahnya deadlock. Metode ini sering menghasilkan utilisasi sumber daya yang buruk.
Metode Penghindaran Terjadinya deadlock(Deadlock Avoidance)
Tujuan metode ini adalah menghindarkan kondisi-kondisi yang paling mungkin menimbulkan dedlock agar memperoleh utilisasi sumber daya sumber daya lebih baik. Penghindaran ini bukan berarti menghilangkan semua kemungkinan terjadinya deadlock dimungkinkan. Sistem operasi memeriksa semua permintaan sumber daya secara deadlock,sistem menolak pengaksesan itu. Dengan itu menghindari terjadinya dealock.
Metode Deteksi dan Pemulihan dari Deadlock (Deadlock Detection and Recovery)
Metode deteksi digunakan pada sistem yang mengijinkan terjadinya deadlock. Tujuan metode ini adalah memeriksa apakah telah terjadi deadlock dan menentukan proses-proses dan sumber daya-sumber daya yang terlibat
Multiprogramming
Manajemen banyak proses pada satu pemroses
Multiprocessing
Manajemen banyak proses di komputer multiprocessing(banyak pemroses didalamnya)




Figure 6.1a shows a situation in which
four cars have arrived at a four-way stop intersection at approximately the same
time. The four quadrants of the intersection are the resources over which control is
needed. In particular, if all four cars wish to go straight through the intersection, the
resource requirements are as follows:

• Car 1, traveling north, needs quadrants a and b.
• Car 2 needs quadrants b and c.
• Car 3 needs quadrants c and d.
• Car 4 needs quadrants d and a.
The typical rule of the road in the United States is that a car at a four-way stop should defer to a car immediately to its right.This rule works if there are only two or three cars at the intersection. For example, if only the northbound and westbound cars arrive at the intersection, the northbound car will wait and the westbound car proceeds. However, if all four cars arrive at about the same time, each will refrain from entering the intersection, this causes a potential deadlock.The deadlock is only
potential, not actual, because the necessary resources are available for any of the cars to proceed. If one car eventually does proceed, it can do so. However, if all four cars ignore the rules and proceed (cautiously) into the intersection at the same time, then each car seizes one resource (one quadrant) but cannot proceed because the required second resource has already been seized by another car.This is an actual deadlock.

Selasa, 31 Maret 2009

SUMBER BACAAN :

[Lewis1998] John Lewis dan William Loftus. 1998. Java Software Solutions Foundation Of Program Design. First Edition. Addison Wesley.
[Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005.
Operating Systems Concepts. Seventh Edition. John Wiley & Sons.
[Tanenbaum1997] Andrew Tanenbaum dan Albert Woodhull. 1997.
Operating Systems Design and Implementation. Second Edition. Prentice-Hall.
[WEBJava2007] Java 2 Platform SE v1.3.1. 2007. Java 2 Platform SE v1.3.1: Class Thread – http://java.sun.com/j2se/1.3/docs/api/java/lang/Thread.html. Diakses 27 Februari 2007.
[WEBJTPD2007] Java Thread Primitive Deprecation. 2007.
Java Thread Primitive Deprecation -http://java.sun.com/j2se/1.3/docs/guide/misc/threadPrimitiveDeprecatio n.html
. Diakses 27 Februari 2007.

Microkernel

1.1 Microkernel
Pendekatan Microkernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif atau system call yang dapat digunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan-layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan-layanan lainnya, yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru diimplementasikan di dalam
ruangan pengguna (user-space), dan disebut dengan server.
Server adalah sebuah program, seperti halnya program lainnya. Server dapat mengizinkan sistem operasi agar dapat dimodifikasi hanya dengan menjalankan program atau menghentikannya. Sebagai contoh, untuk sebuah mesin yang kecil tanpa
dukungan jaringan, server jaringan (istilah server di sini tidak dimaksudkan sebagai
komputer pusat pengatur jaringan) tidak perlu dijalankan. Pada sistem operasi
tradisional yang menggunakan monolithic kernel, hal ini dapat mengakibatkan
pengguna harus melakukan rekompilasi terhadap kernel, yang tentu saja sulit untuk
dilakukan oleh pengguna biasa yang awam.

1.2 Kinerjanya
Dalam teorinya, sistem operasi yang menggunakan microkernel disebut jauh lebih
stabil dibandingkan dengan monolithic kernel, karena sebuah server yang gagal
bekerja, tidak akan menyebabkan kernel menjadi tidak dapat berjalan, dan server
tersebut akan dihentikan oleh kernel utama. Akan tetapi, dalam prakteknya, bagian
dari system state dapat hilang oleh server yang gagal bekerja tersebut, dan biasanya
untuk melakukan proses eksekusi aplikasi pun menjadi sulit, atau bahkan untuk
menjalankan server-server lainnya.
Sistem operasi yang menggunakan microkernel umumnya secara dramatis memiliki
kinerja di bawah kinerja sistem operasi yang menggunakan monolithic kernel. Hal ini
disebabkan oleh adanya overhead yang terjadi akibat proses input/output dalam
kernel yang ditujukan untuk mengganti konteks (context switch) untuk memindahkan
data antara aplikasi dan server.
Beberapa sistem operasi yang menggunakan microkernel:
• IBM AIX, sebuah versi UNIX dari IBM
• Amoeba, sebuah kernel yang dikembangkan untuk tujuan edukasi
• Kernel Mach, yang digunakan di dalam sistem operasi GNU/Hurd, NexTSTEP,
OPENSTEP, dan Mac OS/X
• Minix, kernel yang dikembangkan oleh Andrew Tanenbaum untuk tujuan
edukasi
• Symbian OS, sebuah sistem operasi yang populer digunakan pada hand phone,
handheld device, embedded device, dan PDA Phone.

1.3 Rancangan Mikrokernel
Pada pembahasan "Struktur Sederhana", sempat disinggung istilah "kernel". Apakah kernel itu? Kernel adalah komponen sentral dari sistem operasi. Ia mengatur hal-hal seperti interrupt handler(untuk menyediakan layanan interupsi), process scheduler(membagi-bagi proses dalam prosesor), memory management, I/O, dan sebagainya. Atau dengan kata lain, ia adalah jembatan antara hardware dengan software.
Cara tradisional untuk membangun sistem operasi adalah dengan membuat kernel monolitis, yaitu semua fungsi disediakan oleh kernel, dan ini menjadikan kernel suatu program yang besar dan kompleks.
Cara yang lebih modern, adalah dengan menggunakan kernel mikro. Pada awalnya, konsep mikro kernel dikembangkan pada sistem operasi Mach. Ide dasar dari pengembangan kernel mikro adalah bahwa hanya fitur-fitur yang perlu saja yang diimplementasikan dalam kernel (mengenai fitur-fitur apa saja yang perlu diimplementasikan, ini bisa berbeda tergantung desain sistem operasi).
Walaupun garis pembatas mengenai apa saja yang berada di dalam dan luar kernel mikro bisa berbeda antara desain yang satu dengan yang lain, namun ada karakteristik yang umum, yaitu servis-servis yang umumnya menjadi bagian sistem operasi menjadi subsistem eksternal yang bisa berinteraksi satu sama lain dan dengan kernel tentunya. Ini mencakup device driver, file system, virtual memory manager, windowing system, dan security devices. Pendekatan kernel mikro menggantikan pendekatan berlapis yang vertikal tradisional.
Komponen-komponen sistem operasi yang berada di luar kernel mikro diimplementasikan sebagai server process dan berkomunikasi dengan message passing via kernel mikro. Misalnya jika user ingin membuat berkas baru, dia mengirim pesan ke file system server, atau jika ingin membuat proses baru, dia mengirimkan pesan ke process server.
Gambar 7.2. Struktur kernel mikro



1.4 Kelebihan MikroKernel:

Interface yang seragam. Proses tidak lagi dibedakan, baik antara kernel-level maupun user-level, karena semuanya berkomunikasi via message passing.
Extensibility . Bisa menambahkan fitur-fitur baru tanpa perlu melakukan kompilasi ulang.
Flexibility . Fitur-fitur yang sudah ada bisa dikurangi, atau dimodifikasi sesuai dengan kebutuhan sehingga menjadi lebih efisien. Misalnya tidak semua pengguna membutuhkan security yang sangat ketat, atau kemampuan untuk melakukan distributed computing.
Portability . Pada kernel mikro, semua atau sebagian besar kode yang prosesor-spesifik berada di dalamnya. Jadi, proses porting ke prosesor lain bisa dilakukan dengan relatif sedikit usaha. Pada kelompok desktop misalnya, tampaknya dominasi Intel makin kuat. Tapi, sampai seberapa lama itu bisa bertahan? Karena itulah, portability adalah salah satu isu yang sangat penting.
Reliability . Semakin besar suatu software, maka tentulah semakin sulit untuk menjamin reliability-nya. Desain dengan pendekatan berlapis sangatlah membantu, dan dengan pendekatan kernel mikro bisa lebih lagi. Kernel mikro dapat dites secara ekstensif .Karena dia menggunakan API yang sedikit, maka bisa meningkatkan kualitas code di luar kernel.
Support for object-oriendted OS . Model kernel mikro sangat sesuai untuk mengembangkan sistem operasi yang berbasis object-oriented. Contoh sistem operasi yang menggunakan kernel mikro adalah TRU64 UNIX, MacOSX, dan QNX.

1.5 Manajemen Memory
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.
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 managemen 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.
1.6 Komunikasi Antar Proses
Komunikasi antar proses (Interprocess Communication) atau thread dalam suatu SO mikrokernel adalah melalui message.
• Suatu message menyertakan:
– Header yang mengidetifikasi proses
pengiriman dan penerimaan, dan
– Body yang mengandung data langsung, pointer ke suatu block data, atau beberapa informasi kontrol mengenai proses.
Fungsi utama mikrokernel adalah mendukung fasilitas komunikasi antara program klien dan bermacam-macam layanan yang juga berjalan di user space.
Komunikasi yang dilakukan secara tidak langsung, didukung oleh sistem message passing, dengan bertukar pesan melalui mikrokernel.
Salah satu keuntungan mikrokernel adalah ketika layanan baru akan ditambahkan ke user space, kernel tidak perlu dimodifikasi. Kalau pun harus, perubahan akan lebih sedikit. Hasil sistem operasinya lebih mudah untuk ditempatkan pada suatu desain perangkat keras ke desain lainnya. Mikrokernel juga mendukung keamanan reliabilitas lebih, karena kebanyakan layanan berjalan sebagai pengguna proses. Jika layanan gagal, sistem operasi lainnya tetap terjaga

1.7 Manajemen I/O & Interupsi!
Di dalam mikrokernel, adalah mungkin menangani interupsi hardware sebagai message dan menyertakan port I/O dalam ruang alamat.
– Proses user-level tertentu dilewatkan ke interrupt & kernel memelihara pemetaan tersebut.

Thread di JAVA

Sebuah thread, secara definisi adalah sebuah proses ringan. Mereka digunakan untuk meningkatkan fungsionalitas dan performansi dengan cara melakukan beberapa tugas pada saat yang sama, yaitu bersamaan. Ada dua metode untuk menerapkan thread di dalam Java,
- penerapan sebuah antarmuka
- perpanjangan sebuah class

Thread Java

Dalam kehidupan sehari-hari, penggunaan multithreading dapat kita lihat pada aplikasi web Contohnya adalah sebuah web browser yang harus menampilkan sebuah halaman yang memuat banyak gambar. Pada program yang single-threaded , hanya ada satu thread untuk mengatur suatu gambar, lalu jika gambar itu telah ditampilkan, barulah gambar lain bisa diproses. Dengan multithreading, proses bisa dilakukan lebih cepat jika ada thread yang menampilkan gambar pertama, lalu thread lain untuk menampilkan gambar kedua, dan seterusnya, di mana thread-thread tersebut berjalan secara paralel. Java adalah salah satu bahasa pemrograman yang mendukung penggunaan multithreading. Saat sebuah program Java dieksekusi, yaitu saat main() dijalankan, ada sebuah thread utama yang bekerja. Thread lain yang dibutuhkan dapat dibentuk dengan menuliskan kode program tertentu. Pada kondisi dan keperluan tertentu, thread pada program Java yang sedang dijalankan juga dapat digabung dengan thread utama ataupun dibatalkan. Keseluruhan thread dalam Java diatur oleh Java Virtual Machine (JVM) sehingga sulit untuk menentukan apakah thread Java berada di user-level atau kernel-level
Setiap program Java memiliki paling sedikit satu thread, yang otomatis terbentuk saat dieksekusi. Untuk kebutuhan tertentu, bahasa pemrograman Java memungkinkan adanya pembuatan dan manajemen thread tambahan oleh JVM (Java Virtual Machine). Sebuah
thread bisa berada di salah satu dari 4 status, yaitu new, runnable, blocked, dan dead
Ada dua cara untuk membuat thread dalam Java, yaitu dengan meng-extends kelas Thread atau dengan meng-implements interface Runnable
Dalam beberapa kondisi, thread yang dibuat dapat digabungkan dengan parent thread-nya. Penggabungan ini menggunakan method join(), yang berfungsi agar suatu thread
induk menunggu thread yang dibuatnya selesai menjalankan tugasnya, baru mulai mengeksekusi perintah selanjutnya. Pembatalan thread secara asynchronous dilakukan dengan pemanggilan method stop(). Akan tetapi, cara ini terbukti tidak aman, sehingga untuk menterminasi thread digunakanlah deferred cancellation. Pembatalan dilakukan dengan pemanggilan method interrupt() untuk mengeset status interupsi, serta isInterrupted () atau interrupted () untuk memeriksa status interupsi tersebut. Program Java dapat dijalankan di berbagai platform selama
platform tersebut mendukung JVM. Pemetaan thread Java ke host operating system tergantung pada implementasi JVM di sistem operasi tersebut.

THREAD

Thread adalah alur kontrol dari suatu proses.
Keuntungan menggunakan Multithreading:
a. Meningkatkan respon dari pengguna.
b. Pembagian sumber daya.
c. Ekonomis.
d. Mengambil keuntungan dari arsitektur multiprosessor.
Tiga model Multithreading:
a. Model Many-to-One.
b. Model One-to-One.
c. Model Many-to-Many.
Pustaka Thread bertugas untuk menyediakan API untuk programmer dalam menciptakan dan
memanage thread. Cara untuk mengimplementasikannya yaitu:
a. Menyediakan API dalam level pengguna tanpa dukungan dari kernel.
b. Menyediakan API di level kernel yang didukung secara langsung oleh sistem operasi.
Pembatalan Thread: Tugas untuk membatalkan Thread sebelum menyelesaikan tugasnya.
Pembatalan Thread terdiri dari 2 jenis:
1. Asynchronous cancellation.
2. Deffered cancellation.
Thread Pools menciptakan sejumlah Thread yang ditempatkan di dalam pool dimana Thread
menunggu untuk dipanggil.
Thread Schedulling ada 2 macam:
1. Local Schedulling.
2. Global Schedulling.
Istilah thread di Linux adalah task.
Pembuatan Thread di Linux menggunakan system call clone(). Sedangkan di Mac sekumpulan
thread yang ada akan mengerjakan tugas bergantian dengan menggunakan siklus.

Sabtu, 21 Maret 2009

Process Control Back

Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) - juga disebut sebuah control block. Sebuah PCB ditunjukkan dalam gambar(4.2). PCB berisikan banyak bagian-dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk ini:
• Keadaan proses: Keadaan mungkin, new ,ready ,running, waiting, halted, dan juga banyak lagi.
• Program counter: Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk ditambah code information pada kondisi apapun. Besertaan dengan program counter, keadaan/ status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya
(Gambar 4.3).
• Informasi manajemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasardan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yangdigunakan oleh sistem operasi (ch 9).
• Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, bataswaktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
• Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini,suatu daftar open file dan banyak lagi.
• PCB hanya berfungsi sebagai tempat menyimpan/gudang untuk informasi apapun yang dapatbervariasi dari prose ke proses.proses ini.
• CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer.Register tersebut termasuk accumulator, index register, stack pointer, general-puposes register,


Element-elemen lain PCB antara lain:
• Identifier: A unique identifier associated with this process, to distinguish it from all other processes.
• State: If the process is currently executing, it is in the running state.
• Priority: Priority level relative to other processes.
• Program counter: The address of the next instruction in the program to be
executed.
• Memory pointers: Includes pointers to the program code and data associated with this process, plus any memory blocks shared with other processes.
• Context data: These are data that are present in registers in the processor while the process is executing.
• I/O status information: Includes outstanding I/O requests, I/O devices (e.g., tape drives) assigned to this process, a list of files in use by the process, and so on.
• Accounting information: May include the amount of processor time and clock time used, time limits, account numbers, and so on.

Kehadiran dua status Suspend

• Blocked -Blocked/Suspend: If there are no ready processes, then at least one blocked process is swapped out to make room for another process that is not blocked. This transition can be made even if there are ready processes available, if the OS determines that the currently running process or a ready process that it would like to dispatch requires more main memory to maintain adequate performance.
• Blocked/Suspend -Ready/Suspend: A process in the Blocked/Suspend state is moved to the Ready/Suspend state when the event for which it has been waiting occurs. Note that this requires that the state information concerning suspended processes must be accessible to the OS.
• Ready/Suspend - Ready: When there are no ready processes in main memory, the OS will need to bring one in to continue execution. In addition, it might be the case that a process in the Ready/Suspend state has higher priority than any of the processes in the Ready state. In that case, the OS designer may dictate that it is more important to get at the higher-priority process than to minimize swapping.
• Ready -Ready/Suspend: Normally, the OS would prefer to suspend a blocked process rather than a ready one, because the ready process can now be executed, whereas the blocked process is taking up main memory space and cannot be executed. However, it may be necessary to suspend a ready process if that is the only way to free up a sufficiently large block of main memory.Also, the OS may choose to suspend a lower-priority ready process rather than a higherpriority blocked process if it believes that the blocked process will be ready soon. Several other transitions that are worth considering are the following:
• New - Ready/Suspend and New - Ready: When a new process is created, it can either be added to the Ready queue or the Ready/Suspend queue. In either case, the OS must create a process control block and allocate an address space to the process. It might be preferable for the OS to perform these housekeeping duties at an early time, so that it can maintain a large pool of processes that are not blocked.With this strategy, there would often be insufficient room in main memory for a new process;hence the use of the (New SReady/Suspend) transition. On the other hand, we could argue that a just-in-time philosophy of creating processes as late as possible reduces OS overhead and allows that OS to perform the process-creation duties at a time when the system is clogged with blocked processes anyway.
• Blocked/Suspend -Blocked: Inclusion of this transition may seem to be poor design. After all, if a process is not ready to execute and is not already in main ,memory, what is the point of bringing it in? But consider the following scenario: A process terminates, freeing up some main memory.There is a process in the (Blocked/Suspend) queue with a higher priority than any of the processes in the (Ready/Suspend) queue and the OS has reason to believe that the blocking event for that process will occur soon. Under these circumstances, it would seem reasonable to bring a blocked process into main memory in preference to a ready process.
• Running - Ready/Suspend: Normally, a running process is moved to the Ready state when its time allocation expires. If, however, the OS is preempting the process because a higher-priority process on the Blocked/Suspend queue has just become unblocked, the OS could move the running process directly to the (Ready/Suspend) queue and free some main memory.
• Any State - Exit: Typically, a process terminates while it is running, either because it has completed or because of some fatal fault condition. However, in some operating systems, a process may be terminated by the process that created it or when the parent process is itself terminated. If this is allowed, then a process in any state can be moved to the Exit state

PROSES

Pembuatan proses:
Pembuatan Proses
Ada beberapa aktifitas berkenaan dengan pembuatan proses, antara lain :
a. Memberi identitas (nama) pada proses yang dibuat;
b. Menyisipkan proses pada list proses atau tabel proses;
c. Menentukan prioritas awal proses;
d. Membuat PCB;
e. Mengalokasikan resource awal bagi proses tersebut.
Ada beberapa kejadian yang menyebabkan pembuatan suatu proses baru, antara lain:
a. Pada lingkungan batch sebagai tambahan atas pemberian job. Setelah menciptakan proses baru, sistem operasi melanjutkan untuk membaca job selanjutnya.
b. Pada ingkungan interaktif, pada saat user baru saja logam;
c. Sebagai tanggapan atas suatu aplikasi (seperti: mencetak file, sistem operasi dapat
menciptakan proses yang akan mengelola pencetakan itu);
d. Proses menciptakan proses lain (child).
Selama eksekusi, suatu proses mungkin akan membuat suatu proses yang baru.
Proses tersebut dinamakan parent, sedangkan proses yang dibuat dinamakan child.
Proses pembuatan proses anak membentuk pohon proses.
Pembagian sumber daya :
• Parent dan child membagi semua sumber daya yang ada
• Child menggunakan sebagian dari sumber daya yang digunakan parent
• Parent dan child tidak membagi sumber daya
Bentuk eksekusi :
• Parent melanjutkan eksekusi beriringan dengan children.
• Parent menunggu hingga beberapa atau seluruh children selesai.
Bentuk ruang alamat :
• Child adalah duplikat dari proses parent.
• Child mempunyai program yang diambil dari dirinya.
Pada UNIX, parent akan membentuk child dengan menggunakan system call
Penghentian Proses

Suatu proses berhenti jika telah menyelesaikan pernyataan terakhir, dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit. Proses mengembalikan semua data (output) ke parent proses melalui system call wait. Kemudian proses dihapus dari list atau tabel sistem, dilanjutkan dengan menghapus PCB.
Penghapusan proses ini akan menjadi sangat kompleks jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang lain. Pada beberapa sistem, proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti. Namun, ada beberapa sistem yang menganggap bahwa proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut dihentikan secara otomatis pada saat proses induk dihentikan.

Parent dapat menghentikan eksekusi proses child dengan menggunakan system call abort. Proses anak dihentikan parent karena beberapa alasan, antara lain :
• Child mengalokasikan sumber daya melampaui batas
• Tugas child tidak dibutuhkan lebih lanjut
• Parent berhenti, karena system operasi tidak mengijinkan child untuk melanjutkan jika parent berhenti dan terminasi dilanjutkan
Alasan lain adalah:
o Proses selesai mengerjakan tugasnya(selesai normal)
o Proses berjalan melebihi batas waktu
o Memory tidak tersedia
o Proses mengakses kawasan memori yang tidak boleh diakses
o Terjadi kesalahan karena pelanggaran proteksi
o Terjadi kesalahan perhitungan
o Proses menunggu terlalu lama
o Terjadi kegagalan I/O
o Proses mengeksekusi instruksi yang tidak ada
o Proses mengguinakan instruksi yang disimpan untuk SO
o Terjadi kesalahan penggunaan data
o Terjadi intervensi dari operator atau SO (contoh : deadlock)
o Proses induk berahir
o Atas permintaan proses induk

Status Proses
Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/asal). Status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini:
• New:Proses sedang dikerjakan/dibuat.
• Running: Instruksi sednag dikerjakan.
• Waiting:Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/signal).
• Ready: Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
• Terminated: Proses telah selsesai melaksanakan tugasnya/mengeksekusi.

Nama-nama tersebut adalah arbitrer/berdasar opini, istilah tersebut bervariasi disepanjang sistem operasi.Keadaan yang mereka gambarkan ditemukan pada seluruh sistem. Namun, sistem operasi tertentu jugalebih baik menggambarkan keadaan /status proses. Adalah penting untuk menyadari bahwa hanya satu proses dapat berjalan pada prosesor manapun pada waktu kapanpun. Namun, banyak proses yang dapat ready atau waiting.
; the possible transitions are as follows:
• Null -New: A new process is created to execute a program.This event occurs
for any of the reasons listed in Table 3.1.
• New -Ready: The OS ! will move a process from the New state to the Ready state when it is prepared to take on an additional process. Most systems set some limit based on the number of existing processes or the amount of virtual memory committed to existing processes. This limit assures that there are not so many active processes as to degrade performance.
• Ready - Running: When it is time to select a process to run, the OS chooses one of the processes in the Ready state.This is the job of the scheduler or dispatcher. Scheduling is explored in Part Four.
• Running -Exit: The currently running process is terminated by the OS if the process indicates that it has completed, or if it aborts. See Table 3.2.
• Running - Ready: The most common reason for this transition is that the running process has reached the maximum allowable time for uninterrupted execution; virtually all multiprogramming operating systems impose this type of time discipline.There are several other alternative causes for this transition, which are not implemented in all operating systems. Of particular importance is the case in which the OS assigns different levels of priority to different processes. Suppose, for example, that process A is running at a given priority level, and process B, at a higher priority level, is blocked. If the OS learns that the event upon which process B has been waiting has occurred, moving B to a
ready state, then it can interrupt process A and dispatch process B.We say that the OS has preempted process A.6 Finally, a process may voluntarily release control of the processor. An example is a background process that performs some accounting or maintenance function periodically.
• Running -Blocked: A process is put in the Blocked state if it requests something
for which it must wait. A request to the OS is usually in the form of a system service call; that is, a call from the running program to a procedure that is part of the operating system code. For example, a process may request a service from the OS that the OS is not prepared to perform immediately. It can request a resource, such as a file or a shared section of virtual memory, that is not immediately available. Or the process may initiate an action, such as an I/O operation, that must be completed before the process can continue.When processes communicate with each other, a process may be blocked when it is waiting for another process to provide data or waiting for a message from another process.
• Blocked -Ready: A process in the Blocked state is moved to the Ready state when the event for which it has been waiting occurs.
• Ready -Exit: For clarity, this transition is not shown on the state diagram. In some systems, a parent may terminate a child process at any time. Also, if a parent terminates, all child processes associated with that parent may be terminated.
• Blocked - Exit: The comments under the preceding item apply.

Seputar Sistem Operasi

hai tman2 berikut adalah hasil tulisan kami berikutnya,,, mudah2an bermanfaat tidak hanya untuk kami juga untuk tman2 yang masuk blog saya ini...

Created by : Suligiani (070411100156)
Adi Candra Laksono(070411100007)
Ahmad Taufikurrahman(070411100016)


 Fungsi dan cara menggunakan perintah Shell-shell di linux antara lain:

 top

Perintah top digunakan untuk melihat proses-proses penting yang sedang dikerjakan oleh CPU. Jika proses top dijalankan tidak dengan cara di belakang layar, maka user tidak dapat mengerjakan perintah yang lain karena perintah ini akan dikerjakan secara terus menerus oleh CPU. Bentuk tampilan yang muncul dilayar jika menggunakan perintah top adalah sebagai berikut :

4:17 pm up 2 days, 4:22, 3 users, load average : 0.17, 0.08, 0.02
84 processes : 54 sleeping, 1 running, 0zombie, 29 stopped
CPU states : 0.3% user, 1.9% system, 0.0% nice, 97.8% idle
Mem : 14336K av, 8728K used, 122020K free 2952k cached

Tetapi jika perintah top dikerjakan secara background (top&) maka dilayar tidak akan apa-apa. Untuk itu mematikan perintah top digunakan perintah kill-9 top.
top untuk mengetahui status memori tekan q untuk quit


 grep

Fungsi : mencari isi suatu file disembarang directory
Format : grep-n ‘nama-file’ di-directory
Keterangan : grep akan memberikan suatu variable dalam suatu baris
tertentu,didalam sembarang directory pada semua file.Grep sangat berguna untuk
menemukan kata tertentu dalam beberapa dokumen atau mencari adanya sebuah
variable dalam sekelompok program.Misalnya :grep-n’shutdown’/etc/*
Contoh :
$ grep main *.c mencari kata main pada semua file*.c
client.c:main(argc,argv) menampilkan kata yang ditemukan
munt.c:main()
prakt_1.c:main(argc.argv)
server.c: main(argc.argv)
gunakan option-n untuk menempilkan nama baris
$ grep – exit server .c
21: exit(1);
36: exit(1);
58: exit(1);
grep indek
Global reguler expression parse ayau grep adalah perintah untuk mencari file-file yang mengandung teks dengan criteria yang telah anda tentukan.
$ grep
misalnya akan dicari file-file yang mengandung teks marginal di current directori:
$ grep marginal
different.doc:catatan:perkataan marginal luas dipergunakan didalam ilmu ekonomi
prob.rtf:oleh fungsi hasilnya marginal dan fungsi biaya marginal jika fungsi prob.rtf:jikabiaya marginal dan hasil marginal diketahuimaka biaya total
 cat
cat untuk melihat isi dari suatu file text
Fungsi : menampilkan isi sebuah file (sama dengan perintah TYPE pada DOS ) Cat berfungsi untuk mencetak ke layar moniotor isi dari sebuah file text. Jika file yang dilihat menggunakan perintah ini bukan file text maka akan keluar karakterkarakter aneh pada layar. Untuk menghindari tercetakknya karakter-karakter aneh tersebut dapat digunakan perintah cat –v

Sapaan

Assalamualaikum…
Tmen2 smua gmana kbrnya???... akhir-akhir ini banyak segali tugas kuliah ya… tapi walaupun banyak tugas jangan lupa jaga kesehatan ya… jangan sampek kita sakit lo…qlo skit gmn ntr tugas2nya… kan kete2ran… n inget jangn lupa makan n istirahat yang cukup soalnya tmen kita da yang sakit gara2 kecapekan termasuk aq juga kemaren sempat drop tapi sekarang alhamdulilah ud baik-baik ja… n kembali SEMANGAT lagi..
Marilah kita selalu mencari ridho Allah…
Tetap Istiqomah….
N slalu Semangat…

Senin, 16 Maret 2009

Beberapa Rangkuman berikut adalah hasil dari kerjasama kami bertiga sehingga menghasilkan suatu karya yang mudah-mudahan berguna bagi kita sendiri dan semua orang yang yang upload blog ini,,,
Penyusun:
Suligiani(070411100156)
Adi Candra Laksono(070411100007)
Ahmad Taufikurrahman(070411100016)






Seputar Windows


Windows 1.0
Versi pertama Microsoft Windows, yang disebut dengan Windows 1.0, dirilis pada tanggal 20 November 1985. Versi ini memiliki banyak kekurangan dalam beberapa fungsionalitas, sehingga kurang populer di pasaran. Pada awalnya Windows versi 1.0 ini hendak dinamakan dengan Interface Manager, akan tetapi Rowland Hanson, kepala bagian pemasaran di Microsoft Corporation, meyakinkan para petinggi Microsoft bahwa nama "Windows" akan lebih "memikat" konsumen. Windows 1.0 bukanlah sebuah sistem operasi yang lengkap, tapi hanya memperluas kemampuan MS-DOS dengan tambahan antarmuka grafis. Selain itu, Windows 1.0 juga memiliki masalah dan kelemahan yang sama yang dimiliki oleh MS-DOS.
Lebih jauh lagi, Apple yang menuntut Microsoft membuat Microsoft membatasi kemampuannya. Sebagai contoh, jendela-jendela di dalam Windows 1.0 hanya dapat ditampilkan di layar secara "tile" saja, sehingga jendela tersebut tidak dapat saling menimpa satu sama lainnya. Selain itu, tidak ada semacam tempat yang digunakan untuk menyimpan berkas sebelum dihapus (Recycle Bin), karena memang Apple berkeyakinan bahwa mereka memiliki hak terhadap paradigma tersebut. Microsoft pun kemudian membuang limitasi tersebut dari Windows dengan menandatangani perjanjian lisensi dengan Apple.
Windows 2.x
Windows versi 2 pun muncul kemudian pada tanggal 9 Desember 1987, dan menjadi sedikit lebih populer dibandingkan dengan pendahulunya. Sebagian besar populeritasnya didapat karena kedekatannya dengan aplikasi grafis buatan Microsoft, Microsoft Excel for Windows dan Microsoft Word for Windows. Aplikasi-aplikasi Windows dapat dijalankan dari MS-DOS, untuk kemudian memasuki Windows untuk melakukan operasinya, dan akan keluar dengan sendirinya saat aplikasi tersebut ditutup.
Microsoft Windows akhirnya memperoleh peningkatan signifikan saat Aldus PageMaker muncul dalam versi untuk Windows, yang sebelumnya hanya dapat berjalan di atas Macintosh. Beberapa ahli sejarahwan komputer mencatat ini sebagai kemunculan sebuah aplikasi yang laku secara signifikan selain buatan Microsoft sebagai awal kesuksesan Microsoft Windows.
Windows versi 2.0x menggunakan model memori modus real, yang hanya mampu mengakses memori hingga 1 megabita saja. Dalam konfigurasi seperti itu, Windows dapat menjalankan aplikasi multitasking lainnya, semacam DESQview, yang berjalan dalam modus terproteksi yang ditawarkan oleh Intel 80286.
Windows 2.1x
Selanjutnya, dua versi yang baru dirilis, yakni Windows/286 2.1 dan Windows/386 2.1. Seperti halnya versi Windows sebelumnya, Windows/286 menggunakan model memori modus real, tapi merupakan versi yang pertama yang mendukung High Memory Area (HMA). Windows/386 2.1 bahkan memiliki kernel yang berjalan dalam modus terproteksi dengan emulasi Expanded Memory Specification (EMS) standar Lotus-Intel-Microsoft (LIM), pendahulu spesifikasi Extended Memory Specification (XMS) yang kemudian pada akhirnya mengubah topologi komputasi di dalam IBM PC. Semua aplikasi Windows dan berbasis DOS saat itu memang berjalan dalam modus real, yang berjalan di atas kernel modus terproteksi dengan menggunakan modus Virtual 8086, yang merupakan fitur baru yang dimiliki oleh Intel 80386.
Versi 2.03 dan kemudian versi 3.0 mendapatkan tuntutan dari Apple karena memang versi 2.1 ini memiliki modus penampilan jendela secara cascade (bertumpuk), selain beberapa fitur sistem operasi Apple Macintosh yang "ditiru" oleh Windows, utamanya adalah masalah tampilan/look and feel. Hakim William Schwarzer akhirnya membatalkan semua 189 tuntutan tersebut, kecuali 9 tuntutan yang diajukan oleh Apple terhadap Microsoft pada tanggal 5 Januari 1989.
Kesuksesan dengan Windows 3.0
Microsoft Windows akhirnya mencapai kesuksesan yang sangat signifikan saat menginjak versi 3.0 yang dirilis pada tahun 1990. Selain menawarkan peningkatan kemampuan terhadap aplikasi Windows, Windows 3.0 juga mampu mengizinkan pengguna untuk menjalankan beberapa aplikasi MS-DOS secara serentak (multitasking), karena memang pada versi ini telah diperkenalkan memori virtual. Versi ini pulalah yang menjadikan IBM PC dan kompatibelnya penantang serius terhadap Apple Macintosh. Hal ini disebabkan dari peningkatan performa pemrosesan grafik pada waktu itu (dengan adanya kartu grafis Video Graphics Array (VGA)), dan juga modus terproteksi/modus 386 Enhanced yang mengizinkan aplikasi Windows untuk memakai memori lebih banyak dengan cara yang lebih mudah dibandingkan dengan apa yang ditawarkan oleh MS-DOS.
Windows 3.0 dapat berjalan di dalam tiga modus, yakni modus real, modus standar, dan modus 386 Enhanced, dan kompatibel dengan prosesor-prosesor keluarga Intel dari Intel 8086/8088, 80286, hingga 80386. Windows 3.0 akan mencoba untuk mendeteksi modus mana yang akan digunakan, meski pengguna dapat memaksa agar Windows bekerja dalam modus tertentu saja dengan menggunakan switch-switch tertentu saat menjalankannya
* win /r: memaksa Windows untuk berjalan di dalam modus real
* win /s: memaksa Windows untuk berjalan di dalam modus standar
* win /3: memaksa Windows untuk berjalan di dalam modus 386 Enhanced.
Versi 3.0 juga merupakan versi pertama Windows yang berjalan di dalam modus terproteksi, meskipun kernel 386 enhanced mode merupakan versi kernel yang ditingkatkan dari kernel modus terproteksi di dalam Windows/386.
Karena adanya fitur kompatibilitas ke belakang, aplikasi Windows 3.0 harus dikompilasi dengan menggunakan lingkungan 16-bit, sehingga sama sekali tidak menggunakan kemampuan mikroprosesor Intel 80386, yang notabene adalah prosesor 32-bit.
Windows 3.0 juga hadir dalam versi "multimedia", yang disebut dengan Windows 3.0 with Multimedia Extensions 1.0, yang dirilis beberapa bulan kemudian. Versi ini dibundel dengan keberadaan "multimedia upgrade kit", yang terdiri atas drive CD-ROM dan sebuah sound card, seperti halnya Creative Labs Sound Blaster Pro. Versi ini merupakan perintis semua fitur multimedia yang terdapat di dalam versi-versi Windows setelahnya, seperti halnya Windows 3.1 dan Windows for Workgroups, dan menjadi bagian dari spesifikasi Microsoft Multimedia PC.
Fitur-fitur yang disebutkan di atas dan dukungan pasar perangkat lunak aplikasi yang semakin berkembang menjadikan Windows 3.0 sangat sukses di pasaran. Tercatat, dalam dua tahun sebelum dirilisnya versi Windows 3.1, Windows 3.0 terjual sebanyak 10 juta salinan. Akhirnya, Windows 3.0 pun menjadi sumber utama pemasukan Microsoft, dan membuat Microsoft melakukan revisi terhadap beberapa rencana awalnya.
Beralih sementara ke OS/2
Selama pertengahan hingga akhir 1980an, Microsoft dan IBM bekerja sama dalam mengembangkan sebuah sistem operasi penerus DOS, yang disebut sebagai IBM OS/2. OS/2 dapat menggunakan semua kemampuan yang ditawarkan oleh mikroprosesor Intel 80286 dan mampu mengakses memori hingga 16 Megabyte. OS/2 1.0 dirilis pada tahun 1987, yang memiliki fitur swapping dan multitasking, selain tentunya mengizinkan aplikasi MS-DOS untuk berjalan di atasnya.
OS/2 versi 1.0 hanyalah sebuah sistem operasi yang berbasis modus teks/command line saja. OS/2 versi 1.1 yang dirilis pada tahun 1988 menawarkan antarmuka grafis, yang disebut dengan Presentation Manager (PM). Presentation Manager ini menggunakan sistem koordinat yang sama dengan koordinat Cartesius, berbeda dengan sistem operasi Windows dan beberapa sistem GUI lainnya. Penggunaan sistem koordinat tersebut menyebabkan titik x,y 0,0 pada OS/2 diletakkan pada pojok kiri bawah layar, sementara pada Windows, peletakannya pada pojok kiri atas. OS/2 versi 1.2, yang dirilis pada tahun 1989, memperkenalkan sebuah sistem berkas baru, yang disebut dengan High Performance File System (HPFS), yang ditujukan untuk menggantikan sistem berkas File Allocation Table (FAT).
Pada awal-awal tahun 1990an, hubungan antara Microsoft dan IBM pun meregang akibat munculnya sebuah konflik. Hal ini dikarenakan mereka saling bekerja sama dalam mengembangkan sistem operasi komputer pribadi masing-masing (IBM dengan OS/2 dan Microsoft dengan Windows-nya), keduanya memiliki akses terhadap kode masing-masing sistem operasi. Microsoft menghendaki pengembangan lebih lanjut dari sistem operasi Windows buatannya, sementara IBM memiliki hasrat bahwa semua pekerjaan masa depannya haruslah dibuat berdasarkan sistem operasi OS/2. Dalam sebuah percobaan untuk mengakhiri konflik ini, IBM dan Microsoft akhirnya setuju bahwa IBM akan mengembangkan IBM OS/2 versi 2.0, untuk menggantikan OS/2 versi 1.3 dan Windows 3.0, sementara Microsoft harus mengembangkan sebuah sistem operasi baru, OS/2 versi 3.0, yang akan kemudian menggantikan OS/2 versi 2.0.
Persetujuan ini pun tidak berlangsung lama, sehingga hubungan IBM dan Microsoft pun dihentikan. IBM akhirnya melanjutkan pengembangan OS/2, sementara Microsoft mengganti nama sistem operasi OS/2 versi 3.0 (yang belum dirilis) menjadi Windows NT. Keduanya masih memiliki hak untuk menggunakan teknologi OS/2 dan Windows yang sudah dibentuk sampai pemutusan persetujuan; akan tetapi, Windows NT benar-benar ditulis sebagai sebuah sistem operasi yang baru dan sebagian besar kode bebas dari kode IBM OS/2.
Setelah versi 1.3 dirilis untuk untuk membenarkan beberapa masalah dalam OS/2 versi 1.x, IBM akhirnya merilis OS/2 versi 2.0 pada tahun 1992. Versi 2.0 ini menawarkan peningkatan yang signifikan, yakni sebuah GUI berorientasi objek, yang disebut dengan Workplace Shell (WPS), yang mencakup di dalamnya sebuah dekstop dan dianggap oleh banyak orang merupakan fitur terbaik di dalam OS/2. Microsoft pun akhirnya "menjiplak" beberapa elemen dari Workplace Shell pada sistem operasi Windows 95 yang dirilis tiga tahun kemudian. Versi 2.0 juga menawarkan API yang mendukung penuh instruksi 32-bit milik Intel 80386, sehingga menawarkan fitur multitasking yang bagus dan mampu mengalamatkan memori hingga 4 gigabyte. Meskipun demikian, banyak hal di dalam internal sistem masih menggunakan kode 16-bit, yang mengharuskan device driver juga harus ditulis dengan menggunakan kode 16-bit juga, selain tentunya beberapa hal internal lainnya. Hal ini merupakan salah satu alasan mengapa OS/2 kekurangan driver perangkat keras. Versi 2.0 juga mampu menjalankan aplikasi DOS dan Windows 3.0, karena memang IBM juga masih memiliki hak untuk menggunakan kode DOS dan Windows setelah "perceraian" hubungan antara mereka.
Pada saat itu, memang tidak jelas siapa yang menjadi pemenang dalam perlombaan yang disebut "Desktop Wars", akan tetapi pada akhirnya OS/2 tidak mampu mendapatkan pangsa pasar yang cukup meskipun IBM pada akhirnya merilis beberapa versi OS/2 yang jauh lebih hebat lagi setelah versi 2.0 ini.
Windows 3.1

Tampilan ruangan kerja Windows 3.x
Sebagai respons dari dirilisnya IBM OS/2 versi 2.0 ke pasaran, Microsoft mengembangkan Windows 3.1, yang menawarkan beberapa peningkatan minor terhadap Windows 3.0 (seperti halnya kemampuan untuk menampilkan font TrueType Fonts, yang dikembangkan secara bersama-sama dengan Apple), dan juga terdapat di dalamnya banyak sekali perbaikan terhadap bug dan dukungan terhadap multimedia. Versi 3.1 juga menghilangkan dukungan untuk modus real, sehingga hanya berjalan pada modus terproteksi yang hanya dimiliki oleh mikroprosesor Intel 80286 atau yang lebih tinggi lagi. Microsoft pun pada akhirnya merilis Windows 3.11, yang merupakan versi Windows 3.1 yang mencakup semua tambalan dan perbaikan yang dirilis setelah Windows 3.1 diluncurkan pada tahun 1992.
Windows for Workgroups
Kira-kira pada waktu yang sama, Microsoft merilis Microsoft Windows for Workgroups, yang tersedia baik sebagai tambahan untuk Windows 3.1 dan sebagai sebuah versi yang tercakup di dalamnya lingkungan dasar Windows dan tambahan kemampuan jaringan di dalam sebuah paket. Windows for Workgroups mencakup driver jaringan komputer dan stack protokol yang lebih baik, dan juga mendukung jaringan secara peer-to-peer. Salah satu download opsional untuk Windows for Workgroups adalah stack protokol TCP/IP dengan nama kode "Wolverine", yang mengizinkan akses ke Internet melalui jaringan korporat. Windows for Workgroups dirilis dalam dua versi, Windows for Workgroups 3.1 dan Windows for Workgroups 3.11. Tidak seperti versi-versi Windows sebelumnya, Windows for Workgroups 3.11 hanya berjalan di dalam modus 386 Enhanced, dan membutuhkan setidaknya mesin dengan prosesor Intel 80386SX.
Semua versi tersebut terus menerus meningkatkan laju penjualan Windows versi 3.x. Meskipun Windows 3.1x masih memiliki banyak kekurangan, yang sebelumnya telah dikoreksi oleh OS/2, seperti nama berkas yang panjang (melebihi 11 karakter, dalam format 8.3), desktop, atau proteksi sistem terhadap kelakuan aplikasi yang tidak diinginkan, Microsoft secara cepat mengambil alih pasar GUI di pangsa pasar desktop untuk IBM PC dan kompatibelnya. Windows API pun menjadi standar de-facto untuk perangkat lunak konsumen.
Windows NT
Selama waktu itu, Microsoft terus melanjutkan pengembangan sistem operasi yang barunya, yang disebut dengan Windows NT. Arsitek utama dari Windows NT adalah Dave Cutler, yang merupakan salah satu dari pemimpin arsitek sistem operasi VMS di perusahaan Digital Equipment Corporation (DEC), yang kemudian dibeli oleh Compaq yang sekarang bagian dari Hewlett-Packard. Microsoft merekrut Cutler pada tahun 1988 untuk membuat sebuah versi OS/2 yang bersifat portabel, tapi akhirnya Cutler malahan membuat sistem operasi baru.
Sebelum pindah ke Microsoft, Cutler sebenarnya sedang membuat sebuah sistem operasi penerus VMS di DEC, yang disebut dengan Mica. Dan pada saat petinggi DEC menggagalkan proyek tersebut, ia keluar dari DEC dan membawa banyak pekerja ahli bersamanya ke Microsoft. DEC memiliki keyakinan bahwa Cutler membawa kode Mica untuk digunakan oleh Microsoft dan menuntutnya. Akhirnya, Microsoft pun kalah dan pada akhirnya disuruh membayar 150 juta dolar Amerika dan memiliki kesepakatan untuk mendukung chip CPU baru buaan DEC, DEC Alpha, yang kala itu tercatat sebagai sebuah chip tercepat, agar dapat berjalan di dalam Windows NT.
Windows NT 3.1 (bidang pemasaran Microsoft menghendaki Windows NT agar terlihat sebagai kelanjutan dari Windows 3.1) akhirnya muncul pertama kali dalam bentuk Beta bagi para pengembang perangkat lunak pada bulan Juli 1992 dalam sebuah perhelatan Professional Developers Conference (PDC) yang dilangsungkan di San Fransisco, California, Amerika Serikat. Microsoft juga mengumumkan keinginannya untuk mengembangkan sebuah sistem operasi penerus bagi Windows NT sekaligus juga pengganti Windows 3.1 pada konferensi tersebut (yang diberi nama kode Chicago), yang kemudian akan menyatukan keduanya ke dalam sebuah sistem operasi yang padu. Sistem operasi tersebut diberi nama Cairo.
Ternyata Cairo merupakan sebuah proyek yang lebih rumit dibandingkan apa yang telah diantisipasi oleh Microsoft, dan hasilnya NT dan Chicago tidak "bersatu" sampai Windows XP diluncurkan. Selain itu, bagian-bagian Cairo belum muncul di dalam sistem operasi Microsoft Windows hingga saat ini. Contohnya adalah subsistem WinFS, yang merupakan implementasi dari Object File System di dalam Cairo, memang sempat dikerjakan oleh Microsoft dalam beberapa waktu, tapi pada akhirnya Microsoft mengumumkan bahwa mereka menghentikan pengembangan WinFS dan akan menggabungkan teknologi yang dikembangkan untuk WinFS di dalam produk dan teknologi Microsoft yang lainnya, khususnya adalah Microsoft SQL Server.

Dukungan device driver untuk Windows NT juga kurang begitu banyak karena memang mengembangkan driver untuk Windows NT dianggap rumit oleh beberapa pengembang, selain tentunya Windows NT juga memiliki superioritas dalam model abstraksi perangkat kerasnya. Masalah ini telah menghantui semua versi Windows NT hingga Windows NT 5.0 (Windows 2000) keluar ke pasaran. Para programmer pun mengeluh bahwa mengembangkan device driver untuk Windows NT adalah sesuatu hal yang rumit, dan para pengembang perangkat keras juga tidak mau mengambil risiko untuk mengembangkan device driver untuk sebuah sistem operasi yang memiliki pangsa pasar terbatas. Selain itu, meskipun Windows NT menawarkan performa yang baik dan mampu mengekspolitasi sumber daya sistem secara lebih efisien, dalam beberapa sistem dengan perangkat keras terbatas, Windows NT dianggap sebagai sistem yang boros sumber daya. Hal ini mengakibatkan munculnya opini publik bahwa Windows NT hanya cocok untuk mesin-mesin yang besar dan juga jauh lebih mahal (seperti halnya workstation dengan DEC Alpha atau Intel Pentium yang kala itu memang masih baru). Windows NT juga tidak dapat bekerja untuk pengguna pribadi karena kebutuhan sumber dayanya yang tinggi. Selain itu, GUI yang digunakannya hanyalah salinan dari GUI Windows 3.1, yang masih kalah jauh jika dibandingkan dengan Workplace Shell milik OS/2, sehingga alasan Windows NT merupakan pengganti bagi Windows 3.1 tidaklah masuk akal.
Akan tetapi, fitur-fitur tersebutlah yang membuat Windows NT pilihan yang sempurna untuk pangsa pasar server jaringan lokal (LAN), yang pada tahun 1993 sedang mengalami booming besar-besaran, seiring dengan komoditas jaringan di dalam kantor telah meningkat secara drastis. Fitur-fitur jaringan dalam Windows NT menawarkan beberapa pilihan konektivitas jaringan yang luas dan juga tentunya sistem berkas NTFS yang efisien. Windows NT 3.51 merupakan primadona Microsoft saat terjun ke pasar ini, yang kemudian mengambil alih sebagian besar pangsa pasar yang sebelumnya dimiliki oleh Novell Netware beberapa tahun ke depan.
Salah satu peningkatan terbesar dari Windows NT adalah Application Programming Interface (API) 32-bit yang baru, yang dibuat untuk menggantikan Windows API 16-bit yang sudah lama. API 32-bit ini dinamakan dengan Win32 API, dan dari sanalah Microsoft menyebut API 16-bit yang lama sebagai Win16. Win32 API memiliki tiga buah implementasi utama: satu untuk Windows NT (yang merupakan Win32 API terlengkap dengan dukungan ANSI ataupun Unicode), satu untuk Win32s (yang merupakan bagian dari Win32 yang dapat digunakan di atas sistem Windows 3.1), dan juga satu lagi untuk Chicago (yang hanya mendukung ANSI). Hal ini menyebabkan kompatibilitas yang tinggi antara Chicago dan Windows NT, meskipun pada dasarnya kedua sistem tersebut adalah sangat jauh berbeda jika dilihat dari arsitektur dasarnya.

Windows NT merupakan sistem operasi Windows pertama yang dibuat dengan menggunakan kernel hibrida, setelah pada versi-versi sebelumnya hanya menggunakan kernel monolithic saja.
Windows 95

Setelah Windows 3.11, Microsoft mulai memulai pengembangan sebuah versi Windows yang berorientasi kepada pengguna yang diberi nama kode Chicago. Chicago didesain agar mmeiliki dukungan terhadap multitasking secara pre-emptive 32-bit seperti halnya yang terdapat di dalam OS/2 dan Windows NT, meskipun kernel 16-bit masih terdapat di dalamnya demi alasan kompatibilitas ke belakang. Win32 API yang pertama kali diperkenalkan pada Windows NT pun diadopsi sebagai sebuah standar antarmuka pemrograman baru yang berbasis 32-bit, dengan kompatibilitas Win16 juga dipertahankan dengan menggunakan sebuah teknik yang dinamakan dengan "thunking". GUI yang baru juga dimiliki oleh sistem operasi, meskipun pada awalnya Microsoft tidak merencanakannya sebagai bagian dari sistem operasi saat dirilis. Memang beberapa elemen antarmuka pengguna yang dimiliki oleh Cairo dipinjam dan ditambahkan kepada sistem operasi tersbut sebagai aspek lainnya dari versi itu (khususnya fitur Plug and Play).
Microsoft tidak mengganti semua kode Windows menjadi 32-bit; banyak bagian di dalamnya masih berupa 16-bit (meskipun tidak menggunakan modus real secara langsung), demi alasan kompatibilitas ke belakang, kinerja, dan waktu pengembangan. Hal ini dan fakta bahwa banyaknya kelemahan dalam desain versi-versi Windows sebelumnya, membuat sistem operasi yang baru ini terganggu efisiensi dan stabilitasnya.
Akhirnya, bagian marketing Microsoft menggunakan nama Windows 95 sebagai nama produk bagi Chicago, saat dirilis pada tanggal 24 Agustus 1995. Microsoft memiliki dua keuntungan dari peluncuran ini: 1) adalah mustahil bagi para konsumen untuk menjalankan Windows 95 pada sistem operasi DOS bukan buatan Microsoft yang jauh lebih murah; 2) meskipun jejak-jejak DOS tidaklah pernah dicabut dari sistem operasi tersebut, malahan versi tersebut menancapkan sebuah versi DOS untuk dimuat sebagai bagian dari proses booting, Windows 95 berjalan dengan sendirinya di dalam modus 386 Enhanced, dengan menggunakan memori virtual dan model pengalamatan memori flat 32-bit. Fitur-fitur itu menjadikan aplikasi Win32 untuk mengalamatkan RAM virtual sebanyak maksimal 2 gigabyte (dengan 2 gigabyte sisanya dicadangkan untuk sistem operasi), dan dalam teorinya mencegah aplikasi tersebut untuk mengganggu ruangan memori yang dimiliki oleh aplikasi Win32 lainnya tanpa adanya persetujuan dari sistem operasi. Dalam hal ini, memang fungsionalitas Windows 95 mendekati apa yang dimiliki oleh Windows NT, meskipun Windows 95/98/Me tidak mendukung memori melebihi 512 megabyte tanpa menyunting konfigurasi sistem yang merepotkan.
Di balik kesuksesan Microsoft, IBM terus melanjutkan pasar OS/2, dengan memproduksi OS/2 versi 3.0 dan OS/2 Warp (versi 4.0). IBM merespons keluhan yang diajukan oleh para konsumen mengenai kebutuhan perangkat keras komputer yang tinggi yang diminta oleh OS/2 versi 2.0, OS/2 versi 3.0 pun dibuat jauh lebih ramping dengan melakukan optimalisasi pada ukuran dan kecepatan. Sebelum Windows 95 dirilis, OS/2 Warp 3.0 bahkan telah dibundel dalam beberapa penyedia perangkat keras mayor di Jerman. Akan tetapi, dengan dirilisnya Windows 95, OS/2 lagi-lagi kehilangan pangsa pasarnya kembali, diambil alih oleh Windows 95.
Mungkin tidak mungkin untuk mencari tahu apa alasan mengapa OS/2 gagal dalam mendapatkan pangsa pasar yang besar. Walaupun OS/2 terus dapat menjalankan aplikasi Windows 3.1, sebenarnya sudah tidak ada yang kekurangan lagi, kecuali pada sebagian kecil dari Windows API yang disebut Win32s. Tidak seperti Windows 3.1, IBM tidak memiliki akses terhadap kode sumber Windows 95 dan tidak mau menggunakan waktu dan sumber daya yang ada untuk melakukan emulasi terhadap Win32 API. IBM juga memperkenalkan OS/2 pada kasus Amerika Serikat versus Microsoft, dengan menyalahkan taktik marketing pada bagian Microsoft, tapi banyak orang mungkin setuju bahwa masalah di dalam bagian marketing IBM lah dan dukungannya yang sangat kurang dari para pengembang perangkat lunak yang meyebabkan kegagalan-kegagalan OS/2.
Sebelum menggantinya dengan versi Windows yang baru, Microsoft merilis Windows 95 dalam lima versi berbeda, yakni sebagai berikut:
* Windows 95 - rilis yang sebenarnya dari Windows 95
* Windows 95 A - mencakup pembaruan Windows 95 Original Service Release 1 (OSR1) yang dimasukkan secara langsung terhadap instalasi.
* Windows 95 B - mencakup beberapa pembaruan mayor lainnya, seperti halnya sistem berkas FAT32, dan Internet Explorer 3.0. Versi ini juga dikenal dengan Windows 95 OSR2, atau banyak orang di Indonesia menyebutnya sebagai Windows 97.
* Windows 95 B USB - atau Windows 95 OSR2.1 merupakan versi Windows 95 yang menawarkan dukungan terhadap perangkat keras berbasis bus Universal Serial Bus/USB.
* Windows 95 C - atau Windows 95 OSR2.5 mencakup semua fitur di atas, ditambah Internet Explorer 4.0. Versi ini merupakan versi yang paling terakhir dirilis dari seri Windows 95.
Windows 95 OSR2, OSR2.1 dan OSR2.5 tidaklah dirilis untuk publik, akan tetapi hanya kepada OEM saja yang mau menggunakan sistem operasi tersebut ke dalam komputer buatannya. Beberapa perusahaan OEM bahkan menjual hard disk baru dengan sistem operasi Windows 95 OSR2 di dalamnya.
Selain fitur yang terkandung di dalam Windows 95, Microsoft juga memperkenalkan Microsoft Plus! for Windows 95 yang mencakup beberapa fitur tambahan yang tidak dimiliki oleh Windows 95.
Setelah Windows 3.11, Microsoft mulai memulai pengembangan sebuah versi Windows yang berorientasi kepada pengguna yang diberi nama kode Chicago. Chicago didesain agar mmeiliki dukungan terhadap multitasking secara pre-emptive 32-bit seperti halnya yang terdapat di dalam OS/2 dan Windows NT, meskipun kernel 16-bit masih terdapat di dalamnya demi alasan kompatibilitas ke belakang. Win32 API yang pertama kali diperkenalkan pada Windows NT pun diadopsi sebagai sebuah standar antarmuka pemrograman baru yang berbasis 32-bit, dengan kompatibilitas Win16 juga dipertahankan dengan menggunakan sebuah teknik yang dinamakan dengan "thunking". GUI yang baru juga dimiliki oleh sistem operasi, meskipun pada awalnya Microsoft tidak merencanakannya sebagai bagian dari sistem operasi saat dirilis. Memang beberapa elemen antarmuka pengguna yang dimiliki oleh Cairo dipinjam dan ditambahkan kepada sistem operasi tersbut sebagai aspek lainnya dari versi itu (khususnya fitur Plug and Play).
Microsoft tidak mengganti semua kode Windows menjadi 32-bit; banyak bagian di dalamnya masih berupa 16-bit (meskipun tidak menggunakan modus real secara langsung), demi alasan kompatibilitas ke belakang, kinerja, dan waktu pengembangan. Hal ini dan fakta bahwa banyaknya kelemahan dalam desain versi-versi Windows sebelumnya, membuat sistem operasi yang baru ini terganggu efisiensi dan stabilitasnya.
Akhirnya, bagian marketing Microsoft menggunakan nama Windows 95 sebagai nama produk bagi Chicago, saat dirilis pada tanggal 24 Agustus 1995. Microsoft memiliki dua keuntungan dari peluncuran ini: 1) adalah mustahil bagi para konsumen untuk menjalankan Windows 95 pada sistem operasi DOS bukan buatan Microsoft yang jauh lebih murah; 2) meskipun jejak-jejak DOS tidaklah pernah dicabut dari sistem operasi tersebut, malahan versi tersebut menancapkan sebuah versi DOS untuk dimuat sebagai bagian dari proses booting, Windows 95 berjalan dengan sendirinya di dalam modus 386 Enhanced, dengan menggunakan memori virtual dan model pengalamatan memori flat 32-bit. Fitur-fitur itu menjadikan aplikasi Win32 untuk mengalamatkan RAM virtual sebanyak maksimal 2 gigabyte (dengan 2 gigabyte sisanya dicadangkan untuk sistem operasi), dan dalam teorinya mencegah aplikasi tersebut untuk mengganggu ruangan memori yang dimiliki oleh aplikasi Win32 lainnya tanpa adanya persetujuan dari sistem operasi. Dalam hal ini, memang fungsionalitas Windows 95 mendekati apa yang dimiliki oleh Windows NT, meskipun Windows 95/98/Me tidak mendukung memori melebihi 512 megabyte tanpa menyunting konfigurasi sistem yang merepotkan.
Di balik kesuksesan Microsoft, IBM terus melanjutkan pasar OS/2, dengan memproduksi OS/2 versi 3.0 dan OS/2 Warp (versi 4.0). IBM merespons keluhan yang diajukan oleh para konsumen mengenai kebutuhan perangkat keras komputer yang tinggi yang diminta oleh OS/2 versi 2.0, OS/2 versi 3.0 pun dibuat jauh lebih ramping dengan melakukan optimalisasi pada ukuran dan kecepatan. Sebelum Windows 95 dirilis, OS/2 Warp 3.0 bahkan telah dibundel dalam beberapa penyedia perangkat keras mayor di Jerman. Akan tetapi, dengan dirilisnya Windows 95, OS/2 lagi-lagi kehilangan pangsa pasarnya kembali, diambil alih oleh Windows 95.
Mungkin tidak mungkin untuk mencari tahu apa alasan mengapa OS/2 gagal dalam mendapatkan pangsa pasar yang besar. Walaupun OS/2 terus dapat menjalankan aplikasi Windows 3.1, sebenarnya sudah tidak ada yang kekurangan lagi, kecuali pada sebagian kecil dari Windows API yang disebut Win32s. Tidak seperti Windows 3.1, IBM tidak memiliki akses terhadap kode sumber Windows 95 dan tidak mau menggunakan waktu dan sumber daya yang ada untuk melakukan emulasi terhadap Win32 API. IBM juga memperkenalkan OS/2 pada kasus Amerika Serikat versus Microsoft, dengan menyalahkan taktik marketing pada bagian Microsoft, tapi banyak orang mungkin setuju bahwa masalah di dalam bagian marketing IBM lah dan dukungannya yang sangat kurang dari para pengembang perangkat lunak yang meyebabkan kegagalan-kegagalan OS/2.
Sebelum menggantinya dengan versi Windows yang baru, Microsoft merilis Windows 95 dalam lima versi berbeda, yakni sebagai berikut:
* Windows 95 - rilis yang sebenarnya dari Windows 95
* Windows 95 A - mencakup pembaruan Windows 95 Original Service Release 1 (OSR1) yang dimasukkan secara langsung terhadap instalasi.
* Windows 95 B - mencakup beberapa pembaruan mayor lainnya, seperti halnya sistem berkas FAT32, dan Internet Explorer 3.0. Versi ini juga dikenal dengan Windows 95 OSR2, atau banyak orang di Indonesia menyebutnya sebagai Windows 97.
* Windows 95 B USB - atau Windows 95 OSR2.1 merupakan versi Windows 95 yang menawarkan dukungan terhadap perangkat keras berbasis bus Universal Serial Bus/USB.
* Windows 95 C - atau Windows 95 OSR2.5 mencakup semua fitur di atas, ditambah Internet Explorer 4.0. Versi ini merupakan versi yang paling terakhir dirilis dari seri Windows 95.
Windows 95 OSR2, OSR2.1 dan OSR2.5 tidaklah dirilis untuk publik, akan tetapi hanya kepada OEM saja yang mau menggunakan sistem operasi tersebut ke dalam komputer buatannya. Beberapa perusahaan OEM bahkan menjual hard disk baru dengan sistem operasi Windows 95 OSR2 di dalamnya.
Selain fitur yang terkandung di dalam Windows 95, Microsoft juga memperkenalkan Microsoft Plus! for Windows 95 yang mencakup beberapa fitur tambahan yang tidak dimiliki oleh Windows 95.
Windows NT 4.0
Microsoft merilis Windows NT 4.0, sebagai penerus Windows NT 3.x yang sukses mengancam dominasi Novell Netware dan UNIX di pasar korporat. Windows NT 4.0 ini pada awalnya dikembangkan sebagai sebuah bagian dari usaha untuk memperkenalkan Windows NT kepada pasar workstation. NT 4.0 memiliki antarmuka yang sama dengan Windows 95, tetapi menggunakan kernel yang sama dengan Windows NT, sehingga lebih stabil. Memang, ada sebuah patch tambahan yang tersedia untuk Windows NT 3.51 yang mampu membuat NT 3.51 agar mirip seperti NT 4.0, tapi sangat tidak stabil dan memiliki banyak bug. Antarmuka pengguna tersebut pada awalnya memang dikembangkan di atas Windows NT, tapi karena Windows 95 dirilis terlebih dahulu sebelum NT 4.0, maka orang cenderung berpikir "Windows NT 4.0 adalah jiplakan dari Windows 95."
Windows NT 4.0 datang dalam empat versi:
* Windows NT 4.0 Workstation
* Windows NT 4.0 Server
* Windows NT 4.0 Server, Enterprise Edition (yang mencakup dukungan terhadap clustering dan SMP hingga 8-way)
* Windows NT 4.0 Terminal Server
Windows 98
Pada 25 Juni 1998, Microsoft merilis sebuah sistem operasi Windows baru, yang dikenal sebagai Windows 98. Windows 98 dianggap sebagai revisi minor terhadap Windows 95, tapi secara umum dilihat jauh lebih stabil dan dapat diandalkan dibandingkan dengan pendahulunya, Windows 95. Windows 98 mencakup banyak driver perangkat keras baru dan dukungan sistem berkas FAT32 yang lebih baik yang mengizinkan partisi untuk memiliki kapasitas lebih besar dari 2 gigabyte, sebuah batasan yang terdapat di dalam Windows 95. Dukungan USB di dalam Windows 98 pun juga jauh lebih baik dibandingkan dengan pendahulunya.

Windows 98 mengundang kontroversi saat Microsoft memasukkan penjelajah web Microsoft Internet Explorer ke dalam sistem operasi dan tidak dapat dicabut, sehingga menjadikan Windows Explorer dan GUI Windows mampu menampilkan direktori seolah-olah halaman web. Hal ini membuka kasus baru, yang disebut sebagai Amerika Serikat versus Microsoft, yang menanyakan mengapa Microsoft repot-repot menjaga dominasinya di dalam sistem operasi komputer pribadi untuk berkompetisi dengan para pesaingnya seperti Netscape dan IBM dengan cara yang tidak jujur.
Pada tahun 1999, Microsoft merilis Windows 98 Second Edition, sebuah rilis yang menawarkan banyak peningkatan dibandingkan versi sebelumnya. Internet Connection Sharing, yang merupakan sebuah bentuk dari Network Address Translation, yang mengizinkan beberapa mesin di dalam sebuah jaringan lokal agar dapat menggunakan satu buah jalur koneksi Internet bersama-sama pun diperkenalkan pada versi ini. Banyak masalah minor di dalam Windows yang lama telah dikoreksi, yang menjadikan Windows 98 menurut banyak orang sebagai sebuah versi Windows 9x yang paling stabil di antara semua versi Windows 9x lainnya.
Windows 2000
Microsoft merilis Windows 2000 pada 17 Februari 2000, sebuah versi yang sebelumnya dikenal dengan sebutan Windows NT 5.0 atau "NT 5.0". Versi Windows 2000 ditujukan untuk dua pangsa pasar, yakni pangsa pasar workstation dan juga pangsa pasar server.
Di antara fitur-fitur Windows 2000 yang paling signifikan adalah Active Directory, sebuah model jaringan pengganti model jaringan NT domain, yang menggunakan teknologi yang merupakan standar industri, seperti Domain Name System (DNS), Lightweight Directory Access Protocol (LDAP), dan Kerberos untuk menghubungkan antara sebuah mesin ke mesin lainnya. Windows Terminal Services juga, yang pada Windows NT 4.0 hanya terdapat di dalam satu produk saja, pada Windows 2000 terdapat dalam semua versi server. Fitur-fitur baru yang diadopsi dari Windows 98 juga ditanamkan di dalamnya, seperti Device Manager yang telah ditingkatkan (dengan menggunakan Microsoft Management Console), Windows Media Player, dan DirectX 6.1 (yang memungkinkan sistem operasi berbasis kernel Windows NT untuk menjalankan game). Windows 2000 juga merupakan versi Windows berbasis kernel NT terakhir yang tidak mengharuskan penggunanya untuk melakukan aktivasi terhadapnya.
Meskipun Windows 2000 dapat memperbarui komputer yang sebelumnya menjalankan Windows 98, Windows 2000 tidaklah dianggap sebagai produk yang cocok untuk pengguna rumahan. Alasannya banyak, di antaranya adalah kurangnya device driver untuk banyak perangkat pengguna seperti pemindai (scanner) dan juga pencetak (printer), pada saat dirilis. Situasi tersebut akhirnya berbalik pada saat Windows XP dirilis oleh Microsoft.
Windows 2000 tersedia dalam enam edisi, yakni:
* Windows 2000 Professional
* Windows 2000 Server
* Windows 2000 Advanced Server
* Windows 2000 Datacenter Server
* Windows 2000 Advanced Server Limited Edition
* Windows 2000 Datacenter Server Limited Edition
Windows Me
Pada bulan September 2000, Microsoft memperkenalkan Windows Millennium Edition (dikenal juga dengan sebutan Windows Me atau Windows ME). Versi ini memperbarui Windows 98 dengan dukungan multimedia dan Internet yang lebih baik. Versi ini juga memasukkan fitur "System Restore," yang mengizinkan para penggunanya untuk mengembalikan keadaan sistem ke sebuah titik yang dikenal baik-baik saja, pada saat sistem operasi mengalami kegagalan. System Restore menjadi fitur yang masih dipertahankan pada Windows XP. Versi ini juga memperkenalkan Windows Movie Maker versi pertama.
Windows Me dibuat dalam waktu yang singkat, kira-kira hanya satu tahun, yang ditujukan hanya untuk mengisi kekosongan rilis antara Windows 98 dan Windows XP sebagai sistem operasi untuk kelas rumahan. Fitur-fitur yang terdapat di dalam Windows Me (seperti Internet Explorer 5.5, Windows Media Player 7.0, dan Microsoft DirectX 7.1) bahkan bisa diperoleh secara gratis dari situs Windows Update, kecuali System Restore. Hasilnya, Windows Me pun tidak dianggap sebagai sebuah sistem operasi yang unik di antara saudara-saudaranya dari keluarga Windows 9x, Windows 95 dan Windows 98. Windows Me juga dikritik karena munculnya masalah kestabilan, dan juga dukungan terhadap MS-DOS yang berjalan di dalam modus real. Orang-orang bahkan menyebut Windows Me sebagai Windows Mistake Edition.
Windows Me merupakan sistem operasi terakhir yang dibuat berdasarkan kernel monolithic Windows 9x dan MS-DOS. Versi ini pun menjadi versi terakhir sistem operasi Windows yang tidak memiliki Windows Product Activation (WPA).
Windows XP: menyatukan kedua jajaran produk
Tampilan Windows XP menampilkan folder Sample Pictures, Sample Music, dan Control Panel, dengan tema Luna dan desktop Bliss.
Tampilan Windows XP menampilkan folder Sample Pictures, Sample Music, dan Control Panel, dengan tema Luna dan desktop Bliss.
Pada tahun 2001, Microsoft memperkenalkan Windows XP (yang memiliki nama kode "Whistler" selama pengembangan. Akhirnya, setelah merilis beberapa versi Windows berbasis Windows 9x dan NT, Microsoft berhasil menyatukan kedua jajaran produk tersebut. Windows XP menggunakan kernel Windows NT 5.1, sehingga menjadikan kernel Windows NT yang terkenal dengan kestabilannya memasuki pasar konsumen rumahan, untuk menggantikan produk Windows 9x yang berbasis 16/32-bit yang sudah menua.
Windows XP merupakan versi sistem operasi Windows yang paling lama (paling tidak hingga saat ini), karena memang berkisar dari tahun 2001 hingga tahun 2007, saat Windows Vista dirilis ke konsumen. Jajaran sistem operasi Windows XP akhirnya diteruskan oleh Windows Vista pada 30 Januari 2007.
Windows XP tersedia dalam beberapa versi:
* Windows XP Home Edition, yang ditujukan untuk pasar desktop dan laptop rumahan.
* Windows XP Home Edition N, sama seperti Home Edition yang biasa, tapi tidak memiliki Windows Media Player, karena memang peraturan Uni Eropa tidak memperbolehkannya.
* Windows XP Professional, yang ditujukan bagi para power user dan pebisnis.
* Windows XP Professional N, sama seperti Professional Edition, tapi tidak memiliki Windows Media Player, karena peraturan Uni Eropa tidak mengizinkannya.
* Windows XP Media Center Edition (MCE), dirilis pada bulan November 2002, merupakan Windows XP Home Edition yang ditujukan untuk dektop dan laptop dengan penekanan pada hiburan rumahan.
o Windows XP Media Center Edition 2003
o Windows XP Media Center Edition 2004
o Windows XP Media Center Edition 2005, yang dirilis pada 12 Oktober 2004.
* Windows XP Tablet PC Edition, yang ditujukan untuk PC Tablet (PC dengan layar sentuh)
o Windows XP Tablet PC Edition 2005
* Windows XP Embedded, yang ditujukan untuk sistem benam (embedded system)
* Windows XP Starter Edition, yang ditujukan untuk para pengguna komputer di beberapa negara berkembang.
* Windows XP Professional x64 Edition, yang dirilis pada 25 April 2005 untuk sistem-sistem rumahan dan workstation yang menggunakan prosesor 64-bit yang berbasiskan set instruksi x86-64 (AMD64 atau Intel EM64T).
* Windows XP 64-bit Edition, merupakan sebuah versi Windows XP yang ditujukan untuk jajaran prosesor Intel Itanium, yang mempertahankan kompatibilitas dengan aplikasi 32-bit dengan menggunakan emulator perangkat lunak. Versi ini sama saja dengan Windows XP Professional, dari segi fitur-fiturnya. Produk ini dihentikan pada bulan September 2005 saat vendor terakhir workstation berbasis prosesor Itanium menghentikan produk-produknya sebagai "workstation", karena memang mereka cenderung memfokuskan Itanium sebagai basis komputer server.
o Windows XP 64-bit Edition 2003, dibuat berbasiskan basis kode Windows NT 5.2 (sama seperti Windows Server 2003).
Windows Server 2003
Pada tanggal 24 April 2003, Microsoft meluncurkan Windows Server 2003, sebuah pembaruan untuk sistem operasi Windows 2000 Server, yang menawarkan banyak fitur-fitur keamanan yang baru, pemandu "Manage Your Server wizard" yang menyederhanakan peranan sebuah mesin yang menjalankannya, dan juga peningkatan kinerja. Windows Server 2003 menggunakan kernel Windows NT versi 5.2.
Di dalam Windows Server 2003, beberapa layanan yang tidak terlalu dibutuhkan di dalam lingkungan server dinonaktifkan secara default, terutama "Windows Audio" dan "Themes" demi alasan kestabilan; Agar dapat menggunakan suara dan tampilan yang sama dengan Windows XP, pengguna harus mengaktifkannya secara manual, melalui snap-in Microsoft Management Console Services.msc Selain itu, akselerasi perangkat keras untuk kartu grafis juga dimatikan; lagi-lagi pengguna harus mengaktifkannya secara manual, tentu saja jika device driver yang digunakan "bisa dipercayai".
Pada bulan Desember 2005, Microsoft merilis Windows Server 2003 R2, yang merupakan Windows Server 2003 Service Pack 1 ditambah dengan beberapa paket tambahan. Di antara semua fitur-fitur barunya adalah fitur-fitur manajemen untuk kantor-kantor cabang, dan integrasi identitas yang luas.
Windows Server 2003 tersedia dalam lima buah edisi:
* Windows Server 2003, Web Edition
* Windows Server 2003, Standard Edition
* Windows Server 2003, Enterprise Edition (32-bit dan 64-bit)
* Windows Server 2003, Datacenter Edition
* Windows Server 2003, Small Business Server
Windows Vista
Setelah meraih kesukesan besar dengan Windows XP, Microsoft tidak lantas berhenti begitu saja mengembangkan Windows. Versi terbaru dari Windows, disebut dengan Windows Vista, dirilis pada tanggal 30 November 2006 [1] bagi kalangan bisnis sementara untuk kalangan pengguna rumahan dirilis pada tanggal 30 Januari 2007. Windows Vista memang dicanangkan agar memiliki keamanan yang lebih tangguh dibandingkan dengan versi-versi sebelumnya, dengan memperkenalkan sebuah modus pengguna yang terbatas, yang disebut sebagai User Account Control (UAC), untuk menggantikan filosofi "administrator-by-default" yang diberlakukan pada Windows XP. Windows Vista juga memperkenalkan fitur grafik yang jauh lebih "memikat", yang disebut dengan Windows Aero GUI, aplikasi yang baru (seperti halnya Windows Calendar, Windows DVD Maker dan beberapa game baru termasuk Chess Titans, Mahjong, dan Purble Place). Selain itu, Windows Vista juga menawarkan versi Microsoft Internet Explorer yang lebih aman, serta Windows Media Player versi baru (versi 11).
Windows Vista, menampilkan antarmuka grafis Aero-nya yang memikat, Welcome screen dan menu Start.
Windows Vista, menampilkan antarmuka grafis Aero-nya yang memikat, Welcome screen dan menu Start.
Windows Vista menggunakan nomor versi 6.0, sehingga memang terdapat perbedaan versi yang signifikan jika dibandingkan dengan Windows XP yang menggunakan nomor versi 5.1 atau Windows Server 2003 (5.2). Karena, memang Windows Vista memiliki banyak perbedaan yang mendasar, khususnya pada bagian arsitektur dasar sistem operasi.
Windows Vista dijual dalam beberapa edisi:
* Windows Vista Starter
* Windows Vista Home Basic
* Windows Vista Home Premium
* Windows Vista Business
* Windows Vista Enterprise
* Windows Vista Ultimate
Windows Home Server
Windows Home Server (sebelumnya memiliki nama kode Q singkatan dari Quattro) merupakan sebuah produk server yang diturunkan dari Windows Server 2003, yang didesain khusus untuk digunakan oleh para konsumen dari pengguna rumahan. Sistem operasi ini diperkenalkan pada tanggal 7 Januari 2007 oleh Bill Gates. Windows Home Server dapat dikonfigurasikan dan dipantau dengan menggunakan program console yang dapat diinstalasikan pada sebuah PC klien. Windows ini memiliki fitur Media Sharing, backup terhadap drive lokal dan drive jarak jauh, dan duplikasi berkas.
Windows Server 2008
Windows Server 2008, adalah sebuah versi baru Windows Server, yang dijadwalkan untuk dirilis pada tanggal 27 Februari 2008. Pada saat pengembangannya, Windows Server memiliki nama kode "Windows Server Codenamed Longhorn." Windows Server 2008 dibangun di atas beberapa keunggulan teknologi dan keamanan yang pada awalnya diperkenalkan dengan Windows Vista, dan ditujukan agar bisa lebih modular secara signifikan, ketimbang pendahulunya, Windows Server 2003.
Single Multitasking
Windows(dari wondows 2000) adalah contoh yang penting dalam menjadikan gelombang yang baru operasi sistem mikrokomputer(contoh lain linux dan MacOS). Dalam mengoperasikan windows membutuhkan kemampuan proses yang besar sekarang baru dapat 32-bit dan 64-bit mikroprosesor, yang mana rival mainframe hanya membutuhkan waktu yang sangat cepat,hardware sophistication, and memory capacity.
Tanpa multitasking,pengguna mengharapkan untuk membuat sebuah gambar dan mengimputkan kata pada dokument, dibawah ini langkah-langkahnya:
1. Buka program gambar
2.Buat gambar dan simpan didalam file atau menyimpannya sementara di clipboard
3.Tutup program gambar
4. Buka program word
5. Masukkan gambar menurut lokasinya
Arsitektur
Ganbar dibawah ini meilustrasikan struktur dari windows 2000 rilis sebelumnya windows,including vista, mempunyai hal-hal yang perlu dalam kesamaan struktur di level ini. Struktur modular memberikan windows yang sangat fleksibel. Ini contoh eksekusi desainnya:

Organisasi sistem operasi windows mempunyai suatu arsitektur yang sangat modular. Masing-masing fungsi diatur suatu komponen. Sisa dan semua aplikasi mengakses fungsi melalui komponen dengan menggunakan interface. Pada prinsipnya dimana pun modul dapat dipindahkan di upgrade tanpa menulis ulang keseluruhan sistem atau alat penghubung program aplikasi standartnya ( APIS ). Kernel Mode komponen windows sbb:
1. Executive
2. Kernel
3. Hardware abstraction layer (HAL)
4. Device drivers
5. Windowing and graphics system.


Client/Server Model
Keuntungan suatu client/server arsitektur meliputi yang berikut:
Menyederhanakan Eksekutip [itu]. [Itu] adalah mungkin untuk membangun berbagai APIS yang diterapkan di user-mode server tanpa konflik atau duplikasi di Eksekutip. Baru APIS dapat ditambahkan dengan mudah.
Meningkatkan keandalan. Masing-Masing server baru berlari di luar inti, dengan kepunyaan nya sekat memori, melindungi dari lain server. Server tunggal dapat gagal tanpa roboh/ hancur atau merusak sisa dari OS.
Menyediakan suatu seragam untuk aplikasi untuk berkomunikasi dengan jasa via RPCS tanpa membatasi fleksibilitas. Ssage-Passing proses tersembunyi dari aplikasi klien oleh berfungsi potongan, yang adalah potongan kode kecil yang membungkus RPC call.When suatu aplikasi membuat suatu API disebut kepada suatu lingkungan subsistem atau melayani, potongan/puntung di aplikasi klien membungkus parameter untuk panggilan dan mengirimkannya sebagai pesan bagi suatu subsistem server yang implements panggilan tersebut.
Menyediakan suatu dasar pantas untuk dibagi-bagikan computing.Typically, yang dibagi-bagikan komputasi menggunakan suatu client/server model, dengan panggilan prosedur remote menerapkan penggunaan modul server dan klien dibagi-bagikan dan pertukaran pesan antar klien dan servers.With Windows, suatu server lokal dapat lewat a pesan ke atas suatu server remote untuk memproses atas nama aplikasi klien lokal.Klien tidak perlu mengetahui apakah suatu permintaan dilayani di tempat itu atau sedikit. Tentu saja,apakah suatu permintaan dilayani di tempat itu atau sedikit dapat ber;ubah dengan dinamis kondisi-kondisi beban sekarang yang didasarkan pada dan pada bentuk wujud dinamis berubah.



Threads and SMP
Dua karakteristik Windows penting pendukungan nya untuk benang dan untuk symmetric multiprocessing ( SMP), kedua-duanya dimana telah diperkenalkan di Bagian 2.4. [ RUSS05] mendaftar corak Windows yang berikut yang mendukung benang dan SMP:
• OS kaleng rutin maju manapun pengolah tersedia, dan kaleng rutin berbeda melaksanakan
secara serempak tentang pengolah yang berbeda .
• Windows mendukung penggunaan sekerup ulir-majemuk pelaksanaan di dalam tunggal memproses. Sekerup ulir-majemuk di dalam proses yang sama boleh melaksanakan tentang yang berbeda pengolah secara serempak.
• Server Proses boleh menggunakan sekerup ulir-majemuk untuk memproses permintaan dari lebih dari satu klien secara serempak.
• Windows menyediakan mekanisme untuk berbagi data dan sumber daya antar proses
dan fleksibel interprocess kemampuan komunikasi.

Windows Objects

Windows menggambar dengan berat pada konsep yang berorientasi menolak design.This pendekatan memudahkan pembagian sumber daya dan data antar proses dan perlindungan sumber daya dari access.Among tidak syah kunci konsep berorientasi menolak yang digunakan oleh Windows adalah yang berikut:
• Encapsulation: Suatu obyek terdiri dari satu atau lebih materi data, atribut yang disebut dan satu atau lebih prosedur yang mungkin dilakukan pada data itu, disebut services.The hanya cara]untuk mengakses data di dalam suatu obyek adalah dengan permohonan salah satu dari object’s jasa. Seperti itu, data di dalam kaleng obyek yang dengan mudah dilindungi dari penggunaan tidak syah dan dari penggunaan salah ( e.g., berusaha untuk melaksanakan suatu yang nonexecutable potongan data).
• Obyek Kelas Dan Kejadian: Suatu kelas obyek adalah suatu template yang mendaftar atribut dan jasa dari suatu obyek dan menggambarkan obyek tertentu characteristics.The OS dapat menciptakan kejadian spesifik dari suatu kelas obyek jika dibutuhkan. Sebagai contoh, ada proses tunggal menolak kelas dan satu obyek proses untuk tiap-tiap [yang] aktif process. Pendekatan ini menyederhanakan ciptaan obyek dan manajemen.
• Warisan: Walaupun implementasi adalah menyampaikan coded, Penggunaan Eksekusi Warisan untuk meluas kelas obyek dengan menambahkan corak baru. Tiap-Tiap Eksekusi Kelas didasarkan pada suatu yang kelas dasar menetapkan metoda sebetulnya yang mendukung menciptakan, penamaan, pengamanan, dan menghapus object. Object Mengirimkan adalah Eksekusi Object yang menerima warisan kekayaan dari suatu obyek peristiwa, sehingga mereka dapat menggunakan umum metoda sinkronisasi. Lain obyek spesifik mengetik, seperti kelas alat, mengijinkan kelas untuk alat spesifik untuk menerima warisan dari kelas dasar, dan menambahkan tambahan data dan metoda.
• Polymorphism: secara internal, Windows menggunakan suatu yang umum satuan API berfungsi untuk menggerakkan object tentang segala jenis ini adalah suatu corak polymorphism, seperti dirumuskan dalam Catatan tambahan B. Bagaimanapun,Windows tidaklah dengan sepenuhnya polymorphic sebab di sana adalah banyak APIS itu adalah dikhususkan untuk jenis obyek spesifik.

Seputar LInux


Sejarah
Linux atau GNU/Linux adalah sistem operasi bebas yang sangat populer. Istilah Linux atau GNU/Linux (GNU) juga digunakan bagi merujuk kepada keseluruhan edaran Linux (Linux distribution), yang selalunya disertakan program-program lain selain Sistem Pengoperasian. Contoh-contoh program adalah seperti Server Web, Bahasa Pengaturcaraan, Basis Data, Persekitaran Desktop (Desktop environment) (seperti GNOME dan KDE), dan suite kantor (office suite) seperti OpenOffice.org. Edaran-edaran Linux telah mengalami pertumbuhan yang pesat dari segi kepopuleran, sehingga lebih populer dari versi UNIX yang propritari (proprietary) dan mula menandingi dominasi Microsoft Windows dalam beberapa kasus.
Linux menyokong banyak Perkakasan Komputer, dan telah diguna di dalam berbagai peralatan dari Komputer pribadi sampai Superkomputer dan Sistem Benam (Embedded System) (seperti Telefon Mudahalih dan Perekam Video pribadi Tivo).

Pada mulanya, ia dibuat dan digunakan oleh peminatnya saja. Kini Linux telah mendapat sokongan dari perusahaan besar seperti IBM, dan Hewlett-Packarddan perusahaan besar lain. Para penganalisa menujukan kejayaannya ini disebabkan karena Linus tidak bergantung kepada vendor (vendor-independence), biaya perkakasan yang rendah, dan kepantasannya berbanding versi UNIX proprietari, serta faktor keselamatan dan kestabilannya berbanding dengan Microsoft Windows. Ciri-ciri ini juga menjadi bukti atas keunggulan model pembangunan sumber terbuka.
Sejarah
Kernel Linux pada mulanya ditulis sebagai hobi oleh pelajar universitas Finland Linus Torvalds yang belajar di Universitas Helsinki, untuk membuat kernel Minix yang bebas dan dapat sunting. (Minix adalah projek pelajaran menyerupai UNIX direka untuk mudah dan bukannya untuk kegunaan perniagaan.) Versi 0.01 dikeluarkan ke Internet pada September 1991, Versi 0.02 pada 5 Oktober 1991. [1]
Berikutnya, beribu-ribu penulis program sukarelawan seluruh dunia telah menyertai projek ini.
Sejarah sistem pengoperasian berdasarkan Linux berkaitan arat dengan projek GNU, projek program bebas terkenal diketuai oleh Richard Stallman. Projek GNU bermula pada 1983 untuk membuat sistem pengoperasian seperti Unix lengkap — kompiler, utiliti aplikasi, utiliti pembangunan dan seterusnya — dikarang sepenuhnya dengan Program Bebas. Pada 1991, apabila versi pertama kerangka Linux ditulis, projek GNU project telah menghasilkan hampir kesemua komponen sistem ini — kecuali kernel. Torvalds dan pembangun kernel seperti Linux menyesuaikan kernel mereka supaya dapat berfungsi dengan komponen GNU, dan seterusnya mengeluarkan Sistem Pengoperasian yang cukup berfungsi. Oleh itu, Linux melengkapkan ruang terakhir dalam rancangan GNU.

Modular Structure
Walaupun Linux mungkin adalah dipertimbangkan monolitis, struktur modular nya mengalahkan sebagian dari berbagai kesulitan di dalam mengembangkan intinya.
Linux modul mempunyai dua karakteristik penting:
• Dynamic linking: Suatu modul inti dapat terisi dan dihubungkan ke dalam inti sedang inti telah di memori dan execusi.A modul dapat juga tidak dihubungkan dan memindahkan dari memori pada setiap waktu.
• Stackable modules: Modul diatur dalam suatu hirarki. Modul individu bertindak sebagai perpustakaan ketika mereka disesuaikan oleh orang atasan modul klien di dalam hirarki, dan sebagai klien ketika mereka modul acuan bawah lebih lanjut

Gambar 2.17 adalah suatu contoh yang menggambarkan struktur yang digunakan oleh Linux untuk mengatur modul. Figur menunjukkan daftar modul inti setelah hanya dua modul telah terisi:FAT Dan VFAT. Masing-Masing modul digambarkan oleh dua tabel, modul [tabel;meja] dan tabel lambang. Tabel Modul meliputi yang unsur-unsur berikut:
• * next: Tongkat penunjuk kepada modul yang berikut [itu]. Semua modul di/terorganisir ke dalam a list.The daftar yang dihubungkan mulai dengan pseudomodule yang tidak ditunjukkan Gambar 2.17).
• * name: pointer penunjuk ke nama modul.
• size: Ukuran Modul di halaman memori.
• usecount: Pemakaian Modul konter. Yang konter adalah incremented ketika suatu operasi
menyertakan module’s fungsi dimulai dan decremented ketika operasi
ber/mengakhiri.
• Flag: Modul berkibar.
• nsyms: Jumlah lambang diekspor.
• ndeps: Jumlah modul disesuaikan
• * syms: Pointer pada ini module’s tabel lambang.
• * deps: : Pointer penunjuk pada daftar modul disesuaikan oleh modul ini.
• * refs: : Pointer penunjuk pada daftar modul yang menggunakan modul ini.


Kernel Components
Gambar 2.18, mengambil dari [ MOSB02] menunjukkan komponen yang utama Linux Inti ketika diterapkan pada suatu IA-64 arsitektur ( e.g., Intel Itanium). Gambar tersebut pertunjukan beberapa proses menjalankan di kernel di atas :

Secara singkat prinsip komponen Kernel adalah sebagai berikut
• Signals:: Inti menggunakan isyarat untuk disebut ke dalam suatu proses. Sebagai contoh, isyarat adalah yang digunakan untuk memberitahu suatu proses kesalahan tertentu, seperti divisi oleh nol.
• System calls: Panggilan Sistem adalah rata-rata dengan mana suatu proses meminta suatu spesifik layanan inti. Ada beberapa ratus panggilan sistem, yang dapat dengan kasar yang dikelompokkan ke dalam enam kategori: filesystem, proses, penjadwalan, interprocess komunikasi, stop kontak ( networking), dan bermacam-macam
• Processes and scheduler: Ciptakan, mengatur, dan menjadwalkan proses.
• Virtual memory: Alokasikan dan mengatur memori sebetulnya untuk proses.
• File systems: Sediakan suatu namespace hirarkis global untuk file, direktori, dan lain file berhubungan object dan menyediakan fungsi sistem file.
• Network protocols: Dukung Stop kontak menghubung ke para pemakai untuk TCP/IP
deretan protokol.
• Character device drivers: Atur alat yang memerlukan inti [itu] untuk mengirimkan atau menerima data satu byte pada waktu yang sama, seperti terminal, modems, dan pencetak.
• Block device drivers: Atur alat yang membaca da

n tulis data di blok, . seperti berbagai format tentang memori sekunder ( disk magnetis, CD-ROMS, dll.).
• Network device drivers: Atur kartu alat penghubung jaringan dan komunikasi pelabuhan yang menghubungkan ke alat jaringan, seperti jembatan dan penerus.
• Traps and faults: Perangkap Tangkai Dan Kesalahan yang dihasilkan oleh pengolah, seperti suatu kesalahan memori.
• Physical memory: Atur kolam halaman membingkai memori riil dan mengalokasikan halaman untuk memori sebenarnya
• Interrupts: Jawilan Tangkai dari alat sekeliling