Catatan Setyo

Sebuah catatan warna-warni kehidupan


Kamis, 09 Maret 2023
by Setyo
0 Comments

STRUKTUR SISTEM OPERASI (Part 1)

Melanjutkan berbagi materi kuliah sebelumnya, kali ini saya akan membagikan pembahasan berkaitan dengan struktur sistem operasi. Semoga bisa menambah referensi bagi semua.

KOMPONEN SISTEM

Menurut Avi Silberschatz, Peter Galvin, dan Greg Gagne, pada umumnya sebuah sistem operasi moderen mempunyai komponen sebagai berikut :
1. Manajemen proses
2. Manajemen memori utama
3. Manajemen file
4. Manajemen sistem I/O
5. Manajemen sekunder
6. Jaringan
7. Sistem proteksi
8. Commad –Intertreter System

A. MANAJEMEN PROSES

Proses adalah keadaan ketika sebuah program sedang dieksekusi. 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 :

  1. Pembuatan atau penghapusan proses yang dibuat oleh user atau sistem.
  2. Suspensi atau asumsi proses.
  3. Kelengkapan mekanisme untuk sinkronisasi proses, komunikasi proses, dan pengendalian deadlock.

B. MANAJEMEN MEMORI UTAMA

Memori utama, atau lebih dikenal sebagai memori, adalah sebuah array yang besar dari word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap word atau byte mempunyai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O. Memori utama termasuk tempat penyimpanan data sementara dimana data akan hilang begitu sistem dimatikan.

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

  1. Menjaga dan memelihara bagian-bagian memori yang sedang digunakan dan dari yang menggunakan.
  2. Memutuskan proses-proses mana saja yang harus dipanggil ke memori jika masih ada ruang di memori.
  3. Mengalokasikan dan mendealokasikan ruang memori jika diperlukan.

C. MANAJEMEN FILE

File adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuatan file tersebut. File dapat mempunyai struktur yang bersifat hierarkis (direktori, volume, dll.). Sistem operasi memberikan tanggapan atas manajemen file untuk aktivitas-aktivitas berikut:

  1. Pembuatan dan penghapusan file
  2. Pembuatan dan penghapusan direktori
  3. Primitif-primitif yang mendukung untuk memanipulasi file dan direktori
  4. Pemetaan file ke memori file
  5. Back up file ke media penyimpanan yang stabil (Non-volatile)

D. MANAJEMEN INPUT-OUTPUT

Sering disebut sebagai Device Management, yang menyediakan device driver yang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup). Contoh : digunakan operasi yang sama untuk membaca file pada hard disk, CD ROM dan floppy disk.

Sistem operasi memberikan tanggapan atas manajemen input-output untuk aktivitas-aktivitas berikut :

  1. Sistem buffer – caching : menampung sementara data dari I/O dan ke I/O.
  2. Antarmuka device-device secara umum atau spooling yang melakukan penjadwalan pemakaian I/O supaya sistem lebih efisien (seperti antrian pada proses).
  3. Driver untuk device hardware-hardware tertentu yang dapat melakukan operasi “detail” untuk perangkat I/O tertentu.

E. MANAJEMEN MEMORI SEKUNDER

Sistem komputer modern menggunakan disk sebagai media on-line storage, yang digunakan untk program dan data. Sistem operasi bertanggung jawab untuk aktivitas yang berhubungan dengan manajemen disk :

  1. Manajemen free space (pengaturan ruang kosong),
  2. Alokasi penyimpanan (storage allocation),
  3. Disk scheduling (penjadwalan disk).

F. JARINGAN (SISTEM DISTRIBUSI)

Sistem distribusi adalah kumpulan beberapa prosesor yang tidak membagi memori atau clock. Masing-masing prosesor mempunyai memori sendiri. Prosesor di dalam sistem dihubungkan melalui suatu jaringan komunikasi dan komunikasi berlangsung dengan menggunakan suatu protokol. Sistem distribusi menyediakan akses user untuk berbagai sumber daya sistem. Akses terhadap sumber daya yang digunakan bersama mengijinkan:

  1. Mempercepat komputasi (Computation speed up),
  2. Peningkatan ketersediaan data (Increased data availability),
  3. Peningkatan keandalan (Enhanced reliability).

G. SISTEM PROTEKSI

Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program, prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus :

  1. Membedakan antara penggunaan yang sudah diberi izin dan yang belum,
  2. Menetapkan kontrol untuk diterapkan (specify the controls to be imposed),
  3. Meyediakan tujuan dari pelaksanaan proteksi (provide a means of enforcement).

H. COMMAND-INTERPRETER SYSTEM

Sistem operasi menunggu instruksi dari pengguna. Program yang membaca instruksi da mengartikan control statement umumnya disebut Control-card interpreter, Command-line interpreter, dan UNIX shell. 

Command-Interpreter System sangat bervariasi dari satu sistem operasi ke satu sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang digunakan. Contohnya : CLI, Windows, Pen-based (touch), dan lain-lain.

Banyak perintah yang diberikan kepada sistem operasi oleh cotrol statement yang berhubungan dengan :

  1. Proses pembuatan (creation) dan manajemen,
  2. Penanganan I/O (I/O handling),
  3. Manajemen secondary – storage,
  4. Manajemen memori utama
    1. Akses file-system,
    2. Proteksi
    3. Jaringan


by Setyo
0 Comments

STRUKTUR SISTEM KOMPUTER (PART 2)

Melanjutkan materi pembahasan struktur sistem komputer pada sesi sebelumnya. Semoga bermanfaat.

STRUKTUR DMA

Direct Memory Access (DMA) adalah suatu metode penanganan I/O dimana device controller langsung berhubungan dengan memori utama tanpa intervensi CPU. DMA digunakan untuk perangkat I/O berkecepatan tinggi yang mampu mengirim informasi yang mendekati kecepatan memori. Hanya terdapat satu interupsi yang dihasilkan per blok, yang berbeda dengan perangkat yang mempunyai kecepatan rendah dimana interupsi terjadi per byte.

Keuntungan penggunaan mode DMA dapat dilihat pada operasi multitasking seperti UNIX, karena mentransfer data dengan mode ini akan menghemat sumber daya CPU sehingga CPU dapat melakukan pekerjaan lain. Sedangkan pada DOS (single-tasking) harus menunggu sampai proses selesai terlebih dahulu baru kemudian bisa menjalankan proses berikutnya.

Dua jenis DMA yaitu

  1. Third-party DMA, yang menggunakan DMA controller yang ada pada motherboard untuk mengerjakan proses.
  2. First-party DMA, atau juga disebut dengan Busmastering DMA, dimana proses dikerjakan oleh bagian logic di interface card.

STRUKTUR PENYIMPANAN

Penyimpanan terdiri dari  memori utama dan memori sekunder. Memori utama (biasanya RAM) adalah satu-satunya tempat penyimapanan yang dapat diakses secara langsung oleh prosesor. Idealnya program dan data secara keseluruhan dapat disimpan dalam memori utama secara permanen. Namun hal ini tidak mungkin karena:

  1. Ukuran memori utama relatif kecil untuk dapat menyimpan data dan program secara keseluruhan
  2. Memori utama bersifat volatile, tidak bisa meyimpan secara permanen, apabila komputer dimatikan maka data yang tersimpan di memori utama akan hilang.

A. Memori Utama

Memori utama merupakan kumpulan blok-blok dimana masing-masing kotak dapat meyimpan suatu penggal informasi baik yang berupa data maupun instruksi dan tiap-tiap lokasi dari blok ditunjukkan oleh suatu alamat (address). Alamat memori merupakan suatu nomor yang menunjukkan lokasi tertentu dari blok memori.

Hanya memori utama dan register yang dapat diakses secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan diakses harus disimpan di memori utama atau register.

Untuk mempermudah akses perangkat I/O ke memori, telah disediakan fasilitas pemetaan memori ke I/O. Dalam hal ini sejumlah alamat dipetakan dengan device register. Membaca dan menulis pada alamat memori ini menyebabkan data ditransfer dari dan ke device register. Metode ini cocok untuk perangkat dengan waktu respons yang cepat seperti pada video controller.

Register yang terdapat dalam prosesor dapat diakses dalam waktu 1 clock cycle. Hal ini menyebabkan register merupakan media penyimpanan paling cepat. Bandingkan dengan memori utama yang membutuhkan waktu relatif lama. Untuk mengatasi perbedaan kecepatan, dibuatlah suatu penyangga (buffer) penyimpanan yang disebut cache.

B. Magnetic Disk

Magnetic disk merupakan piranti penyimpanan sekunder yang paling banyak dijumpai pada sistem komputer moderen. Disk adalah sebuah piringan bundar dari logam atau plastik yang dilapisi dengan bahan yang dapat dimagnetisasi. 

Data yang dikirim akan direkam di atasnya dan kemudian dapat dibaca dari disk dengan menggunakan kumparan pengkonduksi (conducting coil) yang dikenal dengan head. Selama operasi pembacaan dan penulisan, head akan bekerja dengan sifat stasioner sedangkan piringan berputar di bawah head tersebut.

Mekanisme pembacaan didasarkan pada arus listrik yang berada di dalam kumparan yang dihasilkan oleh medan listrik yang bergerak relatif terhadap kumparan. Pada saat disk melintasi bagian bawah head, permukaan disk mengeluarkan arus yang mempunyai polaritas yang sama dengan polaritas waktu merekam pada disk tersebut. Lebar piringan disk berkisar antara 1,8 sampai 14 inci.

Head merupakan perangkat yang berbentuk kecil yang dapat membaca dan menulis dari bagian piringan yang ada di bawahnya. Hal ini sanagt berpengaruh dalam organisasi data pada piringan, untuk membentuk track dimana masing-masing track mempunyai lebar yang sama dengan head.

C. Cache Memory

Cache memori ditunjukan untuk memberikan kecepatan memori yang mendekati kecepatan memori yang diperoleh, sekaligus memberikan ukuran memori yang besar dengan harga yang lebih murah dari jenis memori-memori semikonduktor.

Gambar 2.4 Cache memory dan memoti utama


Cache berisi salinan sebagian memori utama. Pada saat CPU membaca sebuah word memori, maka dilakukan pemeriksaan untuk mengetahui apakah word terdapat pada cache atau tidak. Jika ada maka word akan dikirim ke CPU dan jika tidak ada maka block memori utama yang terdiri dari sejumlah word yang tetap akan dibaca ke dalam cache dan kemudia akan dikirim ke CPU.

Ada dua jenis cache:

  1. Software cache (caching disk controller), yang berfungsi untuk mempercepat akses data pada disk dengan menyimpan data yang baru digunakan pada memori utama.
  2. Hardware cache (on-the-board-cache), yang berfungsi untuk mempercepat akses memori dengan meyimpan data yang baru digunakan dalam memori yang lebih cepat.

D. Ukuran Cache Memory

Ukurannya cukup kecil sehingga rata-rata per bit mendekati harga memori utama dan cukup besar sehingga waktu rata-rata keseluruhan mendekati waktu akses cache. Semakin besar cache, maka semakin besar jumlah gate yang terdapat pada pengalamatan cache. Dengan demikian cache yang berukuran lebih besar cenderung lebih lambat dibandingkan dengan cache berukuran lebih kecil.

E. Storage Hierarchy

Dalam storage hierarchy structure, data yang sama bisa tampil dalam level berbeda dari sistem penyimpanan. Sebagai contoh, integer (x) beralokasi pada bekas (y) yang ditambahkan 1, dengan asumsi bekas (y) terletak pada magnetic disk. Operasi penambahan diproses dengan pertama kali mengeluarkan operasi I/O untuk menduplikasi disk block pada (x) ke dalam cache dan penduplikatan (x) ke dalam internal register.

Dengan demikian penduplikatan (x) terjadi di beberapa tempat. Pertama, terjadi di internal register dimana nilai A berbeda dengan yang di sitem penyimpanan. Nilai di (x) akan kembali sama ketika nilai baru ditulis ulang ke magnetic disk.

Pada kondisi multiprosesor, situasi akan menjadi lebih rumit. Hal ini karena masing-masing prosesor mempuyai local cache. Dalam kondisi seperti ini hasil duplikasi dari x mungkin hanya ada di beberapa cache. Karena CPU (register-register) dapat dijalankan secara bersamaan maka kita harus memastikan perubahan nilai x pada satu cache akan mengubah nilai x pada semua cache yang ada. Hal ini disebut dengan Cache Coherency.

Device

Typical Acces Times

Throughput Rate

CPU Register

 

 

Cache Memory (SRAM)

15 to 30 nanoseconds

 

Conventional memory (DRAM)

50 to 100 nanoseconds

 

Expanded storage (RAM)

75 to 500 nanoseconds

 

Hard disk drive

10 to 50 milliseconds

600 to 6,000 KB/sec

Floppy disk

95 milliseconds

100 to 200 KB/sec

CD-ROM

100 to 600 milliseconds

500 to 4,000 KB/sec

Tape

.5 and up seconds

2,000 KB/sec (cartridge)

Keterangan :

  • Milisecond (ms) : Ribuan operasi per detik (1/1000)
  • Microsecond (Us) : Jutaan operasi per detik (1/1.000.000)
  • Nanosecond (ns) : Milyard operasi per detik (1/1.000.000.000)
  • Picosecond (ps) : Triliun operasi per detik (1/ 1.000.000.000.000)

Rabu, 08 Maret 2023
by Setyo
0 Comments

STRUKTUR SISTEM KOMPUTER (PART 1)

Kesempatan kali ini saya akan membagikan beberapa materi berkaitan dengan struktur sistem komputer yang didapatkan selama mata kuliah Sistem Operasi. Semoga materi ini dapat bermanfaat dan menjadi referensi tambahan bagi semua.

PENDAHULUAN

Sistem computer modern terdiri dari CPU (Central Processing Unit) serta device controller yang terhubung melalui bus yang menyediakan akses ke memori. Setiap device controller bertugas mengatur perangkat keras yang ada di dalam computer. CPU dan device controller dapat dijalankan bersamaan, namun tetap memerlukan mekanisme sinkronasi untuk mengatur akses ke memori.

Program awal pada sistem komputer pertama dijalanka disebut program bootstrap. Program ini berisi semua aspek dari sistem komputer. Interupsi bisa terjadi apabila hardware atau software minta dilayani oleh prosesor. Apabila terjadi interupsi maka prosesor akan menghentikan proses yang sedang dikerjakannya dan kemudian mengerjakan service routine untuk melayani interupsi tersebut. Setelah selesai mengerjakan service routine maka prosesor akan kembali melanjutkan proses yang tertunda.


Gambar 2.1 Strukur sistem komputer modern

SISTEM OPERASI KOMPUTER

Sistem operasi yang berlaku pada komputer adalah 
1. Sarana I/O dan CPU dapat mengeksekusi secara bersamaan
2. Masing-masing device controller bertanggung jawab terhadap alat tertentu
3. Masing-masing device controller mempunyai local buffer sendiri.
4. CPU memindahkan data dari / ke memori utama ke / dari local buffer.
5. I/O adalah device ke local buffer dari controller.
6. Device controller menginformasikan kepada CPU bawa telah menyelesaikan operasinya dengan cara melakukan interrupt.

FUNGSI KOMPUTER

Fungsi dasarnya adalah eksekusi program. Program yang akan dieksekusi berisi sejumlah instruksi yang disimpan dalam memori dan CPU akan melakukan tugas ini dengan mengeksekusi program.
Pengolahan instruksi terdiri dari dua langkah.
  1. Instruksi baca (fetch) CPU dari memori
  2. CPU mengeksekusi setiap instruksi yang ada.
Eksekusi program terdidi dari proses penulangan fetch dan eksekusi instruksi. Dan instruksi sendiri dapat terdiri dari sejumlah langkah.


Gambar 2.2 Siklus Instruksi

Pengolahan yang diperlukan untuk instruksi tunggal disebut dengan siklus intruksi. Eksekusi program akan terhenti jika mesin  komputer dimatikan atau terdapat instruksi program yang menghentikan komputer. Pada setiap siklus instruksi, CPU membaca instruksi dari memori. 

CPU selalu menambahkan PC (Progra Counter) setiap kali membaca instruksi. Instruksi yang dibaca akan dimuat ke dalam sebuah register di dalam CPU yang dikenal dengan Intruction Register (IR).

Contoh 
Langkah pertama
PC berisi 300 alamat instruksi. Alamat ini dimuat ke dalam instruction register (IR). Proses ini melibatkan penggunaan memori address register (MAR) dan memori buffer register (MBR), dan register-register intermediatenya diabaikan.
Langkah kedua
4 bit pertama di dalam IR mengindikasi bahwa akumulator (AC) akan dimuat dan 12 bit sisanya menentukan alamat 940.
Langkah ketiga
PC dinaikan nilainya dan instruksi berikutnya akan diambil.
Langkah keempat
Isi AC yang lama da isi 941 ditambah dan hasilnya disimpan di dalam AC.
Langkah kelima
PC dinaikkan nilainya dan instruksi berikutnya akan diambil.
Langkah keenam
Isi AC akan disimpan pada lokasi 941
 

INTERRUPT

Interrupt merupakan sinya dari peralatan luar atau suatu permintaan dari program untuk melakukan suatu tugas khusus. Jika terjadi interrupt maka program akan berhenti dan terlebih dahulu menjalankan kegiatan interrupt.


Gambar 2.3 Siklus Proses dengan Interrupt

A. INTERRUPT HANDLING

1. Sistem akan mengendalikan status CPU dengan menyimpan register-register dan program counter.
2. Menentukan tipe interrupt yang telah terjadi:
   a. Pooling
   b. Vectored interrupt system
   Memisahkan segmen kode yang menentukan tindakan yang harus diambil untuk masing-masing jenis interrupt.

B. FUNGSI UMUM INTERRUPT

  1. Interrupt memindahkan pengendalian kepada interrupt service routine melalui interrupt vektor yang berisi alamat dari semua service routine.
  2. Arsitektur interrupt harus menyimpan alamat instruksi yang diinterrupt.
  3. Interrupt yang datang berikutnya dibatalkan ketika interrupt lain sedang diproses untuk mencegah hilangnya suatu interrupt.
  4. Trap adalah software-generated interrupt yang disebabkan oleh kesalahan atau karena permintaan user.
  5. Suatu sistem operasi dikendalikan oleh interrupt.

Penyebab terjadinya interrupt

1. Program
Diakibatkan adanya beberapa kondisi yang terjadi, hasil dari suatu eksekusi
Contoh : arithmetic overflow, devision by zero, pengeksekusian secara ilegal, penggunaan memori yang berlebihan.
2. Timer
Disebabkan oleh timer di dalam prosesor. Hal ini memungkinkan sistem operasi menjalankan fungsi-fungsi tertentu secara regular.
3. I/O
Disebabkan oleh I/O controller, baik sebagai tanda bahwa suatu operasi telah selesai, maupun memberi tanda adanya kondisi error. Interupt I/O ada dua macam, interrupt pendek dan interrupt panjang. 
4.Hardware Failure
Disebabkan oleh kesalahan hardware, seperti power failure atau memory parity error.

STRUKTUR I/O

Untuk mengoperasikan I/O, CPU memanggil register-register yang cocok untuk device controller, dan kemudian device controller merespon dengan mengisi register-register berupa respon dengan mengisi register-register berupa respon yang diberikan
Dua aksi yang diberikan saat terjadinya interrupt.

A.Synchronous I/O

Setelah penggunaan I/O dimuali, kontrol kembali ke program user setelah penggunaan I/O selesai.
  1. Wait instruction, mengosongkan CPU sampai interrupt selanjutnya.
  2. Wait loop, peryataan untuk mengakses memori.
  3. Paling banyak hanya ada satu permintaan I/O yang belum diselesaikan pada waktu yang sama.Tidak ada pemrosesan I/O secara simultan.

B. Asynhronous I/O

Setelah penggunaan I/O dimulai, kontrol kembali ke program user tanpa menunggu selesainya penggunaan I/O.
  1. System call – meminta kepada sistem operasi untuk mengijikan user menunggu selesainya penggunaan I/O.
  2. Device-status table, berisi masukan untuk masing-masing sarana I/O yang mengindikasikan jenis, alamat, dan status.
  3. Sistem operasi menunjuk I/O device table untuk menentukan status dan memodifikasi masukan untuk memasukkan interrupt.

C. Interupsi I/O

Untuk memulai operasi I/O, CPU me-load register yang bersesuaian ke device controller. Sebaliknya, device controller memeriksa isi register untuk kemudian menentukan operasi apa yang harus dilakukan. 
Pada saat operasi I/O dijalankan maka ada dua kemungkinan, yaitu synchronous I/O dan asynchronous I/O. Pada synchronous I/O, kendali dikembalikan ke proses pengguna setelah proses I/O selesai dikerjakan. 
Sedangkan pada asynchronous I/O, kendali dikembalikan ke proses pengguna tanpa menunggu proses I/O selesai sehingga proses I/O dan proses pengguna dapat berjalan secara bersamaan.