Rabu

Program Titik Terdekat


procedure CariDuaTitikTerdekat(input P : SetOfPoint,
                               n : integer,
                               output P1, P2 : Point)
{ Mencari dua buah titik di dalam himpunan P yang jaraknya terdekat.
Masukan: P = himpunan titik, dengan struktur data sebagai berikut
       type Point = record(x : real, y : real)
       type SetOfPoint = array [1..n] of Point
Keluaran: dua buah titik, P1 dan P2 yang jaraknya terdekat.
}
Deklarasi
  d, dmin : real
  i, j : integer

Algoritma:
  dmin¬9999
  for i¬1 to n-1 do
   
    for j¬i+1 to n do
      d¬Ö((Pi.x-Pj.x)2 + ((Pi.y-Pj.y)2)  
      if d < dmin then       { perbarui jarak terdekat }
        dmin¬d
        P1¬Pi  
        P2¬Pj
      endif 
    endfor

  endfor
    

Programnya
#include 
#include 
#include 
#define SIZE 100
using namespace std;

class Point
{
  public :
  int x, y;
};

void closestPair( Point * p, int n, Point &p1, Point &p2 )
{
  float d, dmin;
  int i, j;

  dmin = 9999;
  for ( i = 1; i < n; i++ )
  {
    for ( j = i + 1; j     {
      d = sqrt( pow(( p[i].x - p[j].x ),2) + pow(( p[i].y - p[j].y ),2) );
      if ( d < dmin )
      {
        dmin = d;
        p1 = p[i];
        p2 = p[j];
      }
    }

  }
}

int main(int argc, char *argv[])
{
    int n;
  Point p[SIZE];
  Point p1,p2;
  cout<>n;
  for(int i=1;i<=n;i++){
   cout<<"point "<<i<>p[i].x;
   cout<<"point "<<i<>p[i].y;
  }
  closestPair(p,n, p1, p2);
  cout<  cout<  cout<<endl;
  cout<  cout<
    system("PAUSE");
    return EXIT_SUCCESS;
}

source

Program Pencocokan String

procedure PencocokanString(input P : string, T :
n, m : integer,
                           output idx : integer)
{ Masukan: pattern P yang panjangnya m dan teks T yang panjangnya n. Teks T direpresentasika sebagai string (array of character)
Keluaran: lokasi awal kecocokan (idx)
}
Deklarasi
  i : integer
  ketemu : boolean

Algoritma:
  i¬0
  ketemu¬false
  while (i £ n-m) and (not ketemu) do
    j¬1
    while (j £ m) and (Pj = Ti+j ) do
      j¬j+1
    endwhile
    { j > m or Pj ¹ Ti+j }  

    if j = m then   { kecocokan string ditemukan }
      ketemu¬true
    else
      i¬i+1  {geser pattern satu karakter ke kanan teks }
    endif
  endfor
  { i > n – m or ketemu }
  if ketemu then
     idx¬i+1
  else
     idx¬-1
  endif
  

ini Programnya
 #include
#include 

using namespace std;

void stringMatch( char * Teks, int pTeks, char * Pola, int pPola )
{
  int i, j;
  i=0;
 while( i <= ( pTeks - pPola ))
  {
    j=0;
    while(j < pPola)
    {
      if ( Teks[i + j] == Pola[j] ){

        j++;
      }
      else
        break;
    }
    
    if ( j == pPola )
     cout<<" PATTERN "<<Pola<<" WAS FOUND at index : "<<i+1<<endl;

    i++;
  }
}

int main( )
{
  stringMatch( "informatics engineering", 23, "tic", 3 );

     system("PAUSE");
    return EXIT_SUCCESS;
}

source

Jumat

Bagaimana Sistem Operasi Mengendalikan Proses Sistem Aplikasi

Sistem Operasi

Sistem operasi ialah semacam gabungan dari potongan kode yang berguna. Ketika semacam kode komputer dapat dipakai secara bersama oleh beraneka-macam program komputer, setelah bertahun-tahun, programer akhirnya menmindahkannya ke dalam sistem operasi.

Sistem operasi, menentukan program yang mana dijalankan, kapan, dan alat yang mana (seperti memori atau I/O) yang mereka gunakan. Sistem operasi juga memberikan servis kepada program lain, seperti kode (driver) yang membolehkan programer untuk menulis program untuk suatu mesin tanpa perlu mengetahui detail dari semua alat elektronik yang terhubung.
Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan “kernel” suatu Sistem Operasi.

Perangkat sistem operasi merupakan bagian terpenting didalam menjalankan suatu perangkat komputer. Sistem operasi merupakan perangkat lunak yang menjembatani antara pengguna dan perangkat keras yang dipergunakan yaitu komputer.
Adapun Sistem operasi tersebut bersifat :
- Multiuser : dapat digunakan oleh banyak user
- Multitasking : dapat melakukan banyak tugas 

Komputer Generasi Kedua
Pada tahun 1948, penemuan transistor sangat memengaruhi perkembangan komputer. Transistor menggantikan tube vakum di televisi, radio, dan komputer. Akibatnya, ukuran mesin-mesin elektrik berkurang drastis.
Transistor mulai digunakan di dalam komputer mulai pada tahun 1956. Penemuan lain yang berupa pengembangan memori inti-magnetik membantu pengembangan komputer generasi kedua yang lebih kecil, lebih cepat, lebih dapat diandalkan, dan lebih hemat energi dibanding para pendahulunya. Mesin pertama yang memanfaatkan teknologi baru ini adalah superkomputer. IBM membuat superkomputer bernama Stretch, dan Sprery-Rand membuat komputer bernama LARC. Komputer-komputer ini, yang dikembangkan untuk laboratorium energi atom, dapat menangani sejumlah besar data, sebuah kemampuan yang sangat dibutuhkan oleh peneliti atom. Mesin tersebut sangat mahal dan cenderung terlalu kompleks untuk kebutuhan komputasi bisnis, sehingga membatasi kepopulerannya. Hanya ada dua LARC yang pernah dipasang dan digunakan: satu di Lawrence Radiation Labs di Livermore, California, dan yang lainnya di US Navy Research and Development Center di Washington D.C. Komputer generasi kedua menggantikan bahasa mesin dengan bahasa assembly. Bahasa assembly adalah bahasa yang menggunakan singkatan-singakatan untuk menggantikan kode biner.
Pada awal 1960-an, mulai bermunculan komputer generasi kedua yang sukses di bidang bisnis, di universitas, dan di pemerintahan. Komputer-komputer generasi kedua ini merupakan komputer yang sepenuhnya menggunakan transistor. Mereka juga memiliki komponen-komponen yang dapat diasosiasikan dengan komputer pada saat ini: printer, penyimpanan dalam disket, memory, sistem operasi, dan program.
Salah satu contoh penting komputer pada masa ini adalah 1401 yang diterima secara luas di kalangan industri. Pada tahun 1965, hampir seluruh bisnis-bisnis besar menggunakan komputer generasi kedua untuk memprosesinformasi keuangan.
Program yang tersimpan di dalam komputer dan bahasa pemrograman yang ada di dalamnya memberikan fleksibilitas kepada komputer. Fleksibilitas ini meningkatkan kinerja dengan harga yang pantas bagi penggunaan bisnis. Dengan konsep ini, komputer dapat mencetak faktur pembelian konsumen dan kemudian menjalankan desain produk atau menghitung daftar gaji. Beberapa bahasa pemrograman mulai bermunculan pada saat itu. Bahasa pemrograman Common Business-Oriented Language (COBOL) dan Formula Translator (FORTRAN) mulai umum digunakan. Bahasa pemrograman ini menggantikan kode mesin yang rumit dengan kata-kata, kalimat, dan formula matematika yang lebih mudah dipahami oleh manusia. Hal ini memudahkan seseorang untuk memprogram dan mengatur komputer. Berbagai macam karier baru bermunculan (programmer, analis sistem, dan ahli sistem komputer). Industr piranti lunak juga mulai bermunculan dan berkembang pada masa komputer generasi kedua ini.

Pemrosesan

Unit Pemproses Pusat atau CPU ( central processing unit) berperanan untuk memproses arahan, melaksanakan pengiraan dan menguruskan laluan informasi menerusi system komputer. Unit atau peranti pemprosesan juga akan berkomunikasi dengan peranti input , output dan storan bagi melaksanakan arahan-arahan berkaitan.
Berkas:CPU with pins.jpg
Contoh sebuah CPU dalam kemasan Ball Grid Array (BGA) ditampilkan terbalik dengan menunjukan kaki-kakinya

Dalam arsitektur von Neumann yang asli, ia menjelaskan sebuah Unit Aritmatika dan Logika, dan sebuah Unit Kontrol. Dalam komputer-komputer modern, kedua unit ini terletak dalam satu sirkuit terpadu (IC - Integrated Circuit), yang biasanya disebut CPU (Central Processing Unit).

Unit Aritmatika dan Logika, atau Arithmetic Logic Unit (ALU), adalah alat yang melakukan pelaksanaan dasar seperti pelaksanaan aritmatika (tambahan, pengurangan, dan semacamnya), pelaksanaan logis (AND, OR, NOT), dan pelaksanaan perbandingan (misalnya, membandingkan isi sebanyak dua slot untuk kesetaraan). Pada unit inilah dilakukan "kerja" yang nyata.

Unit kontrol menyimpan perintah sekarang yang dilakukan oleh komputer, memerintahkan ALU untuk melaksanaan dan mendapat kembali informasi (dari memori) yang diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali hasil ke lokasi memori yang sesuai. Sekali yang terjadi, unit kontrol pergi ke perintah berikutnya (biasanya ditempatkan di slot berikutnya, kecuali kalau perintah itu adalah perintah lompatan yang memberitahukan kepada komputer bahwa perintah berikutnya ditempatkan di lokasi lain).

Input dan Hasil

I/O membolehkan komputer mendapatkan informasi dari dunia luar, dan menaruh hasil kerjanya di sana, dapat berbentuk fisik (hardcopy) atau non fisik (softcopy). Ada berbagai macam alat I/O, dari yang akrab keyboard, monitor dan disk drive, ke yang lebih tidak biasa seperti webcam (kamera web, printer, scanner, dan sebagainya.

Yang dimiliki oleh semua alat masukan biasa ialah bahwa mereka meng-encode (mengubah) informasi dari suatu macam ke dalam data yang bisa diolah lebih lanjut oleh sistem komputer digital. Alat output, men-decode data ke dalam informasi yang bisa dimengerti oleh pemakai komputer. Dalam pengertian ini, sistem komputer digital adalah contoh sistem pengolah data.

Instruksi

Perintah yang dibicarakan di atas bukan perintah seperti bahasa manusiawi. Komputer hanya mempunyai dalam jumlah terbatas perintah sederhana yang dirumuskan dengan baik. Perintah biasa yang dipahami kebanyakan komputer ialah "menyalin isi sel 123, dan tempat tiruan di sel 456", "menambahkan isi sel 666 ke sel 042, dan tempat akibat di sel 013", dan "jika isi sel 999 adalah 0, perintah berikutnya anda di sel 345".

Instruksi diwakili dalam komputer sebagai nomor - kode untuk "menyalin" mungkin menjadi 001, misalnya. Suatu himpunan perintah khusus yang didukung oleh komputer tertentu diketahui sebagai bahasa mesin komputer. Dalam prakteknya, orang biasanya tidak menulis perintah untuk komputer secara langsung di bahasa mesin tetapi memakai bahasa pemrograman "tingkat tinggi" yang kemudian diterjemahkan ke dalam bahasa mesin secara otomatis oleh program komputer khusus (interpreter dan kompiler). Beberapa bahasa pemrograman berhubungan erat dengan bahasa mesin, seperti assembler (bahasa tingkat rendah); di sisi lain, bahasa seperti Prolog didasarkan pada prinsip abstrak yang jauh dari detail pelaksanaan sebenarnya oleh mesin (bahasa tingkat tinggi)

Arsitektur

Komputer kontemporer menaruh ALU dan unit kontrol ke dalam satu sirkuit terpadu yang dikenal sebagai Central Processing Unit atau CPU. Biasanya, memori komputer ditempatkan di atas beberapa sirkuit terpadu yang kecil dekat CPU. Alat yang menempati sebagian besar ruangan dalam komputer adalah ancilliary sistem (misalnya, untuk menyediakan tenaga listrik) atau alat I/O.

Beberapa komputer yang lebih besar berbeda dari model di atas di satu hal utama - mereka mempunyai beberapa CPU dan unit kontrol yang bekerja secara bersamaan. Terlebih lagi, beberapa komputer, yang dipakai sebagian besar untuk maksud penelitian dan perkomputeran ilmiah, sudah berbeda secara signifikan dari model di atas, tetapi mereka sudah menemukan sedikit penggunaan komersial.

Fungsi dari komputer secara prinsip sebenarnya cukup sederhana. Komputer mencapai perintah dan data dari memorinya. Perintah dilakukan, hasil disimpan, dan perintah berikutnya dicapai. Prosedur ini berulang sampai komputer dimatikan.

Program

Program komputer adalah daftar besar perintah untuk dilakukan oleh komputer, barangkali dengan data di dalam tabel. Banyak program komputer berisi jutaan perintah, dan banyak dari perintah itu dilakukan berulang kali. Suatu [[Personal computer[PC]] modern yang umum (pada tahun 2003) bisa melakukan sekitar 2-3 milyar perintah dalam sedetik. Komputer tidak mendapat kemampuan luar biasa mereka lewat kemampuan untuk melakukan perintah kompleks. Tetapi, mereka melakukan jutaan perintah sederhana yang diatur oleh orang pandai, "programmer." "Programmer Baik memperkembangkan set-set perintah untuk melakukan tugas biasa (misalnya, menggambar titik di layar) dan lalu membuat set-set perintah itu tersedia kepada programmer lain." Dewasa ini, kebanyakan komputer kelihatannya melakukan beberapa program sekaligus. Ini biasanya diserahkan ke sebagai multitasking. Pada kenyataannya, CPU melakukan perintah dari satu program, kemudian setelah beberapa saat, CPU beralih ke program kedua dan melakukan beberapa perintahnya. Jarak waktu yang kecil ini sering diserahkan ke sebagai irisan waktu (time-slice). Ini menimbulkan khayal program lipat ganda yang dilakukan secara bersamaan dengan memberikan waktu CPU di antara program. Ini mirip bagaimana film adalah rangkaian kilat saja masih membingkaikan. Sistem operasi adalah program yang biasanya menguasai kali ini membagikan

Rabu

Sejarah dan Perkembangan Sistem Operasi

Pengertian

Sistem operasi
(bahasa Inggris: operating system ; OS) adalah seperangkat program yang mengelola sumber daya perangkat keras komputer, dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program aplikasi boot diri.
Waktu-berbagi jadwal tugas sistem operasi untuk penggunaan yang efisien dari sistem dan juga dapat mencakup akuntansi untuk alokasi biaya waktu prosesor, penyimpanan massa, cetak, dan sumber daya lainnya.
Untuk fungsi-fungsi perangkat keras seperti sebagai masukan dan keluaran dan alokasi memori, sistem operasi bertindak sebagai perantara antara program aplikasi dan perangkat keras komputer,[1][2] meskipun kode aplikasi biasanya dieksekusi langsung oleh perangkat keras dan seringkali akan menghubungi OS atau terputus oleh itu. Sistem operasi yang ditemukan pada hampir semua perangkat yang berisi komputer-dari ponsel dan konsol permainan video untuk superkomputer dan server web.
Contoh populer sistem operasi modern termasuk Linux, Android, iOS, Mac OS X, dan Microsoft Windows.

Biasanya, istilah Sistem Operasi sering ditujukan kepada semua perangkat lunak yang masuk dalam satu paket dengan sistem komputer sebelum aplikasi-aplikasi perangkat lunak terinstal. Sistem operasi adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan perangkat lunak aplikasi seperti program-program pengolah kata dan peramban web.
Secara umum, Sistem Operasi adalah perangkat lunak pada lapisan pertama yang ditempatkan pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan "kernel" suatu Sistem Operasi
Kalau sistem komputer terbagi dalam lapisan-lapisan, maka Sistem Operasi adalah penghubung antara lapisan hardware dan lapisan software. Lebih jauh daripada itu, Sistem Operasi melakukan semua tugas-tugas penting dalam komputer, dan menjamin aplikasi-aplikasi yang berbeda dapat berjalan secara bersamaan dengan lancar. Sistem Operasi menjamin aplikasi software lainnya dapat menggunakan memori, melakukan input dan output terhadap peralatan lain, dan memiliki akses kepada sistem berkas. Apabila beberapa aplikasi berjalan secara bersamaan, maka Sistem Operasi mengatur schedule yang tepat, sehingga sedapat mungkin semua proses yang berjalan mendapatkan waktu yang cukup untuk menggunakan prosesor (CPU) serta tidak saling mengganggu.
Dalam banyak kasus, Sistem Operasi menyediakan suatu pustaka dari fungsi-fungsi standar, dimana aplikasi lain dapat memanggil fungsi-fungsi itu, sehingga dalam setiap pembuatan program baru, tidak perlu membuat fungsi-fungsi tersebut dari awal.
Sistem Operasi secara umum terdiri dari beberapa bagian:
  1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
  2. Kernel, yaitu inti dari sebuah Sistem Operasi
  3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
  4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain
  5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu (misalnya DOS), tetapi sebagian besar Sistem Operasi baru mengizinkan beberapa aplikasi berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti ini disebut sebagai Multi-tasking Operating System (misalnya keluarga sistem operasi UNIX). Beberapa Sistem Operasi berukuran sangat besar dan kompleks, serta inputnya tergantung kepada input pengguna, sedangkan Sistem Operasi lainnya sangat kecil dan dibuat dengan asumsi bekerja tanpa intervensi manusia sama sekali. Tipe yang pertama sering disebut sebagai Desktop OS, sedangkan tipe kedua adalah Real-Time OS, contohnya adalah Windows, Linux, Free BSD, Solaris, palm, symbian, dan sebagainya.


Seiring dengan berkembangnya Sistem Operasi, semakin banyak lagi layanan yang menjadi layanan inti umum. Kini, sebuah OS mungkin perlu menyediakan layanan network dan koneksitas internet, yang dulunya tidak menjadi layanan inti umum. Sistem Operasi juga perlu untuk menjaga kerusakan sistem komputer dari gangguan program perusak yang berasal dari komputer lainnya, seperti virus. Daftar layanan inti umum akan terus bertambah.
Program saling berkomunikasi antara satu dengan lainnya dengan Antarmuka Pemrograman Aplikasi, Application Programming Interface atau disingkat dengan API. Dengan API inilah program aplikasi dapat berkomunikasi dengan Sistem Operasi. Sebagaimana manusia berkomunikasi dengan komputer melalui Antarmuka User, program juga berkomunikasi dengan program lainnya melalui API.
Walaupun demikian API sebuah komputer tidaklah berpengaruh sepenuhnya pada program-program yang dijalankan diatas platform operasi tersebut. Contohnya bila program yang dibuat untuk windows 3.1 bila dijalankan pada windows 95 dan generasi setelahnya akan terlihat perbedaan yang mencolok antara window program tersebut dengan program yang lain.


Sistem Operasi saat ini

Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
  1. Keluarga Microsoft Windows - yang antara lain terdiri dari Windows Desktop Environment (versi 1.x hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x, Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7 (Seven) yang dirilis pada tahun 2009, dan Windows 8 yang akan dirilis pada tahun 2012 atau lebih lambat)).
  2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan dikenal dengan nama Darwin) dan GNU/Hurd.
  3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalah Mac OS X versi 10.6 (Snow Leopard). Musim panas 2011 direncanakan peluncuran versi 10.7 (Lion).
Sedangkan komputer Mainframe, dan Super komputer menggunakan banyak sekali sistem operasi yang berbeda-beda, umumnya merupakan turunan dari sistem operasi UNIX yang dikembangkan oleh vendor seperti IBM AIX, HP/UX, dll.


Proses

Prosesor mengeksekusi program-program komputer. Prosesor adalah sebuah cip dalam sistem komputer yang menjalankan instruksi-instruksi program komputer. Dalam setiap detiknya prosesor dapat menjalankan jutaan instruksi.
Program adalah sederetan instruksi yang diberikan kepada suatu komputer. Sedangkan proses adalah suatu bagian dari program yang berada pada status tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering membahas proses dibandingkan dengan program. Pada Sistem Operasi modern, pada satu saat tidak seluruh program dimuat dalam memori, tetapi hanya satu bagian saja dari program tersebut. Sedangkan bagian lain dari program tersebut tetap beristirahat di media penyimpan disk. Hanya pada saat dibutuhkan saja, bagian dari program tersebut dimuat di memory dan dieksekusi oleh prosesor. Hal ini sangat menghemat pemakaian memori.
Beberapa sistem hanya menjalankan satu proses tunggal dalam satu waktu, sedangkan yang lainnya menjalankan multi-proses dalam satu waktu. Padahal sebagian besar sistem komputer hanya memiliki satu prosesor, dan sebuah prosesor hanya dapat menjalankan satu instruksi dalam satu waktu. Maka bagaimana sebuah sistem prosesor tunggal dapat menjalankan multi-proses? Sesungguhnya pada granularity yang sangat kecil, prosesor hanya menjalankan satu proses dalam satu waktu, kemudian secara cepat ia berpindah menjalankan proses lainnya, dan seterusnya. Sehingga bagi penglihatan dan perasaan pengguna manusia, seakan-akan prosesor menjalankan beberapa proses secara bersamaan.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga mengubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).

Proses

Jenis status yang mungkin dapat disematkan pada suatu proses pada setiap sistem operasi dapat berbeda-beda. Tetapi paling tidak ada 3 macam status yang umum, yaitu:
  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

Sejarah Sejarah


Sejarah perkembangan Sistem Operasi
Arsitektur komputer tradisional terdiri dari empat komponen utama yaitu "Prosesor", "Memori Penyimpanan", "Masukan" (Input), dan "Keluaran" (Output).
Model tradisional tersebut sering dikenal dengan nama arsitektur von Neumann. Pada saat awal, komputer berukuran sangat besar sehingga komponen-komponennya dapat memenuhi sebuah ruangan yang sangat besar. Sang pengguna -- menjadi programmer yang sekali gus merangkap menjadi menjadi operator komputer -- juga bekerja di dalam ruang komputer tersebut.
Perkembangan sistem operasi dipengaruhi oleh perkembangan hardware. Sistem operasi mulai dikembangkan sejak ±40 tahun lalu, yaitu:
1. Generasi ke-nol (1940).
o Komponen utama tabung hampa udara;
o Sistem komputer belum menggunakan sistem operasi;
o Sistem operasi komputer dilakukan secara manual melalui plugboard, dan hanya bisa digunakan untuk menghitung (+,-, dan *).
2. Generasi pertama (1950).
o Komponen utama transistor;
o Sistem operasi berfungsi terutama sebagai pengatur pergantian antar job agar waktu instalasi job berikutnya lebih efisien. Dalam masa ini muncul konsep batch system (semua job sejenis dikumpulkan jadi satu);
o Input pemakai punch card.
3. Generasi kedua (1960).
o Komponen utama IC;
o Berkembang konsep-konsep:
o Multiprogramming, satu prosesor mengerjakan banyak program yang ada di memori utama;
o Multiprosesing, satu job dikerjakan oleh banyak prosesor berguna untuk meningkatkan utilitas;
o Spooling Simultaneous Peripheral Operation On Line, bertindak sebagai buffer (penyangga) saja, dan mampu menerima pesanan meskipun belum akan dikerjakan;
o Device Indipendence, masing-masing komponen memiliki sifat yang saling berbeda (misal: tiap-tiap printer memiliki driver);
o Time Sharing atau Multitasking, sistem bagi waktu yang diberikan oleh CPU terhadap berbagai job yang sedang dijalankan.
o Real-time system, berguna sebagai kontrol bagi mesin-mesin.
4. Generasi ketiga (1970)
o Komponen utama VLSI (Very Large Scale Integrated Circuit);
o Ditandai dengan berkembangnya konsep general purpose system, sehingga sistem operasi menjadi sangat kompleks, mahal dan sulit untuk dipelajari;
5. Generasi keempat (pertengahan 1970-an hingga sekarang).
o PC makin populer;
o Ditandai dengan berkembangnya sistem operasi untuk jaringan komputer dengan tujuan: data sharing, hardware sharing, dan program sharing;
o User interface semakin user friendly tanpa harus mengorbankan unjuk kerja.
Perjalanan Sistem operasi DOS
1980
• QDOS : Tim Paterson dari Seattle Computer menulis QDOS yang dibuat dari OS
terkenal pada masa itu, CP/M. QDOS (Quick and Dirty Operating System) dipasarkan
oleh Seatle Computer dengan nama 86-DOS karena dirancang untuk prosesor Intel 8086.
• Microsoft : Bill Gates dari Microsoft membeli lisensi QDOS dan menjualnya ke berbagai perusahaan komputer.
1981
• PC DOS : IBM meluncurkan PC DOS yang dibeli dari Microsoft untuk komputernya yang berbasis prosesor Intel 8086.

• MS DOS : Microsoft menggunakan nama MS DOS untuk OS ini jika dijual oleh perusahaan diluar IBM.
1983
• MS DOS 2.0 : Versi 2.0 dari MS DOS diluncurkan pada komputer PC XT.
1984
• MS DOS 3.0 : Microsoft meluncurkan MS DOS 3.0 untuk PC AT yang menggunakan chip Intel 80286 dan yang mulai mendukung penggunaan hard disk lebih dari 10 MB.
• MS DOS 3.1 : Microsoft meluncurkan MSDOS 3.1 yang memberikan dukungan
untuk jaringan.

perjalanan Sistem Operasi MAC
1997
• Mac OS : Untuk pertama kalinya Apple memperkenalkan penggunaan nama Mac OS pada Mac OS 7.6.
2000
• Mac OS/X : Mac OS diganti dengan mesin berbasis BSD Unix dengan kernel yang disebut sebagai Mac OS/X.
Perjalanan Sistem Operasi Windows.
1998
• Windows 98 : Web browser Internet Explorer menjadi bagian penting dari Windows 98 dan berhasil menumbangkan dominasi Netscape Navigator.
2000
• Windows 2000: Microsoft meluncurkan Windows 2000 sebagai penerus Windows NT.
• Windows Me : Microsoft meluncurkan Windows Me, versi terakhir dari Windows 95.
2001
• Windows XP : Microsoft memperkenalkan Windows XP.
2003
• Windows 2003 : Microsoft meluncurkan Windows Server 2003.

Perkembangan Sistem Operasi

Sampai detik ini, banyak sekali jenis-jenis operasi sistem yang ada, berkembang dan dikembangkan di berbagai belahan dunia. Operasi yang paling banyak didominasi seperti sistem operasi windows, linux beserta distro-distronya, juga mac OS dan masih banyak sistem operasi lain yang booming di dunia. Di tulisan ini, saya akan mencoba memberikan sedikit gambaran apa yang disebut dengan sistem operasi itu, beserta bagian-bagiannya dan bagaimana perkembangannya sampai saat ini.
sistem operasi merupakan suatu perangkat lunak sistem yang bertanggung jawab untuk mengendalikan langsung dan mengelola perangkat keras dan pengoperasian dasar sistem, termasuk juga menjalankan bermacam aplikasi di atasnya misalnya pengolah kata atau perambah website. Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan “kernel” suatu Sistem Operasi.
Sistem Operasi secara umum terdiri dari beberapa bagian:
1. Mekanisme Boot, yaitu meletakkan kernel ke dalam memory
2. Kernel, yaitu inti dari sebuah Sistem Operasi
3. Command Interpreter atau shell, yang bertugas membaca input dari pengguna
4. Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil     oleh aplikasi lain
5. Driver untuk berinteraksi dengan hardware eksternal, sekaligus untuk mengontrol mereka.
Sebagian Sistem Operasi hanya mengizinkan satu aplikasi saja yang berjalan pada satu waktu, tetapi sebagian besar Sistem Operasi baru, mengizinkan beberapa aplikasi yang berjalan secara simultan pada waktu yang bersamaan. Sistem Operasi seperti itu disebut sebagai Multi-tasking Operating System.
Sistem operasi-sistem operasi utama yang digunakan komputer sistem umum (termasuk PC, komputer personal) terbagi menjadi 3 kelompok besar:
1. Keluarga Microsoft Windows – yang antara lain terdiri dari Windows Desktop Environment (versi 1.x    hingga versi 3.x), Windows 9x (Windows 95, 98, dan Windows ME), dan Windows NT (Windows NT 3.x,      Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, dan Windows Vista yang akan dirilis pada tahun 2007)).
2. Keluarga Unix yang menggunakan antarmuka sistem operasi POSIX, seperti SCO UNIX, keluarga BSD (Berkeley Software Distribution), GNU/Linux, MacOS/X (berbasis kernel BSD yang dimodifikasi, dan       dikenal dengan nama Darwin) dan GNU/Hurd.
3. Mac OS, adalah sistem operasi untuk komputer keluaran Apple yang biasa disebut Mac atau Macintosh. Sistem operasi yang terbaru adalaMac OS X versi 10.4 (Tiger). Awal tahun 2007 direncanakan peluncuran       versi 10.5 (Leopard).
nah, dari sekian banyak itu, akan coba saya paparkan perkembangan sistem operasi yang berkembang di seluruh dunia.Artikel ini akan menguraikan sejarah sistem operasi dari DOS, Mac, Windows, BSD, sampai Linux.
1980
* QDOS  : Tim Paterson dari Seattle Computer menulis QDOS yang dibuat dari OS terkenal pada masa itu, CP/M. QDOS (Quick and Dirty Operating System) dipasarkan oleh Seatle Computer dengan nama 86-DOS       karena dirancang untuk prosesor Intel 8086.
* Microsoft : Bill Gates dari Microsoft membeli lisensi QDOS dan menjualnya ke berbagai perusahaan komputer.
1981
* PC­ DOS : IBM meluncurkan PC­ DOS yang dibeli dari Microsoft untuk komputernya yang berbasis prosesor Intel 8086.
* MS­ DOS : Microsoft menggunakan nama MS­ DOS untuk OS ini jika dijual oleh perusahaan diluar IBM.
1983
* MS­ DOS 2.0 : Versi 2.0 dari MS­ DOS diluncurkan pada komputer PC XT.
1984
* System 1.0 : Apple meluncurkan Macintosh dengan OS yang diturunkan dari BSD UNIX. System 1.0 merupakan sistem operasi pertama yang telah berbasis grafis dan menggunakan mouse.
* MS ­DOS 3.0 : Microsoft meluncurkan MS DOS 3.0 untuk PC AT yang menggunakan chip Intel 80286 dan yang mulai mendukung penggunaan hard disk lebih dari 10 MB.
* MS ­DOS 3.1 : Microsoft meluncurkan MS­DOS 3.1 yang memberikan dukungan untuk jaringan.
1985
* MS ­Windows 1.0 : Microsoft memperkenalkan MS­Windows, sistem operasi yang telah menyediakan  lingkungan berbasis grafis (GUI) dan kemampuan multitasking. Sayangnya sistem operasi ini sangat buruk    performanya dan tidak mampu menyamai kesuksesan Apple.
* Novell Netware : Novell meluncurkan sistem operasi berbasis jaringan Netware 86 yang dibuat untuk prosesor Intel 8086.
1986
* MS­ DOS 3.2 : Microsoft meluncurkan MS­ DOS 3.2 yang menambahkan dukungan untuk floppy  3.5 inch 720 KB.
1987
* OS/2 : IBM memperkenalkan OS/2 yang telah berbasis grafis, sebagai calon pengganti IBM PC DOS.
* MS­ DOS 3.3 : Microsoft meluncurkan MS­ DOS 3.3 yang merupakan versi paling populer dari MS DOS.
* Windows 2.0 : Windows versi 2.0 diperkenalkan.
* MINIX : Andrew S. Tanenbaum mengembangkan Minix, sistem operasi berbasis Unix yang ditujukan  untuk pendidikan. MINIX nantinya menginspirasi pembuatan Linux.
1988
* MS­ DOS 4.0 : Microsoft mengeluarkan MS­DOS 4.0 dengan suasana grafis.
* WWW : Proposal World Wide Web (WWW) oleh Tim Berners­Lee.
1989
* NetWare/386 (juga dikenal sebagai versi 3) diluncurkan oleh Novell untuk prosesor Intel 80386.
1990
* Perpisahan : Dua perusahaan raksasa berpisah, IBM berjalan dengan OS/2 dan Microsoft berkonsentrasi pada Windows.
* Windows 3.0 : Microsoft meluncurkan Windows versi 3.0 yang mendapat sambutan cukup baik.
* MS­Office : Microsoft membundel Word, Excel, dan PowerPoint untuk menyingkirkan saingannya seperti Lotus 1­2­3, Wordstar, Word Perfect dan Quattro.
* DR DOS : Digital Research memperkenalkan DR DOS 5.0.
1991
* Linux 0.01 : Mahasiswa Helsinki bernama Linus Torvalds mengembangkan OS berbasis Unix dari sistem operasi Minix yang diberi nama Linux.
* MS DOS 5.0 : Microsoft meluncurkan MS­DOS 5.0 dengan penambahan fasilitas full­-screen editor,  undelete, unformat dan Qbasic.
1992
* Windows 3.1 : Microsoft meluncurkan Windows 3.1 dan kemudian Windows for Workgroups 3.11 di tahun berikutnya.
* 386 BSD : OS berbasis Open Source turunan dari BSD Unix didistribusikan oleh Bill Jolitz setelah meninggalkan Berkeley Software Design, Inc (BSDI). 386 BSD nantinya menjadi induk dari proyek Open Source BSD lainnya, seperti NetBSD, FreeBSD, dan OpenBSD.
* Distro Linux : Linux didistribusikan dalam format distro yang merupakan gabungan dari OS plus program aplikasi. Distro pertama Linux dikenal sebagai SLS (Softlanding Linux System).
1993
* Windows NT : Microsoft meluncurkan Windows NT, OS pertama berbasis grafis tanpa DOS  didalamnya yang direncanakan untuk server jaringan.
* Web Browser : NCSA memperkenalkan rilis pertama Mosaic, browser web untuk Internet.
* MS­ DOS 6.0 : Microsoft memperkenalkan MS­DOS 6.0 Upgrade, yang mencakup program kompresi  harddisk DoubleSpace.
* Slackware : Patrick Volkerding mendistribusikan Slackware Linux yang menjadi distro populer pertama di kalangan pengguna Linux.
* Debian : Ian Murdock dari Free Software Foundation (FSF) membuat OS berbasis Linux dengan nama Debian.
* MS­ DOS 6.2 : Microsoft meluncurkan MS­DOS 6.2.
* NetBSD : Proyek baru OS berbasis Open Source yang dikembangkan dari 386BSD dibuat dengan menggunakan nama NetBSD.
* FreeBSD : Menyusul NetBSD, satu lagi proyek yang juga dikembangkan dari 386BSD dibuat dengan  nama FreeBSD.
1994
* Netscape : Internet meraih popularitas besar saat Netscape memperkenalkan Navigator sebagai browser Internet.
* MS­DOS 6.22 : Microsoft meluncurkan MS­DOS 6.22 dengan program kompresi bernama DriveSpace. Ini merupakan versi terakhir dari MS DOS.
* FreeDOS : Jim Hall, mahasiswa dari Universitas Wisconsin­River Falls Development mengembangkan FreeDOS. FreeDOS dibuat setelah Microsoft berniat menghentikan dukungannya untuk DOS dan menggantikannya dengan Windows 95.
* SuSE : OS Linux versi Jerman dikembangkan oleh Software und System Entwicklung GmbH (SuSE) dan dibuat dari distro Linux pertama, SLS.
* Red Hat : Marc Ewing memulai pembuatan distro Red Hat Linux.
1995
* Windows 95 : Microsoft meluncurkan Windows 95 dengan lagu Start Me Up dari Rolling Stones dan terjual lebih dari 1 juta salinan dalam waktu 4 hari.
* PC DOS 7 : IBM memperkenalkan PC DOS 7 yang terintegrasi dengan program populer pengkompres data Stacker dari Stac Electronics. Ini merupakan versi terakhir dari IBM PC DOS.
* Windows CE : Versi pertama Windows CE diperkenalkan ke publik.
* PalmOS : Palm menjadi populer dengan PalmOS untuk PDA.
* OpenBSD : Theo de Raadt pencetus NetBSD mengembangkan OpenBSD.
1996
* Windows NT 4.0 : Microsoft meluncurkan Windows NT versi 4.0
1997
* Mac OS : Untuk pertama kalinya Apple memperkenalkan penggunaan nama Mac OS pada Mac OS 7.6.
1998
* Windows 98  : Web browser Internet Explorer menjadi bagian penting dari Windows 98 dan berhasil  menumbangkan dominasi Netscape Navigator.
* Server Linux : Linux mendapat dukungan dari banyak perusahaan besar, seperti IBM, Sun Microsystem dan Hewlet Packard. Server berbasis Linux mulai banyak dipergunakan menggantikan  server berbasis       Windows NT.
* Google : Search Engine terbaik hadir di Internet dan diketahui menggunakan Linux sebagai  servernya.
* Japan Goes Linux : TurboLinux diluncurkan di Jepang dan segera menjadi OS favorit di Asia, khususnya di Jepang, China dan Korea.
* Mandrake : Gael Duval dari Brazil mengembangkan distro Mandrake yang diturunkan dari Red Hat.
1999
* Support : Hewlett Packard mengumumkan  layanan 24/7 untuk distro Caldera, Turbo Linux, Red Hat dan SuSE.
* Corel Linux : Corel pembuat program Corel Draw, yang sebelumnya telah menyediakan Word Perfect versi Linux, ikut membuat OS berbasis Linux dengan nama Corel Linux dan yang  nantinya beralih nama       menjadi Xandros.
2000
* Mac OS/X : Mac OS diganti dengan mesin berbasis BSD Unix dengan kernel yang disebut sebagai Mac OS/X.
* Windows 2000: Microsoft meluncurkan Windows 2000 sebagai penerus Windows NT.
* Windows Me : Microsoft meluncurkan Windows Me, versi terakhir dari Windows 95.
* China Goes Linux : Red Flag Linux diluncurkan dari Republik Rakyat China.
* Microsoft vs IBM : CEO Microsoft Steve Ballmer menyebut Linux sebagai kanker dalam sebuah  interview dengan Chicago Sun­Times. Di lain pihak, CEO IBM Louis Gartsner menyatakan dukungan  pada Linux       dengan menginvestasikan $ 1 milyar untuk pengembangan Linux.
2001
* Windows XP : Microsoft memperkenalkan Windows XP.
* Lindows: Michael Robertson, pendiri MP3.com, memulai pengembangan Lindows yang diturunkan dari Debian. Nantinya Lindows berganti nama menjadi Linspire karena adanya tuntutan  perubahan nama oleh       Microsoft.
2002
* Open Office : Program perkantoran berbasis Open Source diluncurkan oleh Sun Microsystem.
* OS Lokal : OS buatan anak negeri berbasis Linux mulai bermunculan, diantaranya Trustix Merdeka,  WinBI, RimbaLinux, Komura.
2003
* Windows 2003 : Microsoft meluncurkan Windows Server 2003.
* Fedora : Redhat mengumumkan distro Fedora Core sebagai penggantinya. Nantinya ada beberapa distro lokal yang dibuat berbasiskan Fedora, seperti BlankOn 1.0 dan IGOS Nusantara.
* Novell : Ximian, perusahaan pengembang software berbasis Linux dibeli oleh Novell, begitu juga halnya dengan SuSE yang diakuisisi oleh Novell.
* LiveCD : Knoppix merupakan distro pertama Linux yang dikembangkan dengan konsep LiveCD  yang bisa dipergunakan tanpa harus diinstal terlebih dahulu. Distro lokal yang dibuat dari Knoppix  adalah Linux   Sehat dan Waroeng IGOS.
2004
* Ubuntu : Versi pertama Ubuntu diluncurkan dan didistribusikan ke seluruh dunia. Ada beberapa  versi distro yang dikeluarkan, yaitu Ubuntu (berbasis Gnome), Kubuntu (berbasis KDE), Xubuntu (berbasis       XFCE), dan Edubuntu (untuk pendidikan).
2005
* Mandriva : Mandrake bergabung dengan Conectiva dan berganti nama menjadi Mandriva.
2006
* Unbreakable Linux : Oracle ikut membuat distro berbasis Linux yang diturunkan dari Red Hat Enterprise.
* CHIPLux : Distro lokal terus bermunculan di tahun ini, bahkan Majalah CHIP yang lebih banyak memberikan pembahasan tentang Windows juga tidak ketinggalan membuat distro Linux dengan nama CHIPLux, yang diturunkan dari distro lokal PC LINUX dari keluarga PCLinuxOS (varian Mandriva). CHIPLux merupakan distro lokal pertama yang didistribusikan dalam format DVD.
2007
* Vista : Setelah tertunda untuk beberapa lama, Microsoft akhirnya meluncurkan Windows Vista. Windows Vista memperkenalkan fitur 3D Desktop dengan Aero Glass, SideBar, dan Flip 3D. Sayangnya semua       keindahan ini harus dibayar mahal dengan kebutuhan spesifikasi komputer yang sangat tinggi.
2008
* 3D OS : Tidak seperti halnya Vista yang membutuhkan spesifikasi tinggi, 3D Desktop di Linux muncul dengan spesifikasi komputer yang sangat ringan. Era hadirnya teknologi 3D Desktop di Indonesia       ditandai dengan hadirnya sistem operasi 3D OS yang dikembangkan oleh  PC LINUX. Ada beberapa versi yang disediakan, yaitu versi 3D OS untuk pengguna umum serta versi distro warnet Linux dan game center       Linux.
Untuk sistem operasi yang terbaru masih dalam tahap versi beta dari windows yaitu windows 7. Windows 7 ini menyempurnakan sistem operasi windows vista dan menggunakan keunggulan windows xp. Untuk kompatibelitas hardware masih dalam proses berlanjut dengan meng-update windowsnya.
2009 
Windows 7 Windows 7
Berikut beberapa point penting dari  Berikut beberapa point penting dari
pengujian tentang windows 7 :. pengujian tentang windows 7 :.Lebih Cepat dan Stabil daripada Vista Lebih Cepat dan Stabil daripada VistaMemilih Jaringan Wireless Hanya dengan 1  Memilih Jaringan Wireless Hanya dengan 1
klik dari system tray klik dari system tray Library Akan Mengumpulkan System  Library Akan Mengumpulkan System
dengan Type yang sama dengan Type yang sama

sumber1: wikipedia
sumber2
sumber3