Anda di halaman 1dari 10

Septilia Arfida Jurnal Informatika, Vol. 11, No.

2, Desember 2011

PROTEKSI MEMORI DAN CPU TERHADAP KESALAHAN PROGRAM PADA


SISTEM OPERASI

Septilia Arfida
Dosen pada Jurusan Teknik Informatika,
Informatics & Business Institute Darmajaya
Jl. Z.A Pagar Alam No 93, Bandar Lampung - Indonesia 35142
Telp. (0721) 787214 Fax. (0721)700261
Email: septiliatime@gmail.com

ABSTRACT

Operating system has began to divides the system resources to many programs
simultaneously to improve system performance. But when the system runs without resource
sharing, an error in the program will only cause problems in the program. Along with
development of the operating system, then the overall control system is given to the
operating system. In general, the memory need to be protected for the operating system
accesses protected from user programs and also to protect user programs with one
another. The program – a program the user can access directly to the Central Processing
Unit to execute intructions. When a program error appears, the operating system must
abnormally terminate the program, provide appropriate error messages, and frees memory
used by the program.

Keywords: Memory Protection, Protection of Central Processing Unit, Operating System

ABSTRAK

Sistem operasi telah mulai membagi sumber daya sistem untuk banyak program
secara bersamaan untuk meningkatkan kinerja sistem. Tapi ketika sistem berjalan tanpa
berbagi sumber daya, kesalahan dalam program ini hanya akan menimbulkan masalah
dalam program. Seiring dengan perkembangan sistem operasi, maka sistem kontrol secara
keseluruhan diberikan kepada sistem operasi. Secara umum, memori perlu dilindungi
untuk sistem operasi pengaksesan dilindungi dari program pengguna dan juga untuk
melindungi program-program pengguna dengan satu sama lain. Program - program
pengguna dapat mengakses langsung ke Central Processing Unit untuk mengeksekusi
intructions. Ketika kesalahan program muncul, sistem operasi normal harus mengakhiri
program, memberikan pesan kesalahan yang sesuai, dan membebaskan memori yang
digunakan oleh program.

Kata kunci: Memory Protection, Perlindungan Central Processing Unit, Sistem Operasi

Informatics & Business Institute Darmajaya 18


Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

1. PENDAHULUAN -adalah membuat sistem komputer


digunakan secara tepat dan menggunakan
Sistem operasi adalah sebuah program
hardware komputer seefisien mungkin.
yang bertindak sebagai perantara antara
Sistem operasi dapat disebut sebagai
pemakai komputer dan hardware
resource allocator atau resource manager
komputer yang menyediakan suatu
yang bertugas untuk mengalokasikan
lingkungan di mana pemakai dapat
sumber daya komputer. Berikut gambaran
mengeksekusi program. Sasaran utamanya
tentang sumber daya komputer:

Processor Memori I/O Controller

Perangkat
Lainnya
Sumber Daya Primer
Sumber Daya Sekunder

Gambar 1.
Sumber Daya Hardware Komputer

Sistem komputer pada tingkat hardware daya energy (listrik) dipadamkan. Modul
terdiri dari empat komponen dasar yaitu I/O berfungsi untuk memindahkan data
Prosesor, Memori utama, Modul I/O, antara komputer dan perangkat eksternal
Sistem Bus. Prosesor berfungsi untuk yang dibutuhkan. Perangkat eksternal
mengontrol operasi-operasi komputer dan biasanya terdiri dari perangkat memori
melakukan fungsi-fungsi pemrosesan data. sekunder, perangkat komunikasi, maupun
Memori utama berfungsi menyimpan data terminal. Sistem Bus terdiri dari beberapa
dan program. Biasanya bersifat volatile struktur dan mekanisme yang berguna
dan sering disebut dengan memori primer untuk komunikasi antara prosesor,
atau memori nyata (real memory). memori utama, dan modul I/O. Sistem
Volatile tidak dapat mempertahankan data komputer dengan empat komponen dasar
dan program yang disimpan bila sumber dapat digambarkan sebagai berikut:

Informatics & Business Institute Darmajaya 19


Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

Gambar 2.
Empat Komponen dasar sistem komputer

Keterangan:  MAR (Memory Address Register),


 PC (Program Counter), program Register ini untuk mencatat alamat
terletak dalam memori kerja pada memori yang akan diakses (baik yang
alamat memori tertentu. PC menerima akan dituliskan maupun dibaca).
alamat memori awal saat diolah oleh  MBR (Memory Buffer Register),
prosesor dan juga menyaring dan Register ini untuk menampung data
menentukan alamat memori mana yang akan dituliskan ke memori yang
saja yang isinya akan dibawa ke alamatnya ditunjuk MAR atau untuk
prosesor dan hanya alamat yang menampung data dari memori (yang
sesuai dengan letak program yang alamatnya ditunjuk oleh MAR) yang
sedang diolah yang diperbolehkan PC akan dibaca.
masuk ke prosesor. PC mencacah  I/O AR (Input Output Address
dirinya sebesar 1 cacahan dan dengan Register), Register ini untuk mencatat
cara yang sama akan melayani alamat alamat port I/O yang akan diakses
berikutnya sampai alamat terakhir. (baik akan dituliskan maupun dibaca).
 IR (Instruction Register), membawa  I/O BR (Input Output Buffer
dan menerima informasi dari memori Register), Register untuk menampung
kerja dan diperiksa. data yang akan dituliskan ke port
yang alamatnya ditunjuk I/O AR atau

Informatics & Business Institute Darmajaya 20


Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

untuk menampung data dari port (share). Setiap device controller secara
(yang alamatnya ditunjuk oleh I/O spesifik mengontrol perangkatnya contoh
AR) yang akan dibaca. disk drive, video display dan perangkat
2. PEMBAHASAN audio. CPU dan device controller dapat
Sistem komputer pada awalnya bekerja secara bersamaan dan saling
merupakan single-user programmer bersaing untuk mendapatkan akses ke
operated system, yang berarti bahwa memori. Oleh sebab itu dibutuhkan
pengoperasian komputer dilakukan oleh sebuah memori controller yang bertugas
seorang programmer yang juga melakukan sinkronisasi akses ke memori.
merupakan pemakai tunggal. Ketika Sinkronisasi diperlukan untuk
programmer mengoperasikan komputer menghindari terjadinya ketidak-
dari console, berarti programmer dapat konsistenan data akibat adanya akses data
mengontrol keseluruhan sistem dan secara konkuren. Proses-proses disebut
memiliki kuasa penuh terhadap sistem.. konkuren jika proses-proses itu ada dan
Seiring dengan perkembangan sistem berjalan pada waktu yang sama, proses-
operasi, maka control keseluruhan sistem proses konkuren ini bisa bersifat
diberikan kepada sistem operasi. independen atau bisa juga saling
berinteraksi. Proses-proses konkuren yang
Sistem komputer modern pada
saling berinteraksi memerlukan
perkembangannya terdiri dari CPU dan
sinkronisasi agar terkendali dan juga
sejumlah pengontrol perangkat (device
menghasilkan output yang benar. Sistem
controller) yang dihubungkan dengan
komputer modern dapat digambarkan
sistem bus biasa yang menyediakan akses
sebagai berikut:
ke memori yang dapat dibagi-pakai

Disk Printer Tape

C Printer Tape – drive


P Disk Controller Controller
U Controller

Memory Controller

Sistem Bus
Memori Utama

Gambar 3. Sistem Komputer Modern


Informatics & Business Institute Darmajaya 21
Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

Keterangan: sistem operasi maka komputer hanya


 Memori berfungsi untuk menyimpan merupakan perangkat elektronik yang
data dan program. Setiap kali pemroses tidak berguna. Sistem operasi dibangun
melakukan eksekusi, pemroses di atas interface hardware dan
melakukan pembacaan instruksi dari menyediakan interface antara hardware
memori utama. dengan program-program aplikasi.
 Memori Controller, yang bertugas
Program-program pemakai dapat
melakukan sinkronisasi akses ke
mengakses secara langsung ke CPU
memori.
untuk mengeksekusi instruksinya. Jika
 Disk Controller
suatu program pemakai mengalami
Sebuah chip yang menerjemahkan
perulangan tidak terbatas (looping
perintah ke dalam sebuah form yang
abadi), maka program tersebut tidak
dapat mengatur sebuah hard disk drive.
akan membebaskan kembali CPU dan
 Printer Controller
mengembalikan ke sistem operasi. Hal
Alat yang digunakan untuk
ini akan mengganggu kinerja sistem
menghubungkan beberapa komputer
secara keseluruhan.
dengan sebuah atau beberapa printer,
sehingga sebuah printer dapat Memori juga perlu diproteksi supaya
dipergunakan secara bersama-sama sistem operasi diproteksi dari akses-
secara otomatis atau dapat dipindahkan akses program pemakai dan juga untuk
antara satu printer dengan printer yang memproteksi program pemakai yang
lain. satu dengan yang lainnya. Proteksi ini
Printer Controller ini dikatakan seharusnya disediakan oleh hardware.
intelligent karena memiliki CPU dan Memori berfungsi untuk menyimpan
memori tersendiri yang akan mengatur data dan program. Setiap kali pemroses
penggunaan printer bersama-sama. melakukan eksekusi, pemroses
Memori di printer controller berfungsi melakukan pembacaan instruksi dari
sebagai buffer data yang akan memori utama. Supaya intruksi dapat
dikirimkan ke printer untuk dicetak. dilakukan secara cepat maka harus
 Tape drive controller, yang mengatur diusahakan instruksi tersedia di memori
pemakaian tape drive. pada hirarki berkecepatan akses lebih
Sistem operasi merupakan sebuah tinggi. Kecepatan eksekusi ini akan
program sistem yang berguna untuk meningkatkan kinerja sistem. Memori
mengoperasikan komputer. Tanpa utama biasanya bersifat volatile dan
Informatics & Business Institute Darmajaya 22
Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

sering disebut dengan memori primer kesalahan yang tepat, dan


atau memori nyata (real memory). membebaskan memori yang dipakai
Untuk memperbaiki unjuk kerja sistem, oleh program tersebut.
sistem operasi mulai membagi sumber
daya sistem kepada banyak program Secara umum, memori perlu diproteksi
secara bersamaan. Sistem pembagian supaya sistem operasi diproteksi dari
ini menciptakan perbaikan unjuk kerja akses-akses program pemakai dan juga
dan sekaligus menimbulkan persoalan untuk memproteksi program pemakai
karena ketika sistem berjalan tanpa yang satu dengan yang lainnya.
pembagian sumber daya, suatu Proteksi ini seharusnya disediakan oleh
kesalahan di dalam program hanya hardware. Memori yang dapat
akan menyebabkan masalah pada digunakan oleh program pemakai
program tersebut. Tetapi dengan dimulai dari suatu alamat yang disebut
adanya pembagian sumber daya, dengan base register. Banyaknya
banyak proses dapat dirugikan karena memori yang akan dialokasikan untuk
terjadinya suatu kesalahan di dalam program pemakai disebut dengan
suatu program. bound register.

Komputer harus mengeksekusi satu Program-program pemakai dapat


program pada satu saat saja atau semua mengakses secara langsung ke CPU
output harus diduga, bila tanpa adanya untuk mengeksekusi instruksinya. Jika
proteksi terhadap kesalahan. Suatu suatu program pemakai mengalami
sistem operasi yang dirancang dengan perulangan tidak terbatas (looping
baik harus dapat menjamin bahwa abadi), maka program tersebut tidak
program yang berjalan dengan tidak akan membebaskan kembali CPU dan
benar, tidak dapat menyebabkan mengembalikan ke sistem operasi. Hal
program yang lain dieksekusi secara ini akan mengganggu kinerja sistem
tidak benar. Banyak kesalahan secara keseluruhan sehingga sistem
pemrograman dideteksi oleh hardware. operasi menggunakan timer (clock).
Kesalahan ini secara normal ditangani Clock disebut juga timer, sangatlah
oleh sistem operasi. Ketika kesalahan penting untuk sistem yang
program muncul, sistem operasi harus menggunakan time sharing. Clock akan
menghentikan secara tidak normal memelihara waktu setiap harinya dan
program tersebut, memberikan pesan juga akan melindungi suatu proses dari

Informatics & Business Institute Darmajaya 23


Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

proses yang lainnya dalam hal dengan menempatkan alamat tersebut


monopoli penggunaan CPU. ke bus system sebagai alamat memori.
Alamat memori fisik seringkali disebut
Memori beraneka tipe dari yang
dengan alamat absolute.
tercepat aksesnya sampai yang
Ketika prosesor berada dalam user
terlambat. Tipe tercepat adalah Chace
mode, maka semua alamat yang
Memory dan Main Memory sedangkan
digunakan merupakan alamat memori
untuk tipe terlambat adalah Sekunder
logik. Saat suatu instruksi
Memory. Memori berfungsi untuk
menghasilkan sebuah alamat logik,
menyimpan data dan program. Setiap
prosesor akan memeriksa terlebih
kali pemroses melakukan eksekusi,
dahulu untuk meyakinkan bahwa
pemroses melakukan pembacaan
alamat logic tersebut kurang dari hasil
instruksi dari memori utama. Agar
penjumlahan bound register dengan
intruksi dapat dilakukan secara cepat
base register (bound register juga
maka harus diusahakan instruksi
disebut sebagai limit register). Jika
tersedia di memori pada hirarki
ternyata lebih besar, maka interrupt
berkecepatan akses lebih tinggi.
kesalahan program akan dihasilkan.
Kecepatan eksekusi ini akan
Dari keterangan tersebut dapat ditarik
meningkatkan kinerja sistem. Memori
kesimpulan bahwa dalam user mode,
utama biasanya bersifat volatile dan
suatu program memiliki akses yang
sering disebut dengan memori primer
terbatas ke alamat fisik memori.
atau memori nyata (real memory).
Program tersebut tidak dapat
Memori yang dapat digunakan oleh
mengakses sembarangan alamat fisik
program pemakai dimulai dari suatu
yang kurang dari nilai base register
alamat yang disebut dengan base
yang telah ditentukan, dan tidak dapat
register. Banyaknya memori yang akan
mengakses sembarangan alamat fisik
dialokasikan untuk program pemakai
yang lebih besar dari atau sama dengan
disebut dengan bound register. Ketika
hasil penjumlahan base register dengan
prosesor berada dalam monitor mode,
bound register.
semua alamat yang digunakan
merupakan alamat memori fisik Sebagai contoh, jika base register berisi
(alamat sebenarnya), yang berarti alamat 400030 dan bound register
alamat yang dihasilkan oleh instruksi berisi 190200, maka program hanya
dikirimkan secara langsung ke memori dapat mengakses alamat memori secara

Informatics & Business Institute Darmajaya 24


Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

legal dari alamat 400030 sampai Berikut tampilan flowchart proteksi


dengan 590230 (yang berasal dari memori dan Alamat memori yang
penjumlahan 400030 dengan 190200). dapat diakses oleh program pemakai:

CPU
Trap ke Sistem Operasi
“Salah Pengalamatan”
Tidak
>= base ?

Ya
Tidak
< base + bound
?

Ya
Memori

Gambar 4. Flowchart Proteksi Memori

Base Register : 400030

Bound Register: 190200

590230
Daerah yang dapat diakses
oleh program pemakai

Gambar 5. Alamat Memori yang Dapat Diakses Oleh Program Pemakai

Program-program pemakai dapat membebaskan kembali CPU dan


mengakses secara langsung ke CPU untuk mengembalikan ke sistem operasi. Hal ini
mengeksekusi instruksinya. Jika suatu akan mengganggu kinerja sistem secara
program pemakai mengalami perulangan keseluruhan. Untuk mengatasi hal
tidak terbatas (looping abadi), maka tersebut, sistem operasi menggunakan
program tersebut tidak akan timer. Sebelum sistem operasi

Informatics & Business Institute Darmajaya 25


Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

memberikan CPU kepada program terus berjalan namun jika pencacah


pemakai, sistem operasi akan mengeset bernilai negative, maka system operasi
timer untuk suatu periode waktu misalnya akan menghentikan program karena telah
20 minute per second. Jika program melampaui batas waktu yang telah
pemakai tidak mengembalikan CPU ke ditentukan.
sistem operasi selama periode tersebut, 3. KESIMPULAN
maka timer akan menginterrupt program
Sistem operasi pada dasarnya merupakan
tersebut dan mengembalikan kontrol CPU
sebuah program sistem yang berguna
ke sistem operasi.
untuk mengoperasikan komputer. Tanpa
sistem operasi maka komputer hanya
Timer dapat ditetapkan untuk memberi
merupakan perangkat elektronik yang
interrupt pada periode waktu tertentu.
tidak berguna. Sistem operasi dibangun di
Periode ini dapat bersifat tetap misal 1/60
atas interface hardware dan menyediakan
detik atau berubah-ubah, misalnya dari 1
interface antara hardware dengan
ms ke 1 s dengan kenaikan setiap 1 ms.
program-program aplikasi. Untuk
Timer yang berubah-ubah (variable timer)
memperbaiki unjuk kerja sistem, sistem
ini biasanya diimplementasikan dengan
operasi mulai membagi sumber daya
menggunakan clock dengan kecepatan
sistem kepada banyak program secara
tertentu. Dan suatu pencacah (counter).
bersamaan. Sistem pembagian ini
Sistem Operasi menetapkan nilai
menciptakan perbaikan unjuk kerja dan
pencacah tersebut. Setiap kali clock
sekaligus menimbulkan persoalan karena
berdetak, maka nilai pencacah akan turun
ketika sistem berjalan tanpa pembagian
1. Pada saat nilai pencacah sama dengan
sumber daya, suatu kesalahan di dalam
0, maka akan muncul interrupt. Timer ini
program hanya akan menyebabkan
juga dapat digunakan untuk mencegah
masalah pada program tersebut. Tetapi
suatu program berjalan terlalu lama,
dengan adanya pembagian sumber daya,
dengan cara menetapkan lama waktu
banyak proses dapat dirugikan karena
maksimum yang diijinkan oleh suatu
terjadinya suatu kesalahan di dalam suatu
program untuk running. Misal suatu
program.
program dengan batas waktu 7 menit,
maka pencacah diinisialisasikan sama
Tanpa adanya proteksi terhadap kesalahan
dengan 420. Setiap detik timer meng-
ini, maka komputer harus mengeksekusi
interrupt dan nilai counter berkurang 1.
satu program pada satu saat saja atau
Jika nilai pencacah positif, maka program
semua output harus diduga. Suatu sistem

Informatics & Business Institute Darmajaya 26


Septilia Arfida Jurnal Informatika, Vol. 11, No. 2, Desember 2011

operasi yang dirancang dengan baik harus


Crowley, Charles. 1997. Operating
dapat menjamin bahwa program yang
System: A Design-Oriented
berjalan dengan tidak benar, tidak dapat Approach. Irwin. USA.
menyebabkan program yang lain
Heriyanto, B. 2005. Sistem Operasi Edisi
dieksekusi secara tidak benar. Banyak ke-2, Penerbit Informatika, Bandung.
Pangera, A.A. 2008. Sistem Operasi.
kesalahan pemrograman dideteksi oleh
Penerbit Andi, Yogyakarta.
hardware. Kesalahan ini secara normal
Stallings, William. 2001. Operating
ditangani oleh sistem operasi. Ketika
System: Internals and Design
kesalahan program muncul, sistem operasi Principles. Prentice Hall, Inc. New
Jersey. USA.
harus menghentikan secara tidak normal
program tersebut, memberikan pesan
kesalahan yang tepat, dan membebaskan
memori yang dipakai oleh program
tersebut. Jika suatu program pemakai
mengalami perulangan tidak terbatas
(looping abadi), maka program tersebut
tidak akan membebaskan kembali CPU
dan mengembalikan ke sistem operasi.
Hal ini akan mengganggu kinerja sistem
secara keseluruhan. Untuk mengatasi hal
tersebut, sistem operasi menggunakan
timer. Timer melakukan interrupt setelah
perioda waktu tertentu untuk menjamin
kontrol sistem operasi. Timer diturunkan
setiap clock. Ketika timer mencapai nol,
sebuah interrupt terjadi. Timer biasanya
digunakan untuk mengimplementasikan
pembagian waktu. Timer dapat juga
digunakan untuk menghitung waktu
sekarang walaupun fungsinya saat ini
sudah digantikan Real Time Clock (RTC).

DAFTAR PUSTAKA
Binanto, I. 2005. Sistem Operasi, Penerbit
Andi, Yogyakarta.
Informatics & Business Institute Darmajaya 27

Anda mungkin juga menyukai