Week 1


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Week 1

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