Perkenalan Dengan Operating System

Apakah Sistem Operasi itu? Sistem operasi atau sering disebut OS (Operating System) adalah suatu program yang mengatur pembagian sumber daya. Terdapat beberapa fungsi OS, antara lain : Mengatur eksekusi program lain Sebagai perantara (interface) apikasi dengan hardware

Evolusi Operating System

Seiring dengan perkembangan zaman, OS pun juga harus ikut berkembang atau bervolusi. Mengapa OS harus berevolusi? Inilah alasannya : Munculnya hardware jenis baru Adanya layanan baru yang dibutuhkan pengguna Update atau perbaikan (patches, bug, fixes) Berikut evolusi OS sejak pertama kali para ilmuwan menemukan komputer sampai sekarang. Cekidot!

--

Istilah dalam Operating System

Mau berkenalan lebih dalam dengan operaring system? Pertama-tama,kenalilah apa saja yang dibutuhkan dan istilah apa saja yang biasanya diapakai dalam OS. CEKIDOT!

Multiprocessing Operating System

Seiring dengan berkembangnya zaman, kemajuan teknologi, terutama dalam bidang komputasi, sangatlah pesat. Dari awal di mana prosesor belum mempunyai kemampuan yang optimal , sampai saat ini prosesor sudah bisa melakukan beberapa proses secara bersamaan. CEKIDOT!

Basic Command pada Linux

Apakah Anda sudah pernah memaki Linux pada OS komputer Anda? Kalau belum, pada artikel kali ini, mimin mau ngebahas soal Linux nih. Mulai dari dasar sampai permukaan. CEKIDOT!

Bagaimana cara membuat file archive dalam linux?

Apakah Anda tau apa itu Tar dalam Linux? Tar adalah perintah untuk membuat file archive dalam platform Unix. Dengan kata lain, Tar sama dengan Zip atau Rar dalam Windows. Dalam bash script (terminal linux), terdapat beberapa ketentuan untuk membuat file Tar. Berikut adalah cara-caranya. CEKIDOT!

Senin, 27 Oktober 2014

Process Programming


A. Process ID (PID) pada Linux

     Setiap proses di Linux memiliki PID. PID terdiri dari 16 bit ineger yang keluar secara berurutan. Setiap proses juga memiliki parent process, kecuali proses init. Berikut contoh kode untuk mengetahui PID suatu proses :
#include<stdio,h>
#include<unistd.h>

int main()
{
   printf ("The process ID is %d\n",(int) getpid());
   printf ("The parent process ID is %d\n",(int) getppid());
   return 0;
}

B. Membuat Proses Baru (Child Process)

     Ada 3 cara untuk membuat proses melalui kode program, yaitu :
1. Fungsi system()

#include<stdlib.h>

int main()
{
   int return_value;
   return_value = system("ls -l/");
   return return_value;
}

     Tetapi fungsi system() tidak dianjurkan karena :
     a. Tidak portable
     b. Menghabiskan resource
     c. Berbahaya

2. Fork()
     Fork() adalah suatu proses yang membelah diri. Fork() akan menduplikasi proses yang ada. Proses hasil duplikasi disebut proses anak. Return value dari fork menentukan sedang ada di proses mana.
  •  >0 : ada di parent process, return value merupakan PID dari child process
  • =0 : ada di child process
  • <0 : error
3. Keluarga exec
     Ciri-ciri fungsi exec adalah mengganti program yang sedang berjalan pada suatu proses. Keluarga exec terdiri dari :
  • Execv
  • Execvp
  • Execve
  • Execlp
  • Execle

C. Signals

     Signal adalah sebuah event yang dikirimkan ke suatu proses oleh proses itu sendiri atau proses lain. Digunakan untuk mengirimkan notifikasi kepada suatu proses bahwa ada suatu event. Macam-macam signals antara lain :

SIGKILL : mengakhiri eksekusi program sekarang juga
SIGTERM : mengakhiri eksekusi program
SIGSEGV : diterima ketika program melakukan segmentation violation
SIGSTOP : menghentikan sementara suatu proses sekarang juga
SIGCONT : melanjutkan kembali program yang di-stop
SIGINT : interrupt ke suatu proses
    Untuk mengirimkan signal ke proses bisa menggunakan perintah kill (ex : kill -SIGKILL pid) atau menggunakan system call kill() (ex : int kill(pid_t pid, int sig);)

D. Menunggu Berakhirnya Proses (wait() system call)

     Agar proses induk bisa menunggu proses anaknya selesai, kita harus menggunakan systemcall wait(). wait() akan memblok eksekusi program sampai salah satu child process selesai. Definisi fungsi :

#include <sys/types.h>
#include<sys/wait.h>
pid_t wait (int *status);
pid_t waitpid(pid_t pid, int *status, int options);


Kontrol Proses

   
     Dalam Operating System, terdapat beberapa tabel yang digunakan untuk menyimpan informasi mengenai apa saja yang berhubungan dengan OS tersebut. Informasi-informasi tersebut dirangkum dalam suatu tabel yang dinamakan OS Control Table. Tabel tersebut terdiri dari :

1. Memory Table
     Digunakan untuk mencatat perubahan-perubahan di memory baik fisik maupun virtual. Informasi-informasi yang ada pada memory table antara lain :

  • Alokasi main memory ke proses
  • Alokasi memory sekunder ke proses
  • Atribut tertentu pada blok tertentu di memory
  • Informasi-informasi tentang virtual memory
2. I/O Table
     Digunakan untuk mengatur pembagian akses I/O devices

3. File Table
     Digunakan untuk mengatur pembagian akses file. Terdiri dari :

  • Keberadaan file
  • Lokasi file di memory
  • Status
4. Process Table
     Menyimpan informasi mengenai setiap proses yang ada. Terdiri dari :

  • PID (Process ID)
  • State
  • Lokasi di memori
     Setiap proses memiliki process image-nya sendiri-sendiri. Process image terletak pada blok memori yang kontinyu. Process image terdiri dari :

  • Process Control Block (PCB)
  • User data
  • Stack


Process Creation dan Mode Switching
     Proses tentunya perlu juga untuk dibuat dan kadang juga perlu untuk dirubah modenya. Berikut adalah langkah-langkah untuk membuat sebuah proses :
  1. Memberi ID yang unik pada proses baru
  2. Mengalokasikan ruang untuk proses baru
  3. Membuat Process Control Block
  4. Memasukkan dalam queue
  5. Membuat data-data lain yang 

     Berikut adalah langkah-langkah Mode Switching atau perubahan state pada proses:
  1. Simpan isi dari prosesor
  2. Update isi PCB (Process Control Block)
  3. Pindahkan PCB ke queue yang sesuai
  4. Pilih proses lain yang akan dieksekusi
  5. Update PCB dari proses itu
  6. Update struktur data dari manajemen memori
  7. Kembalikan isi dari prosesor

Status Proses / Process State

    
     Process State adaah jenis status yang dapat disematkan pada suatu proses pada sistem operasi. Jenis-jenis status itu adalah :
  1. Ready, yaitu status dimana proses siap untuk dieksekusi pada giliran berikutnya
  2. Running, yaitu status dimana saat ini proses sedang dieksekusi oleh prosesor
  3. Blocked, yaitu status dimana proses tidak dapat dijalankan pada saat prosesor siap/bebas
A. Suspended State
     Suspend / penundaan sebuah proses terjadi apabila sistem tersebut ingin memindahkan proses-proses tertentu guna mengurangi beban sistem selama beban puncak. Terdapat beberapa alasan kenapa suatu proses di-suspend, antara lain :
1. Swapping : Sistem operasi membutuhkan untuk membebaskan memori utama untuk dialihkan pada proses yang siap untuk dieksekusi
2. Interactive user request : Permintaan dari user
3. Timing : Sebuah proses dapat dieksekusi secara periodik dan memungkinkan untuk ditunda selama menunggu waktu eksekusi berikutnya
4. Parent Process request : Proses induk meminta untuk menunda eksekusi proses anak untuk memodifikasi proses tersebut atau untuk berkoordinasi tentang aktivitas dari proses anak


Proses Pada OS

    
    Sering kali kita mendengar istilah "proses". Di dalam OS pun ada bahkan banyak terdapat proses. Namun apakah Anda mengetahui apa itu proses? Proses adalah suatu program yang sedang berjalan. Dalam proses terdapat beberapa atribut, yaitu :

1. Kode Program, bisa saja shared code
2. Data (variabel, stack, dll)
3. Status Proses (State), mendeskripsikan status dari suatu proses

A. Process Control Block (PCB)
   PCB adalah block yang berisikan informasi yang berhubungan dengan sebuah proses yang spesifik. PCB terdiri dari :
1. Status Proses
2. Progrm Counter
3. CPU Register
4. Informasi Managemen Memori
5. Informasi pencatatan
6. Informasi Status I/O

B. Trace dan Dispatcher
   Trace adalah daftar urutan instruksi yang dijalankan pada suatu proses. Sedangkan dispatcher adalah program kecil yang mengatur proses mana yang akan dijalankan oleh prosesor.

Selasa, 07 Oktober 2014

Listing Tar File



    Setelah tutorial membuat dan mengextract archive file .tar, pada artikel ini mimin akan menjelaskan mengnai tutorial melihat (me-list) isi dari suatu archive file. Berikut tutorialnya. CEKIDOT!

1. Melihat isi archive file .tar
 
     Anda bisa melihat isi suatu archive file apabila file tersebut belum diextract

tar -tvf archive_name.tar

tar = tar command dalam terminal
t = Melihat file dari suatu file archive
v = Verbose, artinya kita bisa melihat progres pada saat kita ingin melihat isi file .tar
f = nama file tar yang ingin Anda lihat isinya
archive_name = nama file .tar (beserta directory) yang akan Anda lihat isinya

misal perintah
tar -tvf demsyos.tar

Jadi perintah di atas adalah untuk melihat isi archive file dengan nama demsyos.tar.

2. Melihat isi archive file .tar.gz
 
     Untuk melihat isi file tar.gz, Anda harus menambahkan command z, maka menjadi

 tar -tvfz archive_name.tar.gz

misal perintah
tar -tvfz demsyos.tar.gz 

Jadi perintah di atas adalah untuk melihat isi archive file dari dengan nama demsyos.tar.gz

3. Melihat isi archive file .tar.bz2

    Untuk melihat isi file tar.bz2, Anda harus menambahkan command j, maka menjadi

tar -tvfj archive_name.tar.bz2

misal perintah
tar -tvfj demsyos.tar.bz2

Jadi perintah di atas adalah untuk melihat isi archive file dengan nama demsyos.tar.bz2

UnTar (unZip) Tutorial



    Setelah tutorial membuat archive file .tar, pada artikel ini mimin akan menjelaskan mengnai tutorial UnTar. UnTar adalah kebalikan dari UnTar. Jadi command ini adalah untuk meng-extract suatu file archive. Berikut tutorialnya. CEKIDOT!

1. Meng-extract archive file .tar

tar -xvf archive_name.tar

tar = tar command dalam terminal
x = Extract file dari suatu file archive
v = Verbose, artinya kita bisa melihat progres pada saat kita mengextract file .tar
f = nama file tar yang ingin kita extract
archive_name = nama file .tar (beserta directory) yang akan Anda extract

misal perintah
tar -xvf demsyos.tar

Jadi perintah di atas adalah untuk meng-extract archive file dengan nama demsyos.tar.

2. Meng-extract archive file .tar.gz
   
     Untuk mengextract file tar.gz, Anda harus menambahkan command z, maka menjadi

 tar -xvzf archive_name.tar.gz

z = meng-extract file archive yang berasal dari gzip

misal perintah
tar -xvzf demsyos.tar.gz 

Jadi perintah di atas adalah untuk meng-extract archive file dari dengan nama demsyos.tar.gz

3. Meng-extract archive file .tar.bz2

    Untuk mengextract file tar.bz2, Anda harus menambahkan command j, maka menjadi


tar -xvfj archive_name.tar.bz2

misal perintah
tar -xvfj demsyos.tar.bz2

Jadi perintah di atas adalah untuk meng-extract archive file dengan nama demsyos.tar.bz2

Minggu, 05 Oktober 2014

Basic of Linux

     

     Apakah Anda sudah pernah memaki Linux pada OS komputer Anda? Kalau belum, pada artikel kali ini, mimin mau ngebahas soal Linux nih. Mulai dari dasar sampai permukaan. CEKIDOT!

     1. Perintah Dasar dalam Linux
     
     Untuk memasukkan perintah dalam Linux, baisanya user menggunakan Terminal. Apa itu terminal? Terminal adalah console yang digunakan pada Linux untuk mengeksekusi perintah yang user inginkan. Jadi, tanpa terminal, Linux akan menjadi useless. Karena tidak seperti Windows yang serba otomatis. 
     Terdapat beberapa perintah dasar apabila kita ingin mengoperasikan Linux dengan terminal. Berikut perintah-perintah dasarnya


ls
Melihat isi file dari direktori aktif.
ls -al
Melihat seluruh isi file pada direktori aktif beserta file hidden + attribute/permission filenya 
cd (directory)
Change directory. Menggunakan “cd” tanpa nama direktori akan menghantarkan  anda ke home direktor. Dan “cd -” akan menghantarkan anda ke direktori sebelumnya.
cp source destination
mengcopy suatu file. contohnya : cp /home/demsy/data.zip /opt/home/demsy/linux/.Ini berarti saya mengcopyfile demsy.zip folder linux
mcopy source destination
Mengcopy suatu file dari/ke dos filesystem. 
mv source destination
Memindahkan atau mengganti nama file. 
ln -s source destination
Membuat Simbolic Links,
rm files
Menghapus file. Contoh  rm /opt/home/demsy/data.zip  ini berarti anda  menghapus file data.zip dalam folder /opt/home/demsy/
mkdir directory
Membuat direktori baru. contoh  mkdir /home/demsy/new  .Ini berarti andatelah membuat folder baru dengan nama new
rmdir directory
Menghapus direktori yang telah kosong. Hanya bisa dilakukan untuk folder yang kosong.
rm -r files
Recursive Remove, Menghapus file, direktori dan subdirektorinya. Tidak perduli apakah direktori/folder tersebut ada isnya atau tidak. apapun isinya akan terhapus.
more
Untuk menampilkan sesuatu layar per layar. tambahkan perintah more dibelakang.Contoh : cp –help |more .Maka help dari cp akan ditampilkan layar-per-layar
less filename
Melihat suatu file layar per layar, dan tekan tombol “q” apabila ingin keluar.
pico filename
Edit suatu text file
pico -w filename
Edit suatu text file, dengan menonaktifkan fungsi word wrap, sangat berguna untuk mengedit file seperti /etc/fstab.
lynx file.html
Melihat file html atau browse ke net dengan text mode, dimana gambar/image tidak dapat ditampil-kan, tapi lynx adalah suatu browser yang sangat cepat, sangat berguna bila anda hanya menginginkan suatu artikel tanpa image.Contoh : lynx google.com .anda akan menikmati google di terminal.
tar -xvfz filename.tar.gz
Meng-tar sebuah file tar sekaligus meng-uncompress file tersebut (*.tar.gz or *.tgz), untuk meletakkannya direktori yg diinginkan tambahkan option  -C direktori, contoh tar  -zxvffilename.tar.gz -C /opt (meletakkan file tersebut di direktori /opt)
tar -xvf filename.tar
Meng-tar sebuah file tar yang tidak terkompress (*.tar).
gunzip filename.gz
Meng-uncompress sebuah file zip (*.gz” or *.z). dengan menggunakan gzip (juga zip atau compress) jika anda menginginkan mengompress file.
bunzip2 filename.bz2
Meng-uncompress file dengan format (*.bz2) dengan utiliti “bzip2″, digunakan pada file yang besar.
unzip filename.zip
Meng-uncompress file dengan format (*.zip) dengan utiliti “unzip” yang kompatibel dengan pkzip for DOS.
find / -name “filename”
Mencari “namafile” pada komputer anda dimulai dengan direktori /. 
locate filename
Mencari file dengan string “filename”.
talk username1
Berbicara dengan keyboard dengan user lain yg sedang login pada mesin kita (atau gunakan “talk username1@machinename” untuk berbicara dengan komputer lain) . Untuk menerima undangan percakapan, ketikkan”talk username2″. Jika seseorang mencoba untuk berbicara dengan anda dan itu dirasakan mengganggu, anda bisa menggunakan perinta”mesg n” untuk menolak pesan tersebut. Dan gunakan perintah “who” atau  ”rwho” untuk melihat siapa user yang mengganggu tersebut.
./program_name
Menjalankan program pada direktori aktif, yang mana tidak terdapat pada PATH anda
xinit
Menjalankan X-window server (tanpa windows manager).
.startx
Menjalankan X-window server dan meload default windows manager. Sama seperti perintah ”win” under DOS dengan Win3.1

startx — :1
Menjalankan sesi X-windows berikutnya pada display 1 (default menggunakan display 0). Anda dapat menjalankan banyak GUI terminal secara bersamaan, untuk pindah antar GUI gunakan , , etc, tapi ini akan lebih banyak memakan memori. 
x-term
(pada X terminal) ,menjalankan X-windows terminal. Untuk keluar ketikkan “exit”xboing(pada X terminal). 
gimp
Program image editor yang sangat bagus, bisa disamakan dengan Adobe Photoshop, 
shutdown -h now
(sebagai root) Shut down sistem. Umumnya digunakan untuk remote shutdown. Gunakan untuk shutdown pada konsol (dapat dijalankan oleh user).
halt
reboot (sebagai root) Halt atau reboot mesin. Lebih simple dari perintah di atas.
man topic
Menampilkan daftar dari sistem manual pages (help) sesuai dengan topic. 
apropos topic
Menampilkan bantuan manual berdasarkan topik.
pwd
Melihat direktori kerja saat ini (print working directory)
hostname
Menampilkan nama local host (mesin dimana anda sedang bekerja). Gunakan perintah “ netconf”(sebagai root) untuk merubah nama host dari mesin tersebut, atau edit file /etc/hosts
whoami
Mencetak login name anda. untuk mengetahui anda terlogin dengan user apa.
id username
Mencetak user id (uid) atau group id (gid)
date
Mencetak atau merubah tanggal dan waktu pada komputer, 
time
Melihat jumlah waktu yg ditangani untuk penyelesaian suatu proses + info lainnya.
rwho –a
Melihat semua user yg login pada network anda. Layanan perintah rwho ini harus diaktifkan, jalankan setup sebagai root utk mengaktifkannya.
finger username
Melihat informasi user, coba jalankan; finger root
last
Melihat user sebelumnya yang telah login di komputer.uptimeMelihat jumlah waktu pemakaian komputer oleh seseorang, terhitung proses reboot terakhir.
ps (=print status)
Melihat proses-proses yang dijalankan oleh user.
pa axu
Melihat seluruh proses yang dijalankan,walaupun tanpa terminal control, juga ditampilkan nama dari user untuk setiap proses.
top
Melihat proses yang berjalan, dengan urutan penggunaan cpu. uname –aInformasi system kernel anda.
free
Informasi memory (dalam kilobytes).
df –h
(=disk free) Melihat informasi pemakaian disk pada seluruh system (in human-readable form)
du / -bh
(=disk usage) Melihat secara detil pemakaian disk untuk setiap direktori, dimulai dari root (in human legible form).
cat /proc/cpuinfo
Cpu info. Melihat file pada /proc directori yang bukan merupakan file nyata (not real files).
cat /proc/interrupts
Melihat alamat interrupt yang dipakai.cat /proc/versionVersi dari Linux dan informasi lainnya.
cat /proc/filesystems
Melihat filesystem yang digunakan.
cat /etc/printcap
Melihat printer yang telah disetup.
lsmod
(as root) Melihat module-module kernel yang telah di load.
set
Melihat environment dari user yang aktif
echo $PATH
Melihat isi dari variabel “PATH”. Perintah ini dapat digunakan untuk menampilkan variabel environmen lain dengan baik. Gunakan “set” untuk melihat environmen secara penuh.
dmesg
Mencetak pesan-pesan pada waktu proses boot.(menampilkan file: /var/log/dmesg).
adduser
Menambah pengguna.
clear
Membersihkan Layar

*beberapa perintah mengharuskan anda login sebagai root. caranya tinggal menambahakan “sudo” di depan perintah

Tar (Zip) tutorial

 

     Apakah Anda tau apa itu Tar dalam Linux? Tar adalah perintah untuk membuat file archive dalam platform Unix. Dengan kata lain, Tar sama dengan Zip atau Rar dalam Windows. Dalam bash script (terminal linux), terdapat beberapa ketentuan untuk membuat file Tar. Berikut adalah cara-caranya :

1. Membuat archive file .tar

tar -cvf archive_name.tar directory _name/

tar = tar command dalam terminal
c = Create, artinya membuat archive baru
v = Verbose, artinya kita bisa melihat progres pada saat kita membuat file .tar
f = nama file tar yang ingin kita buat
archive_name = nama file .tar yang akan Anda buat
directory _name = nama directory yang akan Anda buat menjadi file .tar

misal perintah
tar -cvf demsyos.tar home/linux/data1/

Jadi perintah di atas adalah untuk membuat archive file dari directory home/linux/data1/ menjadi file demsyos.tar

2. Membuat archive file .tar.gz / tgz

     Perintah cvf tidak menyediakan fitur kompresi. Sehingga untuk membuat file dengan extensi gzip, yaitu GNU zip (ada fitur kompresi), dibutuhkan perintah yang sedikit berbeda. Perintah tersebut adalah sebagai berikut :

 tar -cvzf archive_name.tar.gz directory _name/

atau

 tar -cvzf archive_name.tgz directory _name/

z = membuat file archive melalui gzip

misal perintah
tar -cvzf demsyos.tar.gz home/linux/data1/

Jadi perintah di atas adalah untuk membuat archive file dari directory home/linux/data1/ menjadi file demsyos.tar.gz

3. Membuat archive file .tar.bz2
     Perbedaan tar.gz dan tar.bz2 adalah file archive tar.bz2  ukrannya lebih kecil daripada tar.gz. tar.bz2 sama dengan tbz atau tb2. Untuk membuat file tar.bz2, kita harus menambahkan opsi j pada perintah.

tar -cvfj archive_name.tar directory _name/

misal perintah
tar -cvfj demsyos.tar.bz2 home/linux/data1/

Jadi perintah di atas adalah untuk membuat archive file dari directory home/linux/data1/ menjadi file demsyos.tar.bz2

Rabu, 01 Oktober 2014

MULTIPROCESSING OS

     Multiprocessing adalah keadaan di mana suatu prosesor bias menjalankan lebih dari satu proses dalam satu waktu.

1. Multithreading

     Multithreading yaitu jalannya beberapa proses di mana setiap proses memiliki minimal satu thread yang menjalankan program. Yang dimaksud dengan thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan sebagian program lainnya. Thread dieksekusi secara sekuensial dan dapat diinterupsi. Suatu proses dapat terdiri dari beberapa thread yang dapat berjalan bersama.



2. Symmetric Multiprocessing

     Sebuah system dengan symmetric multiprocessing memiiki multiple processor di mana prosesor tersebut berbagi main memory dan input output yang sama. Prosesor tersebut dapat melakukan fungsi yang sama.
          Operating system dengan symmetric multiprocessing membagi proses dan thread ke semua prosesor. Terdapat beberapa keuntungan apabila menggunakan symmetric multiprocessing, antara lain :

a.    Parallel Processing
b.    Ketersediaan terjamin
c.    Incremental growth



3.  Monolithic Kernel dan Microkernel

a. Monolithic Kernel
     Monolithic kernel berupa satu proses besar yang terletak dalam address space yang sama (contoh : linux)

b. Microkernel
     Pada microkernel, kernel dibagi menjadi beberapa proses. Proses kecil-kecil tersebut disebut server. Beberapa berjalan di kernel space dan beberapa di user space. (contoh : GNU Hard, MAC OSX, Windows).




Istilah Dalam OS

1.   Proses

     Proses bisa diartikan sebagai bagian dari program yang sedang berjalan di dalam komputer. Proses terdiri dari :

a.       Executable program, yatu data yang bisa dieksekusi / dijalankan dalam komputer
b.      Data (variable, workspace,dll)
c.       Status proses (State), yaitu keadaan yang sedang dialami suatu proses

2.   Memory Management

     Dalam sebuah Operating System, tentunya dibutuhkan memory management, karena segala sesuatu yang berhubungan dengan  OS tersebut akan disimpan dalam memory. Oleh karena itu, dalam memory management dibutuhkan :

a.       Isolasi proses, yaitu agar sebuah proses tidak mengakses memory yang bukan miliknya
b.      Alokasi, yaitu penyediaan tempat pada blok-blok memori untuk digunakan oleh OS
c.       Mendukung modular programming
d.      Proteksi dan kontrol akses
e.      Long-term storage, yaitu penyediaan memory yang bisa digunakan oleh OS secara permanen

3.   Virtual Memory

Virtual memory berfungsi untuk menggabugkan kemampuan main memory dan harddisk.