7. Resource  allocation,  di  mana  beberapa  user  dan  beberapa  job
berjalan bersama, sumber daya harus dialokasikan. 8.
Accounting, menjaga jalur di mana user menggunakan berapa dan apa jenis sumber daya komputer tersebut.
9. Protection and security, perlindungan sangat diperlukan sistem dari
berbagai gangguan yang berasal dari luar maupun di dalam sistem tersebut.
2.1.4.  Proses
Menurut  Silberschatz  2005,  proses  tidak  hanya  sekedar  suatu kode  program,  melainkan  meliputi  beberapa  aktivitas  yang  bersangkutan
seperti  program  counter  dan  stack.  Sebuah  proses  juga  melibatkan  stack yang berisi data sementara parameter fungsimetode, return address, dan
variabel lokal dan data section yang menyimpan variabel-variabel global. Menurut  Tanenbaum  2001,  proses  adalah  sebuah  program  yang
dieksekusi  yang  mencakup  program  counter,  register,  dan  variabel  di dalamnya.  Proses  yang  dieksekusi  mempunyai  lima  status  yang  terdiri
dari: 1.
New  :  Pembentukan suatu proses.
2. Running  :  Instruksi-instruksi yang sedang dieksekusi.
3. Waiting  :  Proses menunggu untuk beberapa event yang terjadi.
4. Ready  :  Proses menunggu untuk dialirkan ke pemroses processor.
5. Terminated  :  Proses telah selesai dieksekusi.
Gambar 2. 1  :  Diagram status proses
Sebuah  proses  dapat  memiliki  karakteristik  sebagai  unit  of resource  ownership
atau  unit  of  dispatching.  Unit  of  resource  ownership akan  mengabstraksi  alamat  virtual  untuk  menyimpan  proses  image  dan
dari  waktu  ke  waktu,  proses  diberi  memori  utama  ditambah  kendali terhadap sumber daya lain. Biasa disebut dengan proses atau task.
2.1.5.  Thread
Unit  of  dispatching akan  memiliki  satu  jalur  eksekusi  trace.
Eksekusi  ini  mungkin  bergantian  interleaving  dengan  proses  lain. Sebuah  proses  memiliki  status  proses  dan  prioritas  penjadwalan  yang
digunakan  oleh  sistem  operasi  sebagai  informasi  untuk  melakukan
penjadwalan  processor.  Biasa  disebut  dengan  thread  atau  lightweight process
. Thread
terdiri dari dua bentuk, yaitu user thread dan kernel thread. User thread
adalah thread yang diatur dengan menggunakan pustaka level thread
. Sedangkan kernel thread adalah thread yang didukung oleh kernel. Proses  merupakan  sebuah  program  yang  mengeksekusi  thread
tunggal.  Kendali  thread  tunggal  ini  hanya  memungkinkan  proses  untuk menjalankan  satu  tugas  pada  satu  waktu.  Maka  dari  itu  dikembangkan
sebuah  konsep  agar  memungkinkan  sebuah  proses  untuk  mengeksekusi multi-threads
. Salah satu contoh aplikasi yang perlu menjalankan beberapa tugas serupa adalah web server.
Gambar 2. 2  :  Proses single thread dan multithread
Beberapa keuntungan penggunaan thread sebagai berikut:
1. Responsif,  menjadi  tetap  responsif  meski  sebagian  dari  program
sedang melakukan operasi atau tugas kepada pengguna. 2.
Berbagi  sumber  daya,  mengizinkan  sebuah  aplikasi  untuk mempunyai  beberapa  thread  yang  berbeda  dalam  lokasi  memori
yang sama. 3.
Ekonomis, lebih ekonomis dalam pembuatan sebuah proses.
4. Utilisasi  arsitektur  multiprocessor,  setiap  thread  dapat  berjalan
secara paralel di atas processor yang berbeda.
2.1.6.  Kernel