Professional Documents
Culture Documents
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
2
Overview
POSIX-compliant Portable
Versions for cell phones, supercomputers, and computing systems in between
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 microprocessors limited capabilities Roots
Minix: miniature UNIX with more functionality
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)
History (cont'd.)
History (cont'd.)
Design Goals
Three goals
Modularity Simplicity Portability
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
10
Virtual memory
Managed using multiple-level table hierarchy
64- and 32-bit architectures
12
13
14
15
Processor Management
Uses same parent-child process management design found in UNIX Personality concept
Allow processes from other operating systems to be executed
16
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
19
20
21
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
24
25
Device Classifications
Device identification
Minor device number
Passed to device driver as an argument Accesses one of several identical physical devices
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
28
Device Classes
Three standard classes
29
Implement open, close, read, write system calls Accessed by file system nodes
Look like ordinary data area
31
File Management
Data structures Filename conventions Directory listings
33
Data Structures
Files organized in directories
Connected in treelike structure
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
36
Directory Listings
Creation
ls or ls -l command GUI interface
Displays:
File or directory name Size Modification date and time
Permissions column
Code: files type and access privileges Order of letters indicates the specific access granted
Understanding Operating Systems, Sixth Edition 39
40
42
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
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
46
System Monitor
System Monitor window
System well-being information Immediate history
CPU, memory, network usage
Other information
Supported file systems Currently running processes information
48
49
Service Settings
Variety of services help manage system
Linux distribution dependent (see documentation)
50
System Logs
System logs
Provide detailed description of activity on system Invaluable to administrators
Tracking system malfunction Firewall failure Disabled device
51
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
53
Summary
Originally designed to gain more microcomputer chip power
Evolved into powerful, flexible operating system
Runs supercomputers, cell phones, many devices
Large organizations
Commercial Linux products available
Understanding Operating Systems, Sixth Edition 54