Anda di halaman 1dari 12

Operating System Support

Tujuan dan Fungsi SO SO merupakan sebuah program yg mengontrol eksekusi program-program aplikasi dan berfungsi sebagai interface antara pengguna dg komputer. SO memiliki dua tujuan: Nyaman : SO akan membuat sistem komputer lebih mudah untuk digunakan

Efficiency: SO memungkinkan sumber daya sistem komputer dapat digunakan dengan cara yg efisien. SO Sebagai Interface Fungsi utama komputer adalah menyediakan satu atau lebih aplikasi. Pengguna aplikasi disebut sebagai end user SO menyediakan layanan-layanan dalam bidang:

Pembuatan Program: SO menyediakan berbagai fasilitas dan layanan untuk programer untuk membuat program. Eksekusi Program: SO menangani tugas seperti inisialisasi peralatan, eksekusi intruksi, pemuatan data ke memori, penyieapan sumber daya lainnya, dan sebagainya. Akses ke perangkat I/O: Setiap perangkat I/O memerlukan set intruksi atau signal kontrol untuk keperluan operasi. Akses terkontrol ke file: SO dapat menyediakan mekanisme perlindungan untuk mengontrol akses ke sumber daya yang digunakan, seperti file-file. Akses sistem: SO mengontrl akses ke sistem keseluruhan dan ke sumber daya sistem tertentu.

SO sebagai Menajer Sumber Daya Sebuah komputer adalah sekumpulan sumber daya untuk pemindahan, penyimpanan, dan pengolahan data dan untuk mengontrol fungsi-fungsi tersebut. SO mengarahkan CPU dalam nenggunakan sumber daya sistem lainnya.

SO akan menentukan saat perangkat I/O bisa dibunakan oleh sebuah program sedang mengeksekusi dan akses ke file dan menggunakan file. Types of Operating System

Interactive: berinteraksi langsung dg komputer lewat keyboard/monitor untuk meminta eksekusi.

Batch:program pengguna ditampung bersama-sama dg program pengguna lain dan selanjutya diserahkan ke operator komputer. Single program (Uni-programming) Multi-programming (Multi-tasking)

Early Systems (Sistem Terdahulu) Sistem ini berkembang antara tahun 1940-an sakpai pertengan tahun 1950. No Operating System Program berinteraksi langsung dg hardware Terdapat dua masalah utama: Scheduling (penjadwalan) Setup time (waktu setup)

Simple Batch Systems Program Monitor yang Resident Pengguna menyerahkan semua pekerjaan ke operator Kontrol Monitor dilakukan berurutan untuk events ke process batch

Jika satu pekerjaan telah selesai dilakukan, control dikembalikan ke Monitor untuk membaca pekerjaan selanjurnya Monitor mengambil alih penjadwalan proses

Job Control Language Instruksi untuk Monitor Biasanya menggunakan notasi $ Contoh: $JOB $FTN ... Some Fortran instructions

$LOAD $RUN ... $END Some data

Diperlukan fitur-fitur Hardware Proteksi Memory: pd saat program pengguna dieksekusi, program tidak boleh mengubah area memory yg berisi monitor. Timer: digunakan untuk mencegah sebuah job monopoli sistem.

Privileged instructions: Instruksi tertentu ditandai privileged dan hanya dpt dieksekusi oleh Monitor e.g. I/O

Multi-programmed Batch Systems I/O devices very slow Sementara satu program sedang menulis ke I/O, yang lainnya dapat menggunakanCPU Sejumlah job atau program pengguna semua nya dipertahankan di memory.

Single Program Time Sharing Systems Meng-ijinkan penguna untuk berinteraksi secara langsung dengan komputer i.e. Interactive

Multi-programming: pengguna dimungkinkan untuk menjalankan sejumlah program secara bersamaam (multi-Taks) untuk job yang berbeda Scheduling (Penjadwalan) Kunci utama yang digunakan pada multi-programming

Semua job dan program pengguna dipertahankan dimemory, sehingga berada procesor dalam keadaan sibuk. Jenis-jenis penjadwalan Long term (Penjadwalan jangka panjang)

Medium term (Penjawalan jangka menengah) Short term (Penjadwalan jangka pendek)

Long Term Scheduling Menentukan program mana yg diloloskan kepada sistem untuk diproses Mengoltrol derajat multi-programming (jumlah proses yg berada di dalam memory)

Sekali diloloskan, sebuah job atau program akan menjadi proses dan ditambah ke antrian short term scheduler Medium Term Scheduling Part of the swapping function

Biasanya merupakan bagian yang sangat mendasar yg diperlukan untuk pengelolaan multiprogramming Jika virtual memory tidak ada, maka akan dikeluarkan teknik pengelolaan memory.

Short Term Scheduler Biasa juga disebut Dispatcher

Seringkali mengeksekusi dan membuat keputusan yg lebih detail tentang job yg akan dieksekusi untuk kesempatan selanjutnya. Job yang aktual diambil untuk menanfaatkan processor dalam kesempatan berikutnya

Process States Penjelasan New: sebuah program diizinkan oleh penjadwalan jangka panjang namun belum siap melakukan eksekusi Ready: Proses telah berada dalam keadaan siap dieksekusi dan sedang mununggu akses ke prosesor. Running: Proses sedang dieksekusi oleh prosesor. Waiting: Proses ditahan dieksekusi untuk menunggu sumberdaya sistem, misalnya I/O.

Process Control Block

Umumnya berisi: Identifier:setiap proses mempunyai indentifier State:keadaan proses saat ini (new, ready, dsb) Priority: tingkat priorotas relatif Program counter: alamat instruksi yg akan diproses Memory pointers: lokasi awal dan akhir Context data: data yang berada dalam register I/O status: request I/O yang belum dipenuhi Accounting information: jumlah waktu prosesor dan clock time yg digunakan.

Architecture & Organization 1 Arsitektur Komputer berkaitan dengan atribut-atribut yg tampak (visible) bagi seorang programer

Instruction set, number of bits used for data representation, I/O mechanisms, memory addressing techniques. e.g. Is there a multiply instruction?

Organisasi Komputer berkaitan dg unit-unit operasional dan interkoneksinya yg merealisasikan spesifikasi arsitektural. Control signals, interfaces, memory technology. e.g. Is there a hardware multiply unit or is it done by repeated addition? Secara historis, perbedaan antara arsitektur dan organisasi merupakan hal yang penting.

Banyak pabrik komputer menawarkan sekelompok model komputer yg kesemuanya memiliki arsitektur yang sama tetapi mempunyai organisasi yang berbeda. Contoh: Semua keluarga Intel x86 mempunyai dasar arsitektus yang sama. Keluarga IBM System/370 pepmyipuai dasar arsitektur yang sama

Structure & Function Komputer merupakan sistem yg kompleks berisi jutaan komponen elementer dan mempunyai hirarki subsistem-subsistem yang kompleks yg saling berkaitan.

Pada setiap tingkatan, perancangan pelu memperhatikan struktur dan fungsi. Struktur: Cara komponen-komponen saling terkait. Fungsi: Operasi masing-masing komponen sebagai bagian dari struktur.

Function Semua jenis komputer mempunyai 4 buah fungsi yaitu: Data processing (Pengolahan data) Data storage (Penyimpanan data) Data movement (Pemindahan data) Control

Computer Evolution and Performance ENIAC background

Singkatan dari Electronic Numerical Integrator And Computer Dirancang oleh John Presper Eckert dan John Mauchly Tempat: University of Pennsylvania Trajectory tables for weapons (mengatur lintasan peluru) Started 1943 Finished 1946 Used until 1955 Decimal (not binary)

Memory-nyateridi dari 20 accumulators, masing-masing dapat menampung 10 digits bilangan desimal Diprogram secara anual dg cara menyetel switches Berisi : 18,000 vacuum tubes Berat : 30 tons Volume :15,000 square feet (4500 m2)

MEmbutuhkan listrik 140 kW Dapat melakukan opersi penambahan 5,000 per detik

von Neumann/Turing Stored Program concept Main memory storing programs and data ALU operating on binary data Control unit interpreting instructions from memory and executing Input and output equipment operated by control unit Princeton Institute for Advanced Studies IAS Completed 1952

IAS details 1000 x 40 bit words Binary number 2 x 20 bit instructions Set of registers (storage in CPU) Memory Buffer Register Memory Address Register Instruction Register Instruction Buffer Register Program Counter Accumulator Multiplier Quotient

MBR = Memory Buffer Register MAR = Memory Access Register

IBR = Instruction Buffer Register MQ = Multiplier Quotient Commercial Computers 1947 - Eckert-Mauchly Computer Corporation UNIVAC I (Universal Automatic Computer) US Bureau of Census 1950 calculations Became part of Sperry-Rand Corporation Late 1950s - UNIVAC II Faster More memory

Performance Mismatch Processor speed increased Memory capacity increased Memory speed lags behind processor speed

Pentium Evolution (1) 8080 first general purpose microprocessor 8 bit data path Used in first personal computer Altair 8086 much more powerful 16 bit instruction cache, prefetch few instructions 8088 (8 bit external bus) used in first IBM PC 80286

16 Mbyte memory addressable up from 1Mb 80386 32 bit Support for multitasking 80486 sophisticated powerful cache and instruction pipelining (sophis pengalaman) built in maths co-processor Pentium Superscalar (> 1 inst / clock) Multiple instructions executed in parallel Pentium Pro Increased superscalar organization Aggressive register renaming branch prediction data flow analysis speculative execution Pentium II MMX technology graphics, video & audio processing Pentium III Additional floating point instructions for 3D graphics Pentium 4 Note Arabic rather than Roman numerals Further floating point and multimedia enhancements

Itanium 64 bit see chapter 15 See Intel web pages for detailed information on processors

Outline of the Book Computer Evolution and Performance Computer Interconnection Structures Internal Memory External Memory Input/Output Operating Systems Support Computer Arithmetic Instruction Sets CPU Structure and Function Reduced Instruction Set Computers Superscalar Processors Control Unit Operation Microprogrammed Control Multiprocessors and Vector Processing Digital Logic (Appendix)

Memory Management Dalam sistem Uni-program, Memory utama dibagi menjadi 2 bagian Satu bagian untuk Sistem Operasi (monitor) Satu bagian lagi untuk program saat itu sedang dieksekusi

Pada Multi-program, bagian pengguna dari memori harus dibagi lagi untuk mengakomodasi sejumlah proses. Tugas pembagian dilakukan secara dinamis oleh sistem operasi dan dikenal sebagai MANAJEMEN MEMORI. Swapping Problem: Aktivitas I/O jauh lebih lambat dibandingkan dengan CPU dan karena itu processor pada sistem multi-programming, CPU kebanyakan waktunya berada dalam keadaan idle (ganggur). Solutions:

Memory utama perlu diperbesar sehingga mampu mengakomodasi lebih banyak proses. Kelemahannya: Expensive (Memory utama harganya mahal).

Leads to larger programs (Kebutuhan program akan memory lebih meningkat dg semakin murahnya harga memory). Swapping: menggunakan disk sebagai memory Melibatkan virtual memory: dapat meningkatkan kinerja dibandingkan dg swapping.

What is Swapping? Antrian yg panjang meminta proses yg umumnya tersimpan dalam main memory

Permintan ini disimpan ke dalam disk satu persatu apabila terdapat ruang ruang untuk menampungnnya. Jika proses telah selesai, maka proses-proses tersebut akan dikeluarkan dari memory utama. Jika tidak ada proses dalam memori, memory dalam keadaan siap menerima antrian berikutnya.

Partitioning SO menempati bagian memory yg tetap. Sisa memory dibagi-bagi untuk keperluan sejumlah proses. Metode yg paling sederhana untuk membuat partisi memory adalah: Fixed-sized partitions Ukuran memory tidak perlu sama Process akan disimpan pada partisi yang tersedian yang berukuran paling kecil Sebagian besar kasus, proses memelukan seluruh memory yg disediakan oleh partisi Pedekatan yang lebih efesien adalah dg menggunakan variable sized partitions

Variable Sized Partitions Proses dialokasikan ke memory tepat sebesar yang diperlukan.

Pada keadaa awal, penenpatan proses dilakukan pada ujung akhir dari porses sebelunya secara berurutan Pada penempatan proses berikutnya akan terjadi banyak hol-hl kecil pada memory. Bila semua proses terhalang, proses akan di-swap keluar dan ditempatkan proses yang lain. Eventually have lots of holes (fragmentation) Solutions: Coalesce - Join adjacent holes into one large hole

Compaction - From time to time go through memory and move all hole into one free block (c.f. disk de-fragmentation) Relocation Tidak ada jaminan bawa sebuah proses dapat termuat pada tempat yg sama dalam memori. Untuk mangatasi hal tersebut, sebuah proses dapat bergeser sementara berada dalam memori. Proses yang berada dalam memory teridi dari instruksi-instruksi dan data. Instruksi berisi 2 jenis alamat lokasi memory yaitu: Alamat lokasi data Alamat instruksi, untuk percabangan instruksi (branching) Logical address : lokasi relatif terhadap awal program Physical address : lokasi aktual dalam memory utama

Pada saat mengeksekusi proses, proses secara otomatis mengubah alamat logik menjadi alamat fisik dg menambah lokasi awal proses, yang disebut dengan base address.

Anda mungkin juga menyukai