New Versions - Towson University

New Versions - Towson University

Understanding Operating Systems Seventh Edition Chapter 15 Linux Operating Systems Learning Objectives After completing this chapter, you should be able to describe: The design goals for the Linux operating system The flexibility offered by using files to manipulate devices The roles of the Memory, Device, File, Processor, and Network Managers The impact of open source software

Some strengths and weaknesses of Linux Understanding Operating Systems, 7e 2 Introduction Linux Originally based on a version of UNIX Powerful Inexpensive or free to use Portable Versions for cell phones, supercomputers, and computing systems in between

Source code: freely available Configurable: runs any device; meets any specification Open source Source code freely available to anyone for improvement Under constant development Contributors around the world: not paid for their work Understanding Operating Systems, 7e 3 Brief History Developed by Linus Torvalds (1991)

Original purpose Maximize Intel 80386 microprocessors limited capabilities Roots MINIX: miniature UNIX with more functionality First version meant for small microcomputer Expensive commercial computer features Flexibility and functionality Brought UNIX features to small computer Understanding Operating Systems, 7e 4

Brief History (cont'd.) User interface First Linux operating systems: command-driven interface Sometimes cryptic commands Recent years Graphical user interfaces (GUI) Written and distributed under the GNU General Public License Fedora Project responsible for the open-source development of the Linux kernel Common \ popular distributions: Fedora, Ubuntu, Cent OS The foundation of Android operating system (most popular mobile OS)

Understanding Operating Systems, 7e 5 (table 15.1) Selected releases of Ubuntu Linux. New releases are scheduled every 6 months. Normal Ubuntu releases are supported for 18 months; LTS releases are supported longer. (adapted from https://wiki.ubuntu.com/Releases) Cengage Learning 2014 Understanding Operating Systems, 7e 6

Design Goals Three goals Modularity Simplicity Portability Numerous standard utilities Eliminate need to write special code Used in combination for specific tasks Numerous functions IEEE POSIX (Portable Operating System Interface) specifications conformity Programs portability

Understanding Operating Systems, 7e 7 (table 15.2) Select system functions supported by Linux. Cengage Learning 2014 Understanding Operating Systems, 7e 8 (table 15.2) (contd.) Select system functions supported by Linux.

Cengage Learning 2014 Understanding Operating Systems, 7e 9 Memory Management Space allocation (32 bit) Kernel: 1 GB high order memory Executing processes: 3 GB memory Process execution Fixed-size segment System calls change segment size

Memory protection Based on information type stored in address space region for process Memory limits vary with 64 bit Linux distributions but generally in terabytes (TB) 1,000s of GBs Understanding Operating Systems, 7e 10 Processor Management Uses same parent-child process management design found in UNIX

Supports personality concept Allows processes from other operating systems to be executed Understanding Operating Systems, 7e 11 Device Management Device independent Improves portability Device drivers Supervise data transmission

Between main memory and peripheral unit Devices assigned Name Descriptors Further identify each device Stored in device directory Understanding Operating Systems, 7e 12 Device Drivers Support for standard classes introduced by UNIX Allow new device classes supporting new technology

Device classes not rigid Creating large, complex, and multiple function drivers is discouraged because: Users share code: wider demand for simple drivers Modular code supports system scalability and extendibility goals Encouraged: drivers maximizing systems effective device usage Notable feature Accept new device drivers on the fly System up and running No reboot necessary Understanding Operating Systems, 7e

13 Device Classes Three standard classes Character devices Block devices Network devices Understanding Operating Systems, 7e 14 (figure 15.5) This example of the three primary classes of device drivers shows how

device drivers receive direction from different subsystems of Linux. Cengage Learning 2014 Understanding Operating Systems, 7e 15 Device Classes (cont'd.) Character (char) devices Accessed as a stream of bytes Communications port, monitor, or other byte-stream-fed device Implement open, release, read, and write system calls

Accessed by file system nodes Look like ordinary data area Drivers treated as ordinary files Exception: drivers are data channels accessed sequentially Understanding Operating Systems, 7e 16 Device Classes (cont'd.) Block devices Host a file system (e.g., hard disk)

Accessed by file system nodes in /dev directory Transfer in blocks of data Similarity to char driver Appear as ordinary files Dissimilarity to char driver Access file system in connection with device (not possible with char device) Understanding Operating Systems, 7e 17

Device Classes (cont'd.) Network interfaces Function Send and receive information packets Directed by network subsystem Network device functions Relate to packet transmission System device handled by device driver Under Linux subsystems direction Understanding Operating Systems, 7e

18 File Management Very similar to UNIX Easy transition for programmers and administrators who are familiar with one operating system to move to the other Files organized in directories Connected in treelike structure Understanding Operating Systems, 7e 19

(table 15.5) The file type indicates how each file is to be used. Cengage Learning 2014 Understanding Operating Systems, 7e 20 Filename Conventions Case sensitive Recognizes uppercase and lowercase letters Up to 255 characters long

Contain alphabetic characters, underscores, and numbers File suffixes: optional Can include space Complications if running command-line programs File hierarchy First slash indicates an absolute path name Understanding Operating Systems, 7e 21 (figure 15.6) A sample file hierarchy. The forward slash (/ ) at the top represents the root

directory. Cengage Learning 2014 Understanding Operating Systems, 7e 22 Filename Conventions (cont'd.) Path name rules 1. Path name starting with slash: begins at root directory 2. Path name One name or list of names separated by slashes Last name on list: name of file requested

3. Two periods (..) in path name Move upward in hierarchy: closer to root Only way to go up the hierarchy Understanding Operating Systems, 7e 23 Filename Conventions (cont'd.) Virtual File System (VFS) Kernel Allows processes to access files in a consistent manner Maintains interface between file related system calls

and file management code Virtual file system layer Receives process-initiated system call to files Performs file operations independent of file system format Redirects request to module managing the file Understanding Operating Systems, 7e 24 New Versions Linux operating systems: patched between version

releases Downloaded on request or System setup checks for available updates Patch management Replaces or changes parts of the operating system that need to be enhanced or replaced Understanding Operating Systems, 7e 25 New Versions (cont'd.) Reasons for operating system patches

Security precautions: constantly changing system threats System compliance: government regulations regarding privacy and financial accountability Peak efficiency System manager must: Maintain vigilance: security vulnerabilities Assess patchs criticality If important, apply immediately Understanding Operating Systems, 7e 26

User Interface Early Linux versions Required typed commands Thorough knowledge of valid commands required Current versions Include powerful and intuitive menu-driven interfaces Several graphical user interfaces available Can still use Terminal mode - type commands similar to those used for UNIX Many Linux versions Equipped with Windows-compatible word processors, spreadsheet, and presentation applications

Understanding Operating Systems, 7e 27 System Monitor System Monitor window Moment-by-moment system status Immediate history: CPUs, memory, and network usage Other information Supported file systems Currently running processes information Understanding Operating Systems, 7e

28 (figure 15.9) This Linux system monitor shows the recent history of both CPUs, shown in the top graph. Cengage Learning 2014 Understanding Operating Systems, 7e 29 System Logs Provide detailed description of activity on system

Invaluable to administrators Tracking system malfunction Firewall failure Disabled device Found in /var/log directory Seen using a log viewer Understanding Operating Systems, 7e 30 (figure 15.10) The system log viewer shows details of all activity.

Cengage Learning 2014 Understanding Operating Systems, 7e 31 (table 15.6) A few of the many available Linux log files. See the documentation for your system for specifics. Cengage Learning 2014 Understanding Operating Systems, 7e 32

File Listings (figure 15.11) Directories are shown in the left-most column, and the contents of the currently highlighted folder are displayed in the window on the right. Cengage Learning 2014 Understanding Operating Systems, 7e 33 File Listings (cont'd.) Explore directorys or files contents

Double click its icon Establish the directorys or files access control settings Right click on items icon Terminal window Display directory details: type command ls-l Understanding Operating Systems, 7e 34 (figure 15.12)

Directory details shown in Terminal mode, which is another way to explore Linux. Cengage Learning 2014 Understanding Operating Systems, 7e 35 Setting Permissions Network administrators Full control: manage access to files and directories Three levels of access Owner

Group Others Access level settings: under properties option Access types Create and delete files, list files only, access files, and none Understanding Operating Systems, 7e 36 (figure 15.13) User activity can be restricted by using document properties options. Cengage Learning 2014

Understanding Operating Systems, 7e 37 Conclusion Originally designed to gain more power from a 1990s computer Evolved into powerful, flexible operating system: runs supercomputers, cell phones, and many other devices Unparalleled popularity among programmers Contribute standard code set enhancements Supports broad range of applications Available for minimal cost and easy to install Growing acceptance among non-programmers

Large organizations Commercial Linux products available Viable marketplace player Popularity expected to grow for many years Android operating system foundation Understanding Operating Systems, 7e 38

Recently Viewed Presentations

  • Animal Physiology I 2010 edit - Copley

    Animal Physiology I 2010 edit - Copley

    Label all parts of the mammalian heart and diagram blood flow through it. Explain the causes of circulatory system disruptions and how disruptions of the circulatory system can lead to disruptions of homeostasis.
  • English Colonization of North America

    English Colonization of North America

    Headright System Indentured Servants Population of the Land Plantations Spread out along rivers Towns did not develop Plantations self-sufficient Business Booms Tobacco production increased from 200,000 lbs/yr in 1624 to 3 million in 1638 to 10 million in 1660 Tobacco...
  • Introduction to Psychology

    Introduction to Psychology

    psychlotron.org.uk. The importance of SWS. Growth Hormone is secreted during SWS. Sassin et al found that when we sleep during the day and are awake at night the release of GH is also reversed. This supports the idea that GH...
  • Chapter 1 Your Health and Wellness - Northern Highlands

    Chapter 1 Your Health and Wellness - Northern Highlands

    Practicing good health habits involves much more than just knowing what to do. Your attitudes also affect how well you take care of yourself. For example, in order to practice good health habits, you must believe that there is some...
  • What is a Sensor Web ? Abhinav Roongta

    What is a Sensor Web ? Abhinav Roongta

    What is a Sensor Web ? Abhinav Roongta Wireless Information Networking Group University of Florida March 3, 2004 Outline Sensor Web Definition Basics Organization Potential Current applications Introduction Definition According to NASA New Technology Report on Sensor Webs, " The...
  • Efficient Algorithms for the Runtime Environment of OO languages

    Efficient Algorithms for the Runtime Environment of OO languages

    Efficient Algorithms for the Runtime Environment of Object Oriented Languages Yoav Zibin Technion—Israel Institute of Technology Advisor: Joseph (Yossi) Gil
  • Ready for 2019?

    Ready for 2019?

    IRW shaped by the biennial Curriculum Review, a rigorous continuous improvement process used by MO to evaluate and improve its curriculum. Transparent and inclusive about the BRS Review How it was done. What was looked at. ... SIPDE - Presentation,...
  • GaTAPP Essentials: Engagement, Evidence, Environment, Ethics

    GaTAPP Essentials: Engagement, Evidence, Environment, Ethics

    Category. Definition. Effect Size. Setting Objectives & Providing Feedback. Provide students with a direction for learning and with information about how well they are performing relative to a particular learning objective so they can improve their performance.