Senin, 13 Juni 2011

Kelompok 8

kelompok 8 :

Frienly Muhammad Faizal :109091000101
Ade Saputra: 109091000119
Meret Danatarow : 109091000142

Tugas 2 OS



  1. Apakah keuntungan dari layer approach pada sistem design? Dan apakah kerugiannya?

    Jawaban:
    Keunggulannya adalah memeliki semua kelebihan rancangan modular, yaitu sistem dibagi  menjadi beberapa modul dan tiap modul dirancang secara independen. Tiap lapisan dapat dirancang, dikode dan diuji secara independen. Pendekatan berlapis menyederhanakan rancangan, spesifikasi dan implementasi sistem operasi.

    Kelemahan struktur ini adalah fungsi-fungsi sistem operasi harus diberikan ke tiap lapisan secara hati-hati. 


    2. Sebutkan 5 servis/layanan yang diberikan oleh sistem operasi, jelaskan bagaimana masing-masing memberikan kemudahan kepada pengguna.  Jelaskan juga dalam kasus apa yang tidak mungkin untuk user-level program untuk menyediakan layanan ini.

    Jawaban:
  • Pembuatan Program: Sistem operasi menyediakan berbagai fasilitas layanan bagi pemrogram untuk pembuatan program dalam bentuk utilitas (general utilities).
  • Eksekusi Program: Sistem operasi melakukan penanganan pemuatan instruksi dan data ke memori utama, perangkat input/output (I/O) dan inisialisasi file, dan penyiapan fasilitas.
  • Akses ke Perangkat I/O: Sistem operasi menangani set instruksi I/O atau sinyal kontrol untuk keperluan operasi.
  • Akses Terkontrol ke File: Sistem operasi dapat menyediakan perlindungan untuk mengontrol akses ke fasilitas yang digunakan secara bersama.
  • Akses Sistem: Sistem operasi mengontrol akses ke sistem sebagai keseluruhan dan ke sumber daya sistem tertentu.

Kasus:
  • Penjadwalan (Scheduling): pengguna memesan waktu pelayanan mesin, pemesanan waktu mesin hendaknya sama dengan waktu penyelesaian pekerjaan.
  • Waktu setup (Setup Time): Waktu yang diperlukan untuk pemuatan compiler dan program berbahasa tingkat tinggi (program sumber) ke dalam memori, penyimpanan program yang telah dikompilasi (program object), dan kemudian memuatkan dan melakukan link program object dengan fungsi-fungsi agar program dapat berjalan. Waktu setup harus diusahakan sependek mungkin.

3. Apakah keuntungan dari microkernel approach pada system design?

Jawaban:
  • Rancangan mikrokernel memberikan interface yang seragam terhadap permintaan yang dibuatoleh proses
  • Arsitektur memberikan ekstensibilitas yang memungkinkan penambahan layanan baru danlebih seragam
  • Fleksibilitas didalam mikrokernel bukan hanya menambahkan feature baru,namun juga dapatmenghilangkan feature lama, sehingga dapat dibuat implementasi yang lebih kecil dan efisien.
  • Termasuk sistem operasi yang berorientasi objek (OOOS), karena dapat memberikan disiplinke rancangan mikrokernel dan ke pembuatan pengembangan sistem operasi yang modular.

4. Jelaskan perbedaan antara preemptive and nonpreemptive scheduling?

Jawaban:
Memesan efek terlebih dahulu memungkinkan penjadwalan proses yang akan terputus di tengah-tengan pelaksanaannya, mengambil CPU itu dan mengalokasikan ke proses lain. Penjadwalan nonpreemptive memastikan bahwa proses melepaskan control CPU hanya ketika selesai dengan meledak CPU saat ini.

Preemptive: OS dapat mengambil (secara interrupt, preempt) CPU dari satu proses setiap saat.
Non-preemptive: setiap proses secara sukarela (berkala) memberikan CPU ke OS.

Contoh:
a. Penjadualan untuk switch dari running ke wait atau terminate: non-preemptive.
b. Penjadualan proses dari running ke ready: pre-emptive.
c. Prasyarat untuk OS real-time system

5. Apakah yang membedakan PCS dan SCS scheduling..?

Jawaban:
PCS penjadwalan dilakukan local untuk proses. Ini adalah bagaimana jadwal thread perpustakaan benang ke LWPs tersedia. Penjadwalan SCS adalah keadaan dimana system operasi kernel thread jadwal. Pada system menggunakan baik-banyak ke-satu atau banyak-ke-banyak, dua model penjadwalan pada dasarnya berbeda. Pada system yang menggunakan satu-ke-satu, PCS dan SCS adalah sama.

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.

Jawaban:
Sistem operasi ini memberikan mekanisme penguncian yang berbeda dan tergantung pada pengembang aplikasi kebutuhan. Spinloks berguna untuk system multiprocessor dimana thread dapat dijalankan dalam loob-sibuk (untuk jangka waktu yang pendek) daripada menimbulkan overhead dari masukkan ke dalam antrian tidur. Mutexes berguna untuk mengunci sumber daya. Solaris 2 menggunakan mutexes adaptif, berarti bahwa mutex itu diimplementasikan dengan kunci berputar pada mesin multiprosesor. Semaphore dan variable kondisi-ables lebih alat tepat untuk sinkronisasi ketika sumberdaya harus dipegang untuk jangka waktu yang panjang, karena berputar tidak efisien untuk jangka waktu yang lama.

7. Jelaskan mengenai konsep dari transaction atomicity. 

Jawaban:
Transaksi adalah serangkaian operasi tulis dan baca pada beberapa data diikuti dengan operasi rumit. Jika serangkaian operasi dalam sustu transaksi tidak dapat diselesaikan, transaksi tersebut harus dibatalkan dan operasi yang tidak berlangsung harus dibatalkan. Adalah penting bahwa serangkaian operasi dalam suatu transaksi muncul sebagai satu operasi terpisahkan untuk memastikan integritas data yang diperbarui. Jika tidak, data dapat dikompromikan jika operasi dua (atau lebih) transaksi yang berbeda bercampur.

8. Berikan 3 contoh dari deadlocks yang tidak ada hubungannya dengan lingkungan sistem komputer.

Jawaban:
  • Deadlock pada jembatan
  •  Deadlock pada persimpangan jalan
  • Diagram Darff Deadlock



9. Dapatkan system mendeteksi beberapa process adalah starving? Jika “ya” jelaskan bagaimana itu bisa. Jika “tidak” jelaskan bagaimana system dapat deal dengan starvation problem.

Jawaban:
Startvation adalah keadaan dimana pemberian akses bergantian terus menerus, dan ada suatu proses yang tidak mendapatkan gilirannya. Juga dapat dimaksudkan bahwa kondisi bila beberapa proses-proses menunggu alokasi sumber daya sampai tak berhingga, sementara proses-proses lain dapat memperoleh alokasi sumber daya.

Hal ini disebabkan bias pada kebijaksanaan atau strategi alokasi sumber daya. Kondisi seperti ini harus dihindari pada sistem operasi karena tidak adil, tapi dikehendaki penghindaran dilakukan seefisien mungkin. Penanganan ini merupakan persoalan yang sulit untuk menemukan kriteria yang benar, adil dan efesien dalam suatu strategi Sistem Operasi.

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

Jawaban:
Suatu proses dapat membuat beberapa proses baru, melalui sistem pemanggilan pembuatan proses, selama jalur eksekusi. Pembuatan proses dinamakan induk proses, sebagaimana proses baru disebut anak dari  proses tersbut. Tiap proses baru tersebut dapat membuat proses lainnya, membentuk suatu pohon proses.

11. Berikan contoh dari sebuah aplikasi dimana data dalam sebuah file harus diakses :
a. Sequentially
b. Randomly

 Jawaban:
a. Permainan Ular
b. Permainan : Sudoku

Tugas 2 System call


From Wikipedia, the free encyclopedia
In computing, a system call is how a program requests a service from an operating system's kernel that it does not normally have permission to run. System calls provide the interface between a process and the operating system. Most operations interacting with the system require permissions not available to a user level process, e.g. I/O performed with a device present on the system, or any form of communication with other processes requires the use of system calls.
Privileges
The fact that improper use of the system call can easily cause a system crash necessitates some level of control. The design of the microprocessor architecture on practically all modern systems (except some embedded systems) offers a series of rings or CPU modes -- the (low) privilege level in which normal applications execute limits the address space of the program so that it cannot access or modify other running applications nor the operating system itself. It also prevents the application from directly using devices (e.g. the frame buffer or network devices). But obviously many normal applications need these abilities; therefore, pre-defined system calls are made available by the operating system. The operating system executes at the highest level of privilege, and allows applications to request services via system calls, which are often implemented through interrupts. If allowed, the system enters a higher privilege level, executes a specific set of instructions over which the interrupting program has no direct control, returns to the calling application's privilege level, then returns control to the calling application. This concept also serves as a way to implement security.
With the development of separate operating modes with varying levels of privilege, a mechanism was needed for transferring control safely from lesser privileged modes to higher privileged modes. Less privileged code could not simply transfer control to more privileged code at any point and with any processor state. To allow it to do so would allow it to break security. For instance, the less privileged code could cause the higher privileged code to execute in the wrong order, or provide it with a bad stack.
The library as an intermediary
Generally, systems provide a library that sits between normal programs and the operating system, usually an implementation of the C library (libc), such as glibc. This library exists between the OS and the application, and increases portability.
On exokernel based systems, the library is especially important as an intermediary. On exokernels, libraries shield user applications from the very low level kernel API, and provide abstractions and resourcemanagement.
The terms "system call" and "syscall" are often incorrectly used to refer to C standard library functions, particularly those that act as a wrapper to corresponding system calls with the same name. The call to the library function itself does not cause a switch to kernel mode (if the execution was not already in kernel mode) and is usually a normal subroutine call (i.e. using a "CALL" assembly instruction in some ISAs). The actual system call does transfer control to the kernel (and is more implementation-dependent than the library call abstracting it). For example, "fork" and "execve" are GLIBC functions that in turn call the "fork" and "execve" system-calls.
Examples and tools
On Unix, Unix-like and other POSIX-compatible operating systems, popular system calls are open, read, write, close, wait, execve, fork, exit, and kill. Many of today's operating systems have hundreds of system calls. For example, Linux has over 300 different calls, FreeBSD has almost 500[1], while Plan 9 has 51.
Tools such as strace and truss allow a process to execute from start and report all system calls the process invokes, or can attach to an already running process and intercept any system call made by said process if the operation does not violate the permissions of the user. This special ability of the program is usually also implemented with a system call, e.g. the GNU's strace is implemented with ptrace().
Typical implementations
Implementing system calls requires a control transfer which involves some sort of architecture-specific feature. A typical way to implement this is to use a software interrupt or trap. Interrupts transfer control to the operating system kernel so software simply needs to set up some register with the system call number needed, and execute the software interrupt.
For many RISC processors this is the only technique provided, but CISC architectures such as x86 support additional techniques. One example is SYSCALL/SYSENTER, SYSRET/SYSEXIT (the two mechanisms were independently created by AMD and Intel, respectively, but in essence do the same thing). These are "fast" control transfer instructions that are designed to quickly transfer control to the OS for a system call without the overhead of an interrupt. Linux 2.5 began using this on the x86, where available; formerly it used the INT instruction, where the system call number was placed in the EAX register beforeinterrupt 0x80 was executed.[2]
An older x86 mechanism is called a call gate and is a way for a program to literally call a kernel function directly using a safe control transfer mechanism the OS sets up in advance. This approach has been unpopular, presumably due to the requirement of a far call which uses x86 memory segmentation and the resulting lack of portability it causes, and existence of the faster instructions mentioned above.
For IA-64 architecture, EPC (Enter Privileged Mode) instruction is used. The first eight system call arguments are passed in registers, and the rest are passed on the stack.
System calls can be roughly grouped into five major categories:
  1. Process Control.
  2. File management.
    • create file, delete file
    • open, close
    • read, write, reposition
    • get/set file attributes
  3. Device Management.
    • request device, release device
    • read, write, reposition
    • get/set device attributes
    • logically attach or detach devices
  4. Information Maintenance.
    • get/set time or date
    • get/set system data
    • get/set process, file, or device attributes
  5. Communication.
    • create, delete communication connection
    • send, receive messages
    • transfer status information
    • attach or detach remote devices
References
2.       ^ Anonymous (2002-12-19). "Linux 2.5 gets vsyscalls, sysenter support"KernelTrap. Retrieved 2008-01-01.
External links
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

Senin, 06 Juni 2011

OS Design

Sejak pertama telah dikenal dua jenis OS untuk menggerakkan komputer, UNIX dan non-UNIX (MS-DOS, Mac-OS, dll.) UNIX digunakan pada komputer besar seperti super komputer, mainframe, dan sebagainya, sedangkan non-UNIX banyak digunakan pada jenis PC. Dengan adanya trend down sizing, yakni kecenderungan penggunaan komputer besar ke arah komputer kecil termasuk PC, maka sistem berbasis UNIX juga sangat diperlukan.

Gambar 1. Bagan sistem operasi UNIX

UNIX dikembangkan diakhir tahun 60-an oleh sebuah group yang dipimpin Ken Thompson dari AT&T Laboratories. Pada awalnya OS ini didistribusikan secara gratis untuk pengembangannya ke institusi-institusi pendidikan. Namun dalam perjalanannya, setelah banyak digunakan pula dalam dunia industri karena kehandalannya dalam dunia jaringan (networking), maka OS ini dipatenkan dan diperdagangkan. Secara ringkas bagan sistem operasi UNIX bisa dilihat pada Gambar 1.
Selain dalam bidang jaringan UNIX juga dirancang untuk mengerjakan perintah-perintah program secara simultan (multitasking) dan bisa digunakan oleh beberapa user secara bersama (multiuser). Karena berbagai kemampuan yang dimilikinya, UNIX menjadi sangat mahal harganya dan digunakan secara terbatas. Pada awalnya para penggemar UNIX telah membuat aplikasi-aplikasi yang berjalan di atas sistem operasi DOS semisal Unixtool, MINIX, dan sebagainya. Untuk lebih memasyarakatkan sistem operasi berbasis UNIX ini, seorang hacker handal berkebangsaan Finlandia (Linuz B. Torvalds) mengembangkan sebuah sistem berbasis UNIX yang bisa diimplementasikan di komputer setingkat PC (PC-UNIX) yang dikenal dengan nama Linux. Linux adalah open source OS berlesensi GPL (GNU-General Public Lisence) yang mana pendistribusian dan pengembangannya bisa dilakukan secara bebas dengan mengikutkan kode program asal sebagai turunannya. Dalam kondisi yang sulit seperti sekarang ini, maka OS seperti Linux, FreeBSD, dll merupakan suatu alternatif yang tepat untuk digunakan.
Sebenarnya Linux hanya merupakan sebuah kernel dari sebuah sistem PC-UNIX yang mengatur semua program-program baik aplikasi maupun aksesori yang mengikutinya. Untuk mudahnya bisa diperhatikan ringkasan di Gambar 2. Kernel adalah sebuah program yang mengatur kontrol bermacam-macam hardware atau distribusi file-file yang diperlukan. Dengan demikian kernel bisa juga dianggap sebagai "jantung"-nya OS.




Gambar 2. Imajinasi PC-UNIX
Jika dibandingkan dengan MS-Windows9x, maka kernel identik dengan file-file .DLL yang berada dalam direktori system. Untuk menghubungkan kernel dengan user, maka diperlukan beberapa program aplikasi sebagai interface-nya. Program-program tersebut antara lain adalah: Network tool, User command, X-Window, dll.
Kebanyakan program-program aplikasi yang menyertai Linux memiliki lesensi GPL sehingga lebih fleksibel untuk digunakan sesuai dengan kebutuhan dan mudah didapat dari berbagai site umum di Internet atau CD-ROM pada majalah dan buku-buku tertentu. Untuk itu beberapa orang atau perusahaan berinisiatif membuat sebuah paket distribusi yang memudahkan user atau calon user untuk menginstalasi sistem ini ke PC yang tengah digunakannya.



1.     Deskripsi Sistem Operasi Unix
Sebelum ini aku pernah membuat pengenalan berkenaan sistem pengoperasian LINUXkali ini mari kita sama2 apakah yang dikenali pula dengan sistem pengoperasian UNIX ?
Ia disebut sebagai yoo-niks, merupakan satu multi-user yang popular, mula dicipta diBell Labs ( Bell Telephone Laboratories) pada awal tahun 1970-an. Unix adalah sebuah sistem pegoperasian yang matang, satu perisian yang mengawal komputer dan mempunyai ciri2 terbaik dari segi keselamatan, pelbagai penggunaan dan boleh digandingkan dengan komputer berkapasiti tinggi. Ia direka supaya mudah dikendali, cekap dan mempunyai pelbagai suasana dalam penggunaan komputer. Mempunyai pelbagai versi mengikut pengeluarnya dan agak rumit untuk mempelajarinya bagi kebanyakan pengguna yang masih baru mengenali komputer.
UNIX dicipta oleh sekumpulan pengaturcara. UNIX direka menjadi satu sistem yang kecil dan flexible khusus untuk kegunaaan para pengaturcara. UNIX merupakan sistem pengoperasian yang pertama yang ditulis dalam bahasa paras tinggi iaitu C. Ini bermakna ia boleh di pasangkan secara mutlak dalam mana2 sistem komputer yang terbina Pengkompilan bahasa pengaturcaraan C dari komputer peribadi sehingga ke Supercomputer.
Bell Labs telah mengedarkan sistem pengoperasian ini dalam satu bentuk sumber bahasa supaya sesiapa sahaja yang mendapat salinan boleh membuat pengubahsuaian untuk kegunaan sendiri. Pada akhir tahun 1970, pelbagai versi UNIX telah mula dijalankan di pelbagai tempat dan lokasi. Waktu itu harganya yang murah serta mudah untuk dibawa menjadikannya pilihan utama antara pusat2 pengajian tinggi. (murah oleh kerana peraturan antitrust melarang Bell Labs daripada menjualnya dalam pasaran).
Pada tahun 1982, AT & T mula bergiat menjual UNIX . Ia juga sebagai permulaan proses yang amat panjang dan sukar untuk mentakrif versi piawai sebenar bagi UNIX. Awalnya, terdapat dua dialek utama UNIX iaitu salah satunya dihasilkan oleh AT & T yang dikenali sebagai System V dan satu lagi dihasilkan di Universiti Berkeley dan dikenali sebagai BSD.X,X menjadi nombor dari 1 hingga 3.
Disebabkan ia portable, berkuasa dan flexible, UNIX telah menjadi Sistem Pengoperasian yang penting untuk stesen2 pekerjaan dan pembelajaran. UNIX kurang popular dalam pasaran komputer peribadi tetapi dengan munculnya satu versi baru yang dikenali sebagaiLinux , ia telah mula muncul dalam semua platform.
Standard UNIX yang terkini ialah yang pertama System V Unix yang dibangunkan oleh AT & T ( kemudiannya dimiliki oleh Unix System Laboratories) dan SUN serta OSF/1 UNIX oleh IBM, DEC dan HP. Mereka telah bersetuju dengan standards set yang dibuat oleh Jawatankuasa POSIX , yang kedua adalah keluarga Unix BSD ( Berkely Software Distibution) dan keluaga Unix terakhir dimana kodingnya tiada kaitan lansung dengan koding asal UNIX iaitu klon Unix yang di kenali sebagai LINUX.


Gambar (atas): Keluarga UNIX


Cara Instalasi
2.     Instalasi Unix
Apakah mudah menginstalasi linux? pertanyaan yang sering penulis temui pada para peminat OS ini. Untuk menginstal linux ada beberapa hal yang perlu diperhatikan diantaranya: informasi hardware, jenis distribusi linux, dan cara instalasinya. Pada bagian ini akan dicoba diterangkan secara garis besarnya bagaimana cara menginstalasi linux di sebuah PC.
Untuk persiapan instalasi, informasi hardware memang sangat diperlukan diantaranya adalah:
o    CPU (penting)
Untuk CPU kita sedikitnya harus mengetahui jenis CPU dikomputer kita. Untuk CPU Intel dan kompatibelnya bisa menggunakan distribusi linux biasa, hanya saja untuk CPU non-Intel (Motorolla, Alpha, Sparc) paket distribusi khusus yang diperlukan. Saat ini penulis masih memakai CPU jenis AMD-K5/P100 yang merupakan kompatibel dari CPU Intel Pentium 100 MHz. Selain jenis CPU juga perlu diperhatikan jenis bus yang digunakan pada motherboard-nya. Ada ISA, EISA, VL, PCI, dll-nya. Hanya saja akhir-akhir ini banyak motherboard yang hanya menggunakan ISA dan PCI bus saja yang juga sudah disupport linux. Demikian pula untuk AGP bus teknologi terakhir untuk akselerasi grafis.
o    Memory/RAM (penting)
Besarnya memory pada PC kita juga perlu diketahui untuk mengalokasikan swap disk di harddisk. Biasanya besar swap disk dianjurkan 2 kali besarnya RAM sampai maksimum 128 MB. Jika lebih besar dari 128 MB maka diperlukan multiple swap dan tentu saja semakin besar RAM akan semakin baik. Pembuatan multiple swap bisa dilakukan sampai 11 partisi atau sampai sekitar 2 GB. Penulis masih menggunakan 16 MB RAM untuk instalasi linux disalah satu PC-nya.
o    Driver (penting)
Sangat diperlukan untuk mengetahui jenis interface dari harddisk (HD), CD-ROM, dan media lainnya, sebelum menginstalasi linux. Jika HD kita jenis IDE/ATAPI akan sedikit berbeda dengan HD jenis SCSI walaupun secara umum sama dalam pembagian partisinya. Juga penting pula diperhatikan berapa bagian untuk partisi linux dan swap disk-nya. Sebagai informasi diperlukan kapasitas antara 60 s/d 100 MB untuk instalasi linux dan aplikasinya tanpa X-Window, dan diperlukan sekitar 600 MB jika menyertai X-Window dan applikasinya. Pada umumnya setiap driver yang terdeteksi ketika boot pertama akan dapat di-instal Linux, walaupun belum menjadikannya jaminan. Untuk floppy disk drive (FDD) merupakan driver utama yang bisa menetapkan dengan cara apa dan bagaimana instalasi dilakukan. Satu unit HD penulis bermerek Western Digital (WDC AC21000H) sebesar 1 GB dibagi menjadi 3 bagian; 32MB linux-swap, 700MB dan 270MB linux-native.
o    Video Card dan Display Monitor (tambahan)
Informasi ini penting jika kita ingin menjalankan X-Window. Pertama yang harus diperhatikan adalah jenis chips dari video card (VGA) yang akan dipakai untuk menentukan X-Server-nya. Makin baru versi distribusi linux-nya, makin banyak jenis VGA yang disupport, yang terkenal diantaranya: SVGA, VGA, Cirrus Logic, OAK, S3, Tridend, Tseng, ATI Mach, dll. Yang tidak kalah pentingnya adalah jenis display monitor yang kita gunakan. Kita harus mengetahui berapa frekwensi sinkron horizontal (HorizSync)-nya dan berapa frekwensi refresh vertikal (VertRefresh)-nya. Penulis masih menggunakan jenis VGA S3/ViRGE-DX dan display monitor IBM 15R-2115 dengan HorizSync 30-62KHz, VertRefresh 50-120Hz.
o    Aksesori (tambahan)
Informasi untuk aksesori lainnya seperti keyboard, mouse, network card interface (NIC), soundboard, modem, dan lainnya diperlukan jika akan digunakan. Jenis dan cara instalasi aksesori-aksesori bisa ditelusuri dari dokumen yang ada pada setiap paket distribusi atau mencari langsung di situs-situs linux di Internet.
Setelah kita menyiapkan berbagai informasi hardware PC kita, maka kita mesti menentukan paket distribusi apa yang akan kita pakai. Setiap paket distribusi mempunyai cara tersendiri untuk menginstalnya. Sebagai contoh distribusi Slackware memerlukan 2 buah disket yang digunakan untuk membuat boot-disk dan root-disk. Untuk distribusi RedHat diperlukan sebuah disket untuk boot-disk jika instalasi dilakukan dari CD-ROM dan sebuah disket tambahan jika instalasi dijalankan dari media selain itu (HD, network, dll.). Sedangkan untuk distribusi Debian hanya diperlukan sebuah boot-disk saja. Dan untuk distribusi lainnya bisa ditelusuri dari dokumentasi yang menyertainya.
Secara ringkas instalasi dapat dilakukan dengan tahapan sebagai berikut:
o    Partisi HD
Untuk meng-instalasi sebuah paket distribusi linux, kita harus mengalokasikan ruang (space) pada HD yang kita miliki. Diasumsikan spesifik PC kita memiliki HD 1.2 GB yang telah ter-instal MS-Windows9x didalamnya sebesar 400 MB dan RAM 32 MB. Sebelum membuat partisi sebaiknya kita memeriksa kondisi HD dan memperbaikinya dari sektor-sektor yang rusak/error serta merapihkan susunan datanya. Biasanya penulis menggunakan CHKDSK.EXE/SCANDSKW.EXE untuk memeriksa sekaligus membetulkan sektor yang rusak dan DEFRAG.EXE untuk merapihkan datanya. Kemudian membuat partisi lain dengan menggunakan program gratis FIPS.EXE yang biasanya sudah ada disetiap distribusi Linux. Untuk partisi ini bisa juga digunakan program-program komersial lainnya semisal Partition Magic, Partition IT, Norton Utility, dll. Langkah-langkah diatas untuk menyelamatkan data dan susunan file-file MS-Windows9x agar tidak rusak dan untuk lebih jelasnya bisa diperhatikan imajinasi di Gambar 3. Partisi HD yang dibuat adalah 500 MB untuk ruang DOS, 32 MB untuk linux-swap, 500 MB untuk linux (/), dan 200 MB untuk linux (/home).

Gambar 3. Proses partisi HD
Untuk HD yang masih baru, bisa saja langsung menggunakan FDISK.EXE atau program fdisk yang ada dalam paket distribusi linux untuk membuat partisinya.
o    Instalasi Paket Distribusi
Bila paket distribusi Slackware yang akan kita instal, sebelum memulai instalasi kita harus membuat boot dan root disk dahulu. File image untuk boot dan root disk bisa ditemui masing-masing di direktori \SLACKWAR\BOOTDSK1 dan \SLACKWAR\ROOTDSKS. Untuk merekam file image ke disket kosong yang telah diformat bisa menggunakan program RAWRITE.EXE dalam DOS atau perintah
dd if=/direktori_file_image of=/dev/fd0 dalam UNIX. Ada bermacam-macam jenis file image untuk boot maupun root disk dan masing-masing keterangan bisa didapat pada dokumentasi yang menyertainya. Setelah seluruh disket siap, maka kita harus me-restart PC dan memasukkan disket agar mulai boot dari disket tersebut. Setelah mengikuti beberapa instruksi maka kita diminta mengisi root dan mulai membuat partisi atau sistem file linux dengan perintah fdisk. Dalam UNIX semua device dikenal sebagai sebuah sistem file, demikian pula pada linux. Untuk HD ber-interface IDE/ATAPI biasanya maksimal 4 unit dan dikenal sebagai /dev/hda, /dev/hdb, /dev/hdc, /dev/hdd dan interface SCSI sebagai /dev/sda, /dev/sdb, dan seterusnya. /dev/hdb biasanya digunakan untuk CD-ROM. Dengan perintah fdisk [device-file] kita bisa membuat partisi di HD yang kita inginkan dan membuat jenis sistem file sesuai dengan keperluan. Keterangan selanjutnya bisa dilihat pada perintah help ketika perintah fdisk dijalankan. Setelah partisi siap maka kelanjutan perintah adalah menjalankan perintah setup dan terus mengikuti beberapa instruksi sampai semua paket distribusi selesai diintalasi.
Sedangkan untuk paket distribusi RedHat dan Debian kita cukup membuat sebuah boot disk saja dan mengikuti segala instruksinya termasuk perintah untuk partisi HD yang menjadi satu dengan program installer-nya. Untuk distribusi RedHat dan Debian instalasi awal akan lebih mudah dijalankan dalam sebuah PC.
o    Multiple Boot Loader
Kelebihan dari sistem linux adalah pemakaian bersama dengan OS lainnya, misalnya MS-Windows9x. Untuk itu diperlukan sebuah program yang bisa memilih OS mana yang akan kita gunakan. Ada bermacam-macam program yang disediakan baik yang gratis maupun yang komersial. Yang banyak digunakan dan ada dalam sebagian paket distribusi linux adalah LILO (Linux Loader) yang direkam langsung ke MBR (Mother Board Record) HD atau LOADLIN yang dijalankan diatas MS-DOS. Khusus bagi LILO yang terekam pada MBR-nya HD bisa dihapus dengan memakai perintah FDISK.EXE /MBR yang dijalankan diatas MS-DOS. Untuk keterangan selanjutnya bisa ditelusuri dalam dokumentasi yang menyertainya.
o    Setting Tambahan
Jika kita telah berhasil meng-instalasi sebuah paket distribusi maka kita tinggal menyesuaikan bentuk sistem kita sesuai dengan keperluan. Bisa dengan menambah program-program aplikasi lain atau dengan meng-kompile ulang kernel agar semua peralatan (modem, SCSI-card, NIC, dll.) dan sistem file (MS-DOS, Windows, dll.) dapat terdeteksi dan tersusun dengan sempurna. Hampir semua cara dan dokumentasi tersedia baik dalam sebuah paket distribusi maupun situs-situs linux (http://www.linux.or.id, http://www.linux.org, dlsb.) di Internet.

sumber : http://mydeviesha.blogspot.com/2011/06/os-design.html