Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat 
komputer berjalan, terdapat banyak proses yang berjalan secara 
bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan ( child process) yang dilakukan oleh proses induk ( parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.
Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh 
sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. 
Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari 
proses induk yang membagi-bagikan sumber daya kepada setiap proses 
turunannnya, atau proses turunan dan proses induk berbagi sumber-daya 
yang diberikan sistem operasi.
Pengelolaan Proses
    Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa
 sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat 
berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan managemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses sinkronisasi.
• Menyediakan mekanisme untuk proses komunikasi.
• Menyediakan mekanisme untuk penanganan deadlock.
       Perkembangan sistem komputer mendatang adalah menuju ke sistem multi-
 processing, multiprogramming, terdistribusi dan paralel yang 
mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang
 bersamaan.  Hal demikian merupakan masalah yang perlu perhatian dari 
perancang sistem operasi. Kondisi dimana pada saat yang bersamaan 
terdapat lebih dari satu proses disebut dengan kongkurensi 
(proses-proses yang kongkuren).
      Proses-proses yang mengalami kongkuren dapat berdiri sendiri 
(independen)  atau dapat saling berinteraksi, sehingga membutuhkan 
sinkronisasi atau koordinasi proses yang baik.
        Untuk Threads itu sendiri ialah model proses yang didiskusikan 
sejauh ini telah menunjukkan bahwa suatu proses adalah sebuah program 
yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah 
proses menjalankan sebuah program Word Processor, ada sebuah thread 
tunggal dari instruksi-instruksi yang sedang dilaksanakan. Kontrol 
thread tunggal ini hanya memungkinkan proses untuk menjalankan satu 
tugas pada satu waktu. Banyak sistem operasi modern telah memiliki 
konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki 
eksekusi multithreads, agar dapat dapat secara terus menerus 
mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses 
yang sama. Maka sistem operasi tersebut memungkinkan proses untuk 
menjalankan lebih dari satu tugas pada satu waktu. Pada Bagian 2.5 akan 
dibahas proses multithreaded.
Status proses terdiri dari :
-     New: proses sedang dibuat.
      -     Running: proses sedang dieksekusi.
      -     Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti menunggu  seperti menunggu        untuk menyelesaikan I/O atau menerima signal).
      -     Ready: proses menunggu jatah waktu dari CPU untuk diproses.
      -    Terminated: proses telah selesai dieksekusi
        Untuk
 memkasimalkan pengguna CPU ada yang di sebut penjadwalan proses agar 
proses yang di jalankan berjalan tanpa hambatan. Ada beberapa macam 
penjadwalan proses yaitu :
1. Penjadwalan Antrian
          Ketiaka
 proses memasuki system mereka akan di letakkan pada antrian job. 
Antrian ini terdiri dari seluruh prosesdalam system. Proses lainnya akan
 menunggu pada memori utama dan siap untuk di eksekusi ketika proses 
pertama selesa daliaksanakan.
2. penjadualan Scheduler
  Sistem
 operasi harus memilih, untuk keperluan penjadualan, memproses 
antrian-antrian ini dalam cara tertentu. Pemilihan proses dilaksanakan 
oleh penjadual yang tepat/ cocok. Dalam sistem batch, sering ada lebih 
banyak proses yang diserahkan daripada yang dapat dilaksanakan segera. 
Proses ini dipitakan/ disimpan pada suatu alat penyimpan masal (biasanya
 disket), dimana proses tersebut disimpan untuk eksekusi dilain waktu.
3. Alih Konteks ? Switch Context
  Alih
 konteks sebuah proses digambarkan dalam PCB suatu proses; termasuk 
nilai dari CPU register, status proses. Ketika alih konteks terjadi, 
kernel menyimpan konteks dari proses lama kedalam PCB nya dan mengisi 
konteks yang telah disimpan dari process baru yang telah terjadual untuk
 berjalan. Pergantian waktu konteks adalah murni overhead, karena sistem
 melakukan pekerjaan yang tidak perlu. Kecepatannya bervariasi dari 
mesin ke mesin, bergantung pada kecepatan memori.
 SUMBER :
- http://flutokek.blogspot.com/2012/04/proses-dan-thread-pada-os_10.html
 - http://yogapw.wordpress.com/2009/10/05/pengertian-proses-dalam-sistem-operasi/
 - kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/.../bahan-bab3.pdf
 - http://ramdoniakbar.blogspot.com/2012/04/proses-dan-thread-dalam-os.html