Pelajaran Hidup

Inspirasi dari sebuah pengalaman dan pelajaran hidup..Semua butuh sebuah pembelajaran

Konsep Manajemen Proses di Sistem Operasi

DEFINISI PROSES
Terdapat beberapa definisi mengenai proses, antara lain :
a. Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses adalah masalah utama dalam perancangan sistem operasi.
b. Proses adalah program yang sedang dieksekusi.
c. Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi.

Sistem operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan manajemen proses:
Pembuatan dan penghapusan proses
Penundaan dan pelanjutan proses
Penyedia mekanisme untuk:
• Sinkronisasi antar proses
• Komunikasi antar proses
• Penanganan Deadlock

Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:

1. Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.
2. Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.
3. Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar
4. Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.
5. Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.


Beberapa hal yang berhubungan dengan manajemen konsep dalam sistem operasi :

1. Komunikasi antar proses

(Inter Process Communinication / IPC) :

- Beberapa proses biasanya berkomunikasi dengan proses lain.
- Contohnya pada shell pipe line : output dari proses pertama harus diberikan kepada proses ke dua dan seterusnya.
- Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada shared storage (main memory atau files).

2. Mekanisme proses untuk komunikasi dan sinkronisasi aksi

- Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data.

3. Pembuatan dan Penghancuran Proses

Pembuatan Proses (Create)

Penciptaan proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.

Penciptaan proses melibatkan banyak aktivitas, yaitu :

- Menamai (memberi identitas) proses.
- Menyisipkan proses pada senarai proses atau tabel proses.
- Menentukan prioritas awal proses.
- Menciptakan PCB.
- Mengalokasikan sumber daya awal bagi proses.


Penghancuran Proses (Destroyed)

Penghancuran proses terjadi karena :

- Selesainya proses secara normal.
- Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
- Batas waktu telah terlewati.
- Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (“walk clock time”) jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) .
- Memori tidak tersedia.
- Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
- Pelanggaran terhadap batas memori.
- Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses.
- Terjadi kesalahan karena pelanggaran proteksi.
- Dll

Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :

* Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
* Beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.

Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :

- Sumber daya-sumber daya yang dipakai dikembalikan.
- Proses dihancurkan dari senarai atau tabel sistem.
- PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).

4. Keadaan Proses

Keadaan proses terdiri dari :

1) Running, yaitu suatu kondisi pemroses sedang mengeksekusi instruksi. Benar-benar menggunakan CPU pada saat itu (sedang mengeksekusi instruksi proses itu).

2) Ready, yaitu suatu kondisi proses siap dieksekusi, akan tetapi pemroses belum siap atau sibuk.

3) Blocked, yaitu suatu proses menunggu kejadian untuk melengkapi tugasnya. Bentuk kegiatan menunggu proses yaitu : selesainya kerja dari perangkat I/Otersedianya memori yang cukup.


5. Penjadwalan Proses

Kriteria untuk mengukur dan optimasi kinerja penjadwalan :

a) Adil (fairness)

Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
b) Efisiensi (eficiency)
c) Waktu tanggap (response time)


Waktu tanggap berbeda untuk :

1.Sistem interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.

2.Sistem waktu nyata
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.

d) Turn around time
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem.


Referensi :
http://aium23.wordpress.com
http://hanzed.blogspot.com
ebook : Sistem Operasi – Proses- Dini Triasanti

Sejarah Sistem Operasi dari DOS, Windows, Mac

Artikel ini akan menguraikan sejarah sistem operasi dari DOS, Mac, Windows

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 MSDOS 3.1 yang memberikan dukungan untuk jaringan.

1985
MS Windows 1.0 : Microsoft memperkenalkan MSWindows, 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.

1988
MS DOS 4.0 : Microsoft mengeluarkan MSDOS 4.0 dengan suasana grafis.
WWW : Proposal World Wide Web (WWW) oleh Tim BernersLee.

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.
MSOffice : Microsoft membundel Word, Excel, dan PowerPoint untuk menyingkirkan saingannya seperti Lotus 1­23, Wordstar, Word Perfect dan Quattro.
DR DOS : Digital Research memperkenalkan DR DOS 5.0.

1991
MS DOS 5.0 : Microsoft meluncurkan MSDOS 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.

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 MSDOS 6.0 Upgrade, yang mencakup program kompresi harddisk DoubleSpace.
MS DOS 6.2 : Microsoft meluncurkan MSDOS 6.2.

1994
Netscape : Internet meraih popularitas besar saat Netscape memperkenalkan Navigator sebagai browser Internet.
MSDOS 6.22 : Microsoft meluncurkan MSDOS 6.22 dengan program kompresi bernama DriveSpace. Ini merupakan versi
terakhir dari MS DOS.
FreeDOS : Jim Hall, mahasiswa dari Universitas WisconsinRiver Falls Development mengembangkan FreeDOS.
FreeDOS dibuat setelah Microsoft berniat menghentikan dukungannya untuk DOS dan menggantikannya dengan Windows 95.


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.


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.


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.


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.


2003
Windows 2003 : Microsoft meluncurkan Windows Server 2003.


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.

2009 : Setelah itu microsoft meluncurkan Windows 7

referensi :
dikutip dari pclinux3d.com
planet.qwords.com

Diagram Aktifitas(Activity Diagram)

Diaram aktivatas adalah sebuah cara untuk memodelkan aliran kerja dari suatu usecase bisnis dan aliran
kejadian dalam use sistem dalam bentuk grafik. Diagram ini menunjukkan langkah-langkah didalam aliran kerja,
titik keputusan di dalam aliran kerja, siapa yang bertanggung jawab menyelesaikan masing-masing aktivitas
dan objek-objek yang digunakan dalam aliran kerja.

Diagram aktivitas mengambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing
alir berawal, keputusan yang mungkin terjadi dan bagaimana mereka berakhir. Aktivitas diagram juga dapat menggambarkan
proses pararel yang mungkin terjadi pada beberapa eksekusi.

Langkah pembuatan :
1. Menambahkan Activity Diagram
- Klik kanan pad usecase tertentu
- Pilih New
- Pilih Activity Diagram
- Maka RAtional Rose akan menambah State/Activity model didalam use case
- Beri nama pada activity diagram yang baru
- Klik double untuk membuka activity diagram yang baru

2. Menambahkan Swimlane pada activity diagram
- Pilih tombol Swimlane dari toolbar
- Klik di sembarang tempat di activity diagram
- Maka Swimlane akan terlihat dengan nama default NewSwimlane
_ Klik ganda untuk mengganti nama Swimlane

3. Menambahkan Start State
- Pilih tombol Start State pada toolbar
- Klik dalam bidang swimlane dimana start state akan diletakkan

4. Menambahkan End State
- Pilih tombol End State pada toolbar
- Klik dalam bidang swimlane dimana end state akan diletakkan

5. Menambahkan Activity
- Pilih tombol Activity pada toolbar
- Klik dalam activity diagram dalam objek yang sama activity itu harus dilakukan
- Beri nama activity tersebut sesuai dengan yang diinginkan

contoh Activity diagram :



Referensi :
Petunjuk Praktikum Analisis dan Perancangan Berorientasi Objek, Teknik Informatika, UAD

Program Queue dengan C++

#include
#include

#define maks 5

using namespace std;

class Queue{
friend ostream& operator<<(ostream&, const Queue&); public : Queue(); int penuh(int); int kosong(int); void cetak(); void enqueue(char); char dequeue(); private : char A[maks]; int banyak; }; ostream& operator<<(ostream&out,const Queue& s) { cout<<"\nIsi Queue sebanyak : "<<<" yaitu "; for(int i=0; i< banyak="0;" i="0;" int="" return="" s="=maks" void="" cout=""><<"\nIsi Queue : "; for(int i=0; i<<<" "; } void Queue::enqueue(char x) { cout<<"\nElemen : "<< tempat="0;">x)tempat++;
if(banyak !=tempat)
for(int i=banyak; i>=tempat; i--)
A[i+1]=A[i];
A[tempat]=x;
banyak++;
}
}

char Queue::dequeue()
{
char temp=A[--banyak];
cout<<"\nDequeue elemen-->"<
A[banyak]='0';
return temp;
}

main(){
Queue p;
p.enqueue('b');
cout<
p.enqueue('d');
cout<
p.enqueue('c');
cout<
p.enqueue('e');
cout<
p.enqueue('a');
cout<

char x=p.dequeue();
cout<<"elemen yang di dequeue"<<
cout<
{


system("PAUSE");
return EXIT_SUCCESS;
}
}



Program Stack dengan C++

//achicha_01@yahoo.com
#include
#include
#define maks 5
#include
#include

using namespace std;
class Stack{
friend ostream& operator<<(ostream&, const Stack&); public: Stack(); int penuh(int); int kosong(int); void cetak(); void push(char); char pop(); void PrintMatchedPairs(char *expr); private: char A[maks]; int banyak; }; ostream& operator<<(ostream& out, const Stack& s) { cout << "\nIsi stack : "; for (int i=0;i< banyak =" 0;" i="0;" maks="" int="" return="" s="=" 0="" 1="" void="" cout=""><< "\nIsi stack : "; for (int i=0;i< i="banyak;">=0; i--)
A[i+1] = A[i];
A[0] = x;
banyak++; }
}

char Stack::pop()
{
cout <<"\nPop stack, elemen yang di-pop :" << A[0];
char temp=A[0];
for (int i=0;i A[banyak]= '0';
banyak--;
return temp;
}

void Stack::PrintMatchedPairs(char *expr){
int A[maks];
int j, length=strlen(expr);
for(int i=1;i<=length;i++){
if(expr[i-1]=='(');
else if (expr[i-1]==')')
cout << j << ' ' << i << endl;
}
}

int main(int argc, char *argv[])
{
Stack stack;

for (char c='a'; c<'d'; c++){
stack.push(c);
stack.cetak();
}
char expr[maks];
cout << "Type an expression of length at most " << maks << endl;
cin.getline(expr,maks);
cout << "The pairs of maytching parentheses in " << endl;
puts(expr);
cout << "are" << endl;
// PrintMatchedpairs(*expr);
char p = stack.pop();
stack.cetak();
cout << "\n\nCetak pakai overloading : " << stack;

system("PAUSE");
return EXIT_SUCCESS;
}