Transcript Week 1

INFO 320
Server Technology I
Week 1
Server operating system and
hardware concepts
INFO 320 week 1
1
www.ischool.drexel.edu
Overview
• This course covers basic operating system
(OS), server, and architecture concepts
• Here we’ll mainly focus on server
operating systems, though much of their
functionality is done by any OS
INFO 320 week 1
2
www.ischool.drexel.edu
Linux and UNIX
• Much of our emphasis will be on Linux and
UNIX, since that’s the OS in most servers
– The labs will use the Ubuntu distribution of
Linux
– What other kinds of server operating system
are there?
– What kind of operating systems are there,
other than server OS’s?
INFO 320 week 1
3
www.ischool.drexel.edu
What does an OS do?
• An OS lets applications use server
hardware
User
CLI or GUI
Application
API or system calls
OS
Interrupts or
device drivers
Hardware
INFO 320 week 1
4
www.ischool.drexel.edu
Server hardware
• So the point of an operating system is to
be able to access hardware
• What hardware does a server have?
– What hardware characteristics do we care
about from the selection or management
perspective?
INFO 320 week 1
5
www.ischool.drexel.edu
Possible traits of an OS
• What are these terms?
– Multi-user OS
– Multiprocessing OS
– Multitasking OS
• Which of these can a server OS perform?
INFO 320 week 1
6
www.ischool.drexel.edu
Resources and Sharing
• One way to look at a computer is as a set
of resources
– The CPU of a computer is a resource
– The memory of a computer is a resource
– The keyboard of a computer is a resource
– The hard disk drive of a computer is a
resource
INFO 320 week 1
7
www.ischool.drexel.edu
Why consider this way of looking at
computers?
• Since the CPU of a computer operates at
extremely high speeds, and since there is
a speed differential between the CPU and
other resources
• When the CPU is waiting for another
resource, it is essentially wasting time – if
the only thing that it is doing is waiting
INFO 320 week 1
8
www.ischool.drexel.edu
Resources and sharing
• On the other hand if we can have the CPU do
something else while it is waiting for a resource we
can make better use of the CPU resource – we
won’t waste as much of the capability of the
resource
• If we were to do this then we would be able to share
the CPU resource among more than a single task
• The term multitasking derives from this approach
• Multitasking allows us to share computer resources
• The sharing of one or more computer resources is
controlled by scheduling
INFO 320 week 1
9
www.ischool.drexel.edu
What does an OS do?
•
•
•
•
•
•
•
Process management
Interrupts
Memory management
Storage management and disk access
Device drivers
Networking
Security
INFO 320 week 1
10
www.ischool.drexel.edu
Process management
• Executing a process means creation of a
process by the OS
• A task is a collection of processes
• The OS kernel creates a process by
assigning it memory, and defining its
priority
• Then the program is loaded into memory,
and executed by the (a?) CPU
INFO 320 week 1
11
www.ischool.drexel.edu
Process management
• In order to multitask, we need a
mechanism to share all of the computer
resources among the tasks that require it
• The sharing requires a manager, called
the kernel of the operating system
INFO 320 week 1
12
www.ischool.drexel.edu
Process management
• A process can be in three possible states
executing
Needs data
Is preempted
Gets CPU
Gets data
and CPU
Gets data
ready
Needs data
INFO 320 week 1
waiting
13
www.ischool.drexel.edu
Process management
• Having multiple processes leads to the
need for scheduling
• Processes are assigned priorities
• CPU time goes to highest-priority process
that is ready
INFO 320 week 1
14
www.ischool.drexel.edu
Interrupts
• An interrupt is a signal informing a
program that an event has occurred
– Interrupts are handled by the OS kernel, and
may come from software or hardware
• When an interrupt is received, the
hardware suspends whatever program is
running, and might take other actions
INFO 320 week 1
15
www.ischool.drexel.edu
Interrupts
• Hardware interrupts might include
– Keystrokes
– Inputs from other devices (mouse, printer,
etc.)
• Software interrupts include
– A program needs to get to hardware (save
a file)
– Program needs more memory
INFO 320 week 1
16
www.ischool.drexel.edu
Memory management
• The OS kernel includes a memory
management unit (MMU)
– This makes it possible for several processes
to share main memory
– An application deals with logical memory
addresses
– The MMU deals with physical addresses
INFO 320 week 1
17
www.ischool.drexel.edu
Memory management
• The kernel protects memory usage via
swapping, paging, and segmentation
• Swapping is when a process is temporarily
moved to a backing storage location
– The process is swapped out to storage, then
back in
INFO 320 week 1
18
www.ischool.drexel.edu
Memory management
• Paging manages physical memory space
– Physical memory is divided into frames
– Logical memory is divided into pages
– Frames and pages have the same size,
defined by the hardware involved
INFO 320 week 1
19
www.ischool.drexel.edu
Memory management
• Segmentation is the mapping of logical
address space for each process into
segments
– A segment table keeps track of each
segment’s name, length, and the offset
to find its physical memory location
• Attempts to address other memory
locations results in a segmentation fault
interrupt
INFO 320 week 1
20
www.ischool.drexel.edu
Storage management
• All OS’s need a way to access stored data
• Data is stored on devices using files and
directories
• Files are structured to allow fast access,
improve reliability, and make efficient use
of space
• A file system is a method for storing and
organizing data
INFO 320 week 1
21
www.ischool.drexel.edu
Storage management
• OS activities include
– Create and delete files and directories
– Manipulate files and directories
– Back up files onto storage media
• UNIX and Linux support Virtual File
Systems (VFS)
– Allows interoperability with Mac and Windows,
transparent to the user
INFO 320 week 1
22
www.ischool.drexel.edu
Storage management
• File system examples
– Solaris uses Unix file system
– Linux uses extended file system (ext4)
– MS-DOS used File Allocation Tables (FAT)
– Mac OS used Hierarchical File System (HFS),
and now supports Unix file systems
– Windows NT/XP/Vista/7 use NT File System
(NTFS)
INFO 320 week 1
23
www.ischool.drexel.edu
Device drivers
• Device drivers allow software to
communicate with specific kinds of
hardware
• Each OS has drivers for each device
• Hardware manufacturers develop drivers
INFO 320 week 1
24
www.ischool.drexel.edu
Networking
• Most OS’s support various networking
protocols, both open source and
proprietary formats
– What networking protocols might you expect
to be supported?
• Various network architectures are also
supported
– Client/server, peer to peer, hybrid
INFO 320 week 1
25
www.ischool.drexel.edu
Security
• Within a network, the server OS is a
critical security component
– Controls access to processes, and data
• Networking aspect also affects external
security threats
– Denial of service, worms, Trojan horses, etc.
INFO 320 week 1
26
www.ischool.drexel.edu
Security
• Within a network, security is controlled
by user and group identification
– User has a user ID
– Belongs to a group which has a group ID
– Anyone else is considered ‘other’ = outside
your group
INFO 320 week 1
27
www.ischool.drexel.edu
Security
• Each file and directory can be controlled to
have different privileges for user, group,
and other (u-g-o)
• The allowed privileges are
– read
– write (includes create, modify, or delete)
– execute (application or script)
INFO 320 week 1
28
www.ischool.drexel.edu
OS Examples
• Microsoft Windows
– Huge worldwide market share
– Windows NT is the basis for Windows 2000,
XP, Vista, and 7, plus Windows Server 2003
and 2008
INFO 320 week 1
29
www.ischool.drexel.edu
OS Examples
• Unix
– Now over 40 years old, the longest lived
family of operating systems
– Mainly used in business and academia
•
•
•
•
•
Sun  Solaris (was SunOS)
HP  HP/UX
IBM  AIX
SGI  IRIX (obsolete)
NeXT (obsolete, but basis for Mac OS X)
INFO 320 week 1
30
www.ischool.drexel.edu
OS Examples
• Unix-like variants
– Linux
– FreeBSD
– openSolaris
INFO 320 week 1
31
www.ischool.drexel.edu
OS Examples
• Macintosh
– System 1-9
– OS X and OS X Server (based on BSD Unix)
• Mainframe OS’s
– OS/400 (IBM AS/400)
– DEC VMS and openVMS
– OS/360 (IBM mainframes e.g. RS/6000)
INFO 320 week 1
32
www.ischool.drexel.edu
OS Examples
• Google Chrome
– Based on Linux
– All apps other than the OS kernel will be
delivered in a web browser
– Apps and data are in the cloud, not locally
INFO 320 week 1
33
www.ischool.drexel.edu
OS Examples
• Real time OS’s
– Typically used when time-predictable
response to many inputs are needed
• Video or audio processing, system control
software, many complex hardware/software
systems
– There are real time versions of Linux, and
many other custom OS’s
INFO 320 week 1
34
www.ischool.drexel.edu