Memory Management
To execute a program all (or part) of the
instructions must be in memory
All
(or part) of the data that is needed by the
program must be in memory
Memory management determines what is in
memory and when
Optimizing CPU utilization and computer response to
users
Memory management activities
Keeping track of which parts of memory are currently
being used and by whom
Deciding which processes (or parts thereof) and data
to move into and out of memory
Allocating and deallocating memory space as needed

File-system 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,
data-transfer 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 directories
•
Mapping files onto secondary storage
•
Backup files onto stable (non-volatile) storage media

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
Mounting and unmounting
Free
-space management
Storage allocation
Disk scheduling
Partitioning
Protection
Some storage need not be fast
Tertiary storage includes optical storage, magnetic tape
Still must be managed
– by OS or applications

Storage management: Data view
dir21:
file21.1
file21.2
file21.3
dir22:
file22.1
file22.2
file22.3
dir23:
file23.1
file23.2
file23.3
01010
10101
10100
10101
10101
10101
10101
10100
10101
01011
10101
10101
10101
File system based
view – content visible
as files and directories
USER
FILE SYSTEM
DISK SYSTEM
Block based view
content considered as
blocks of data
Physical view –
all data just a stream
of bits

UNIX
UNIX
– limited by hardware functionality,
the original UNIX operating system had
limited structuring.
Systems programs
Kernel
•
Consists of everything below the system-call
interface and above the physical hardware
•
Provides the file system, CPU scheduling, memory
management, and other operating-system
functions; a large number of functions for one level

UNIX Structure

What are possible OS
architectures?
How do we build an OS that has all the
above functions?
UNIX like
– monolithic – throw everything into
one pile and call it layered!
Something more structured..

Layered Vs Microkernel

With and without virtual
machines
