Sunday, June 12, 2011

Ti 4 C Kelompok 2

Ade Akhmad Zarkasih      109091000116
Adit Tian Prabowo        109091000096
Riza Fakhlefi            109091000138

Tugas Sistem Operasi

1. Keuntungan dari Approach Layer pada OS Design memeliki semua kelebihan rancangan modular, yaitu :
  • Tiap lapisan dapat dirancang, dikode dandiuji secara independen
  • Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi
  • Mempermudah debug dan verifikasi sistem
  • Lapisan pertama bisa di-debug tanpa mengganggu sistem yang lain
Kerugian dari Approach Layer pada OS Design
  • • fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati
  • • Hanya bisa menggunakan lapisan dibawahnya
  • • Tidak efisien dibandingkan tipe yang lain



2. Berikut ini adalah kategori-kategori layanan yang diberikan oleh sistem operasi:
  • Antarmuka. Sistem operasi menyediakan berbagai fasilitas yang membantu programmer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi.
  • Eksekusi Program. Sistem harus bisa me- load program ke memori, dan menjalankan program tersebut. Program harus bisa menghentikan pengeksekusian baik secara normal maupun tidak (ada error).
  • Operasi Masukan/Keluaran. Program yang sedang dijalankan kadang kala membutuhkan Masukan/Keluaran. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur piranti masukan/keluaran secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi masukan/keluaran.
  • Manipulasi Sistem Berkas. Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.
  • Komunikasi. Kadang kala sebuah proses memerlukan informasi dari proses lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan share-memory atau message-passing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
  • Deteksi Error. Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, masukan/keluaran, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahanan jalannya proses komputasi, misalnya dengan menghentikan jalannya program, mencoba kembali melakukan operasi yang dijalankan, atau melaporkan kesalahan yang terjadi agar pengguna dapat mengambil langkah selanjutnya.
  • Disamping pelayanan di atas, terdapat juga layanan-layanan lain yang bertujuan untuk mempertahankan efisiensi sistem itu sendiri. Layanan tambahan itu yaitu:
  • Alokasi Sumber Daya. Ketika beberapa pengguna menggunakan sistem atau beberapa program dijalankan secara bersamaan, sumber daya harus dialokasikan bagi masing-masing pengguna dan program tersebut.
  • Accounting. Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya, dan jenis sumber daya yang digunakan selalu terjaga. Untuk itu maka diperlukan suatu perhitungan dan statistik. Perhitungan ini diperlukan bagi seseorang yang ingin merubah konfigurasi sistem untuk meningkatkan pelayanan.
  • Proteksi. Layanan proteksi memastikan bahwa segala akses ke sumber daya terkontrol; dan tentu saja keamanan terhadap gangguan dari luar sistem tersebut. Keamanan bisa saja dilakukan dengan terlebih dahulu mengindentifikasi pengguna. Ini bisa dilakukan dengan meminta password bila ingin menggunakan sumber daya



3. Keuntungan dari microkernel approach pada system design :
  • - Ketika layanan baru akan ditambahkan ke user-space, kernel tidak perlu di-modif
  • - OS lebih mudah ditempatkan (porting) pada suatu desain perangkat keras ke desain perangkat keras lainnya (asrsitektur sistem yang baru)
  • - Mendukung keamanan & reliabilitas lebih



4. Perbedaan antara preemptive dan non preemptive design
  • Preemptive: OS dapat mengambil (secara interrupt, preempt) CPU dari satu proses setiap saat.
Penjadwalan preemptive mungkin akan dijalankan ketika proses dalam keadaan :
- Brubah dari running ke waiting state
- Berubah dari running ke ready state
- Berubah dari waiting ke ready state
- Dihentikan
  • Non-preemptive: setiap proses secara sukarela (berkala) memberikan CPU ke OS.
Penjadwalan Non Preemptive terjadi ketika proses hanya :
-. Berjalan dari running state sampai waiting state
-. Dihentikan




5. Yang membedakan PCS dan SCS scheduling
  • Process-contention scope (PCS): scheduling competition is within the process Many-to-one and many-to-many models, thread library schedules user-level threads to run on LWP
Kernel thread scheduled onto available CPU is system-contention scope (SCS) – competition among all threads in systemUntuk menjadwalkan thread , sistem dengan model multithreading many to many atau
many to one menggunakan:

a. Process Contention Scope (PCS) . Pustaka thread menjadwalkan thread pengguna untukberjalan pada
    LWP (lightweight process ) yang tersedia.
b.System Contention Scope (SCS) . SCS berfungsi untuk memilih satu dari banyak thread,
   kemudian menjadwalkannya ke satu thread tertentu (CPU / Kernel).



6.Berikan alasan mengapa Solaris, Windows XP, and Linux mengimplementasikan mekanisme multiple locking. Jelaskan keadaan dimana mereka menggunakan spinlock, mutexes, semaphores, adaptive mutexes, dan condition variables. Pada setiap kasus, jelaskan mengapa mekanisme tersebut dibutuhkan.

Sistem operasi menyediakan mekanisme penguncian yang berbeda tergantung pada kebutuhan pengembang aplikasi. Spinlocks adalah berguna untuk sistem multiprosesor di mana thread dapat dijalankan dalam busy-loop (untuk jangka waktu yang pendek) daripada menimbulkan biaya overhead yang dimasukkan ke dalam sleep queue. Mutexes berguna untuk mengunci sumber daya. Solaris 2 menggunakan mutexes adaptif, berarti bahwa mutex ini diimplementasikan dengan spinlocks pada mesin multiprosesor. Semaphore dan variabel kondisi sebagai alat yang lebih tepat untuk sinkronisasi ketika sumberdaya harus dipegang untuk jangka waktu yang panjang, karena berputar secara tidak efisien untuk durasi panjang.



7. Konsep dari Transaction Atomicity

Atomisitas adalah properti “all or none” atau “seluruhnya atau tidak sama sekali”, maksudnya seluruh aksi di transaksi dilakukan atau tidak dilakukan sama sekali. Properti ini merupakan perluasan operasi tunggal menjadi seluruh operasi di transaksi. Atomisitas berarti jika eksekusi transaksi mengalami kegagalan, system bertanggungjawa melakukan pemulihan terhadap kegagalan dengan meniadakan efek-efek operasi-operasi yang telah dilakukan, mengembalikan sistem ke state saat dimulai transaksi. Sistem harus menjamin transaksi yang berjalan sampai selesai atau jika tidak selesai, maka tidak diselesaikan sama sekali.

Ketika transaksi berhasil diselesaikan maka disebut commtited,Jika transaksi tidak berhasil diselesaikan, disebut aborted dan sistem bertanggungjawab menjamin perubahan parsial apapun yang dilakukan pada transaksi dan dikembalikan ke situasi semula atau disbut roll back. Eksekusi atomic mengimplikasikan transaksi dilakukan secara keseluruhan atau tidak tidak dilaksanakan sama sekali.





8. 3 contoh dari deadlocks yang tidak ada hubungannya dengan lingkungan sistem computer :


  1. Kasus deadlock pada lalu lintas di jembatan. Pada sebuah jembatan kecil (yang hanya bisa dilewati oleh sebuah kendaraan roda 4 / mobil) secara kebetulan pada suatu waktu terdapat sederetan mobil dari dua arah (kiri-kanan) berlawanan melintasi jembatan tersebut. Hal ini menyebabkan kemacetan panjang hingga beberapa kilometer. Karena sama-sama memiliki kepentingan (menuju tujuan masing2) maka sederetan mobil tersebut (baik yang berasal dari arah kiri maupun kanan) tidak ada yang mau mengalah. Sekalipun ada yang mau mengalah, tidak ada jalan keluar, karena kemacetan / barisan mobil yang terbentuk sudah terlalu panjang, inilah yang disebut starvation akibat terjadinya deadlock (jalan buntu).
  2. Deadlock pada kasus di persimpangan. Di sebuah persimpangan jalan yang terletak di Ciledug, pada suatu saat system yang mengatur lalu lintas di persimpangan tersebut mangalami error. Sedangkan kita tahu bahwa persimpangan di daerah tersebut tidak pernah sepi dengan kendaraan dengan barbagai jenis kendaraan (motor, mobil, truck, bus, dll). Semua kendaraan yang terjebak dalam kondisi tersebut tidak mampu berbuat banyak kecuali berdiam di tempat. Karena apabila ssatu kendaraan saja maju atau mundur maka kecelakaan tidak bisa dihindarkan.
  3. Kasus deadlock di sebuah pintu kecil. Pada sebuah rumah yang dihuni oleh sepasang suami istri yang memiliki berat badan lebih (keduanya sama2 gemuk) kebetulan pintu untuk keluar rumah hanya bisa dilewati oleh salah satu dari dua orang tersebut. Pada suatu pagi di saat yang bersamaan, suami istri tersebut sama2 ada keperluan mendadak dan sangat mendesak hingga mengharuskan keduanya untuk keluar rumah di saat itu juga. Dari kedua manusia berbadan besar tersebut sama2 keras kepala tidak ada yang mau merelakan salah satu di antranya untuk keluar duluan. Keadaann ini berlangsung hingga 2 jam, tidak ada yang mundur dan tidak ada yang maju.
  4. Kasus deadlock pada saat ujian. Di sebuah universitas islam negeri di Jakarta untuk fakultas SAINTEK jurusan TI semester 4 kelas C, pada tanggal 14 Juni 2011 telah diadakan Ujian Akhir Semester (UAS) untuk mata kuliah Sistem Operasi. Karena tidak ada persiapan matang, seorang mahasiswa peserta ujian mengalami kesulitas menjawab soal-soal yang telah diberikan. Bukan hanya 1 atau 2 soal yang tidak mampu dijawab melainkan seluruh soal tidak ia kerjakan sama sekali. Sekeras apapun dia berfikir, tak ada satupunjawaban terlintas di otaknya. Hingga akhirnya waktu ujian telah habis, sehinhgga dengan sangat terpaksa mahasiswa tersebut mengumpulkan lembar jawaban tanpa ada jawaban satu soalpun.



9. Tidak, system hanya bisa mendeteksi adanya deadlock, tetapi tidak dapat mendeteksi terjadinya starvation.
Ada beberapa cara untuk mengatasi maslah starvation sehingga system dapat deal dengan starvation problem :

a. Dengan Aging



Ada beberapa cara untuk mengatasi Starvation, salah satunya dengan Aging. Pada flowchart di atas, proses awal yang ada diberi urutan ( N ) pemrosesan dengan rumus N = ( P+T ) / P. N maksimum akan mulai dikerjakan dan proses yang lain dinaikkan tingkat urutan prosesnya agar nanti jika ada proses lain yang masuk, proses terdahulu mendapatkan bagian resource dan dapat dikerjakan. Jika ada beberapa proses yang memiliki N maksimum, maka diantara proses tersebut dilihat dari waktu yang dibutuhkan untuk menyelesaikannya. Jika masih sama juga, maka dilihat waktu kedatangannya.

b. Dengan penjadwalan Round Robin



Selain itu, Starvation juga dapat diatasi dengan pemrosesan dengan cara Round Robin. Pada Round Robin, proses yang masuk akan dimasukkan ke dalam antrian menurut kedatangan proses tersebut. Dalam penyelesainnya, suatu proses tidak akan langsung selesai jika waktu yang dibutuhkan melebihi waktu kuantum yang diberikan. Waktu kuantum adalah waktu yang diberikan untuk menyelesaikan suatu proses. Ketika sutu proses telah mencapai batas waktu kuantum, sisa dari proses




10. Gambarkan suatu mekasisme dimana satu segmen dapat berasal dari address space dari dua proses yang berbeda.

Penyelesaian :

Karena tabel segmen adalah kumpulan dari register batas dasar, segmen dapat dibagi saat entri di dalam tabel segmen dari dua yang berbeda pekerjaan menunjuk ke lokasi fisik yang sama. Kedua segmen tabel harus memiliki dasar pointer identik, dan jumlah segmen bersama harus sama dalam dua proses




11. Berikan contoh dari sebuah aplikasi dimana data dalam sebuah file harus diakses : (a) Sequentially, (b) randomly
Penyelesaian :

Sequentially : Database, dimana data yang diambil harus berurutan.

Randomly : Aplikasi Pemutar Musik, seperti Winamp. Winamp akan mengakses file-file yang berada di Harddisk ataupun CD/DVD secara random. Contohnya: Jika ingin mendengarkan lagu ke-10 kita bisa langsung mengaksesnya tanpa diurutkan terlebih dahulu.

Thursday, June 9, 2011

Symbian

SEJARAH SYMBIAN OS
dikembangkan pada tahun 1990 dan debut di tahun 2001. Hal ini tidak mengherankan, karena platform smartphone dimana Symbian OS berjalan baru berkembang baru-baru ini juga.

Symbian OS Roots: Psion and EPOC
Pada tahun 1990, Psion Komputer memproduksi sebuah perangkat yang bernama PDA.
Pada tahun 1996, Psion mulai merancang suatu sistem 32-bit EPOC release 1. EPOC diprogram dalam C ++.

Client/Server Resource Access

Desain Symbian OS memisahkan fungsi-fungsi yang membutuhkan implementasi yang rumit ke dalam Symbian OS kernel dan tetap hanya fungsi yang paling dasar dalam nanokernel tersebut, inti sistem operasi itu.

Fitur Sistem Operasi Besar
Proses dan Thread: Symbian OS adalah multitasking dan multithreaded sistem operasi.
Common File system Support: Symbian OS mengatur akses ke sistem penyimpanan menggunakan model sistem file.
Jaringan: Symbian OS sudah mendukung TCP / IP serta beberapa interface komunikasi lain
manajemen Memory:Symbian mengatur akses memori di halaman dan memungkinkan untuk penggantian halaman.

Thread and Nanothreads
Status nanothreads :
Suspended : ini adalah keadaan dimana sebuah thread menunda thread lain.
Fast Semaphore Wait : Sebuah thread pada status ini menunggu sebuah fast semaphore tipe variable sentinel untuk diberi sebuah sinyal.
DFC Wait : Sebuah thread dalam status ini menunggu untuk memanggil sebuah fungsi yang tertunda atau DFC yang akan ditambahkan ke DFC queue.
Sleep : Sebuah thread ini tidur menunggu untuk beberapa waktu.
Other : Terdapat sebuah status dasar yang digunakan saat para perancang mengimplementasikan status tambahan untuk nanothread,

MEMORY MANAGEMENT
Systems with No Virtual Memory
Satu-satunya tempat penyimpanan yang tersedia di sistem operasi ini adalah memori, mereka tidak didukunjg oleh sebuah harddisk. Karena itu, kebanyakan sistem yang kecil, dari PDA ke smartphone sampai level yang lebih tinggi, tidak mensupport sebuah virtual memori.

INPUT AND OUTPUT
Removable Media
Setiap tipe dari media yang dapat dilepas memiliki fitur umum yang mencakup semua, yaitu :

Semua alat harus dimasukkan dan dilepas.
Semua media yang dapat removeable dapat dilepas.
Setiap media dapat melaporkan kemampuannya.
kartu yang tidak kompatibel harus ditolak.
Setiap kartu membutuhkan tenaga.

Kelebihan
Merupakan OS mobile paling stabil yang diimplementasikan pada saat debutnya dibandingkan dengan OS lain.
Didalamnya dapat berjalan aplikasi-aplikasi yang lebih lengkap.
Terus mengikuti perkembangan software dan terus mengupdate sistemnya sehingga dapat compatible.

Kekurangan
Tidak memiliki virtual memory.
Sistem operasi yang masih cukup berat untuk mobile.

Implementasi Symbian di masa sekarang
Dipakai pada kebanyakan handphone nokia, yaitu pada handphone nokia S.60, S.40.
Dipakai juga di sebagian handphone Samsung,namun hanya beberapa seri.
Dipakai di sebagian handphone Sony Ericsson versi UIQ.

Windows

  • 20 November 1985 : Windows 1.0
  • 9 Desember 1987 : Windows 2.0
  • Windows 2.1
  • 22 Mei 1990 : Windows 3.0
  • Juli 1992 : Windows NT 3.1
  • 24 Agustus 1995 : Windows 95 (Windows NT 4.0)
  • 25 Juni 1998 : Windows 98 (Windows NT 4.1)
  • Februari 2000 : Windows 2000
  • September 2000 : Windows Me (Windows NT 4.9)
  • 2001 : Windows XP (Experience)
  • 25 April 2003 : Windows Server 2003
  • 2007 : Windows Vista
  • 2007 : Windows Home Server
  • 2008 : Windows Server 2008
  • 2009 : Windows 7
 Sejarah windows dalam garis waktu (timeline)

Jenis File Sistem Yang Digunakan Windows
  • FAT (File Allocation Table)
  1. - FAT12
  2. - FAT16
  3. - FAT32
  • NTFS (New Technology File System)

FAT32
Menggunakan ukuran unit alokasi yang memiliki batas hingga 32 bit
Batas kapasitas hingga 8 TB
Diperkenalkan mulai Windows 95 OEM Service Release 2 (Windows 95 OSR2)
Bisa diakses oleh semua OS Windows kecuali Windows 95 (versi awal), Windows NT 3.x dan Windows NT 4.0

NTFS
Merupakan sebuah file sistem yang dibekalkan oleh Microsoft dalam keluarga sistem operasi Windows NT
Memiliki sebuah desain yang sederhana tapi memiliki kemampuan yang lebih dibandingkan keluarga file sistem FAT

Perbedaan FAT dan NTFS

NTFS
Dapat mengakses direktori local Windows berbasis NT seperti; Windows 2000, Windows 2003 Server, Windows XP, Windows NT4 dengan SP4.
Maksimum ukuran dari masing-masing partisi adalah 2 Terabytes.
Maksimum ukuran file dibatasi dengan ukuran partisi.
Mendukung fungsi Quota, RAID, Enkripsi dan Kompresi untuk File & folder, file permission, mount point.
NTFS dapat mendukung 255 karakter untuk penamaan file.
Ukuran cluster NTFS dapat disesuaikan dengan kebutuhan.
Performa terbaik NTFS akan muncul jika ukuran partisinya besar.

FAT 32
FAT32 dapat mengakses semua partisi Windows.
Maksimum ukuran partisi hingga 2 TB.
Maksimum ukuran file dibatasi dengan ukuran partisi.
Tidak terdapat fitur istimewa.
FAT hanya mendukung standard 8.3 karakter untuk penamaan file.
File sistem ini sering terjadi fragmentasi karena ukuran clusternya sedikit.
Performa terbaik FAT akan muncul jika ukuran partisinya kecil.


Windows XP
Dirilis 25 Oktober 2001
Versi Windows paling sempurna dibandingkan dengan versi-versi sebelumnya, setidaknya sampai Windows Vista dirilis, Menggunakan kernel NT 5.1 yang terkenal dengan kestabilannya

Windows Vista
Untuk bisnis dirilis 30 November 2006
Untuk rumahan dirilis 30 Januari 2007
Menggunakan kernel NT 6.0
Memperkenalkan sebuah modus pengguna yang terbatas, yang disebut sebagai User Account Control (UAC), untuk menggantikan filosofi "administrator-by-default" yang diberlakukan pada Windows XP
Fitur Windows Aero GUI, aplikasi yang baru (seperti halnya Windows Calendar, Windows DVD Maker dan beberapa game baru termasuk Chess Titans, Mahjong, dan Purble Place )
Menawarkan versi Microsoft Internet Explorer yang lebih aman, serta Windows Media Player versi baru (versi 11)

Win 7
Windows 7 adalah rilis terkini Microsoft Windows yang menggantikan Windows Vista. Windows 7 dirilis untuk pabrikan komputer pada 22 Juli 2009 dan dirilis untuk publik pada 22 Oktober 2009 kurang dari tiga tahun setelah rilis pendahulunya, Windows Vista.
Saat pertama kali dirilis, Windows ini memiliki kernel NT versi 6.1 build 7600, yaitu perbaikan dari Windows Vista dimana saat rilis pertama memiliki kernel NT 6.0 build 6000
Windows 7 yang dirilis pada tanggal 22 Oktober 2009 ini memiliki keamanan dan fitur yang baru, diantaranya adalah: Jump List, Taskbar yang membuka program dengan tampilan kecil, Windows Media Player 12, Internet Explorer 8, dan lain-lain.
Beberapa fitur yang unik adalah Sidebar yang berganti nama menjadi Gadget dan bebas ditaruh kemana-mana pada desktop (tidak seperti Sidebar yang hanya bisa diletakkan di tempat tertentu). Fitur itu membuat Windows 7 menjadi menarik. Spesifikasi Windows 7 lebih ringan dan harganya juga lebih murah dari pada Windows Vista

Windows 7 terdiri 6 edisi yaitu:
  1. Windows 7 Starter
  2. Windows 7 Home Basic
  3. Windows 7 Home Premium
  4. Windows 7 Professional
  5. Windows 7 Ultimate
  6. Windows 7 Enterprise

Keamanan Windows
Secara umum, sistem keamanan Windows masih kurang dibandingkan OS yang lain
Tidak adanya pembatasan user untuk masuk ke OS Windows (administrator by default)
Setiap user dapat masuk ke dalam sistem Windows (file sistem, registry)
Rentan terhadap virus

Keamanan Win Vista
Diklaim merupakan sistem operasi teraman yang pernah diciptakan
Merupakan sistem operasi pertama milik Microsoft yang dibangun dengan model pengembangan SDL (Security Development Lifecycle)
Service yang mengurangi hak akses pada file sistem, registry dann aktivitas jaringan
Kernel yang lebih baik, menyulitkan rootkit untuk sembunyi dari pendeteksian
Internet Explorer 7 dijalankan pada level Protected Mode
Fitur BitLocker Full Disk Encryption (enkripsi data ketika ditulis dalam disk)


Kelebihan dan Kekurangan Windows
Kelebihan Windows
User friendly dibandingkan dengan sistem operasi yang lain
Instalasi software masih mudah dibandingkan dengan instalasi di sistem operasi yang lain
Banyak software berbasis Windows
Dukungan driver yang lebih banyak

Kekurangan Windows
Harga lisensi mahal
Komunitas terlalu sedikit, karena bersifat closed-source
Banyaknya virus yang sering menyerang Windows
Sistem keamanan yang masih dibilang kurang
Sistem yang kurang stabil.

Linux

Linux Interface

Kernel Structure
Mengontrol perangkat keras dan melaksanakan berbagai tugas, antara lain :
Pelayanan tanggal dan jam sistem
Manajemen file dan penanganan security
Pelayanan operasi output dan input
Manajemen dan penjadwalan proses
Manajemen memori

Processes in Linux
Setiap proses diberi nomor khusus sebagai identifikasi yang disebut Process Identification berupa angka Interger unik.
Jika Proses Terminated , maka PID dibebaskan kembali
System call fork () : Parent & Child

Linux Shell
Shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel ( inti sistem operasi ), umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command).


Linux File System
  • /etc (etcetra), Merupakan salah satu direktori yang sangat penting karena berisi file-file konfigurasi system seperti Control Panel yang dimiliki Windows.
  • /opt, Biasanya diisi program –program tambahan yang diperlukan.
  • /proc, (segala sesuatu yang berhubungan dengan sistem. ex : Driver) Merupakan virtual file system yang berisi berbaai macam infomasi mengenai system resource yang ada didalam computer.
  • /root, Merupakan home direktori root / administrator / superuser
  • /sbin, (system binari), Berisi program yang dibutuhkan untuk melakukan adminitrasi system.
  • /tmp, Direktori ini digunakan oleh system untuk menyimpan file-file sementara.
  • /lib, Berisi program, library, dokumentasi dan sebagainya yang dapat digunakan oleh semua user.
  • /var, Untuk menyimpan semua file variable dan file-file sementara yang dibuat oleh user.
  • /home, Direktori yang berisi rumah atau home user yang ada pada system.

Keunggulan Linux

Salah satu keunggulan Linux yang tidak dimiliki dan tak akan pernah dimiliki oleh microsoft windows adalah sifatnya yang Open Source,dimana anda bebas dalam membagikan software hasil kreasi anda tersebut keteman- teman anda dengan bebas tanpa perlu takut melanggar hukum.

Linux portable merupakan salah satu keunggulan Linux yang tidak dapat diterapkan pada microsoft windows secara legal, Dengan sebuah CD-ROM atau usbflash disk anda dapat merasakan Linux tanpa melakukan partisi harddisk

Keunggulan Linux live CD adalah ia dapat membaca partisi windows dengan mode baca tulis baik FAT32 maupun NTFS.

Dapat menjalankan aplikasi windows,dengan adanya WINE kini beberapa software yang berjalan pada microsoft windows dapat berjalan pada linux hal ini tentu saja berbeda dengan windows yang tidak dapat menjalankan aplikasi Linux secara langsung.


Satu Paket yang lengkap ,jika anda yang membeli windows Original dan menginstallnya maka anda hanya akan mendapatkan sistem operasi itu saja tanpa adanya aplikasi lain.Berbeda dengan linux yang telah dibundel dengan aplikasi Office,Compiler,Multimedia,Editor Web dan masih banyak lagi dan hebatnya anda tidak perlu mengeluarkan biaya banyak seperti pada windows.


Kekurangan Linux

Terlalu banyak pilihan Distro
ini adalah salah satu kekurangan linux yang pertama,terutama bagi pengguna baru.banyaknya distro yang mencapai ratusan membuat para pemula dilinux atau orang yang ingin bermigrasi kelinux harus pusing memilih distro yang cocok untuk keperluannya. misalnya masing masing distro membuat manajemen paket yang berbeda,paket yang berbeda,pengguna yang berbeda,tool administarasi yang berbeda dan seterusnya.

Minimnya dukungan teknis resmi
Linux dikembangkan oleh komunitas,maka linux datang dengan dukungan komunitas,bagi pengguna biasa,hal ini tentunya bukan masalah,namun bagaimana dengan pengguna kantoran,perusahaan atau kantor pemerintah?
ini merupakan masalah besar,karena software di kalangan tersebut dipakai untuk produktifitas dan bahkan diantaranya menangani sistem kritis,seperti perbankan.
Seandainya ada dukungan teknis pun biasanya cukup mahal,misal dukungan dari redhat ataupun suse.

Banyaknya istilah teknis.
Linux merupakan salah satu keluarga sistem opeasi UNIX.oleh karenanya kebanyakan pengguna adalah administrator jaringan atapun orang yang suka ngoprek linux.Bagi kebanyakan pemakai komputer,linux penuh dengan istilah yang terkesan rumit dan terlalu teknikal.dengan ini,orang cenderung menganggap linux susah untuk dipelajari.

kurangnya dukungan dukungan hardware.
Ini juga salah satu kendala utama dari linux.Walaupun dukungan hardware di linux makin hari makin baik,namun untuk device tertentu seperti wifi,dukungan linux masih terbatas,begitu juga dengan hardware keluaran terbaru.biasanya tidak bisa dijalankan dilinux.Seandainya bisapun,penggunaan hardware tersebut tidak optimal karena umumnya hardware dikenali sebagai periferal generik.

 Minimalnya aplikasi Killer.
Sedikti sekali sofware dilinux yang sejajar kemampunanya dengan aplikasi sejenis di windows,sebenarnya linux mempunyai begitu banyak aplikasi(contoh: freshmeat.net atau sf.net) namun umumnya software yang dirilis masih berupa alpha atau beta,RC, intinya bukan untuk keperluan produktif.sebagian dari software free dilinux lebih banyak diisi oleh software untuk server dan pengembanga software.

Proses instalasi software / aplikasi yang tidak semudah di Windows. Instalasi software di Linux, akan menjadi lebih mudah bila terkoneksi ke internet atau bila mempunyai CD / DVD repository-nya. Bila tidak, maka kita harus men-download satu per satu package yang dibutuhkan beserta dependencies-nya.

Deadlock

Deadlock menurut bahasa adalah buntut atau kebuntuan, terkunci.
Sedangkan menurut pengertian deadlock adalah sebuah proses yang memerlukan satu sumber daya atau lebih mengalami penundaan ataupun menunggu sumber daya digunakan oleh proses yang lain.
Sumber daya bersifat :
  • Preemptible : dapat mengambil dari proses lain tanpa ada efek lain, contoh : memori CPU.
  • Non-preemptible : tidak boleh mengambil sumber daya yang masih digunakan oleh proses lain, contoh : printer.


Akibat dari Deadlock!!!
Apabila peristiwa deadlock terjadi dalam kurung waktu yang lama maka akan terjadi “starvation”. Hal-hal yang membuat peristiwa startvation terjadi adalah satu proses, dua proses atau lebih yang memerlukan sumber daya secara bersamaan dan sumber daya yang dibutuhkan tidak sedikit sehingga menyebabkan proses lain tidak memperoleh sumber daya dan menunggu lama atau lebih buruknya lagi proses tersebut diabaikan oleh sumber daya.

Deadlock memiliki Model Sistem
Sebuah proses melakukan tiga hal yang dilakukan ketika menggunakan sumber daya :
  • Meminta (Request) : sebuah proses mengajukan permohonan kepada sumber daya untuk menggunakan jasa sumber daya sebagai alat transportasi.
  • Menggunakan (Use) : proses menggunakan jasa sumber daya sebagai alat transportasi.
  • Melepas (Release) : proses melepas sumber daya sebagai jasa pengantar.

Syarat terjadinya dan penyebab deadlock

Mutual Exclusion : sebuah proses memiliki hak pribadi untuk menggunakan sumber daya yang digunakan selama proses berjalan hingga sampai tujuan dan proses lain baru bisa menggunakan sumber daya tersebut.

Hold and Wait : sebuah proses pertama yang membutuhkan dua sumber daya dimana proses tersebut sudah memperoleh satu sumber daya dan membutuhkan satu sumber daya lagi tapi untuk menambah sumber daya proses pertama harus menunggu proses kedua melepas sumber daya dan sedangkan proses ketiga membutuhkan sumber daya yang sama dengan proses kedua dan pada akhirnya salah satu proses diatas akan menahan sumber daya yang dibutuhkan dan menunggu sumber daya yang lain dilepas oleh proses lain.

No Preemption : selanjutnya adalah sebuah proses yang menggunakan sumber daya terlebih dahulu hingga selesai kemudian diberikan kepada proses lain yang membutuhkan sumber daya,apabila proses tersebut belum selesai menggunakan maka proses yang lain harus menunggu hingga proses tersebut selesai.

Circular Wait : adalah sebuah siklus yang membentuk sebuah lingkaran dimana sebuah proses disimbolkan dengan titik kecil, proses pertama memerlukan sumber daya yang dimiliki oleh proses kedua sedangkan proses kedua juga memerlukan sumber daya yang dimiliki oleh proses ketiga dan bahkan proses ketiga juga memerlukan sumber daya yang dimiliki oleh proses pertama. Dan siklus ini disebut dengan “lingkaran setan buntu”.


Cara Penanganan Deadlock.

Mengabaikan : tidak menunggu peristiwa deadlock selesai yang kemungkinan tidak akan selesai, mematikan proses yang sedang berjalan yaitu dengan menekan ctrl + alt + del atau restart sehingga dapat menghentikan proses deadlock.

Pencegahan : mencegah salah satu karakteristik yang dimiliki oleh deadlock sehingga peristiwa deadlock tidak akan terjadi. karena peristiwa deadlock akan terjadi apabila dipengaruhi oleh keempat karakteristik deadlock.

Penghindaran : memperkirakan terjadinya peristiwa deadlock di OS pada waktu menjalankan aplikasi yang memiliki kemungkinan terjadi deadlock, menghentikan arus sumber daya dengan proses yang memiliki sumber daya lebih dan mengalihkan sumber daya kepada proses yang membutuhkan, dan untuk menghindari sebuah deadlock perlu digunakan state safe (tidak terjadi deadlock) dan unsafe (terjadi deadlock), banker's algorithm.

Pendeteksian dan Pemulihan : cara terakhir ini merupakan langkah lanjut dari langkah kedua dan ketiga yang tidak berhasil sehingga menghasilkan data mengenai letak terjadinya deadlock kemudian mengambil langkah pemulihan dengan melakukan terminasi proses pada keempat karakteristik deadlock atau menggunakan teknik rollback (mengembalikan kegunaan proses keadaan semula ) dan restart ( merefresh OS dari proses yang error sehingga dapat mengembalikan keadaan proses seperti semula ) pada peristiwa deadlock.

Banker's Algoritma
memodelkan banker di sebuah kota kecil yang berurusun dengan sekumpulan nasabah memohon kredit. Dan mengizinkan ketiga kondisi terjadinya deadlock aktif yaitu : mutual exclusion, hold-wait, dan non-preemption. Untuk tidak terjadinya deadlock, seorang nasabah atau proses dapat melakukan kondisi mutual exclusion dan hold –wait secara bersamaan apabila nasabah dapat menggunakan dengan tepat. Dan ada kemungkinan sebuah proses akan melanjutkan kondisi ketiga jika sumber daya yang dibutuhkan kurang mencukupi, untuk mecegah hal itu diperlukan state safe dan state unsafe. Sehingga sebuah proses akan mendapat pemberitahuan bahwa akan terjadi deadlock dan segara menyelesaikan sumber daya yang dipegang atau memberikan alternatif dalam memberikan sumber daya yang dibutuhkan oleh proses tersebut.

Kelemahan
  • Proses-proses jarang mengetahui di awal proses jumlah maksimum sumber daya yang dibutuhkan.
  • Jumlah proses tidak tetap, secara dinamis beragam begitu pemakai login dan logout.
  • Algoritma menghendaki client-client mengembalikan sumber daya sesuai dengan waktu yang ditentukan.
  • Algoritma menghnedaki memberikan semua permintaan selama waktu yang berhingga.
  • Proses-proses harus independen, yaitu urutan proses-proses dieksekusi tidak dibatasi kebutuhan sinkronisasi antarproses.
  • Persediaan sumber daya sewaktu-waktu dapat berupa sesuai dengan permintaan proses yang membutuhkan.

State Safe and State Unsafe
  • State safe adalah cara mengatur kebutuhan sebuah proses menurut sumber daya yang paling dibutuhkan oleh proses tersebut sehingga sumber daya tersebut dapat dilepaskan oleh proses.
  • State unsafe adalah terjadinya kesalahan dalam pengaturan pengambilan sumber daya oleh proses sehingga sebuah proses mengalami hold and wait, non-preemption.

Kesimpulan
Deadlock : sebuah kejadian dimana terjadi penumpukan proses yang sedang menunggu proses yang lain menggunakan sumber daya.

Startvation : kejadian yang disebabkan oleh deadlock yang terjadi lama sehingga membuat proses yang menunggu atau tidak memperoleh giliran untuk memperoleh sumber daya.

Karakteristik terjadinya deadlock :
  • Mutual Exclusion . 
  • Hold and Wait . 
  • No Preemption . 
  • Circular Wait . 

Mekanisme penanganan deadlock :
  • Pengabaian.  Ostrich Algorithm.
  • Pencegahan. Mencegah terjadinya salah satu kondisi deadlock.
  • Penghindaran. Memastikan sistem berada pada safe state dan dengan menggunakan deadlock avoidance algorithm.
  • Pendeteksian dan Pemulihan. Mekanisme pendeteksian menggunakan detection algorithm, sedangkan pemulihan dengan cara rollback and restart sistem ke safe state.

Input Output

Organisasi Fisik atau Perangkat Keras

Piranti I/O (device)
  • Dapat berupa komponen elektrik maupun mekanik
  • Contoh: monitor, keyboard, mouse, printer, dll
Device controller (adapter)
  • Merupakan sirkuit digital yang berfungsi mengontol kerja komponen mekanik ataupun elektrik lainnya dari piranti I/O
  • Agar piranti I/O dapat dikontrol atau berkomunikasi dengan sistem komputer
Bus I/O
  • Terdiri atas bus data, alamat dan kontrol

Pengalamatan Piranti I/O

Setiap piranti I/O butuh diberi alamat khusus untuk membaca dan menulis data.

Direct-mapped I/O addressing
memiliki ruang alamat terpisah dari alamat memori, sehingga ruang alamat piranti I/O dan ruang alamat memori berdiri sendiri-sendiri.

Memory-mapped I/O addressing
piranti I/O memiliki alamat yang merupakan bagian dari ruang alamat memori utama.


Organisasi perangkat lunak sistem I/O

umumnya terdiri atas lapisan:
Lapisan Interrupt Handler
Menangani terjadinya interupsi, dialihkan ke interupt handler
Bertujuan untuk mencapai operasi yang asinkron
Dengan adanya fasilitas interupsi, prosessor tidak pernah idle, proses akan berstatus blocked dan prosessor dapat dialokasikan ke proses lain.

Lapisan device driver
Mengimplementasikan operasi dari masing-masing device controller
Membantu mencapai ketidaktergantungan dengan keragaman piranti I/O
Mengimplementasi secara khusus rincian operasi dari masing-masing device controller. Jadi setiap device controller akan ditangani oleh device driver.
Misal: 2 graphics card dari vendor yang berbeda, akan memiliki device driver yang menyediakan fungsi minimal untuk pengaksesan graphic card.

Lapisan subsistem I/O atau kernel I/O
Menyediakan antarmuka atau fungsi I/O bagi SO atau aplikasi

Lapisan subsistem I/O atau kernel I/O
Mengimplementasi fungsi-fungsi manajemen
Menyediakan keseragaman antarmuka atau fungsi bagi komponen lain SO atau aplikasi
Misal : penamaan piranti I/O, proteksi, pelaporan kesalahan.

Lapisan pustaka I/O aplikasi,
Mengimplementasikan pustaka pengaksesan I/O atau API (Application Programming Interface) bagi aplikasi untuk melakukan operasi I/O. Memudahkan programmer karena pengaksesan ke berbagai macam piranti I/O dengan menggunakan operasi yang sama.
Misal: pustaka WIN32 sub system yang menyediakan API untuk operasi I/O dan juga operasi grafis pada SO Windows.


User Interface : Keyboard, Mouse, Monitor

Graphical User Interface

Sistem File

Syarat Utama Penyimpanan Data :
  • Mampu menyimpan data dalam jumlah yang besar;
  • Data harus dapat dipertahankan selama proses penggunaan;
  • Beberapa proses harus dapat mengakses data secara bersama

Attribut File
  • Protection
  • Password
  • Creator
  • Owner
  • Read-Only Flag
  • Hidden Flag
  • System Flag
  • Archive Flag
  • ASCI/ Binary Flag
  • Random Access Flag
  • Key Position
  • Key length
  • Creation Time
  • Time Of Last Access
  • Time Of Last Change
  • Current Size
  • Maximum Size

Type File
  • File Reguler : File yg berisi informasi, terdiri dari file ASCI dan biner.
  • File Diektori : File yang dimiliki sistem, digunakan untuk mengelolah struktur sistem file.
  • File Spesial : File Spesial merupakan nama logik perangkat masukkan/keluaran.

Operasi File
  • Create
  • Delete
  • Open
  • Close
  • Read.
  • Write
  • Append
  • Seek
  • Get attributes
  • Set attributes
  • Rename

Directory Operation
  • Create
  • Delete
  • Opendir
  • Closedir
  • Readdir
  • Rename
  • Link
  • Uplink


Format type file



Beberapa Metode Alokasi Penyimpanan File
1. Contiguous Allocation
Merupakan metode alokasi penyimpanan file paling sederhana, dengan menyimpan setiap file ke dalam blok data yang berurutan di dalam disk.
Kelebihan:Mudah implementasinya, karena untuk mengetahui letak blok file hanya cukup mengingat satu nomor, blok yang pertama saja.
Kinerjanya sangat bagus, karena seluruh file dapat dibaca dari disk dalam satu operasi saja.
Kekurangan:Tidak bisa dialokasikan jika ukuran maksimum file tidak diketahui.
Mudah terjadi fragmentasi, sisa blok yang tidak digunakan.

2. Linked List Allocation
Word pertama di blok data sebagai pointer ke blok berikutnya, sisanya untuk menyimpan data. Skema ini disebut rantai blok (block chaining) blok sebelumnya merantai blok berikutnya.
Kelebihan:Seluruh blok dapat dipakai, tidak terjadi fragmentasi.
Kekurangan:Pengaksesan file secara acak akan lambat.
Kebutuhan ukuran blok data meningkat karena pointer juga memerlukan beberapa byte.


Memory Management

  • Basic memory management
  • Swapping
  • Virtual memory
  • Page replacement algorithms
  • Modeling page replacement algorithms
  • Design issues for paging systems
  • Implementation issues
  • Segmentation

Ideally programmers want memory that is
large
fast
non volatile

Memory hierarchy
small amount of fast, expensive memory – cache
some medium-speed, medium price main memory
gigabytes of slow, cheap disk storage

Memory manager handles the memory hierarchy

Sorry,
this topic is very to much to discussed here...
please download the presentation file followed link above
-Download File>> 

Wednesday, June 8, 2011

Process and Thread

Definisi Proses
Proses adalah konsep dasar sistem operasi.
Secara sederhana proses adalah sebuah program yang dieksekusi.
Konsep dasar proses secara informal adalah program dalam eksekusi.

Keadaan Proses
New (Proses Baru)
Ready
Running
Waiting
Terminate/Done





Process Creation
yaitu tindakan yang dilakukan sistem operasi pada saat sebuah proses akan ditambahkan ke proses yang sedang dikelola, sistem operasi membuat struktur data yang digunakan untuk mengelola proses dan mengalokasikan ruang alamat ke proses itu

Alur Pembuatan Proses adalah sebagai berikut:
  • Memberi identitas (nama) pada proses yang dibuat
  • Menyisipkan proses pada list proses atau tabel proses
  • Menentukan prioritas awal proses
  • Membuat PCB
  • Mengalokasikan resource awal bagi proses tersebut.
Satu proses dimungkinkan untuk membuat sejumlah proses baru melalui system call create-process.
Proses yang dibuat sebelumnya disebut parent process, sedangkan proses yang baru disebut childern process.
Proses baru ini juga dimungkinkan membuat proses yang lebih baru lagi.
Pada saat sebuah proses membuat proses baru, terdapat dua kemungkinan pada proses eksekusi.
  • Parent melanjutkan eksekusi secara konkuren dengan childern
  • Parent menunggu sampai beberapa atau semua childern terminate.
Terdapat pula dua kemungkinan pada address space proses baru :
  • Child process merupakan duplikat dari parent process
  • Child Process memiliki program untuk di-load ke dalam address space.

KONGKURENSI
  • Proses-proses disebut kongkuren jika proses-proses berada / berjalan pada saat yang sama.
  • Proses-proses kongkuren dapat sepenuhnya tidak bergantung dengan lainnya, tetapi dapat juga saling berinteraksi
  • Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik.

Prinsip-prinsip Kongkurensi
  • Alokasi waktu pemroses untuk proses-proses
  • Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
  • Komunikasi antar proses
  • Sinkronisasi aktivitas banyak proses

Process Termination
Sebuah proses terminate ketika proses itu selesai mengeksekusi instruksi terakhir dan meminta sistem operasi untuk menghapusnya melalui system call.

Kondisi yang menyebabkan proses berhenti:
  • normal exit (voluntary) à prosedur sudah selesai – keluar
  • error exit (voluntary) à suatu proses berjalan, tiba2 ada yang salah/error. Mis: yg diminta int, yang dimasukkan string
  • fatal error (involuntary) à kesalahan2 yang gak bisa ditolerir. Mis: proses gak berjalan, trus dibagi 0 – terpaksa berhenti, kalo gak hasilnya kacau
  • killed by another process (involuntary) à terpaksa keluar oleh proses lain. Mis: dengerin mp3 trus maen game yang ada suaranya juga – terpaksa berhenti mp3nya gara2 game.

Process Control Block (PCB)
Fungsi : sebagai tempat menyimpan/ gudang untuk informasi apa pun yang dapat bervariasi dari proses ke proses.

PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, yaitu:
  • Keadaan proses
  • Program counter
  • CPU register
  • Informasi managemen memori
  • Informasi pencatatan
  • Informasi status I/O
  • Scheduling information

Keadaan proses : Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
Program counter : Counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk 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, ditambah code information pada kondisi apa pun. Besertaan dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan/bekerja dengan benar setelahnya.
Informasi managemen memori: Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel page/ halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi.
Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, 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 berkas dan banyak lagi.
Scheduling information : berisis penjadwalan proses beserta algoritmanya


Thread

Definisi: unit dasar dari utilisasi CPU.

Konsep Dasar
Secara informal, proses adalah program yang sedang dieksekusi. Ada dua jenis proses, proses berat (heavyweight) atau biasa dikenal dengan proses tradisional, dan proses ringan (lightweight) atau kadang disebut thread.

Dengan banyak kontrol thread, proses dapat
melakukan lebih dari satu pekerjaan pada waktu yang
sama.

Managemen Thread
Java menyediakan beberapa fasilitas untuk mengatur thread — thread, diantaranya adalah:
Suspend(): berfungsi untuk menunda eksekusi dari thread yang sedang berjalan.
Sleep(): berfungsi untuk menempatkan thread yang sedang berjalan untuk tidur dalam beberapa waktu.
Resume(): hasil eksekusi dari thread yang sedang ditunda.
Stop(): menghentikan eksekusi dari sebuah thread; sekali thread telah dihentikan dia tidak akan memulainya lagi.

Sejauh ini suatu proses adalah sebuah program yang menjalankan eksekusi thread tunggal. Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu.
Sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus menerus proses yang berkesinambungan.

Multi Thread
Sistem-sistem yang ada sekarang sudah banyak yang bisa mendukung untuk kedua pengguna dan kernel thread, sehingga model-model multithreading-nya pun menjadi beragam. Implementasi multithreading yang umum akan kita bahas ada tiga, yaitu model many-to-one, one-to-one, dan many-to many.

Thread States
Pada setiap saat, thread dikatakan dalam satu atau lebih oleh beberapa thread seperti yang ditunjukkan oleh properti Thread.Thread diilustrasikan pada diagram alir di bawah ini:



Unstarted : Ketika sebuah thread baru dibuat oleh runtime.
Running : Thread baru dibuat tetap dalam keadaan Unstarted sampai program panggilan Thread Start.
bortRequested : Fungsi Thread ini adalah Thread Abort telah dipanggil tetapi thread belum menerima pengecualian Thread AbortException yang akan mencoba untuk menghentikannya.
Stopped : Sebuah thread aktif memasuki state Berhenti ketika delegasi ThreadStart tersebut berakhir.
WaitSleepJoin : Jika kode thread pertemuan tidak dapat mengeksekusi (karena beberapa kondisi tidak selesai).
Suspended : Jika thread aktif menjalankan Thread Suspend, thread akan memasuki kondisi Suspended.Sebuah state Suspended kembali ke keadaan aktif jika thread lain dalam program memanggil thread ditangguhkans Thread Resume.


Introduction to OS

Pengenalan mengenai OS (Operating System) yang biasa disebut sistem operasi.
Berikut adalah beberapa poin - poin acuan yang penting dalam pembahasan ini :
  1. Apa Itu OS
  2. Sejarah OS
  3. Jenis – Jenis OS
  4. Konsep OS
  5. System Call
  6. Struktur OS
  7. Rangkuman

Apa itu OS ?

OS sebagai Extended Machine : Menyembunyikan detail suatu pekerjaan, Menyediakan mesin virtual (extended machine)
OS sebagai Resouce Manager : Menangani sistem yang kompleks, Memberikan pengendalian dan alokasi terhadapCPU, memori, dan perangkat I/O, Menjaga dan mengatur resources, Multiplexing (sharing)Ruang dan Waktu.

Sejarah OS

Generasi 1 (1945 – 55) → Tabung Vakum dan Papan Steker
  • Bahasa pemrograman belum diketahui
  • Memakai papan steker
Generasi 2 (1955 – 65) → Transistor & Sistem Batch
  • Memakai punched card
  • Pemisahan builder, designer, programmer, operator, & teknisi
  • Dikenal bahasa FORTRAN dan assembler
  • Sistem batch → bidang sains & kalkulasi teknik
Generasi 3 (1965 – 80) → IC & Multiprogramming
  • Orientasi berbasis kata & karakter
  • Multiprogramming
  • Spooling
  • Linus Torvalds membuat Linux
Generasi 4 (1980 – present) → PC
  • DOS
  • GUI
  • Muncul Macintosh & Windows
  • Sistem operasi multikomputer ditemukan

    Macam - Macam OS
     
    Mainframe
    • Memproses banyak proses pada waktu yang sama
    • Memiliki banyak soket I/O
    • Memberikan layanan :
    1. Batch
    2. Transaksi, menangani pekerjaan yang ringan namun banyak jumlahnya
    3. Timesharing
    Server
    • Memberikan layanan file & web
    Multiprocessor
    • Melayani sistem yang terdiri dari beberapa komputer / komputer pararel
    PC
    • Memiliki UI
    • Pekerjaan yang dilakukan biasanya word, spreadsheet, dan internet
    Real–time
    • Hard real-time & soft real-time
    Embedded
    • Standar ukuran, memori, dan daya
    • Ex: Terdapat pada microwave, tv, & perangkat elektronik lain serta pada HP (Palm OS, Android, Symbian, dll)
    Smart Card
    • CPU Chip
    • Ex: Kartu kredit

    Konsep OS

    Keamanan(Security)
    The Shell : Perintah penterjemah terminal dengan OS


    System Calls

    • Antarmuka program user dengan OS
    • UNIX
    • Mendeteksi file, memberi tahu lokasi tujuan, memberi tahu berapa bytes yang akan dibaca
    • System calls untuk manajemen proses
    •  Memori dibagi menjadi 3 (teks, data, & stack)
    • System calls untuk manajemen file
    • Memanggil file descriptor (trap)
    • Memberi tahu apakah posisi file di awal, tengah, atau akhir
    • Melacak mode file (regular, spesial, direktori, dll), waktu, ukuran, dll
    • System calls untuk manajemen direktori
    • Tiap file memiliki i-nodes
    • Link membuat direktori baru berdasarkan i-number


    Struktur OS

    Monolitik
    • Tidak ada penyembunyian informasi
    • Menjadi dasar struktur utama OS, yaitu:
    1. Program utama memanggil prosedur layanan
    2. Kumpulan prosedur layanan memanggil system calls
    3. Utility mengambil data dari program
    MULTICS
    • Memakai cincin konsentrik
    • Bisa diperluas ke subsistem user
    Mesin Virtual
    • Berjalan di hardware & multiprogramming
    • Sederhana, fleksibel, mudah ditangani
    Exokernel
    • Memakai resources dari mesin virtual
    Model Client - Server
    • Mengimplementasikan banyak OS pada proses user
    • Memisahkan OS menjadi layanan file, proses, terminal, & memori
    • Tak punya akses langsung ke hardware
    • Pembagian mekanisme & policy

    Kesimpulan

    • OS bisa dilihat pada 2 sudut pandang, sebagai Manager Resouces & Extended Machine
    • Garis besar sejarah OS, yaitu sistem batch, multiprogramming OS, dan PC OS
    • Inti dari OS adalah kumpulan system calls yang dapat ditanganinya. Di UNIX ada 4 kelompok system calls:
    1. Pembuatan & Penghentian
    2. Membaca & Menulis
    3. Manajemen Direktori
    4. Miscellaneous System Calls
    • OS disusun melalui beberapa cara, yaitu monolitik, sistem layer, mesin virtual, exokernel, & model client - server