www.ischool.drexel.edu
INFO 320Server Technology I
Week 1
Server operating system and hardware concepts
1INFO 320 week 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
2INFO 320 week 1
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?
3INFO 320 week 1
www.ischool.drexel.edu
What does an OS do?
• An OS lets applications use server hardware
User
Application
OS
Hardware
CLI or GUI
API or system calls
Interrupts ordevice drivers
4INFO 320 week 1
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?
5INFO 320 week 1
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?
6INFO 320 week 1
www.ischool.drexel.edu7
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
www.ischool.drexel.edu8
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
www.ischool.drexel.edu9
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
www.ischool.drexel.edu
What does an OS do?
• Process management
• Interrupts
• Memory management
• Storage management and disk access
• Device drivers
• Networking
• Security
10INFO 320 week 1
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
11INFO 320 week 1
www.ischool.drexel.edu12
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
www.ischool.drexel.edu
Process management
• A process can be in three possible states
ready waiting
executing
Needs data
Gets data
Needs data
Gets data
and CPU
Gets CPU
Is preempted
13INFO 320 week 1
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
14INFO 320 week 1
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
15INFO 320 week 1
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
16INFO 320 week 1
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
17INFO 320 week 1
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
18INFO 320 week 1
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
19INFO 320 week 1
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
20INFO 320 week 1
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
21INFO 320 week 1
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
22INFO 320 week 1
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)
23INFO 320 week 1
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
24INFO 320 week 1
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
25INFO 320 week 1
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.
26INFO 320 week 1
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
27INFO 320 week 1
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)
28INFO 320 week 1
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
29INFO 320 week 1
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)
30INFO 320 week 1
www.ischool.drexel.edu
OS Examples
• Unix-like variants– Linux– FreeBSD– openSolaris
31INFO 320 week 1
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)
32INFO 320 week 1
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
33INFO 320 week 1
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
34INFO 320 week 1
Top Related