9781439079201_PPT_ch16

Download Report

Transcript 9781439079201_PPT_ch16

Understanding Operating Systems
Sixth Edition
Chapter 16
Linux Operating System
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 differences between command-driven and
menu-driven interfaces
The roles of the Memory, Device, File, Processor,
and Network Managers
Some strengths and weaknesses of Linux
Understanding Operating Systems, Sixth Edition
2
Overview
• POSIX-compliant
• Portable
– Versions for cell phones, supercomputers, and
computing systems in between
• Source code: freely available
– Configurable: run any device, meet any specification
• User interface
– Powerful desktop GUIs attracts users
• Highly modular
– Multiple modules load and unload on demand
• Technically robust operating system
Understanding Operating Systems, Sixth Edition
3
History
• Developed by Linus Torvalds (1991)
• Original purpose
– Maximize Intel 80386 microprocessor’s 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, Sixth Edition
4
History (cont'd.)
• Open-source program
– Updates accepted from anyone
• User interface
– Originally typed and cryptic commands
– Today
• Command-driven interface (Terminal mode)
• Graphical user interface (GUI)
• Red Hat Linux provided initial primary support
– World’s leading Linux distributor (until 2003)
• GNU General Public License
Understanding Operating Systems, Sixth Edition
5
History (cont'd.)
Understanding Operating Systems, Sixth Edition
6
History (cont'd.)
Understanding Operating Systems, Sixth Edition
7
Design Goals
• Three goals
– Modularity
– Simplicity
– Portability
• Numerous standard utilities
– Eliminates need to write special code
– Used in combination for specific tasks
• Numerous functions
• Conforms to IEEE POSIX specifications
– Portable Operating System Interface for Computer
Environments
Understanding Operating Systems, Sixth Edition
8
Design Goals (cont'd.)
Understanding Operating Systems, Sixth Edition
9
Memory Management
• Space allocation
– Kernel: 1 GB high order memory
– Executing processes: 3 GB memory
• Process execution
– Segment fixed size
– System calls change segment size
• Memory protection
– Based on information type stored in address space
region for process
Understanding Operating Systems, Sixth Edition
10
Memory Management (cont'd.)
• Page loading
– Least recently used algorithm (LRU)
– Maintains a dynamically managed memory area and
page cache (new and old pages inserted and deleted)
• System page tables
– Tracks free and busy pages
• Virtual memory
– Managed using multiple-level table hierarchy
• 64- and 32-bit architectures
– Added flexibility with swap devices
• May deactivate without rebooting
Understanding Operating Systems, Sixth Edition
11
Memory Management (cont'd.)
• Virtual memory managed using multiple-level table
hierarchy
– Four fields in virtual address
Understanding Operating Systems, Sixth Edition
12
Memory Management (cont'd.)
Understanding Operating Systems, Sixth Edition
13
Memory Management (cont'd.)
• Buddy algorithm
– Grouping and splitting equal-sized page frames
• Give more contiguous space to job
• Page replacement algorithm
– Clock page replacement policy expanded version
– Uses eight-bit byte to track page’s activity
• Referred to as “age”
Understanding Operating Systems, Sixth Edition
14
Memory Management (cont'd.)
Understanding Operating Systems, Sixth Edition
15
Processor Management
• Uses same parent-child process management
design found in UNIX
• “Personality” concept
– Allow processes from other operating systems to be
executed
Understanding Operating Systems, Sixth Edition
16
Organization of Process Table
• Descriptor: references process
• Contains approximately 70 fields
– Describes process attributes
• Information needed to manage process
– Dynamically allocated by kernel
• Process execution time
– Organized by doubly linked lists
• “Next run” field
• “Previously run” field
– Scheduler manages and updates descriptors
• Macros
Understanding Operating Systems, Sixth Edition
17
Process Synchronization
• Wait queues and semaphores
– Synchronize two processes with each other
• Wait queue
– Linked circular list of process descriptors
– Problems solved
• Mutual exclusion and producers and consumers
• Semaphore structure
– Three fields (semaphore counter, number of waiting
processes, list of processes waiting for semaphore)
• Counter contains binary values
• Except if several units of one resource available
Understanding Operating Systems, Sixth Edition
18
Process Management
• Linux scheduler
– Scans processes list in READY state
– Chooses process to execute
• Using predefined criteria
• Three scheduling types
– Real-time processes (two)
– Normal processes (one)
• Process scheduling policy determination
– Combination of type and priority
Understanding Operating Systems, Sixth Edition
19
Process Management (cont'd.)
Understanding Operating Systems, Sixth Edition
20
Process Management (cont'd.)
• First type
– Highest priority (SCHED_FIFO)
• First in, first out algorithm
– Not preemptible
– Runs to completion unless:
• Process goes into WAIT state
• Process relinquishes processor voluntarily
– All FIFO processes complete
• Scheduler processes lower priority types
Understanding Operating Systems, Sixth Edition
21
Process Management (cont'd.)
• Second type
– Medium priority (SCHED_RR)
• Round robin algorithm with small time quantum
– Time quantum expires
• Other higher priority processes (FIFO, RR ) selected
and executed
• Before first process allowed to complete
• Third type
– Low priority (SCHED_OTHER)
– Executed if no higher priority processes in READY
queue
Understanding Operating Systems, Sixth Edition
22
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, Sixth Edition
23
Device Management (cont'd.)
Understanding Operating Systems, Sixth Edition
24
Device Management (cont'd.)
• Device drivers
– Comprehensive collection in Linux
• Required driver not available
– Obtain from another source
• Install separately
– Manually write the driver
• Requires skilled programmer
Understanding Operating Systems, Sixth Edition
25
Device Classifications
• Device identification
– Minor device number
• Passed to device driver as an argument
• Accesses one of several identical physical devices
– Major device number
• Index to array to access appropriate code
• Configuration table for each class
– Entry point into driver
– Only connection between system code and driver
– Importance
• Allows quick creation of device drivers
Understanding Operating Systems, Sixth Edition
26
Device Drivers
• Support for standard classes introduced by UNIX
• Allow new device classes supporting new
technology
• Device classes not rigid
– Create large, complex, multiple function drivers
– Discouraged because:
• Users share code, demand simple drivers
• Modular code supports system scalability and
extendibility goal
– Encouraged: drivers maximizing system’s effective
device usage
Understanding Operating Systems, Sixth Edition
27
Device Drivers (cont'd.)
• Notable feature
– Accept new device drivers on the fly
• System up and running
• No reboot necessary
Understanding Operating Systems, Sixth Edition
28
Device Classes
• Three standard classes
Understanding Operating Systems, Sixth Edition
29
Device Classes (cont'd.)
• Character (char) devices
– Accessed as a stream of bytes
• Communications port, monitor, other byte-stream-fed
device
– Implement open, close, read, 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, Sixth Edition
30
Device Classes (cont'd.)
• Block devices
– Host a file system (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, Sixth Edition
31
Device Classes (cont'd.)
• Network interfaces
– Function
• Send and receive information packets
• Directed by network subsystem
– Network device functions
• Relate to packet transmission
• Not read and write calls
• Dissimilar from block and char
• System device handled by device driver
– Under direction of Linux subsystem
Understanding Operating Systems, Sixth Edition
32
File Management
• Data structures
• Filename conventions
• Directory listings
Understanding Operating Systems, Sixth Edition
33
Data Structures
• Files organized in directories
– Connected in treelike structure
• Five file types
Understanding Operating Systems, Sixth Edition
34
Filename Conventions
• Case sensitive
– Recognizes uppercase and lowercase letters
• Up to 255 characters long
• Contain alphabetic characters, underscores,
numbers
• File suffixes: optional
• Can include space
– Complications if running command-line programs
• Uses file hierarchy
– First slash indicates an absolute path name
Understanding Operating Systems, Sixth Edition
35
Filename Conventions (cont'd.)
Understanding Operating Systems, Sixth Edition
36
Filename Conventions (cont'd.)
• Path name rules
– Path name starting with slash (at root directory)
– Path name
• One name or list of names separated by slashes
– Last name on list
• Name of file requested
• Preceding names must be directory names
– Two periods (..) in path name
• Move upward in hierarchy (closer to root)
• Only way to go up hierarchy
• Other path names go down tree
Understanding Operating Systems, Sixth Edition
37
Filename Conventions (cont'd.)
• Data structures: 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 file
Understanding Operating Systems, Sixth Edition
38
Directory Listings
• Creation
– ls or ls -l command
– GUI interface
• Displays:
– File or directory name
– Size
– Modification date and time
• Permissions column
– Code: file’s type and access privileges
– Order of letters indicates the specific access granted
Understanding Operating Systems, Sixth Edition
39
Directory Listings (cont'd.)
Understanding Operating Systems, Sixth Edition
40
Directory Listings (cont'd.)
• First column character: nature of folder entry
–
–
–
–
–
Dash (-) indicates a file
d indicates a directory file
l indicates a link
b indicates a block special file
c indicates a character special file
• Next three characters (rwx): file owner privileges
– r indicates read access
– w indicates write access
– x indicates execute access
Understanding Operating Systems, Sixth Edition
41
Directory Listings (cont'd.)
• Next three characters
– Group access privileges
• Group: set of users, excluding owner, having
something in common (project, class, department)
• System-wide group of users: “world”
• Last three characters
– Access privileges granted to “others”
• Others: users at large (excluding owner and group
member)
Understanding Operating Systems, Sixth Edition
42
Directory Listings (cont'd.)
• Change file security
– Owner (and only the owner) opens file properties to
be protected
• File-Properties from the File menu
– Click on Permissions tab
– Choose the appropriate access
• For owner, group, others
Understanding Operating Systems, Sixth Edition
43
User Interface
• Early Linux versions
– Required typed commands
• Thorough knowledge of valid commands required
• Current versions
– Include powerful and intuitive GUI desktops
• Novice user can use successfully
– Navigate operating system
– Can still use Terminal mode
• Type commands similar to those used for UNIX
Understanding Operating Systems, Sixth Edition
44
Command-Driven Interfaces
• Typed command general syntax
– command
arguments
filename
• Command: legal operating system command
• Arguments: required or optional
• Filename: filename
– Relative or absolute path name
• Shell (bash shell)
– Command interpreter
– Interprets and executes command
– Key to system program coordination and combination
Understanding Operating Systems, Sixth Edition
45
Command-Driven Interfaces (cont'd.)
Understanding Operating Systems, Sixth Edition
46
Graphical User Interfaces
• Multiple graphical user interfaces (often free)
– Allowing choice for end users
– Different GUIs used by different users on same
system (certain environments)
– Flexibility
– Spurring Linux acceptance
• Sophisticated Windows-compatible word
processors, spreadsheet, presentation applications
(some at no cost)
– Spurring Linux popularity
Understanding Operating Systems, Sixth Edition
47
System Monitor
• System Monitor window
– System well-being information
– Immediate history
• CPU, memory, network usage
• Other information
– Supported file systems
– Currently running processes information
Understanding Operating Systems, Sixth Edition
48
System Monitor (cont'd.)
Understanding Operating Systems, Sixth Edition
49
Service Settings
• Variety of services help manage system
– Linux distribution dependent (see documentation)
Understanding Operating Systems, Sixth Edition
50
System Logs
• System logs
– Provide detailed description of activity on system
– Invaluable to administrators
• Tracking system malfunction
• Firewall failure
• Disabled device
– Found in /var/log directory
– System log viewer to see data
Understanding Operating Systems, Sixth Edition
51
System Logs (cont'd.)
Understanding Operating Systems, Sixth Edition
52
Keyboard Shortcuts
• Users easily switch from one task to another
• Keyboard shortcuts
– Many identical to commonly used Windows operating
systems’ shortcuts
• Ease operating system transition
– Example: CTRL-V
• Quick way to issue PASTE command
• Linux, UNIX, and Windows
Understanding Operating Systems, Sixth Edition
53
Summary
• Originally designed to gain more microcomputer
chip power
– Evolved into powerful, flexible operating system
• Runs supercomputers, cell phones, many 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
Understanding Operating Systems, Sixth Edition
54