Spesifikasi Tugas Besar II IF3055 Sistem Operasi

dokumen-dokumen yang mirip
Praktikum Modul 9. Unix System Call dan Manajemen Memory

POSTEST SISTEM OPERASI. Disusun Oleh : : Nurul Annisa Putri. Nim : Jurusan/ Kelas : Teknik Informatika/ 4 (Empat) B

P00 Perintah Dasar dalam Linux

Bab 10. Konsep Proses

Unix/Linux Operating system

Modul 5 DASAR DASAR LINUX

Laporan Sistem Operasi Kode Perintah Dasar Linux

Membangun Linux filesystem berbasis Steganografi pada File MP3

LAPORAN PRAKTIKUM SISTEM OPERASI

Manajemen File dan Direktori

I. Dasar Teori. Process dan Thread

Praktikum 1. Perintah Dasar Sistem Operasi Linux

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM II (a) PROSES

Modul praktikum OS. MANUAL Linux menyediakan manual secara on-line. Beberapa kunci keyboard yang penting dalam menggunakan manual adalah : Q

PERINTAH DASAR LINUX. Iqbal Dhea Furqon T Prakikum Sistem Operasi H. sudo

Praktikum 2. Operasi Linux. POKOK BAHASAN: Format Instruksi pada Sistem Operasi Linux Perintah-Perintah Dasar pda Sistem Operasi Linux

Operating System. File System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Titin Winarti Diterbitkan oleh : Semarang University Press Semarang 2009

DEPARTEMEN PENDIDIKAN NASIONAL BIRO PERENCANAAN DAN KERJASAMA LUAR NEGERI

PRAKTIK DASAR PENGELOLAAN FILE

Pengantar. Manajemen Proses

1. Buatlah summary percbaan 1 sampai dengan percobaan 15 dalam bentuk tabel. Jawab : $ cal -y hostname

Kurikulum Qt. Chapter 4 Function. Fungsi

Perintah Perintah Dasar Pada Sistem Operasi Linux

Inter Process Communication. Pratikum SO

BAB II PROCESS DAN THREAD

MODUL I LINUX DASAR. etc bin usr sbin home. Coba.txt. Gambar 1 Struktur Hirarki Direktori

Praktikum 1. Perintah Dasar Sistem Operasi Linux. Format Instruksi pada Sistem Operasi Linux Perintah-Perintah Dasar pda Sistem Operasi Linux

Objectives. Sekilas Linux. Distribusi Linux. Sejarah Linux. Three: Pengenalan Linux. The Challenger. Sekilas Linux -continued

Perintah Dasar Linux. (Menggunakan Ubuntu) PROGRAM STUDI SISTEM INFORMASI

eko-dok.web.ugm.ac.id

ls = Melihat isi direktori #ls NamaFolder

Praktikum 9 POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: 1 FILE PERANGKAT KERAS. Manajemen Perangkat Keras

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

LAPORAN PRAKTIKUM SISTEM OPERASI PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

Praktikum Sistem Operasi (Pertemuan 03) Ekspansi Shell. Husni

Multiabilities OS. Sistem Operasi. Hardware

LAB SISTEM OPERASI 1 AUGUST 29, Membuat direktori/folder.

LAPORAN PRAKTIKUM SISTEM OPERASI

Mengamati Proses pada SO Linux

Beberapa Perintah dalam UNIX

PRAKTIKUM SISTEM OPERASI TEKNIK INFORMATIKA

I. DASAR TEORI. Perintah Dasar Linux

Modul Praktikum Sistem Operasi PERTEMUAN KE-VI

Bab 5 Sistem File Linux Lanjutan

MODUL 1 STANDAR INPUT DAN OUTPUT

Tipe Data, Variabel, Input/Output

P01 Pengenalan Pemrograman C++ di Linux

Memori pada Sistem Linux. Heri Kurniawan OS-Gasal 2009/2010

1 - Bahasa Pemrograman

P - 3 Bab 2 : Pengantar Pemrograman C

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

MODUL 1 PERINTAH DASAR LINUX

Perintah Dasar Terminal GNU/Linux

P1 : Perintah Dasar Sistem Operasi Linux

Modul Praktikum Sistem Operasi PERTEMUAN KE-V

Praktikum I Pengenalan Sistem Operasi Linux

MODUL 01 SISTEM OPERASI

Simulasi Transformasi Linier pada Bidang 2D Dengan Menggunakan OpenGL API

Hak akses file didefinisikan secara terpisah untuk user, grup dan other.

PENJELASAN DETAIL LANGKAH-2 JAVA DI LINUX BASH SHELL Doc version : 9/22/2017 4:53:52 PM

Praktikum II. 2. Direktori Direktori adalah tempat menampung file dan juga sub-direktori.

PENGENALAN BAHASA C. Praktikum 3

Sistem Administrasi Linux

LAPORAN PRATIKUM LINUX. Modul I. Sekilas Linux dan Instalasi

LAPORAN PRAKTIKUM SISTEM OPERASI PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

P3 Pengantar Pemrograman C

PERTEMUAN KE <JUDUL PERTEMUAN PRAKTIKUM>

Model Pemrograman Paralel

Program menjadi terstruktur Dapat mengurangi pengulangan kode program. Fungsi dapat diimplementasikan dalam tiga bentuk :

Konsep Pemrograman Prosedural

Aplikasi Algoritma Greedy pada Smart Building Environment

E-Book. Basic Linux Command. (Panduan Dasar Perintah Linux) Dindin Hernawan Ilham Adi Setiawan <facebook.com/ilham.

Praktikum Sistem Operasi

Pemrograman Dasar C. Minggu 6

Tugas Besar 1 IF2123 Aljabar Geometri Aplikasi Aljabar Lanjar pada Metode Numerik Semester I Tahun 2017/2018

Praktikum 1 Installation for OpenCV

Praktikum 4. Operasi File pada Sistem Operasi Linux Struktur Direktory pada Sistem Operasi Linux

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Dalam Command Line Interface (CLI), kita masuk sebagai User. standart, yang tertulis hanyalah username dan hostname, contoh

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Algoritma Pemrograman 2B (Pemrograman C++)

PENGENALAN C++ Bab 1

Laporan Sistim Operasi Jaringan Kompetensi Teknik Komputer dan Jaringan

LAPORAN RESMI PRAKTIKUM SISTEM OPERASI MODUL I SHELL INTERAKTIF DAN SKRIP

Menjalankan Terminal. Perintah Umum

MODUL LINUX. Minggu IV

METODE NUMERIK Modul I

signal() kill() pause() Signal Praktikum Sistem Operasi Praktikum Sistem Operasi Signal

Sekilas C DAN C++ DISUSUN OLEH. Sebuah bahasa, yaitu: 1. Bahasaa tingkat tinggi. High. dapat. lunak

LAPORAN PRAKTIKUM SISTEM OPERASI PROGRAM TEKNOLOGI INFORMASI DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

Redirection dan pipe merupakan standar dari fasilitas shell di unix.

KOTLIN, SIAPA SUKA. Dasar. P. Tamami BPPKAD Kab. Brebes

Bab 3: Proses-Proses. Konsep Proses

Fungsi : Dasar Fungsi

NAMA : FAISAL AMIR NIM : KELAS : SISTEM KOMPU PERINTAH DASAR PADA LINUX

Operasi pada Proses. Zaid Romegar Mair, ST., M.Cs

POSTEST SISTEM OPERASI. Disusun Oleh : : Nurul Annisa Putri. Nim : Jurusan/ Kelas : Teknik Informatika/ 4 (Empat) B

Aplikasi Rekursif dalam Analisis Sintaks Program

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Transkripsi:

Spesifikasi Tugas Besar II IF3055 Sistem Operasi Tujuan Tujuan dari pemberian tugas ini adalah Peserta mengetahui mekanisme filesystem. Peserta mengetahui mekanisme IPC. Deskripsi Pada tugas besar kali ini peserta diminta untuk membuat simulasi filesystem. Program yang akan dibuat akan berbentuk terminal di mana pengguna dapat mengeksekusi perintah-perintah. Perintah yang perlu diimplementasikan antara lain format @[filepath] [size] Perintah ini akan melakukan formatting pada sebuah file yang sedang dipakai oleh sistem operasi. File ini akan menjadi model sebuah device untuk filesystem yang akan dijalankan. File ini akan memiliki besar size. Peserta diharapkan mendesain struktur filesystem yang akan dibuat. Contoh eksekusi o > format @/home/user/filesystem1 65536 mountfs @[filepath] [mount_point] Perintah ini akan melakukan mounting pada device yang sudah pernah diformat pada perintah yang disebutkan di atas. Struktur direktori yang terdapat pada device akan muncul pada mount point. Saat Terminal dijalankan, pengguna harus melakukan mounting dengan mount point / sebelum dapat melakukan perintah-perintah yang lain. Pada implementasinya, perintah ini akan melakukan forking dan menjalankan sebuah filesystem manager. Filesystem manager ini bertugas untuk melakukan manajemen filesystem yang ada pada device serta melayani permintaan dari Terminal. Terminal hanya menerima input, menampilkan output yang bersesuaian. Komunikasi untuk antara Terminal dengan filesystem manager harus diimplementasikan dengan IPC. IPC yang dapat digunakan adalah Message queue, Semaphore, atau Shared Memory. Filesystem manager dapat diimplementasikan pada source code yang sama dengan Terminal atau program eksternal yang akan dipanggil dengan menggunakan system call exec(). Contoh eksekusi o > mountfs @/home/user/filesystem1 / > ls dir1 dir2 umount [mount_point] Perintah ini akan melakukan unmounting. Terminal akan menterminasi proses filesystem manager yang bertanggung jawab atas mount point yang bersangkutan. pwd Perintah ini akan menampilkan current working directory. ls [path] IF3055 Sistem Operasi Page 1 of 7

Perintah ini akan menampilkan seluruh file atau folder yang ada pada current working directory atau pada folder yang disebutkan pada parameter path. Perintah ini juga harus menampilkan ukuran file. cd [path] Perintah ini akan mengganti current working directory. mkdir [path] Perintah ini akan membuat sebuah direktori sesuai dengan path. rm [path] Perintah ini akan menghilangkan sebuah file atau folder sesuai dengan path. cp [@][path1] [@][path2] Perintah ini akan menyalin file atau folder dari path1 ke path2 selama masih memenuhi quota dari device. Penyalinan dilakukan antara file/folder pada sistem operasi (diberi tanda @ ) ke device yang ada pada Terminal, sebaliknya, dan juga antara file/folder yang ada pada Terminal. Penyalinan antar file/folder yang ada pada sistem operasi tidak perlu diimplementasikan. Penyalinan folder harus dilakukan secara rekursif. mv [@][path1] [@][path2] Perintah ini akan memindahkan file/folder dari path1 ke path2 selama masih memenuhi quota device. Pemindahan dilakukan antara file/folder pada sistem operasi (diberi tanda @ ) ke filesystem yang ada pada Terminal, sebaliknya, dan juga antara file/folder yang ada pada Terminal. Pemindahan antar file/folder yang ada pada sistem operasi tidak perlu diimplementasikan. Pemindahan folder harus dilakukan secara rekursif. Perintah ini juga dapat digunakan untuk mengganti nama file/folder. cat [path] Menampilkan isi dari file status Program akan menampilkan status dari semua filesystem yang ada : quota, free space, used space, file count, folder count, dll. exit Keluar dari program Catatan Argumen yang berupa path ke file, harus dapat digunakan secara relatif dan absolut. Ujilah perintah-perintah dengan binary file yang mudah untuk dibandingkan (e.g. mp3, jpg, gif, dll). Misal, coba pindah Bonus Aplikasi dapat melakukan mounting terhadap beberapa device. Misal terdapat dua buah device A dan B. Struktur direktori yang tersimpan pada A adalah dira1 IF3055 Sistem Operasi Page 2 of 7

Ketentuan o dira11 o dira12 dira2 dira3 Struktur direktori yang tersimpan pada B adalah dirb1 dirb2 o dirb21 Pengguna dapat melakukan mounting untuk kedua device tersebut pada mount point yang diinginkan selama mount point tersebut berupa direktori kosong. Contoh : > mountfs @/home/user/a / > ls dira1 dira2 dira3 > mountfs @/home/user/b /dira2 > cd dira2 > ls dirb1 dirb2 Pengguna juga dapat melakukan manipulasi (salin, pindah, hilang, dll) antar kedua filesystem. Contoh kasus yang perlu dicoba : Pengguna melakukan mounting kedua filesystem di atas. Kemudian pengguna menyalin direktori /dira2/dirb2/dirb21 ke /dira3. Direktori dirb21 ini haruslah muncul pada dira3 (beserta isinya) jika device A dipakai lagi tanpa device B. A. Pengerjaan o Program dikembangkan dengan bahasa C/C++ dan compiler gcc/g++ untuk lingkungan sistem operasi Linux. Jangan gunakan pustaka selain dari pustaka standard POSIX dan STL. o Program dapat dikembangkan dengan menggunakan IDE apapun (Netbeans, CodeBlock, dll) selama kompilasi dapat dilakukan dengan Makefile sederhana dan dapat dijalankan tanpa menggunakan IDE. B. Deliverables Pengiriman program dilakukan pada media CD dan juga lewat email (dikompresi*.tar.gz) Struktur direktori bin, berisi Terminal src, berisi kode program doc, berisi laporan Makefile, file untuk melakukan kompilasi. C. Laporan Laporan ditulis dengan menggunakan format font Times New Roman 11. Semua kelompok harus menggunakan template yang sama. Struktur laporan D. Cover (lambang Ganesha hitam) E. Bab I Latar Belakang Masalah Tuliskan deskripsi permasalahan. Tulislah pemahaman masing-masing terhadap permasalahannya, apa saja yang menjadi permasalahan inti dari tugas. Jangan salin spesifikasi yang ada di dokumen ini. F. Bab II Dasar Teori Tulislah dasar-dasar teori yang diperlukan untuk mengerjakan tugas ini. G. Bab III Pembahasan Bab ini berisi IF3055 Sistem Operasi Page 3 of 7

o Analisis. Jelaskan solusi yang digunakan : IPC serta desain filesystem beserta kelebihan dan kekurangannya. o Pembagian Kerja o Langkah pengerjaanx H. Bab IV Pengujian Berisi pengujian dari program. Tuliskan juga kasus-kasus penanganan-penanganan kesalahan. I. Bab V Kesimpulan dan Saran Tuliskan kesimpulan dan saran. J. Daftar Pustaka K. Lampiran Lampirkan kode program keseluruhan Program beserta hardcopy laporan dikumpulkan tanggal 2 Desember 2008 pukul 16:59 WIB. Penilaian Penilaian dilakukan terhadap kelompok melalui pengerjaan tugas dan laporan. Penilaian juga dilakukan terhadap inividu dari performansi demo tugas. Keterlambatan dalam pengumpulan tugas akan dikenakan sanksi. Mencontek, plagiat, dan sejenisnya akan dikenai sanksi pemotongan nilai hingga tidak diterimanya tugas bersangkutan. IF3055 Sistem Operasi Page 4 of 7

Hint Filesystem Filesystem adalah sebuah metode untuk melakukan penyimpanan dan pengaturan file pada sebuah media (device) agar mudah file tersebut mudah dicari dan dipakai. Sebuah block device dipetakan ke dalam struktur yang akan dipakai oleh filesystem tersebut. Sebuah UNIX filesystem biasanya memiliki struktur seperti di bawah. Filesystem di atas cukup kompleks karena harus memfasilitasi berbagai keperluan seperti partisi harddisk, hard link, dll. Filesystem sederhana biasanya terdiri atas 1. superblock berisi metadata mengenai filesystem tersebut : tipe filesystem, ukuran, status, dll. 2. inode list berisi inode. Inode adalah reprensentasi sebuah obyek (file) dalam filesystem. Inode berbentuk sebuah struktur data yang berisi tipe file: direktori, executables, link, block special, dll. permission owner filesize block reference, penunjuk data di mana data file tersebut tersimpan. 3. data block IF3055 Sistem Operasi Page 5 of 7

Fork and Exec Di dalam UNIX, dikenal system call bernama fork dan exec. System call fork berfungsi untuk menciptakan sebuah process yang menduplikasikan process yang memanggil system call tersebut. Sementara exec berfungsi untuk menjalankan sebuah executable pada process yang sedang berjalan. Contoh penggunaan fork(); 1. /* fork1.c */ 2. #include <stdio.h> 3. int main(int argc, char * argv[]) 4. { 5. fork(); 6. puts("hello World!"); 7. } Pada program di atas, fork akan menciptakan process yang identik dengan process utama. Keduanya akan mengeksekusi baris 6 setelah fork dipanggil. Oleh karena itu akan muncul dua buah Hello World pada terminal. System call fork() memberikan nilai kembalian process id child pada parent dan nilai 0 pada child process. Jika forking gagal dilakukan maka nilai kembaliannya adalah bilangan negatif. Dengan cara ini child process dan parent process dapat diatur sehingga dapat melakukan aksi yang berbeda. Sebagai contoh. 8. /* fork2.c */ 9. #include <stdio.h> 10. #include <sys /types.h> 11. 12. int main(int argc, char * argv[]) 13. { 14. pid_t childpid = fork(); 15. if (childpid == 0) /* Child proces */ 16. printf("i am the child. My PID is %d. My Parent ID is %d\n", getpid(), getppid()); 17. else if (childpid > 0) /* Parent process */ 18. printf("i am the parent. My PID is %d. My Child ID is %d\n", getpid(), childpid); 19. else /* Failed */ 20. puts("failed to fork"); 21. } Contoh hasil dari program di atas adalah petra@petra-desktop:~/if4038$./fork2 I am the child. My PID is 5463. My Parent ID is 5462 I am the parent. My PID is 5462. My Child ID is 5463 Contoh penggunaan exec 1. #include <unistd.h> IF3055 Sistem Operasi Page 6 of 7

2. main() 3. { 4. execl("/bin/ls", "/bin/ls", "-r", "-t", "-l", (char *) 0); 5. } Program di atas akan mengeksekusi program /bin/ls dengan argumen-argumen -r, -t, -l. Exec akan menggantikan process image yang sedang berjalan dengan process image dari process yang akan dijalankan. Referensi Berikut adalah situs-situs menarik yang mungkin dapat memberi inspirasi kepada peserta kuliah untuk mencari referensi lebih lanjut. http://learnlinux.tsf.org.za/courses/build/internals/ch08s04.html http://maleskoding.wordpress.com/2008/09/01/zombie-process/ http://www.opengroup.org/onlinepubs/000095399/functions/exec.html http://www.cs.cf.ac.uk/dave/c/ IF3055 Sistem Operasi Page 7 of 7