Teknik-teknik manajemen memori (1), (2), (3),(4) pada skema dibawah merupakan pengelolaan untuk kapasitas memori sebatas memori fisik yang tersedia. Teknik-teknik ini tidak dapat digunakan untuk membuat program-program yang berukuran besar disbanding kapasitas fisik memori yang tersedia.
Deitel menglasifikasi manajemen memory sesuai dengan skema berikut:
Deitel menglasifikasi manajemen memory sesuai dengan skema berikut:
Gambar 1. Klasifikasi Manajemen Memory
Teknik-teknik manajemen memori (5), (7) dapat untuk mengakali kapasitas memori yang terbatas sehingga dapat dijalankan program yang ukurannya lebih besar disbanding kapasitas memori fisik yang tersedia.
Memory manager :
Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
Jenis Memori
- Memori Kerja
Memory manager :
Salah satu bagian sistem operasi yang mempengaruhi dalam menentukan proses mana yang diletakkan pada antrian.
Jenis Memori
- Memori Kerja
- ROM/PROM/EPROM/EEPROM
- RAM
- Cache memory
- Floppy, harddisk, CD, dll.
Alamat Memori
- Alamat memori mutlak (alamat fisik)
- Alamat memori relatif (alamat logika)
- Hubungan antara alamat multak dan alamat relatif
- Jenis memori dan alamat memori
Isi Memori
- Sistem bahasa penataolahan
- Sistem Utilitas
- Inti Sistem Operasi
- Sistem Operasi
- Pengendali alat (device drivers)
- File pemakai
Fungsi manajemen memori :
- Mengelola informasi yang dipakai dan tidak dipakai.
- Mengalokasikan memori ke proses yang memerlukan.
- Mendealokasikan memori dari proses telah selesai.
- Mengelola swapping atau paging antara memori utama dan disk.
MANAJEMEN MEMORI BERDASARKAN KEBERADAAN SWAPPING ATAU PAGING
Terbagi dua yaitu :
- Manajemen tanpa swapping atau paging
- Manajemen dengan swapping atau paging
MEMORI TANPA SWAPPING OR PAGING
Yaitu manajemen memori tanpa pemindahan citra proses antara memori utama dan disk selama eksekusi.
Terdiri dari :
Monoprogramming
Ciri-ciri :
- Hanya satu proses pada satu saat
- Hanya satu proses menggunakan semua memori
- Pemakai memuatkan program ke seluruh memori dari disk atau tape
- Program mengambil kendali seluruh mesin

Gambar 2. Tiga Cara Organisasi Memori Satu Proses Tunggal
Contoh : IBM PC menggunakan cara ketiga di mana device driver ROM ditempatkan pada blok 8K tertinggi dari address space 1M. Program pada ROM disebut BIOS (Basic Input Output System).
Multiprogramming Dengan Pemartisian Statis
Terbagi dua :
- Pemartisian menjadi partisi-partisi berukuran sama, yaitu ukuran semua partisi memori adalah sama
- Pemartisian menjadi partisi-partisi berukuran berbeda, yaitu ukuran semua partisi memori adalah berbeda.
Strategi Penempatan Program Ke Partisi
Satu Antrian Tunggal Untuk Semua Partisi
- Keuntungan: Lebih fleksibel serta implementasi dan operasi lebih minimal karena hanya mengelola satu antrian.
- Kelemahan: Proses dapat ditempatkan di partisi yang banyak diboroskan, yaitu proses kecil ditempatkan di partisi sangat besar

Gambar 3. Multiprogrammning dengan PemartisianTetap dengan Satu Antrian
Satu Antrian Untuk Tiap Partisi (banyak antrian Untuk Seluruh Partisi)
- Keuntungan : Meminimalkan pemborosan memori
- Kelemahan : Dapat terjadi antrian panjang di suatu partisi sementara antrian partisi - partisi lain kosong
Gambar 4. Multiprogrammning dengan Pemartisian tetap dengan Banyak Antrian
MULTIPROGRAMMING DENGAN SWAPPING
Swapping : pemindahan proses dari memori utama ke disk dan kembali lagi.
1. Multiprogramming dengan Pemartisisan Dinamis
Jumlah , lokasi dan ukuran proses di memori dapat beragam sepanjang waktu secara dinamis.
Kelemahan:
- Dapat terjadi lubang-lubang kecil memori di antara partisi- partisi yang dipakai.
- Merumitkan alokasi dan dealokasi memori
- Lubang-lubang kecil di antara blok-blok memori yang digunakan dapat diatasi dengan pemadatan memori yaitu menggabungkan semua lubang kecil menjadi satu lubang besar dengan memindahkan semua proses agar saling berdekatan.

Gambar 5. Lubang-lubang Memori dan Pemadatan Memori
2. Pencatatan Pemakaian memori
- Pencatatan memakai peta bit (Bit Map)
- Pencatatan memakai linked list
Pencatatan memakai peta bit
- Nilai 0 pada peta bit berarti unit masih bebas
- Nilai satu berarti unit digunakan

Gambar 6. Peta Bit untuk Pengelolaan Pemakaian Memori
Pencatatan memakai Linked List
- P= Proses, H=Hole(lubang)

Gambar 7. Pengelolaan Pemakaian dengan Linked List
3. Strategi Alokasi Memori
- First fit algorithm : memory manager men-scan list untuk menemukan hole yg cukup untuk menampung proses yg baru. Proses akan menempati hole pertama yg ditemuinya yg cukup untuk dirinya.
- Next fit algorithm : sama dengan first fit, tetapi pencarian hole dimulai dari hole ditemuinya dari scan sebelumnya.
- Best fit algorithm : dicari hole yang akan menghasilkan sisa paling sedikit setelah dimasuki proses.
- Worst fit algorithm : kebalikan dari best fit.
- Quick fit algorithm : mengelompokkan hole-hole dan membuat listnya sendiri. Misalnya, ada list untuk hole 4K, satu list untuk 8K, dst.
Sistem Buddy
Memori di susun dalm senari blok-blok bebas berukuran 1,2,4,8,16 byte dst, sampai kapasitas memori.

Gambar 8. Pengelolaan Memori dengan Sistem Buddy
Dari berbagai cara alokasi tsb. Di atas, sebuah hole yg ditempati proses akan terbagi menjadi bagian yang dipakai proses dan memori yang tidak terpakai (fragmen).
Timbulnya memori yang tidak terpakai disebut fragmentasi. Ada dua macam fragmen :
- Internal : sisa hole yang tidak terpakai setelah terisi proses.
- Eksternal : hole yang secara utuh terlalu kecil untuk dipakai oleh proses manapun.
Alokasi Ruang Swap pada Disk
(Penempatan proses pada disk setelah di-swap-out dari memori)
- Ruang disk tempat swap dialokasikan begitu diperlukan
- Ruang disk tempat swap dialokasikan lebih dahulu.
Algoritma untuk pengaturan ruang swap pada disk sama dengan untuk memori utama. Perbedaannya adalah ruang pada disk harus dialokasikan sebagai kelipatan bilangan bulat dari disk block.
Sumber : http://modulmakalah.blogspot.co.id/2015/11/penerapan-manajemen-memori-pada-sistem.html?m=1
Teknik ialah metode atau cara. Sedangkan kompilasi merupakan suatu proses penterjemahan dan penggabungan dari suatu program awal (source code) ke bentuk bahasa sasaran (on target language/object code). Bahasan mengenai dasar teknik kompilasi diantaranya :
- Translator
- Bahasa Pemograman
- Model Kompilator
TRANSLATOR
Adalah suatu program di mana mengambil input program dari source code kemudian dituliskan dalam bentuk object code. Atau translator dapat dikatakan sebagai perubahan dari source code ke object code. Proses penterjemahan dilakukan oleh kompilator disebut compiling atau kompilasi. Kompilator (compiler) bertugas untuk melaporkan jika kemungkinan terjadinya kesalahan/error.
Ada 3 jenis translator :
A. Assembler
- Source Code : bahasa assembly
- Object Code : bahasa mesin
B. Compiler / Kompilator
Sebuah program yang membaca suatu program yang dituliskan ke dalam suatu bahasa sumber dan menerjemahkannya ke dalam suatu bahasa.
- Source Code : tingkat tinggi
- Object Code : bahasa mesin/assembly
- Source Code dan data diproses pada saat yang berbeda
C. Interpreter
Sebuah program yang digunakan untuk menterjemahkan, mengeksekusi dan memberikan hasil dari eksekusi instruksi masukannya. Interpreter tidak membangkitkan object code, hasil translasinya dalam bentuk internal. Source code dan data diproses pada saat yang sama.
BAHASA PEMOGRAMAN
Bahasa dan tingkat ketergantungannya dengan mesin dibedakan atas 4 :
- Mesin Language/Bahasa Mesin
- Bahasa Pemograman/Bahasa Manusia
- Bahasa Assembly
- Bahasa yang problem oriented
Mesin Language/Bahasa Mesin
Merupakan bentuk terendah dari bahasa komputer. Disebut low level language -> object language. Bahasa mesin berkomunikasi langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Setiap instruksi dalam program direpresentasikan dengan kode numerik berupa deretan angka nol dan satu (0,1). Setiap instruksi dalam bahasa mesin, dibentuk menjadi micro code yaitu seperti prosedur dalam bahasa mesin.
Bahasa Pemograman/Bahasa Manusia
Merupakan high level language -> user oriented. Contoh : cobol, portran, pascal, C, C++, dll. Disebutbahasa tingkat tinggi karena memberikan fasilitas yang lebih banyak, kontrol program yang terstruktur,
dan mudah dipahami manusia.
dan mudah dipahami manusia.
Bahasa Assembly
Merupakan bentuk simbolik dari bahasa mesin, setiap code operasi program memiliki kode simbolik. Contoh :
penjumlahan : ADD (addition)
perkalian : MUL (multiplication)
Pada bahasa assembly tersedia alat bantu untuk debug yang tidak terdapat pada bahasa mesin. contoh : turbo assembler dari borland, marco assembler dari microsoft
Bahasa yang Problem Oriented
Memungkinkan penyelesaian untuk suatu masalah dengan aplikasi yang lebih spesifik. Contoh :
Database : SQL, Oracle, Acess, dll
Multimedia : Flash Mx,Corel draw, dll
Arsitek : Autocad, 3D Max, Cogo
MODEL KOMPILATOR
Sebuah kompilator umumnya dibedakan atas 2 :
- Fungsi analisis (Front End). Bertugas melakukan dekomposisi program sumber menjadi bagian-bagian dasarnya.
- Fungsi synthesis (Back End). Bertugas melakukan pembangkitan kode dan optimasi program object.
- Scanner, memecah program sumber menjadi besaran leksikal.
- Parser, memeriksa kebenaran dan urutan kemunculan token.
- Analisis Semantic, melakukan analisa semantic biasanya dalam realisasi akan digabungkan dengan intermediate, code generator atau bagian yang berfungsi membangkitkan kode antara.
- Code generator, untuk membangkitkan kode objek.
- Code optimizer, untuk memperkecil hasil dan mempercepat proses.
- Tabel simbol, menyimpan semua informasi yang berhubungan dengan proses kompilasi
PENJADWALAN PROSES SISTEM OPERASI
Proses
|
Saat Tiba
|
Lama Proses
|
Saat Mulai
|
Saat Selesai
|
Lama Tanggap
|
A
|
8
|
8
|
48
|
56
|
48
|
B
|
4
|
12
|
0
|
12
|
8
|
C
|
4
|
16
|
12
|
28
|
24
|
D
|
4
|
20
|
28
|
48
|
44
|
Proses
|
Tiba Sama
|
Ratio Pinalti
|
C
|
8
|
1,5
|
D
|
8
|
1,4
|
A
|
4
|
2
|
Proses
|
Tiba Sama
|
Ratio Pinalti
|
D
|
24
|
2,2
|
A
|
20
|
3,5
|
A. RATIO PINALTI
| Saat |
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
| |||||||||||||
| Proses |
B
|
B
|
B
|
B
|
B
|
B
|
B
|
B
|
B
|
B
|
B
|
B
| ||||||||||||||
| Saat |
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
| |||||||||||||
| Proses |
C
|
C
|
C
|
C
|
C
|
C
|
C
|
C
|
C
|
C
|
C
|
C
| ||||||||||||||
| Saat |
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
32
|
33
|
34
|
35
|
36
| |||||||||||||
| Proses |
C
|
C
|
C
|
C
|
D
|
D
|
D
|
D
|
D
|
D
|
D
|
D
| ||||||||||||||
| Saat |
36
|
37
|
38
|
39
|
40
|
41
|
42
|
43
|
44
|
45
|
46
|
47
|
48
| |||||||||||||
| Proses |
D
|
D
|
D
|
D
|
D
|
D
|
D
|
D
|
D
|
D
|
D
|
D
| ||||||||||||||
| Saat |
48
|
49
|
50
|
51
|
52
|
53
|
54
|
55
|
56
| |||||||||
| Proses |
A
|
A
|
A
|
A
|
A
|
A
|
A
|
A
| ||||||||||
B. QUANTUM 3
Proses
|
Saat Tiba
|
Lama Proses
|
Saat Mulai
|
Saat Selesai
|
Lama Tanggap
|
A
|
8
|
8
|
22
|
46
|
38
|
B
|
4
|
12
|
0
|
38
|
34
|
C
|
4
|
16
|
3
|
49
|
45
|
D
|
4
|
20
|
6
|
56
|
52
|
| Saat |
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
| |||||||||||||
| Proses |
B
|
B
|
B
|
C
|
C
|
C
|
D
|
D
|
D
|
B
|
B
|
B
| ||||||||||||||
| Saat |
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
| |||||||||||||
| Proses |
C
|
C
|
C
|
D
|
D
|
D
|
B
|
C
|
D
|
A
|
A
|
A
| ||||||||||||||
| Saat |
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
32
|
33
|
34
|
35
|
36
| |||||||||||||
| Proses |
B
|
B
|
B
|
C
|
C
|
C
|
D
|
D
|
D
|
A
|
A
|
A
| ||||||||||||||
| Saat |
36
|
37
|
38
|
39
|
40
|
41
|
42
|
43
|
44
|
45
|
46
|
47
|
48
| |||||||||||||
| Proses |
B
|
B
|
C
|
C
|
C
|
D
|
D
|
D
|
A
|
A
|
C
|
C
| ||||||||||||||
| Saat |
48
|
49
|
50
|
51
|
52
|
53
|
54
|
55
|
56
| |||||||||
| Proses |
C
|
D
|
D
|
D
|
D
|
D
|
D
|
D
| ||||||||||
1. Pengertian Sistem Operasi
Sistem Operasi (Operating System : OS) adalah komponen pengolah peranti lunak dasar (essential component) tersistem sebagai pengelola sumber daya perangkat keras komputer (hardware), dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program booting. Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.
Sistem Operasi (Operating System : OS) adalah komponen pengolah peranti lunak dasar (essential component) tersistem sebagai pengelola sumber daya perangkat keras komputer (hardware), dan menyediakan layanan umum untuk aplikasi perangkat lunak. Sistem operasi adalah jenis yang paling penting dari perangkat lunak sistem dalam sistem komputer. Tanpa sistem operasi, pengguna tidak dapat menjalankan program aplikasi pada komputer mereka, kecuali program booting. Sistem operasi mempunyai penjadwalan yang sistematis mencakup perhitungan penggunaan memori, pemrosesan data, penyimpanan data, dan sumber daya lainnya.
- Fungsi Sistem Operasi
Sistem operasi merupakan penghubung antara perangkat keras dan pengguna, sistem operasi juga berfungsi sebagai program pengendali dengan tujuan untuk menghindari kesalahan penggunaan komputer dan mengatur pengelolaan sumber daya yang terdapat pada sistem komputer dan menyediakan layanan kepada pengguna sehingga memudahkan pengguna dalam mengoperasikan komputer.
Fungsi sistem operasi secara umum adalah sebagai berikut :
Resource manager, merupakan pengelolaan sumber daya dan mengalokasikannya, Contoh: memori, CPU, Disk Drive dan perangkat lainnya.
- Interface / tatap muka, yaitu sebagai perantara antara pengguna dengan perangkat keras dengan menyediakan tampilan kepada pengguna yang lebih mudah dipahami dan bersahabat (user friendly) Coordinator, mengkoordinasi dan menyediakan fasilitas sehingga aktifitas yang kompleks dapat diatur dan dapat diproses secara berurutan.
- Guardian, menyediakan akses kontrol yang bertugas untuk melindungi file dan memberi pengawasan pada data dan program.
- Gate Keeper, berfungsi sebagai pengendali hak akses oleh pengguna yang mengendalikan siapa saja yang berhak masuk ke dalam sistem dan mengawasi apa saja yang dilakukannya.
- Optimizer adalah penjadwal masukan (input) oleh user, pengaksesan basis data, proses komputasi dan penggunaan.
- Accountant befungsi untuk mengatur waktu CPU, penggunaan memori, pemanggilan I/O, disk storage, dan waktu koneksi terminal.
- Server berfungsi untuk melayani pengguna komputer.
- Fungsi Dasar Sistem Operasi
Perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termaksud menjalankan software aplikasi seperti program-program pengolah kata dan sistem operasi web.
Fungsi Dasar Sistem Operasi :
- Mengatur jalannya perangkat keras dan perangkat lunak pada komputer.
- Menjalankan program pada komputer agar bisa berjalan dengan baik.
- Menghindari konflik.
- Sebagai program untuk menghindari kekeliruan.
- Cara Kerja Sistem Operasi
Untuk mengenal cara kerja komputer, tentu saja tidak hanya dengan mengenal nama-nama bagian yang terkait dalam kerja sistem komputer, kita harus mengetahui hubungan antara perangkat lunak dan perangkat keras serta dalam kapasitasnya menyimpan data. Perangkat keras memiliki hubungan dekat dengan sistem operasi, tanpa adanya sistem operasi, perangkat keras komputer hanyalah seonggok benda mati yang tidak berguna. Sistem operasi adalah “pengasuh” seluruh perangkat lunak aplikasi yang akan berinteraksi dengan perangkat keras.
Tugas sistem operasi dalam rangka cara kerja komputer antara lain sebagai berikut :
- Melakukan manajemen proses. Sistem operasi menjadwalkan setiap proses seperti membuat file, menghapus file, sinkronisasi antar file, komunikasi antar file dan lain sebagainya.Sistem operasi juga melakukan penundaan proses, melanjutkan proses atau menghentikan proses secara paksa. Hal yang berkaitan dengan menunda dan melanjutkan proses sangat bergantung pada RAM untuk menampung proses sementara waktu dan register prosesor yang menampung proses yang sedang berjalan. Sedangkan untuk yang berkaitan dengan pengolahan file membutuhkan bantuan dari Control Unit, yakni komponen pemrosesan yang ada dalam CPU.
- Manajemen memori utama. Sistem operasi harus bisa mengatur dan mengalokasikan jumlah memori yang dibutuhkan serta alamat memori yang diperlukan untuk menampung proses. Jika tidak bisa, maka terjadi proses yang tumpang tindih dan terjadi hang karena memori tidak cukup menampung beban proses.
- Manajemen file. Ada empat bagian penting dalam manajemen file, yakni membuka file, menulis file (salin, tempel atau tulis data), menyimpan file dan menghapus file.
- Manajemen sistem input dan output. Sistem operasi harus bisa melakukan hal yang berkaitan dengan masukan dan keluaran data. Data yang diberikan oleh pengguna melalui keyboard, mouse atau perangkat lain harus mampu ditampung. Hal yang berkaitan dengan manajemen sistem input output adalah buffering atau penampungan data, scheduling atau penjadwalan data, spooling atau meletakkan pekerjaan di dalam buffer dan mengalokasikan driver untuk perangkat keras yang terhubung ke CPU.
- Manajemen penyimpana sekunder. Penyimpanan sekunder erat kaitannya dengan media penyimpanan sekunder seperti harddisk, USB flashdisk, SSD, DVD dan lain sebagainya. Aplikasi komputer pada umumnya akan menyimpan file atau data hasil pemrosesan di media penyimpanan sekunder karena penyimpanan primer bersifat sementara dan terbatas. Oleh karena itu sistem operasi juga melakukan perantaraan file maupun data yang akan disimpan dalam sistem penyimpanan sekunder dengan memperhatikan beberapa aspek, diantaranya adalah efisiensi, optimalisasi dan sekuriti.
Selain lima hal diatas, sistem operasi juga menyediakan sistem keamanan untuk komputer. Hal ini dikarenakan tanpa adanya sistem keamanan maka komputer akan menjadi mudah digunakan oleh siapa saja, termasuk yang tidak berwenang untuk menggunakannya. Untuk itu maka sistem operasi menyediakan fitur keamanan seperti login user, firewall dan anti malware.
5. Sejarah Sistem Operasi
Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi :
- Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
- Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa bagian dari fungsi sistem operasi telah ada, contohnya fungsi sistem operasi FMS (Fortran Monitoring System).
- Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekali gus) dan multi-programming (melayani banyak program sekali gus).
- Generasi Keempat (Pasca 1980an)
Pada generasi ini , sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan GUI (Graphical User Interface) yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.
- Generasi Kelima (Pasca 2001 sampai Sekarang )
Mendefinisikan komputer generasi kelima menjadi cukup sulit karena tahap ini masih dalam perjalanan. Contoh imajinatif komputer generasi kelima adalah komputer fiksi HAL9000 dari novel karya Arthur C. Clarke berjudul 2001:Space Odyssey. HAL menampilkan seluruh fungsi yang diinginkan dari sebuah komputer generasi kelima. Dengan kecerdasan buatan (artificial intelligence), HAL dapat cukup memiliki nalar untuk melakukan percapakan dengan manusia, menggunakan masukan visual, dan belajar dari pengalamannya sendiri. Walaupun mungkin realisasi HAL9000 masih jauh dari kenyataan, banyak fungsi-fungsi yang dimilikinya sudah terwujud.
- Layanan Sistem Operasi
Sebuah sistem operasi yang baik menurut Tanenbaum harus memiliki layanan sebagai berikut : pembuatan program, eksekusi program, pengaksesan I/O Device, pengaksesan terkendali terhadap berkas pengaksesan sistem, deteksi dan pemberian tanggapan pada kesalahan, serta akunting.
Pembuatan program yaitu sistem operasi menyediakan fasilitas dan layanan untuk membantu para pemrogram untuk menulis program; Eksekusi Program yang berarti Instruksi-instruksi dan data-data harus dimuat ke memori utama, perangkat-parangkat masukan/ keluaran dan berkas harus di-inisialisasi, serta sumber-daya yang ada harus disiapkan, semua itu harus di tangani oleh sistem operasi; Pengaksesan I/O Device, artinya Sistem Operasi harus mengambil alih sejumlah instruksi yang rumit dan sinyal kendali menjengkelkan agar pemrogram dapat berfikir sederhana dan perangkat pun dapat beroperasi; Pengaksesan terkendali terhadap berkas yang artinya disediakannya mekanisme proteksi terhadap berkas untuk mengendalikan pengaksesan terhadap berkas;
Pengaksesan sistem artinya pada pengaksesan digunakan bersama (shared system); Fungsi pengaksesan harus menyediakan proteksi terhadap sejumlah sumber-daya dan data dari pemakai tak terdistorsi serta menyelesaikan konflikkonflik dalam perebutan sumber-daya; Deteksi dan Pemberian tanggapan pada kesalahan, yaitu jika muncul permasalahan muncul pada sistem komputer maka sistem operasi harus memberikan tanggapan yang menjelaskan kesalahan yang terjadi serta dampaknya terhadap aplikasi yang sedang berjalan; dan Akunting yang artinya Sistem Operasi yang bagus mengumpulkan data statistik penggunaan beragam sumber-daya dan memonitor parameter kinerja.
- Jenis - jenis Sistem Operasi
Berikut adalah 4 jenis-jenis sistem operasi dan kelebihannya.
- DOS
Sistem operasi DOS adalah sistem operasi yang termasuk CUI (Character User Interface). Artinya sistem operasi DOS berkomunikasi dengan user melalui karakter-karekter teks. Dan pengguna memberikan perintah kepada komputer dalam bentuk teks juga. Sistem CUI sekarang sudah digantikan dengan sistem operasi berbasis GUI (Grafhical User Interface) yaitu sistem operasi yang menampilkan pesan dan menerima perintah dari kita dalam bentuk grafis. Dan kelebihan sistem operasi berbasis GUI lebih mudah digunakan dari pada CUI.
Micrososoft DOS dibuat pada tahun 1981 oleh micrososft untuk pertama kalinya. MS DOS dibuat untuk digunakan sebagai sistem operasi dikomputer IMB-PC. Kerja sama antara Microsoft dan IMB membuat sistem operasi DOS diterima sebagai sistem operasi standar untuk komputer.
- WINDOWS
Sistem operasi windows merupakan sistem operasi yang mempunyai tampilan grafis. Windows dikeluarkan oleh Microsoft Corporation, sebuah perusahaan perangkat lunak terbesar di dunia. Windows merupakan sistem operasi yang paling banyak digunakan untuk PC karena sistem operasi windows mudah untuk digunakan dan dikenal user friendy.
Windows pertama kali dikeluarkan oleh Microsoft pada tahun 1990 dan diberi nama windows versi 3.0 windows versi 3.0 merupakan kelanjutan dari windows versi 1.0 dan 2.0 yang dimunculkan sebelumnya.Windows versi 3.0 merupakan sistem operasi berbasis GUI. Kemudian pada tahun 1992, Microsoft mengeluarkan windows versi 3.1 untuk sistem operasi lingkungan bisnis. Selanjutnya Microsoft mengeluarkan Windows NT pada tahun 1993, yaitu sebuah sistem operasi yang digunakan untuk komputer server dalam sebuah jaringan komputer. Pada tahun 1995 , Microsoft mengeluarkan Windows 95 yang berhasi terjual sebanyak 7 juta keeping diseluruh dunia dalam waktu 2 bulan. Microsoft terus memperbarui dan mengembangkan sistem operasi windows dan terus mengeluarkan versi selanjutnya: Windows 97, Windows 98, windows ME, Windows 2000 Server, Windows XP, Windows Vista, Windows 7, Windows 8, dan Versi terbaru windows 10.
- UNIX
Sistem operasi unix banyak digunakan pada komputer besar seperti supercomputer atau mainframe. Superkomputer adalah komputer yang digunakan pada perusahaan besar. Superkomputer dapat melakukan pengelolaan data dengan jumlah yang sangat besar karena dilengkapi processor yang sangat cepat dan memori yang sangat besar, supercomputer digunakan oleh perusahaan besar seperti bank, Badan Pertahanan Amerika, perusahaan pembuat pesawat terbang dan lain-lain.
- LINUX
Sistem operasi linux dikembangkan oleh seorang yang berkebangsaan finlandia yang bernama linus benedict torvalds, linux dikembangkan oleh sistem operasi unix . linux dapat dijalankan di PC. Linux meruakan sistem operasi open source . ini berarti siapa saja dapat mengembangkan linux. Saat ini linux sering digunakan sebagai sistem operasi untuk komputer server diperusahaan-perusahaan karena linux mempunyai tempat kestabilan yang baik, dalam arti kinerja linux tidak menurun meskipun dijalankan selama ratusan hari tanpa henti, biasanya server linux hanya dimatikan untuk mengganti komponen baru dari komputer yang bersangkutan. Selain itu linux merupakan sistem operasi yang murah dan tanpa harus terikat aturan lisensi.
- Struktur Penyimpanan Sistem Operasi
Program komputer harus berada di memori utama (biasanya RAM) untuk dapat dijalankan. Memori utama adalah satu-satunya tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Idealnya program dan data secara keseluruhan dapat disimpan dalam memori utama secara permanen. Namun demikian hal ini tidak mungkin karena :
=> Ukuran memori utama relatif kecil untuk dapat menyimpan data dan program secara keseluruhan.
=> Memori utama bersifat volatile, tidak bisa menyimpan secara permanen, apabila komputer dimatikan maka data yang tersimpan di memori utama akan hilang.
- Memori Utama
Hanya memori utama dan register merupakan tempat penyimpanan yang dapat diakses secara langsung oleh prosesor. Oleh karena itu instruksi dan data yang akan dieksekusi harus disimpan di memori utama atau register.
Untuk mempermudah akses perangkat I/O ke memori, pada arsitektur komputer menyediakan fasilitas pemetaan memori ke I/O. Dalam hal ini sejumlah alamat di memori 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 respon yang cepat seperti video controller.
Register yang terdapat dalam prosesor dapat diakses dalam waktu 1 clock cycle. Hal ini menyebabkan register merupakan media penyimpanan dengan akses paling cepat bandingkan dengan memori utama yang membutuhkan waktu relatif lama. Untuk mengatasi perbedaan kecepatan, dibuatlah suatu penyangga (buffer) penyimpanan yang disebut cache.
- Magnetic Disk
Magnetic Disk berperan sebagai secondary storage pada sistem komputer modern. Magnetic Disk disusun dari piringan-piringan seperti CD. Kedua permukaan piringan diselimuti oleh bahan-bahan magnetik. Permukaan dari piringan dibagi-bagi menjadi track yang memutar, yang kemudian dibagi lagi menjadi beberapa sektor.
- Storage Hierarchy
Dalam storage hierarchy structure, data yang sama bisa tampil dalam level berbeda dari sistem penyimpanan. Sebagai contoh integer A berlokasi pada bekas B yang ditambahkan 1, dengan asumsi bekas B terletak pada magnetic disk. Operasi penambahan diproses dengan pertama kali mengeluarkan operasi I/O untuk menduplikat disk block pada A yang terletak pada memori utama Operasi ini diikuti dengan kemungkinan penduplikatan A ke dalam cache dan penduplikatan A ke dalam internal register. Sehingga penduplikatan A terjadi di beberapa tempat. Pertama terjadi di internal register dimana nilai A berbeda dengan yang di sistem penyimpanan. Dan nilai di A akan kembali sama ketika nilai baru ditulis ulang ke magnetic disk.
Pada kondisi multi prosesor, situasi akan menjadi lebih rumit. Hal ini disebabkan masing-masing prosesor mempunyai local cache. Dalam kondisi seperti ini hasil duplikat dari A mungkin hanya ada di beberapa cache. Karena CPU (register-register) dapat dijalankan secara bersamaan maka kita harus memastikan perubahan nilai A pada satu cache akan mengubah nilai A pada semua cache yang ada. Hal ini disebut sebagai Cache Coherency.
9. Arsitektur Sistem Operasi
Arsitektur sistem operasi adalah merupakan arsitektur perangkat lunak yang digunakan untuk membangun suatu perangkat lunak sistem operasi yang akan digunakan dalam sistem komputer. Perkembangan arsitktur sistem operasi modern ini semakin komplek dan rumit sehingga memerlukan sistem operasi yang dirancang dengan sangat hati-hati, cermat dan tepat agar dapat berfungsi secara optimum dan mudah untuk dimodifikasi.
Sistem operasi merupakan kumpulan dari program-program (prosedur,fungsi, library) dimana prosedur dapat saling dipanggil oleh prosedur lain di sistem bila diperlukan”. Sistem pemanggilan program untuk mendapatkan layanan dari sistem operasi tersebut dikenal dengan nama Sistem Call atau API (aplication programming interface). Berbagai ragam Arsitektur sistem operasi moderen diantaranya adalah : Sistem Monolitik, Sistem Berlapis, Sistem Client/server, Sistem Virtual mesin dan Sistem Berorientasi objek.
1). Sistem Minolitik
Sistem monolitik Merupakan struktur sistem operasi sederhana yang dilengkapi dengan operasi “dual” pelayanan {sistem call} yang diberikan oleh sistem operasi. Model sistem call dilakukan dengan cara mengambil sejumlah parameter pada tempat yang telah ditentukan sebelumnya, seperti register atau stack dan kemudian mengeksekusi suatu intruksi trap tertentu pada monitor mode.
Keunggulan dari sistem Monolitik ini adalah:
- Layanan terhadap job-job yang ada bisa dilakukan dengan cepat karena berada pada satu ruang alamat memory.
Kelemahan dari sistem Monolitik adalah:
- Pengujian dan penghilangan kesalahan sulit dilakukan karena tidak dapat dipisahkan dan dilokasikan,
- Sulit dalam menyediakan fasilitas pengamanan.
- Kurang efisien dalam penggunaan memori dimana setiap computer harus menjalankan kernel yang besar sementara tidak memerlukan seluruh layanan yang disediakan kernel.
- Kesalahan pemrograman di satu bagian kernel menyebakan matinya seluruh sistem.
2). Sistem Berlapis
Teknik pendekatan struktur sistem berlapis sistem operasi pada dasarnya dibuat menggunakan pendekatan top-down, semua fungsi ditentukan dan dibagi menjadi komponen komponen. Modularisasi sistem dilakukan dengan cara memecah sistem operasi menajdi beberapa lapis (tingkat). Lapisan terendah (layer 0) adalah perangkat keras dan lapisan teratas (layer N) adalah user interface. Dengan sistem modularisasi, setiap lapisan mempunyai fungsi (operasi) tertentu dan melayani lapisan yang lebih rendah.
Sistem operasi pertama kali yang memakai sistem berlapis adalah THE. Sistem operasi THE yang dibuat oleh Dijkstra dan mahasiswa-mahasiswanya. Pada dasarnya sistem operasi berlapis dimaksudkan untuk mengurangi kompleknya rancangan dan implementasi dari suatu sistem operasi. Contoh sistem operasi yang menggunakan sistem ini adalah: UNIX termodifikasi, THE, Venus dan OS/2
Keuntungan Sistem Berlapis adalah:
- Memiliki semua keunggulan rancangan modular.
- Sistem terbagi dalam beberapa modul, setiap modul dan lapisan bisa dirancang, di uji, secara independen sehingga jika terjadi suatu kesalahan mudah untuk menanganinya.
Kelemahan Sistem Berlapis adalah:
- Semua fungsi-fungsi dari sistem operasi harus terdapat di masing-masing lapisan, jika terjadi suatu kesalahan bisa jadi semua lapisan harus diprogram ulang.
3). Sistem Mesin Virtual
Konsep dasar dari mesin virtual ini tidak jauh berbeda dengan pendekatan sistem terlapis dengan tambahan berupa antarmuka yang menghubungkan perangkat keras dengan kernel untuk tiap-tiap proses. Mesin virtual menyediakan antar muka yang identik untuk perangkat keras yang ada. Sistem operasi ini membuat ilusi atau virtual untuk beberapa proses, masing-masing virtual proses mengeksekusi prosessornya dan memorinya (virtual) masing masing.
Meskipun konsep ini cukup baik, namun cukup komplek untuk diimple-mentasikan, karena system menggunakan metode dual-mode. Mesin virtual hanya dapat berjalan pada monitor-mode jika berupa sistem operasi, se-dangkan mesin virtual itu sendiri berjalan dalam bentuk user-mode. Konsek-uensinya, baik virtual monitor-mode maupun virtual user-mode harus dijalankan melalaui physical user mode. Hal ini menyebabkan adanya transfer dari user-mode ke monitor-mode pada mesin nyata, yang juga akan menyebabkan adan-ya transfer dari virtual user-mode ke virtual monitor-mode pada mesin virtual. Sumber daya (resource) dari computer fisik dibagi untuk membuat mesin virtual. Penjadwalan CPU dapat membuat penampilan bahwa user mempunyai proses-sor sendiri. Spooling dan system file dapat menyediakan card reader virtual dan line printer virtual. Terminal time sharing pada user melayani sebagai console operator mesin virtual. Contoh sistem operasi yang memakai mesin virtual ada-lah IBM S/370 dan IBM VM/370.
Teknik ini berkembang menjadi sistem operasi emulator, shingga system operasi dapat menjalankan aplikasi-aplikasi untuk system operasi lain. Sistem operasi MS-Windows NT dapat menjalankan aplikasi untuk MS-DOS, OS/2 mode teks dan aplikasi Win16. aplikasi tersebut dijalankan sebagai input bagi subsistem di MS-Windows NT yang mengemulasikan system calls yang di-panggil aplikasi dengan Win32 API ( Sistem Call di MS-Windows NT).
Keuntungan dan kerugian konsep mesin virtual adalah sebagai berikut :
- Mesin virtual menyediakan proteksi yang lengkap untuk sumber daya system sehingga masing-masing mesin virtual dipisahkan mesin virtual yang lain. Isolasi ini tidak memperbolehkan pembagian sumber daya secara langsung.
- Sistem mesin virtual adalah mesin yang cocok untuk riset dan pengembangan system operasi. Pengembangan system dikerjakan pada mesin virtual, termasuk di dalamnya mesin fisik dan tidak mengganggu operasi system yang normal.
- Konsep mesin virtual sangat sulit untuk mengimplementasikan kebutuhan dan duplikasi yang tepat pada mesin yang sebenarnya.
4). Sistem Client Server
Sistem operasi modem memiliki kecendrungan untuk memindahkan kode ke lapisan yang lebih tinggi dan menghapus sebanyak mungkin, kode-kode tersebut dari sistem operasi sehingga akan meninggalkan keruel yang minimal. Konsep ini biasa diimplementasikan dengan dengan cara menjadikan fungsi-fungsi yang ada pada sistem operasi menjadi user proses. Jika satu proses minta untuk dilayani, misalnya satu blok file, maka user proses {disini dinamakan: Client proses} mengirim permintaan tersebut ke user proses. Server proses akan melayani permintaan tersebutkemudian mengirimkan jawabannya kembali. Semua pekerjaan keruel dilakukan pada pengendalian komunikasi antara client dan server. Dengan membagi sistem operasi menjadi beberapa lapisan, dimana tiap-tipa bagian mengendalikan satu segi sistem, seperti pelayanan file, pelayanan proses, pelayanan terminal, atau pelayanan memori, maka tiap-tiap bagian menjadi lebih sederhana dan dapat diatur selain itu, oleh karena semua server berjalan pada user mode proses, dan bukan merupakan monitor mode, maka server tidak dapat mengakses hardware secara lansung. Akibatnya, jika terjadi kerusakan pada file server, maka pelayanan file akan terganggu. Namun hal ini tidak akan sampai menganggu sistem lainnya.
Keuntungan dari model client server ini adalah:
- Dapat diadaptasikan pada sistem terdistribusi.
- Jika suatu client berkomunikasi dengan server dengan cara mengirimkan pesan, maka server tidak perlu tahu apakah pesan itu dikirim oleh dan dari mesin itu sendiri {local} atau dikirim oleh mesin yang lain melalui jaringan.
- Pengembangan dapat dilakukan secara modular.
- Kesalahan pada suatu subsistem tidak menganggu subsistem lain sehingga tidak mengakibatkan system mati secara keseluruhan.
Kelemahan dari sistem client-server adalah :
- Pertukaran pesan dapat menjadi bottleneck dan Layanan dilakukan secara “lambat” karena harus melalui pertukaran pesan antar client-server.
5). Sistem Berorientasi Obyek
Layanan Sistem operasi sebagai kumpulan proses untuk menyelesaikan pekerjaannya, yang sering disebut dengan system operasi bermodel proses, sedangkan layanan system operasi sebagai objek disebut dengan system operasi berorentasi objek. Pendekatan objek dimaksudkan untuk mengadopsi keunggulan dari teknolgi berorientasi objek.
Contoh dari system operasi berorentasi objek antara lain adalah:
1) Eden
2) Choices
3) X-kernel
4) Medusa
5) Clunds
6) Amoeba
7) Muse
8) Sistem operasi MS-Windows NT mengadopsi beberapa teknologi berorientasi objek tapi tidak secara keseluruhannya.
Program Untuk Menampilkan Nilai Mahasiswa - Bahasa C
#include <stdio.h>
main ()
{
char huruf, lagi, nama, keterangan;
int nilai, bobot;
do {
{
printf("MASUKAN NAMA MAHASISWA : ");
scanf("%s", & nama);
printf("MASUKAN NILAI MAHASISWA : ");
scanf("%d", & nilai);
if (nilai >= 90 && nilai <= 100)
{
puts(" NILAI HURUF : A");
puts(" BOBOT NILAI : 4");
puts(" KETERANGAN : SANGAT BAIK");
}
else
if (nilai >= 80 && nilai < 90)
{
puts(" NILAI HURUF : B");
puts(" BOBOT NILAI : 3");
puts(" KETERANGAN : BAIK");
}
else
if (nilai >= 70 && nilai < 80)
{
puts(" NILAI HURUF : C");
puts(" BOBOT NILAI : 2");
puts(" KETERANGAN : CUKUP");
}
else
if (nilai >= 60 && nilai < 70)
{
puts(" NILAI HURUF : D");
puts(" BOBOT NILAI : 1");
puts(" KETERANGAN : KURANG");
}
else
if (nilai >= 0 && nilai < 60)
{
puts(" NILAI HURUF : E");
puts(" BOBOT NILAI : 0");
puts(" KETERANGAN : GAGAL");
}
}
printf("\n");
printf("\nAPAKAH ANDA AKAN MENGINPUT NILAI LAGI??? (Y/T) : ");
scanf("%c",&lagi);
scanf("%c",&lagi);
printf("\n");
}
while (lagi=='y' || lagi=='Y');
}
Dan Hasilnya seperti ini
1) Eden
2) Choices
3) X-kernel
4) Medusa
5) Clunds
6) Amoeba
7) Muse
8) Sistem operasi MS-Windows NT mengadopsi beberapa teknologi berorientasi objek tapi tidak secara keseluruhannya.
#include <stdio.h>
main ()
{
char huruf, lagi, nama, keterangan;
int nilai, bobot;
do {
{
printf("MASUKAN NAMA MAHASISWA : ");
scanf("%s", & nama);
printf("MASUKAN NILAI MAHASISWA : ");
scanf("%d", & nilai);
if (nilai >= 90 && nilai <= 100)
{
puts(" NILAI HURUF : A");
puts(" BOBOT NILAI : 4");
puts(" KETERANGAN : SANGAT BAIK");
}
else
if (nilai >= 80 && nilai < 90)
{
puts(" NILAI HURUF : B");
puts(" BOBOT NILAI : 3");
puts(" KETERANGAN : BAIK");
}
else
if (nilai >= 70 && nilai < 80)
{
puts(" NILAI HURUF : C");
puts(" BOBOT NILAI : 2");
puts(" KETERANGAN : CUKUP");
}
else
if (nilai >= 60 && nilai < 70)
{
puts(" NILAI HURUF : D");
puts(" BOBOT NILAI : 1");
puts(" KETERANGAN : KURANG");
}
else
if (nilai >= 0 && nilai < 60)
{
puts(" NILAI HURUF : E");
puts(" BOBOT NILAI : 0");
puts(" KETERANGAN : GAGAL");
}
}
printf("\n");
printf("\nAPAKAH ANDA AKAN MENGINPUT NILAI LAGI??? (Y/T) : ");
scanf("%c",&lagi);
scanf("%c",&lagi);
printf("\n");
}
while (lagi=='y' || lagi=='Y');
}
Dan Hasilnya seperti ini

Tidak ada komentar:
Posting Komentar