ch01-translated-new1

advertisement
Bab 1: Pendahuluan
Bab1: Pendahuluan
 Fungsi sistem operasi
 Organisasi Sistem Komputer
 Arsitektur Sistem Komputer
 Struktur sistem operasi
 Operasi pada sistem operasi
 Manajemen Proses
 Manajemen Memory
 Manajemen Penyimpanan Data (Storage)
 Proteksi dan Sekuritas
 Distributed Systems
 Special-Purpose Systems
 Computing Environments
Operating System Concepts
1.2
Silberschatz, Galvin and Gagne ©2005
Tujuan
 Bab ini bertugas memberikan penjelasan secara umum untuk tiap
komponen-komponen sistem operasi
 Bab ini bertugas memberikan penjelasan tentang organisasi sistem
komputer
Operating System Concepts
1.3
Silberschatz, Galvin and Gagne ©2005
Apa itu Operating System?
 Sebuah program yang bertugas sebagai interface antara user
dengan hardware komputer
 Tujuan Operating system :

Mengeksekusi program milik user dan memudahkan user
untuk menyelesaikan masalah dengan mudah

Membuat sistem komputer mudah untuk digunakan
 Menggunakan hardware komputer dengan efisien
Operating System Concepts
1.4
Silberschatz, Galvin and Gagne ©2005
Struktur Sistem Komputer
 Computer system dapat dibagi menjadi 4 komponen

Hardware – sebagai resource untuk komputasi dasar


Operating system


Controls and coordinates use of hardware among various
applications and users
Program aplikasi – define the ways in which the system
resources are used to solve the computing problems of the
users


CPU, memory, I/O devices
Word processors, compilers, web browsers, database
systems, video games
User

Operating System Concepts
manusia, mesin, komputer lain
1.5
Silberschatz, Galvin and Gagne ©2005
Empat Komponen Sistem Komputer
Operating System Concepts
1.6
Silberschatz, Galvin and Gagne ©2005
Definisi Operating System
 OS bertugas melakukan alokasi resource

Melakukan manajemen resource

Mengambil keputusan saat terjadi konflik request agar
resource dapat digunakan secara fair dan efisien
 OS adalah control program

Artinya, OS mengendalikan eksekusi program-program untuk
mencegah error dan pemakaian komputer yang tidak bijak
Operating System Concepts
1.7
Silberschatz, Galvin and Gagne ©2005
Definisi Operating System (Cont.)
 Tidak ada definisi yang pasti mengenai sistem operasi
 Tiap sistem operasi bergantung pada pembuat sistem
operasi tersebut

Akibatnya, sistem operasi bervariasi
 Program yang terus beroperasi pada komputer disebut
kernel .
 Sementara program-program lain adalah system
program (yang membentuk sistem operasi, seperti :
disk defragmenter, printing, melihat isi directory, dll ).
 Sisanya adalah program aplikasi. (game, word, dll)
Operating System Concepts
1.8
Silberschatz, Galvin and Gagne ©2005
Kernel
 Kernel adalah program yang bertugas
mengatur input/output request dari
aplikasi/user menuju resource dari
komputer, yaitu : CPU, memory, I/O, atau
devais lainnya dari komputer
Operating System Concepts
1.9
Silberschatz, Galvin and Gagne ©2005
Computer Startup
 Bootstrap program diload oleh komputer saat power on atau reboot

Biasanya disimpan dalam ROM atau EEPROM, dan biasa disebut
firmware

Melakukan inisialisasi pada semua aspek sistem komputer

Setelah itu mulai melakukan loading terhadap kernel sistem operasi dan
mulai beroperasi
Operating System Concepts
1.10
Silberschatz, Galvin and Gagne ©2005
Computer System Organization
 Computer-system operation

Satu atau lebih CPUs, device controllers terkoneksi lewat bus untuk
dapat mengakses shared memory

Eksekusi instruksi CPU dan devais yang terus-menerus membutuhkan
cycles memory
Operating System Concepts
1.11
Silberschatz, Galvin and Gagne ©2005
Operasi pada Sistem Komputer
 I/O devices dan CPU bekerja sama secara terus-menerus
 Tiap device controller adalah hardware yang bertugas untuk tiap tipe
devais
 Tiap device controller memiliki local buffer.
 CPU memindahkan data dari/ke main memory dari/ke local buffers
 Device controller memberi tahu CPU bahwa tugasnya untuk
mentransfer request ke local buffer telah selesai dengan
menggunakan interrupt.
Operating System Concepts
1.12
Silberschatz, Galvin and Gagne ©2005
Device I/O address
Operating System Concepts
1.13
Silberschatz, Galvin and Gagne ©2005
Interrupts
 Operating systems dikendalikan oleh interrupt

Interrupt adalah request layanan dari CPU
 Contoh interrupt :


Mouse moved.
Disk drive at sector/track position(old days).

Keyboard key pressed.

Printer out of paper.

Video card wants memory access.

Modem sending or receiving.

USB scanner has data.
 Tiap interrupt ini membutuhkan penanganan yang
berbeda, tergantung jenis dan asal interrupt.
14
Operating System Concepts
1.14
Silberschatz, Galvin and Gagne ©2005
Ketika interrupt diterima, CPU harus
save the address of the interrupted instruction di register dan program
counter
2. disable (or queue) incoming interrupts while processing this one
3. transfer control to the appropriate interrupt service routine
1.
this is usually done via an interrupt vector (table of addresses for
interrupt service routines), stored in first ~100 memory locations
4. after processing the interrupt, enable incoming interrupts
5. restore interrupted instruction & resume processing

Operating System Concepts
1.15
Silberschatz, Galvin and Gagne ©2005
Operating System Concepts
1.16
Silberschatz, Galvin and Gagne ©2005
Interrupt Vector Table
Operating System Concepts
1.17
Silberschatz, Galvin and Gagne ©2005
Interrupt controller
Operating System Concepts
1.18
Silberschatz, Galvin and Gagne ©2005
Hardware & Software Interrupts
 Interrupt bisa dilakukan hardware lewat the system
bus (e.g., segmentation fault)
 Interrupt bisa dilakukan software (e.g., system call
for I/O, trap for division by zero)
Operating System Concepts
1.19
Silberschatz, Galvin and Gagne ©2005
Interrupt Timeline
Operating System Concepts
1.20
Silberschatz, Galvin and Gagne ©2005
I/O Structure
 After I/O starts, control returns to user program only upon I/O
completion.
 Wait instruction idles the CPU until the next interrupt
 Wait loop (contention for memory access).
 At most one I/O request is outstanding at a time, no
simultaneous I/O processing.
 After I/O starts, control returns to user program without waiting
for I/O completion.
 System call – request to the operating system to allow user
to wait for I/O completion.
 Device-status table contains entry for each I/O device
indicating its type, address, and state.
 Operating system indexes into I/O device table to determine
device status and to modify table entry to include interrupt.
Operating System Concepts
1.21
Silberschatz, Galvin and Gagne ©2005
 Synchronous I/O




Setelah I/O bekerja, user program
memagang kontrol kembali hanya
setelah I/O selesai
I/O jenis ini dilakukan dengan
melakukan instruksi tunggu (wait
instruction) atau wait loop
Hanya boleh satu request I/O dalam
satu waktu, request yang lain harus
menunggu
Asynchronous I/O



Setelah I/O bekerja, kontrol akan
kembali ke user program tanpa harus
menunggu proses I/O selesai
Ada semacam tabel status device
yang berisi entry untuk tiap device I/O
menunjukkan tipe, address, dan state
request
OS melihat ke tabel ini untuk
menentukan status devais dan
menentukan entry
Operating System Concepts
1.22
Silberschatz, Galvin and Gagne ©2005
Scheduling I/O
 Scheduling I/O requests can greatly improve overall efficiency.
Priorities can also play a part in request scheduling.
 The classic example is the scheduling of disk accesses, as
discussed in detail in chapter 12.
 Buffering and caching can also help, and can allow for more flexible
scheduling options.
 On systems with many devices, separate request queues are often
kept for each device
Operating System Concepts
1.23
Silberschatz, Galvin and Gagne ©2005
Tabel Device-Status
Operating System Concepts
1.24
Silberschatz, Galvin and Gagne ©2005
Direct Memory Access Structure
 simple keyboard processing:

user types character at keyboard

keyboard controller sends interrupt to CPU

CPU must complete current instruction, then save state

control is transferred to interrupt service routine, which:


stores char in a buffer & increments buffer pointer

sets flag to notify OS that input is available (can be transferred to requesting
program)
must restore CPU state and resume processing
 For high-speed I/O devices, the combined overhead of the interrupts may be too costly
 Direct Memory Access: a device driver assigns a specific memory segment to



the device controller
device controller can transfer an entire block of data directly to/from main
memory without CPU intervention.
only one interrupt is generated per block, rather than the one interrupt per byte
For example :
 a sound card may need to access data stored in the computer's RAM, but
since it can process the data itself, it may use DMA to bypass the CPU.
 Video cards that support DMA can also access the system memory and
process graphics without needing the CPU.
Operating System Concepts
1.25
Silberschatz, Galvin and Gagne ©2005
Storage Structure
 Main memory – only large storage
media that the CPU can access
directly.
 Secondary storage – extension of
main memory that provides large
nonvolatile storage capacity.
 Magnetic disks – rigid metal or glass
platters covered with magnetic
recording material

Disk surface is logically divided
into tracks, which are
subdivided into sectors.

The disk controller determines
the logical interaction between
the device and the computer.
Operating System Concepts
1.26
Silberschatz, Galvin and Gagne ©2005
primary memory
Storage structure
 Memory is organized in a hierarchy
tradeoffs:
cpu
primary memory
•
fast, expensive, volatile
•
data is stored in electronic circuitry
•
only storage CPU can access
directly

secondary memory

speed, cost, volatility
Secondary memory
•
slow, cheap, permanent
•
data is stored magnetically or optically
or "physically"
•
can store massive amounts of inactive
data, must be copied to primary
memory to be accessed
27
Operating System Concepts
1.27
Silberschatz, Galvin and Gagne ©2005
Caching
 Caching – copying information into faster storage system; main
memory can be viewed as a last cache for secondary storage.
 Important principle, performed at many levels in a computer (in
hardware, operating system, software)
 Information in use copied from slower to faster storage temporarily
 Faster storage (cache) checked first to determine if information is
there

If it is, information used directly from the cache (fast)

If not, data copied to cache and used there
 Cache smaller than storage being cached

Cache management important design problem

Cache size and replacement policy
Operating System Concepts
1.28
Silberschatz, Galvin and Gagne ©2005
Performance of Various Levels of Storage
 Movement between levels of storage hierarchy can be explicit or
implicit
Operating System Concepts
1.29
Silberschatz, Galvin and Gagne ©2005
Migration of Integer A from Disk to Register
 Multitasking environments must be careful to use most recent
value, not matter where it is stored in the storage hierarchy
CPU
 Multiprocessor environment must provide cache coherency in
hardware such that all CPUs have the most recent value in their
cache
 Distributed environment situation even more complex

Several copies of a datum can exist

Various solutions covered in Chapter 17
Operating System Concepts
1.30
Silberschatz, Galvin and Gagne ©2005
Operating System Structure


Multiprogramming digunakan untuk meningkatkan efisiensi

Single user CPU and I/O devices busy at all times

Multiprogramming mengorganisasi jobs (code dan data) sehingga CPU
memiliki job untuk dikerjakan

Sejumlah jobs di simpan di memory

Satu job dipilih dan dijalankan via job scheduling

Jika harus menunggu (misal untuk I/O), OS mengerjakan job lainnya
Timesharing (multitasking) adalah perpindahan CPU dari satu job ke job
yang lain sehingga user bisa berpindah dari satu job ke job yang lain ketika
CPU bekerja. Akibatnya tercipta interactive computing, karen user dapat
berinteraksi dengan jobs.

Response time harus < 1 second

Each user has at least one program executing in memory process

If several jobs ready to run at the same time  CPU scheduling

If processes don’t fit in memory, swapping moves them in and out to
run

Virtual memory allows execution of processes not completely in
memory
Operating System Concepts
1.31
Silberschatz, Galvin and Gagne ©2005
Memory Layout for Multiprogrammed System
Operating System Concepts
1.32
Silberschatz, Galvin and Gagne ©2005
Operating-System Operations
 Interrupt dilakukan oleh hardware
 Software error atau request menyebabkan terjadinya exception
atau trap

Division by zero, request for operating system service
 Other process problems include infinite loop, processes modifying
each other or the operating system
 Dual-mode operation allows OS to protect itself and other system
components

User mode and kernel mode
 Mode bit provided by hardware
 Provides ability to distinguish when system is running user
code or kernel code
 Some instructions designated as privileged, only
executable in kernel mode
 System call changes mode to kernel, return from call resets
it to user
Operating System Concepts
1.33
Silberschatz, Galvin and Gagne ©2005
Transisi dari Mode User ke Mode Kernel
 Timer to prevent infinite loop / process hogging resources

Set interrupt after specific period

Operating system decrements counter

When counter zero generate an interrupt

Set up before scheduling process to regain control or terminate
program that exceeds allotted time
Operating System Concepts
1.34
Silberschatz, Galvin and Gagne ©2005
Process Management

Proses adalah program yang berjalan. Proses merupakan bagian dari
system. Jika program dapat dikatakan sebagai passive entity, process
dikatakan sebagai active entity.

Process membtuhkan resource untuk melakukan tugasnya (task)

CPU, memory, I/O, files

Initialization data

Penghentian atau terminasi proses akan mengembalikan resource yang
digunakan sebelumnya

Proses dengan Single-threaded memiliki satu program counter yang
menunjukkan lokasi instruksi berikutnya yang akan dikerjakan

Process mengerjakan instruksi secara sekuensial , satu demi satu,
hingga selesai

Proses dengan multi-threaded memiliki satu program counter untuk tiap
thread

Sistem biasanya memiliki beberapa proses, beberapa user

Beberapa operating sistem berjalan pada satu atau beberapa CPU.

Concurrency by multiplexing the CPUs among the processes / threads
Operating System Concepts
1.35
Silberschatz, Galvin and Gagne ©2005
Satu thread
Multiple thread, data sharing
Multiple thread, one thread waiting
Operating System Concepts
1.36
Silberschatz, Galvin and Gagne ©2005
Process Management Activities
Sistem operasi bertanggung jawab untuk aktivitas manajemen proses :
 Menciptakan dan menghapus proses user dan proses sistem
 Menghentikan sementara dan meneruskan processes
 Menyediakan mekanisme untuk process synchronization
 Menyediakan mekanisme untuk process communication
 Menyediakan mekanisme untuk penanganan deadlock
Deadlock
Operating System Concepts
1.37
Silberschatz, Galvin and Gagne ©2005
Memory Management
 Semua data disimpan dalam memory sebelum dan sesudah
processing
 Semua instruksi disimpan dalam memory sebelum dieksekusi
 Memory management bertugas menentukan isi di dalam memory
agar :

Mengoptimalkan utilisasi CPU dan memaksimalkan respon
komputer terhadap user.
 Aktivitas yang dilakuka manajemen Memory

Melakukan tracking bagian memory mana yang sedang dipakai
dan oleh siapa

Menentukan instruksi dan data mana yang keluar masuk
memory

Mengalokasikan dan dealokasi memory spacesesuai
kebutuhan
Operating System Concepts
1.38
Silberschatz, Galvin and Gagne ©2005
Storage Management
 OS provides uniform, logical view of information storage

Abstracts physical properties to logical storage unit - file
 Each medium is controlled by device (i.e., disk drive, tape drive)
 Varying properties include access speed, capacity, datatransfer rate, access method (sequential or random)
 File-System management

Files usually organized into directories
 Access control on most systems to determine who can access
what
 OS activities include

Creating and deleting files and directories

Primitives to manipulate files and dirs
Mapping files onto secondary storage
 Backup files onto stable (non-volatile) storage media

Operating System Concepts
1.39
Silberschatz, Galvin and Gagne ©2005
Mass-Storage Management

Usually disks used to store data that does not fit in main memory or data
that must be kept for a “long” period of time.

Proper management is of central importance

Entire speed of computer operation hinges on disk subsystem and its
algorithms

OS activities


Free-space management

Storage allocation

Disk scheduling
Some storage need not be fast

Tertiary storage includes optical storage, magnetic tape

Still must be managed

Varies between WORM (write-once, read-many-times) and RW (readwrite)
Operating System Concepts
1.40
Silberschatz, Galvin and Gagne ©2005
I/O Subsystem
 Salah satu motivasi pemakaian OS adalah menghindarkan user
dari interaksi algnsung dengan devais
 I/O subsystem bertanggung jawab untuk

Manajemen memory dari I/O termasuk diantarangya buffering
(penyimpanan dat sementara sebelum ditransfer), caching
(menyimpan sebagian data untuk management of I/O including
buffering (storing data temporarily while it is being transferred),
caching (storing parts of data in faster storage for
performance), spooling (the overlapping of output of one job
with input of other jobs)

General device-driver interface

Drivers for specific hardware devices
Operating System Concepts
1.41
Silberschatz, Galvin and Gagne ©2005
Proteksi dan Security
 Proteksi – mekanisme untuk mengontrol akses proses atau user
any mechanism for controlling access of processes or users to
resources defined by the OS
 Security – defense of the system against internal and external
attacks
 Huge range, including denial-of-service, worms, viruses,
identity theft, theft of service
 Systems generally first distinguish among users, to determine who
can do what
 User identities (user IDs, security IDs) include name and
associated number, one per user
 User ID then associated with all files, processes of that user to
determine access control
 Group identifier (group ID) allows set of users to be defined
and controls managed, then also associated with each
process, file
 Privilege escalation allows user to change to effective ID with
more rights
Operating System Concepts
1.42
Silberschatz, Galvin and Gagne ©2005
Computing Environments
 Traditional computer

Blurring over time

Office environment
 PCs
connected to a network, terminals attached to
mainframe or minicomputers providing batch and
timesharing
 Now
portals allowing networked and remote systems
access to same resources

Home networks
 Used
 Now
Operating System Concepts
to be single system, then modems
firewalled, networked
1.43
Silberschatz, Galvin and Gagne ©2005
Computing Environments (Cont.)

Client-Server Computing
 Dumb terminals supplanted by smart PCs
 Many systems now servers, responding to requests generated by
clients
 Compute-server provides an interface to client to request
services (i.e. database)
 File-server provides interface for clients to store and retrieve
files
Operating System Concepts
1.44
Silberschatz, Galvin and Gagne ©2005
Peer-to-Peer Computing
 Another model of distributed system
 P2P does not distinguish clients and servers

Instead all nodes are considered peers

May each act as client, server or both

Node must join P2P network


Registers its service with central lookup service on network,
or

Broadcast request for service and respond to requests for
service via discovery protocol
Examples include Napster and Gnutella
Operating System Concepts
1.45
Silberschatz, Galvin and Gagne ©2005
Web-Based Computing
 Web has become ubiquitous
 PCs most prevalent devices
 More devices becoming networked to allow web access
 New category of devices to manage web traffic among similar
servers: load balancers
 Use of operating systems like Windows 95, client-side, have
evolved into Linux and Windows XP, which can be clients and
servers
Operating System Concepts
1.46
Silberschatz, Galvin and Gagne ©2005
End of Chapter 1
Tugas
 Terangkan bagaimana linux booting
 Terangkan bagaimana komputer
bekerja (CPU, Memory, bus, register,
ALU, dll)
 Tugas ditulis tangan
Operating System Concepts
1.48
Silberschatz, Galvin and Gagne ©2005
Download