Pertemuan 2 Operating System

Posted by on October 2, 2014 at 7:29 am.

Fendy Chandra – 1601221420

Pertemuan 2-1

Oke, ini minggu kedua gw belajar OS di kelasnya ko Sky. Materi hari ini ada File System sama Process and Threads. Pertama yang kita bahas File System dulu ya…

Nah sebenernya file system itu apa sih?
File system (FS) itu semacem sistem yang gunanya buat mengorganisir dan me-manage akses dari komputer (hardware) ke data, nah bagian komputer yang diatur sama si FS itu adalah secondary storage. FS sendiri punya metadata yang isinya:

  1. Owner & Group invitation
  2. Time
  3. Permission (isinya semacem hak akses dari User (yang punya file), Group (sekumpulan user), sama Other)

Di FS, permission buat setiap komponen UGO (User-Group-Other) ada 3, yaitu buat Read, Write, sama Execute (disingkat RWX).

Ada beberapa FS yang terkenal, misalnya UFS, NTFS, HFS, sama FAT32.

Nah yang bakal dibahas lebih lanjut disini cuma 1, yaitu si UFS (Unix File System). Di UFS, semua isinya file, ga ada file exenya. Nah didalemnya ada 5 tipe file dasar, yaitu:

  1. Regular
  2. Directory (buat folder)
  3. Link (buat shortcut, ada hardlink sama softlink, bakal dibahas belakangan)
  4. Special File
  5. Named pipes (buat komunikasi data dari 1 tempat ke tempat lain)

Regular file ntu maksudnya dia semacem file biasa (oke, ini cuma translate-an namanya doang). Biasanya sih beberapa OS make ekstensi khusus buat interpret filenya. Isinya Regular file bisa ASCII ato binary.

Kalo special file ntu maksudnya dia semacem file yang punya fungsi khusus. Special file dibagi dua: Block Special (berasosiasi sama disk), sama Character Special (buat komunikasi dengan device tertentu, misalnya konsol, printer, dll.)

Soft link ntu maksudnya semacem shortcut yang gunanya buat menghubungkan file system yang berbeda, kalo Hard link kebalikannya, dia menghubungkan file system yang sama.

Operasi file di FS sendiri ada beberapa:

  • Create, buat bikin file baru
  • Delete, buat ngapus file
  • Open, buat buka file
  • Set attribute, buat nge-set attribute file
  • Close, buat nutup file
  • Read, buat baca file
  • Write, buat nulis (ngedit) file
  • Rename, buat namain ulang file
  • Append, buat nambah isi file
  • Seek, buat nyari file
  • Get attributes, buat dapetin attribute file

Kalo di directory ada juga beberapa operasi:

  • Create, buat bikin directory baru
  • Delete, buat apus directory
  • Opendir, buat buka directory
  • Closedir, buat nutup directory
  • Rename, buat namain ulang directory
  • Link, buat ngehubungin beberapa directory
  • Unlink, buat mutusin hubungan beberapa directory
  • Readdir, buat baca directory

Kira-kira ini yang dibahas di sesi pertama kemaren. Oh iya, abis materi ini kita ada semacem diskusi kelompok soal materi OS juga, disini kita dibagi jadi 9 kelompok. Pertanyaannya kira-kira ini:

  1. Sebutkan OS yang kamu ketahui!
  2. Sebutkan FS yang disupport oleh OS yang kamu sebut di no 1!
  3. Jelasin yang kamu tahu soal dual booting!
  4. Apa yang dimaksud thread dan process?
  5. Kalo kamu bisa bikin OS sendiri, inovasi apa yang mau kamu tambahin dari OS-OS yang sekarang udah ada?

Pertemuan 2-2

Kelar diskusi sama break, kita lanjut bahas thread sama process…

Pertama, kita belajar tentang bedanya program sama process. Program ntu adalah sekumpulan instruksi buat ngelakuin suatu task tertentu, nah kalo process ntu adalah eksekusi dari sebuah process. Jadi beda ya mereka J

Nah sebuah process ntu muncul ga langsung begitu aja, ada beberapa event yang bisa bikin terjadinya process:

  • Inisialisasi system
  • Eksekusi dari process creation system call (fork())
  • User request buat ngebikin process baru
  • Inisisasi batch job

Nah di dalem process ini ada yang namanya 5-state process model, kira-kira bentuknya mirip sama cara kerja Android. Gambarnya bisa diliat dibawah:

11

Nah dalam Process ada juga yang namanya suspended process, maksudnya dia semacem proses yang disuspend/dikirim ke background. Penyebab process bisa disuspend ada beberapa macem, misalnya swapping, other OS reason, Interactive user request, timing, sama parent process request.

Selain ntu, ada juga yang namanya process table, yaitu tempat process dilakuin. Process table punya beberapa atribut, kayak process ID (PID), process state, sama lokasi di memory.

Eksekusi program sendiri dibagi 2, yaitu user mode sama system mode. User mode punya priviledge yang lebih rendah, biasanya user program jalannya pake mode ini. Kalo system mode punya lebih banyak priviledge, dan biasanya terletak di Kernelnya OS.

Nah process ini pada akhirnya bakal mati (terminated). Process termination sendiri ada 4 macem:

  1. Normal exit
  2. Eror exit
  3. Fatal error
  4. Killed by another process

2 tipe yang pertama sifatnya volunterm 2 sisanya involunter.

Termination sendiri ada beberapa penyebabnya:

  • Normal completion
  • Time limit exceeded
  • Memory unavailable
  • Bounds violation
  • Protection error
  • Arithmetic error
  • Time overrun
  • I/O failure
  • Invalid instruction
  • Priviledged instruction
  • Data misuse
  • OS intervention
  • Parentnya udah terminate, jadi child processnya ikut keterminate
  • Parent request

Kira-kira kemaren itu yang kita bahas. Sama kalo gasalah kita belajar sedikit tentang fork() sama system().

BINUS (www.binus.ac.id) | www.skyconnectiva.com

Leave a Reply