Kelompok 1 :
1. Vivianti (08520241017)
2. Annisa Kharisma (08520241025)
3. Eka Wahyu Yuliasari (08520241029)
4. Deti Lestiyorini (08520241037)
5. Andhika Lady Maharsi (08520241041)
Manajemen Proses Windows, Linux/Unix dan Macintosh
Keberadaan system operasi dalam system computer adalah sebagai perangkat lunak yang mempunyai tugas mengendalikan dan mengkoordinasikan seluruh hardware dan software sebagia sumber daya computer sekaligus memberikan pelayanan kepada program aplikasi dan pemrogram untuk memudahkan pemanfaatan sumber dayanya. Proses sebagai entitas yang dinamis mengandung sejumlah instruksi data, program,counter, kumpulan register stack yang berisi alamat memori. Proses juga dapat dikatakan sebagai program yang sedang dieksekusi ( program aplikasi / system operasi) . prose dapat dikatakan sebagai unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan oleh system operasi.
Dengan demikian system operasi mempunyai kegiatan yang sangat kompleks dalam mengelola seluruh sumber daya dan memberikan pelayanan terhadap proses-proses sesuai kebutuhan. Kegiatan tersebut menjadikan system operasi membutuhkan suatu manajemen proses.
Sistem Operasi Linux adalah salah satu contoh dari sebuah model sistem operasi dewasa ini. Windows XP juga adalah sebuah sistem operasi, begitupun juga MS-DOS. Kesemuanya mempunyai tugas yang hampir sama. Namun perlu diketahui bahwa hanya satu sistem operasi yang dapat digunakan pada satu saat.
Istilah-istilah yang perlu diketahui dalam memahami sistem operasi:
Memori
Memori berfungsi untuk menyimpan data dan program.
Kernel
Kernel adalah program inti yang mengatur komponen penting komputer (processor dan memori sebagai contoh); serta beberapa device driver yang mengatur sistem perangkat keras yang lain (kartu jaringan, kartu suara dll)
Kernel mengatur segala sesuatu yang berhubungan dengan program-program untuk dapat berkomunikasi dengan perangkat kerasnya.
Shell
Sebuah program yang dapat berkomunikasi dengan pengguna komputer (manusia) dan memungkinkan pengguna komputer untuk berinteraksi dengan komputer.
Shell adalah salah satu bagian dari sebuah sistem operasi yang dapat dilihat. Dimana setiap sistem operasi menampilkan beragam antarmuka yang berbeda atau lingkungan kerja yang berbeda.
Proses
Proses adalah program yang sedang dieksekusi. Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi.
Multiprogramming(multitasking)
Manajemen banyak proses pada satu pemroses. Banyak proses dijalankan bersamaan, masing-masing proses mendapat bagian memori kendali tersendiri. Sistem operasi mengalih-alihkan pemroses diantara proses-proses tersebut. Suatu computer dikatakan berkemampuan multiprogramming jika computer tersebut melaksanakn tugas atau menjalankan program secara bersama-sama.
Dan Sistem operasi yang dapat mendukung multiprogramming antara lain :
• Windows 3.0
• Windows 95
• Windows 98
• Windows 2000
• Windows NT
• Linux
• OS/2
Multiprocessing
Manajemen banyak proses di komputer multiprocessor (banyak proses di dalamnya).Kumpulan dari sejumlah microprocessor /pemroses yang melaksanakan satu tugas. Dalam hal ini sejumlah terminal computer yang bersifat independen dapat melaksanakan tugas untuk menyelasaikan satu tugas.
DistributedProcessing
Manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar (terdistribusi).
Manajemen proses LINUX
Sistem Operasi Linux adalah salah satu contoh dari sebuah model sistem operasi dewasa ini. Windows XP juga adalah sebuah sistem operasi, begitupun juga MS-DOS. Kesemuanya mempunyai tugas yang hampir sama. Namun perlu diketahui bahwa hanya satu sistem operasi yang dapat digunakan pada satu saat.
Linux mempunyai kelebihan dibanding sistem operasi yang lain:
> Full Multitasking dan Full 32-bit. Linux seperti halnya versi UNIX yang lain mendukung penuh multitasking, sehingga pengguna dapat menjalankan banyak program pada saat bersamaan. Linux mendukung manajemen memori protected-mode pada platform processor sekelas Intel 80386 ke atas.
> X Window system. X Windows merupakan standar tampilan grafis dari mesin-mesin UNIX. Versi terlengkap dari X Window yang dikenal dengan Xfree86 telah tersedia untuk Linux. X Window dengan tampilan grafis yang menawan dapat mendukung banyak aplikasi.
> Implementasi TCP/IP Networking. Implementasi TCP/IP (Transmission Control Protocol/Internet Protocol) yang lengkap sebagai penghubung ke dunia internet. Banyak aplikasi yang tersedia seperti: SLIP/CSLIP, PLIP, PPP, NFS, FTP, Telnet, NNTP, SMTP dan sebagainya. Tersedia protokol dasar di kernel termasuk TCP, Ipv4, Ipv6, AX.25, X.25, DDP(AppleTalk), NetBEUI, Netrom dan sebagainya.
> Mendukung virtual memori dan shared library. Virtual memori memungkinkan penggunaan ruang pada harddisk sebagai memori, sehingga dapat mengatasi kekurangan RAM untuk menjalankan suatu proses. Shared library memungkinkan program untuk menggunakan library bersama-sama sehingga file executable dapat lebih sedikit menggunakan ruang pada disk.
> Dukungan GNU Software. Linux memiliki banyak aplikasi pendukung yang powerful dimana aplikasi ini dibuat oleh GNU -sebuah badan pembuat free software.
> Dukungan penuh terhadap Networking
> Lebih murah. Sebenarnya linux sistem operasi yang dapat diperoleh secara gratis. Biaya yang dikeluarkan mungkin hanya untuk pengganti CD atau pulsa telpon jika mendapatkannya dari internet.
Arsitektur Dasar Sistem Operasi Linux
Bagian terpenting sistem operasi adalah kernel, merupakan jantung sistem operasi.
• Kernel menyediakan tool dimana semua layanan sistem komputer disediakan.
• Kernel mencegah proses aplikasi mengakses mengakses perangkat keras secara langsung, memaksa proses menggunakan tool yang disediakan.
• Kernel memberi proteksi kepada pemakai dari gangguan pemakai lain.
Tool Kernel digunakan melalui panggilan sistem (system call). Program sistem menggunakan tool kernel untuk implementasi beragam layanan. Program sistem dan semua program lain berjalan diatas kernel. Program pemakai berjalan di mode berbeda dengan kernel, disebut mode pemakai.
Kernel berisi beberapa bagian penting, yaitu:
o Manajemen proses
o Manajemen memori
o Driver-driver perangkat keras
o Driver-driver system file
o Manajemen jaringan
o Dan beragam subsistem lain
Berikut adalah arsitektur sistem operasi Linux
Proses
Proses adalah program tunggal yang berjalan pada alamat virtual, berarti setiap hal yg berjalan dibawah Linux adalah proses. Proses ini berjalan melalui perintah-perintah yang ada dalam shell. Satu baris perintah dalam shell terkadang mampu mempengaruhi lebih dari satu proses, khususnya jika terdapat perintah pipe.
Contoh:
nroff -man ps.1 | grep kill | more
Perintah tersebut melakukan tiga proses, satu proses untuk setiap perintahnya.
Tipe-tipe proses dalam Linux:
Ada beberapa tipe proses dalam Linux . Setiap proses mempunyai kekhususan dan atribut tersendiri:
Interactive processes: Proses yang dimulai (dan dikontrol oleh) shell. Bisa tampak diluar (foreground) ataupun hanya didalam (background).
Batch processes: Proses yang tidak berhubungan dengan terminal tetapi menunggu untuk dieksekusi secara sequent.
Daemon processes: Proses yang dimulai ketika Linux booting dan berjalan secara background.
Cara termudah untuk mengetahui proses apa yang sedang berjalan pada sistem adalah menggunakan perintah ps (process status). Perintah ps mempunyai beberapa option dan argumen, tersedia untuk seluruh user dan root, walau tentu hasilnya akan berbeda tergantung login anda. Jika anda login sebagai user biasa (bukan root), jika perintah ps ditulis akan tampak hasil seperti:
$ ps
PID TTY STAT TIME COMMAND
41 v01 S 0:00 -bash
134 v01 R 0:00 ps
Hasil dari perintah ps selalu disusun dalam bentuk kolom. Kolom pertama berlabel PID (Process Identification Number); adalah penomoran dari Linux untuk menandai sebuah proses, dimulai dari nol dan bertambah satu untuk tiap proses hingga nomor tertinggi. Jika Linux mencapai nomor tertinggi, penomoran akan dimulai lagi dari nomor terendah dengan melewati nomor yang sedang digunakan proses yang aktif. Biasanya nomor terendah digunakan oleh proses kernel dan daemon yang dimulai saat booting hingga Linux berjalan. Untuk memanipulasi proses kita dapat menggunakan PID. Kolom TTY menunjukkan terminal yang digunakan saat proses dimulai. Kolom STAT menunjukkan kondisi terkini dari proses, entri yang paling banyak terdapat adalah S untuk sleeping dan R untuk running. Kolom TIME menunjukkan CPU time yang digunakan oleh proses. Kolom NAME menunjukkan nama proses yang berjalan, biasanya adalah nama perintah yang dimasukkan. Beberapa perintah digunakan untuk memulai perintah yang lain, proses ini dikenal dengan child process. Terdapat banyak versi perintah ps tergantung versi Linux yang digunakan. Kebanyakan admin (jika login sebagai root) menggunakan perintah ps dibawah ini untuk menampilkan keseluruhan informasi sistem:
ps -ef
ps -le
Proses yang terkunci dalam terminal dan tidak dapat melakukan apa pun disebut hang. Terkadang adapula sebuah proses yang berahir tidak sempurna. Hal ini disebut runaway process. Untuk mengatasi hal ini dan mengembalikan sistem ke keadaan normal digunakan perintah kill. Untuk menggunakan perintah ini kita harus mengakses konsol lain, jika terminal benar-benar terkunci kita harus login kembali. Sebagai seorang user biasa hanya dapat mengkill proses user itu sendiri dan tak dapat mempengaruhi user lain dalam sistem. Sebagai root anda mempunyai kuasa penuh menggunakan perintah kill. Diperlukan PID untuk mengetahui proses yang berjalan sehingga dapat mengkillnya.
Memori
Organisasi dan manajemen memori sangat mempengaruhi kinerja komputer. Manajemen memori melakukan tugas penting dan kompleks berkaitan dengan:
Memori utama sebagai sumber daya yang harus dialokasikan dan dipakai bersama diantara sejumlah proses yang aktif. Agar dapat memanfaatkan pemroses dan fasilitas masukan/keluaran secara efisien, maka diinginkan memori yang dapat menampung sebanyak mungkin proses.
Upaya agar pemrogram atau proses tidak dibatasi kapasitas memori fisik di sistem komputer.
Linux memanfaatkan virtual memori untuk mendukung kinerja sistem. Sebagai sistem operasi multiprogramming, virtual memori dapat meningkatkan efisisensi sistem. Sambil proses menunggu bagiannya diswap masuk ke memori, menunggu selesainya operasi masukan/keluaran dan proses diblocked. Jatah waktu pemroses dapat diberikan ke proses-proses lain.
Manajemen memori Linux menyediakan:
1. Ruang alamat besar. Ruang alamat dapat lebih besar disbanding memori fisik yang tersedia
2. Proteksi. Tiap proses di sistem mempunyai ruang alamat maya tersendiri. Ruang-ruang alamat maya itu sepenuhnya terpisah. Proses yang berjalan di satu aplikasi tidak dapat mengganggu proses lainnya.
3. Pemetaan memori. Dilakukan pemetaan antara memori maya ke memori fisik yang tersedia
4. Memori maya bersama (shared virtual memory) memori maya bersama ini untuk menghemat ruang memori, seperti pustaka dinamis bagi beberapa proses.
Karena memori fisik lebih sedikit dibanding memori maya, maka sistem hanya memuatkan page-page maya yang saat itu sedang digunakan proses. Linux memuatkan page maya begitu diperlukan. Teknik ini disebut dengan demand paging. Saat pemroses berusaha mengakses alamat maya yang tidak di memori fisik, pemroses tidak dapat menemukan isian di tabel page maya. Pemroses menerbitkan page fault.
> Jika alamat maya yang dituju tak absah (yaitu proses berusaha mengakses alamat maya yang tidak dibolehkan), maka sistem operasi mengakhiri proses itu untuk memproteksi proses-proses lain.
> Jika alamat maya yang dituju absah tapi tidak sedang di memori fisik, maka sistem operasi harus membawa page ke memori dari disk. Pengaksesan disk memerlukan waktu lama. Jika terdapat proses lain yang dapat dijalankan, maka sistem operasi memilih proses lain untuk dijalankan. Proses dimulai kembali di instruksi dimana page fault terjadi. Pemroses dapat memetakan memori maya ke memori fisik saat dilakukan pengaksesan memori maya, sehingga proses terus berjalan. Jika tidak terdapat memori bebas, sistem operasi harus membuat ruang bagi page yang akan dimasukkan dengan membuang page lain dari memori.
>> Jika page telah dimodifikasi (dirty-page), sistem operasi harus menjaga isi page. Ketika dipindahkan dari memori, disimpan di ruang khusus (swap space).
>> Jika page yang dibuang berupa page belum ditulisi maka page tidak perlu dituliskan ke disk.
Linux menempatkan proses pada memori yang dibagi menjadi sejumlah partisi. Pemartisian ini bersifat dinamis maka jumlah, lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis. Proses yang akan masuk ke memori segera dibuatkan partisi sesuai kebutuhan. Linux menciptakan ruang disk tempat swap terlebih dahulu, saat proses diciptakan, ruang swap pada disk dialokasikan. Ketika proses harus dikeluarkan dari memori utama, proses selalu ditempatkan ke ruang yang telah dialokasikan, bukan ke tempat-tempat berbeda setiap kali terjadi swap-out. Ketika proses berakhir, ruang swap pada disk didealokasikan.
Linux memiliki hierarki proses yang mirip dengan UNIX. Ada beberapa tipe proses dalam Linux . Setiap proses mempunyai kekhususan dan atribut tersendiri:
> Interactive processes: Proses yang dimulai (dan dikontrol oleh) shell. Bisa tampak diluar (foreground) ataupun hanya didalam (background).
> Batch processes: Proses yang tidak berhubungan dengan terminal tetapi menunggu untuk dieksekusi secara sequent.
> Daemon processes: Proses yang dimulai ketika Linux booting dan berjalan secara background.
Manajemen Proses Windows dan Macintosh
Pada Microsoft Windows dan macintosh OS seorang user mampu untuk menjalankan beberapa program pada saat yang sama.:
Sebuah word Processor, Web Browser, dan paket e-mail. Bahkan jika user dapat melakukan hanya satu program pada satu waktu (multi tasking) , system operasi perlu untuk mendukung aktivitas program internalnya sendiri, seperti manajemen memori. Dalam banyak hal ini, seluruh aktivitas ini adalah serupa, maka kita menyebut seluruh program itu proses-proses.
Istilah job dan proses digunakan hampir dapat dipertukarkan pada tulisan ini. Walau kami pribadi lebih menyukai istilah proses, banyak teori dan terminalogi system operasi dikembangkan selama suatu waktu ketika aktivitas utama system operasi adalah job processing. Akan menyesatkan untuk menghindari penggunaan istilah umum yang telah diterima bahwa memasukkan kata job(seperti penjadwalan job) hanya karena proses memiliki pengganti/pendahuluan.
Keadaan Proses
Sebagaimana proses bekerja , maka proses tersebut merubah state (keadaan statis/tetap) . status dari sebuah proses didefinisikan dalam bagian oleh aktivitas yang da dari proses tersebut. Tiap proses mungkin adalah satu dari keadaan berikut ini.
New: Proses sedang dikerjakan/dibuat
Running: Instruksi sedang dikerjakan
Waiting: Proses sedang menunggu sejumlah kejadian untuk terjadi (seperti sebuah penyelesaian I/O atau penerimaan sebuah tanda/signal)
Ready : proses sedang menunggu untuk ditugaskan pada sebuah prosesor
Terminated: proses telah selesai melaksanakan tugasnya/mengeksekusi.
Nama-nama tersebut adalah arbitrer/ berdasar opini, istilah tersebut yang bervariasi di sepanjang system operasi. Keadaan yang mereka gambarkan ditemukan pada seluruh system. Namun system operasi tertentu juga lebih baik menggambarkan keadaan/status proses. Adalah penting untuk menyadari bahwa hanya satu proses yang dapat berjalan pada prosesor manapun pada waktu kapanpun. Namun banyak proses yang dapat reday atau waiting.
Process Control Block
Tiap proses digambarkan dalam system operasi oleh sebuah proses control block (PCB)-juga disebut sebuah control block. Sebuah PCB berisikan banyak bagian-dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk ini:
Keadaan proses : Keadaan mungkin, new,ready, running, waiting, halted dll
Program counter: mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini
CPU register : register bervariasi dalam jumlah dan jenis tergantung pada rancanagan computer. Register tersebut termasuk accumulator, indeks register, stack pointer, general-puposes register , ditambah code information pada kondisi apapun . besertaan dengan program counter, keadaan/status informasi harus disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut berjalan /bekerja dengan benar setelahnya.
Informasi manajemen memori: informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, table page/halaman atau table segmen tergantung pada system memori yang sedang digunakan.
Informasi pencatatan : informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan batas waktu, jumlah akun, jumlah job atau proses dan banyak lagi.
Informasi status I/O: informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses ini suatu daftar open file dll.
PCB hanya berfungsi sebagai tempa menyimpan informasi apapun yang dapat bervariasi dari proses ke prroses.