Process Management
Proses pada UNIX merupakan aktifitas permintaan user terhadap sistem operasi. Model
proses pada UNIX mirip dengan Linux, dimana prinsip dasar keduanya menggunakan fungsi
fork() dan exec(). fork() digunakan untuk membuat proses baru sedangkan exec() digunakan
untuk memanggil program.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan Manajemen
proses seperti:
Proses yang dibuat bisa dalam mode foreground maupun background. Ketika proses
dijalankan lewat shell secara default akan dijalankan dalam mode
foreground dan proses akan bergantung dari proses shell, jika shel dimatikan, maka proses
yang dijalankan tadi akan ikut mati. Kebalikan dari mode diatas adalah mode background,
dimana proses dijalankan dibalik layar, dan tidak tergantung
pada shell secara langsung, dan ketika shell dimatikan, proses tetap berjalan (ex: menjalankan
perintah dengan diberi argumen &).
Setiap kali instruksi diberikan pada Shell Unix, kernel akan menciptakan proses-id. Proses-id
(PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (dapat
dilihat dalam daftar urutan pada /etc /inittab). Proses-proses sistem terbagi dalam tiga tipe
utama, yaitu :
Interactive : Dimulai oleh sebuah shell dan berjalan dalam foreground dan
background.
Batch : Merupakan sebuah seri dari proses-proses yang dijadwalkan untuk dieksekusi pada
suatu waktu tertentu
Daemon : Diinisialisasi saat booting untuk membentuk fungsi-fungsi sistem yang dibutuhkan,
seperti LPD, NFS dan DNS
Sebuah sistem yang dibangun oleh serangkain proses, dengan perintah ps e (everthing)
dapat ditampilkan sejumlah proses-proses tersebut.
$ ps e PID TTY TIME COMMAND
1 ? 00:00:05 init
2 ? 00:00:00 klogd
3 ? 00:00:00 inetd
cut
Semakin banyak pemakai yang sedang menggunakan sistem, semakin banyak proses yang
akan ditampilkan. Tanda tanya (?) menyatakan bahwa proses tersebut adalah proses daemon
(proses yang hidup terus selama sistem hidup dan berjalan dilatar belakang). Sejumlah proses
yang ditampilkan melalui ps e berkedudukan sebagai pemimpin group proses (proses group
leader), yaitu proses yang menjalankan proses yang lain. Sebagai contoh jika dijanlankan
perintah ps f (full listing), dengan hasil sebagai berikut :
$ps f UID PID PPID C STIME TTY TIME CMD dsn970210 8907 1094 0 12:44 tty02
00:00:00 bash
dsn970210 9205 8907 0 13:02 tty02 00:00:00 ps f
Proses sh sebenarnya memimpin group proses. Tampak bahwa PID dari bash tercantum
dalam PPID dari proses ps f. PPID (parrent PID) menyatakan proses induk dari proses yang
sedang berjalan, dan STIME menyatakan awal proses dimulai.
Contoh lain perintah ps :
ps u anjik : untuk menampilkan proses yang terkait dengan seorang pemakai
ps t tty02 : untuk menampilkan proses yang terkait dengan terminal
ps auxww : untuk menampilkan informasi detail tentang setiap proses yang berjalan dalam
komputer.
a : Mendaftar semua proses
u : menampilkan informasi dalam user-oriented style
x : memasukkan informasi dalam proses yang tidak menampilkan kontrol ttys.
ww : memasukkan baris perintah dengan komplit, bahkan jika mereka menjalankan sampai
132 kolom.
> : Proses yang telah melampaui soft limit ketetapan memori Pada huruf ketiga field STAT
menunjukkan keterangan apakah proses berjalan dengan altered CPU Schedule, antara lain :
Kadang ada keinginan untuk menghentikan sebuah proses(kill process). Suatu alasan yang
umum untuk menghentikan proses diantaranya :
- Proses terlalu banyak menghabiskan CPU time
Contoh :
$ kill 123
Menghentikan proses dengan PID 123
$ kill -9 1234
Menghentikan dengan paksa proses dengan PID 1234.
# kill -HUP `cat /var/run/inetd.pid`
Mengirimkan hang up signal kepada daemon ined dengan PID seperti yang terseimpan
pada /var/run/inetd.pid, dan meminta proses untuk membaca ulang susunan konfigurasi
/etc/inetd.conf.
# kill 0
Menghentikan semua proses yang berjalan dalam background.
2. Memory Management
Memori utama atau lebih dikenal sebagai main memory adalah sebuah array yang besar dari
word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word
atau byte mempunyai alamat tersendiri. Memori Utama berfungsi sebagai tempat
penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O. Memori utama
termasuk tempat penyimpanan data yang sementara (volatile), artinya data dapat hilang
begitu sistem dimatikan.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan Manajemen
memori seperti :
Menjaga track dari memori yang sedang digunakan dan siapa yang menggunakannya.
Memilih program yang akan di-load ke memori.
Mengalokasikan dan meng-dealokasikan ruang memori sesuai kebutuhan.
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat
kecil. Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan
secondary-storage yang bersifat permanen dan mampu menampung banyak data. Contoh dari
secondary-storage adalah harddisk, disket, dll.
Sistem operasi bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan diskManajement seperti :
Free-space Manajement
Alokasi penyimpanan
Penjadwalan disk.
Paging System
Struktur Data untuk paged memori virtual , UNIX menggunakan sejumlah struktur data yang
dengan sedikit penyesuaian bersifat machine independent :
- Page table: secara khusus, akan ada satu page table per process, dengan satu entry untuk
tiap page dalam virtual memory untuk process tersebut.
- Disk block descriptor: Berhubungan dengan tiap page dari sebuah process adalah sebuah
entry dalam tabel ini yang menjelaskan salinan disk dari virtual page.
- Page frame data table: menjelaskan tiap frame dari memory yang sebenarnya dan diindeks
oleh nomer frame. Tabel ini digunakan oleh algoritma replacement(penggantian).
- Swap-use table: terdapat satu tabel swap-use untuk tiap device swap, dengan satu entri
untuk tiap page pada device.
Field Age dalam entry tabel page adalah menandakan seberapa lama entri tersebut telah ada
sejak sebuah program dirujuk pada frame ini. Namun, jumlah bit dan frekuensi update dari
field ini tergatung pada implementasi. Sehingga, tidak ada penggunaan UNIX yang universal
dari field ini untuk policy(kebijakan) page replacement.
Field Type of Storage dala disk block descriptor dibutuhkan untuk alasan berikut: ketika file
executable pertama kali digunakan untuk menciptakan sebuah process baru, hanya sebuah
bagian dari program dan data untuk file tersebut bisa dimasukkan ke dalam memori yang
sebenarnya. Kemudian, ketika kesalahan page terjadi, bagian baru dari program dan data
dimasukkan. Hanya pada saat pertama kali memasukka,n page virtual memori tersebut dibuat
dan ditugaskan pada lokasi pada salah satu device yang digunakan untuk swapping. Pada
saat tersebut, OS dikatakan apakah harus membersihkan (diset ke 0) lokasi dalam frame page
sebelum loading pertama kali untuk blok program atau data.
- Routing translasi pathname bisa mengalokasikan sebuah buffer untuk menyalin sebuah
pathname dari ruang user.
-
3. File Management
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas
tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori, volume, dll.).
Sistem operasi bertanggung-jawab untuk aktivitas-aktivitas sebagai berikut:
Pembuatan dan penghapusan berkas.
Pembuatan dan penghapusan direktori.
Mendukung manipulasi berkas dan direktori.
Memetakan berkas ke secondary storage.
Mem-backup berkas ke media penyimpanan yang permanen (non-volatile).
Sistem File
Sistem file merupakan suatu struktur untuk mengorganisasikan informasi atau data. Sistem
file UNIX tersusun dari sejumlah file dan directory, dan sering digambarkan sebagai struktur
pohon. Pada bagian puncak terdapat sebuah directory (root directory)/(slash). Root memiliki
sejumlah cabang yang masing-masing disebut directory (sub directory). Selanjutnya
masingmasing
directory mengandung satu atau beberapa directory atau file.
Jenis File
Sistem file pada sistem UNIX dapat dikelompokkan menjadi 3 jenis yaitu:
File biasa
Adalah file yang umumnya digunakan untuk menyimpan data, seperti program atau
dokumentasi.
File khusus
Tidak seperti halnya kebanyakan sistem operasi lainnya, misalnya DOS, UNIX
memperlakukan semua piranti atau peralatan yang terhubung ke dalamnya sebagai
file.
Piranti-piranti tersebut oleh UNIX dikelompokkan menjadi dua, yaitu:
a. Piranti blok
Piranti blok akan menyalurkan data dalam blok 512 byte, misalnya disk.
b. Piranti karakter
Piranti karakter menyalurkan data satu karakter setiap saat, misalnya terminal.
Piranti-piranti ini semua, biasanya diletakkan di dalam sebuah directory khusus, yaitu
directory/dev.
Direktori
Direktori adalah file yang berisi kumpulan file. Kumpulan file dapat berupa file biasa
atau file khusus, bahkan dapat pula berisi directory sehingga memungkinkan directory
berisi direktori. Sebagai hasilnya, UNIX memiliki sistem directory yang berbentuk
sebuah pohon atau tree.
ii.
Menciptakan File
Perintah cat dapat digunakan untuk menciptakan file. Isi file diinput dari keyboard.
Ex : $ Cat > Puisi (enter)
aku senang hari ini (enter)
<ctrl D>
untuk melihat isi file dengan mengetikkan $ cat Puisi
Menyalin File
Syntax : cp file1 file2
Ex : $ cp puisi puisi2
$ cp puisi puisi3
hasil dari perintah diatas yaitu file2 dan file3 yaitu puisi2 dan puisi3 merupakan
salinan dari file puisi
iv.
Menghapus File
Syntax : rm nama_file
Ex : $ rm puisi3
v.
vi.
Mencetak File
Syntax : IP nama_file
Ex : $ IP puisi3.
Sering disebut device manager. Menyediakan device driver yang umum sehingga operasi
I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh : pengguna
menggunakan operasi yang sama untuk membaca berkas pada hard-disk, CD-ROM dan
floppy disk.
Komponen Sistem Operasi untuk sistem I/O :
Agus Santoso
1601250446
1601245420
Michael Suharlie
1601221465