ZeePedia buy college essays online


Introduction to Computing

<<< Previous Operating System: functions, components, types of operating systems Next >>>
 
img
Introduction to Computing ­ CS101
VU
LESSON 11
OPERATING SYSTEMS
Focus of the last lecture: Computer SW
We found out about the role SW plays in a computing environment
We learned to distinguish between SW belonging to the system & application categories
Also discussed the different types of SW licenses:
Proprietary
Free
Open source
Shareware
Trialware
Learning Goals for Today
The role of the operating system in a computing environment
The various functions that an operating system performs
The main components of an operating system
Various types of operating systems
11.1 Why Have OSes?
User/programmer convenience
Greater resource utilization
The Role of An OS
The 1st program that runs when a typical computer is turned ON, and the last one to finish running
when the computer is turned OFF.
It manages the HW and SW resources of the computer system, often invisibly. These include the
processor, memory, disk drives, etc.
It provides a simple, consistent way for applications to interact with the HW without having to know all
the details of the HW
Advantage for App. Developers
Application developers do not need to know much about the HW while they are developing their app
They just develop with a particular OS in mind. If the OS runs on many types of computers having
different HW configurations, so will the app ­ without making any HW-specific modifications in the
app SW. The OS hides the HW differences from the app
Are OS'es Essential?
No. If a computer has been designed for limited functionality (e.g. it runs just a single program all the
time as in a automatic clothes washing machine), it does not require a traditional OS
In limited-functionality computers, an OS just adds to the overhead unnecessarily, which impedes the
computer's performance. In these situations, the required parts of the OS are integrated into the the only
program that is going to run.
In the beginning ...
A single user ran a single program ran on a single computer ­ there was no need for an OS
Then came computer operators who ran multiple programs for multiple users one after the other ­ still,
no need for an OS
57
img
Introduction to Computing ­ CS101
VU
Later computers became powerful, & became able to run multiple programs, simultaneously. That's
when the need for OS'es arose for:
Managing the resources of the computers efficiently
Making use of computers convenient for users/programmers
11.2 Core Tasks of an OS
Processor management
Memory management
Device management
Storage management
Application Interface
User Interface
Processor Management
Memory Management
Straight forward for a single-user, single tasking
Each app must have enough private memory in which to execute
App can neither run into the private memory space of another app, nor be run into by another app
Different types of memory (e.g. main, cache) in the system must be used properly, so that each app can
run most effectively
Storage Management
The OS manages storage through one of its sub-modules, the File Manager
A file system is a collection of directories, subdirectories, and files organized in a logical order.
File manager maintains an index of the filenames & where they are located on the disk.
File manager make it easy to find the required file in a logical and timely fashion.
Device Management
Applications talk to devices through the OS and OS talks to and manages devices through Device
Drivers
Example: When we print to a laser printer, we do not need to know its details. All we do is to tell the
printer device driver about what needs to be printed and it takes care of the details
Application Interface
App developers do not need to know much about the HW, especially the uP, while they are developing
their app
The OS provides all apps with a straight-forward and consistent interface to the HW
Example: An app uses the OS to store data on the disk drive. For that, the app does not need to know
about the exact physical characteristics of that drive; it just tells the OS to do that through the app
interface, and the OS takes cares of all the details of the task
User Interface
Users communicate with the computer using a consistent user interface provided by the OS
This UI can be a command-line interface in which a user types in the commands. Example:
58
img
Introduction to Computing ­ CS101
VU
copy a:/file1.html c:/file1.html
Or, it can be a graphical UI, where Windows, Icons, Menus, and a Pointing device (such as a mouse) is
used to receive and display information. Example:
With the help of the mouse, drag file1.html from drive a to drive c
11.3 OS Components
Error!
Device
Manager
File
Manager
Kernel
Loader
Command
Interpreter
(Shell) GUI
11.4 Kernel
The heart of the OS
Responsible for all the essential operations like basic house keeping, task scheduling, etc. Also contains
low-level HW interfaces
Size important, as it is memory-resident
11.5Types of OS'es
Classification w.r.t. the type of computers they run on and the type of applications they support
Real-Time Operating System (RTOS)
Single-User, Single Task
Single-User, Multi-Tasking
Multi-User
RTOS (1)
Used to run computers embedded in machinery, robots, scientific instruments and industrial systems
Typically, it has little user interaction capability, and no end-user utilities, since the system will be a
"sealed box" when delivered for use
Examples: Wind River, QNX, Real-time Linux, Real-time Windows NT
RTOS (2)
An important part of an RTOS is managing the resources of the computer so that a particular operation
executes in precisely the same amount of time every time it occurs
In a complex machine, having a part move more quickly just because system resources are available
may be just as catastrophic as having it not move at all because the system was busy
Single-User, Single Task
OS'es designed to manage the computer so that one user can effectively do one thing at a time
The Palm OS used in many palmtop computers (PDA's) is an example of a single-user, single-task OS
59
img
Introduction to Computing ­ CS101
VU
Single-User, Multi-Tasking
Most popular OS
Used by most all PC's and Laptops
Examples: Windows, Mac OS, Linux
Lets a single user interact with several programs, simultaneously
Multi-User
A multi-user OS allows many users to take advantage of the computer's resources, simultaneously
The OS must make sure that the requirements of the various users are balanced, and that the programs
they are using each have sufficient and separate resources so that a problem with one user doesn't affect
any of the other users
Examples: Linux, Unix, VMS and mainframe OS'es, such as MVS
11.6 Another Way of Classifying
Uni-processor OS'es
Designed to schedule tasks on a single uP only
Example:
DOS
Multi-processor OS'es
Can control computers having multiple uPs, at times 1000's of them
Example: Current versions of Windows, Mac
OS, Linux, Solaris
11.7 How many different OS'es are there?
100's
OS'es from the Windows family dominate the desktops and run on millions of PC's
OS'es from the Unix family (Unix, Linux, etc) are quite popular on servers
There are hundreds more. Some designed for mainframes only. Some for embedded applications only.
11.8 Comparing Popular OS'es
OS
HW
Stability
Cost
Apps.
Support
Security
Popularity
Huge
Windows
PC
Poor
$300
OK
Poor
Amazing
no.
(GUI)
Mac OS
Mac
Good
$60
Many OK
Good
Low
(Shell/GUI)
Linux
Many Good
Low
Many Variable
Good
Low
(Shell/GUI)
Unix
Many Excellent High Many Expensive Excellent Servers
(Shell/GUI)
What have we learnt today?
The role of the OS in a computing environment
The various functions that an OS performs
The main components of an OS
Various types of OS'es
60
img
Introduction to Computing ­ CS101
VU
Next Lecture: Application SW
We'll learn about application SW, i.e. programs that interact directly with the user for the performance
of a certain type of work
We'll try to become familiar with various SW used in the following application areas:
Scientific/engineering/graphics
Business
Productivity
Entertainment
Educational
61
Table of Contents:
  1. INTRODUCTION
  2. EVOLUTION OF COMPUTING
  3. World Wide Web, Web’s structure, genesis, its evolution
  4. Types of Computers, Components, Parts of Computers
  5. List of Parts of Computers
  6. Develop your Personal Web Page: HTML
  7. Microprocessor, Bus interface unit, Data & instruction cache memory, ALU
  8. Number systems, binary numbers, NOT, AND, OR and XOR logic operations
  9. structure of HTML tags, types of lists in web development
  10. COMPUTER SOFTWARE: Operating Systems, Device Drivers, Trialware
  11. Operating System: functions, components, types of operating systems
  12. Forms on Web pages, Components of Forms, building interactive Forms
  13. APPLICATION SOFTWARE: Scientific, engineering, graphics, Business, Productivity, Entertainment, Educational Software
  14. WORD PROCESSING: Common functions of word processors, desktop publishing
  15. Interactivity to Forms, JavaScript, server-side scripts
  16. ALGORITHMS
  17. ALGORITHMS: Pseudo code, Flowcharts
  18. JavaScript and client-side scripting, objects in JavaScript
  19. Low, High-Level, interpreted, compiled, structured & object-oriented programming languages
  20. Software Design and Development Methodologies
  21. DATA TYPES & OPERATORS
  22. SPREADSHEETS
  23. FLOW CONTROL & LOOPS
  24. DESIGN HEURISTICS. Rule of thumb learned through trial & error
  25. WEB DESIGN FOR USABILITY
  26. ARRAYS
  27. COMPUTER NETWORKS: types of networks, networking topologies and protocols
  28. THE INTERNET
  29. Variables: Local and Global Variables
  30. Internet Services: FTP, Telnet, Web, eMail, Instant messaging, VoIP
  31. DEVELOPING PRESENTATIONS: Effective Multimedia Presentations
  32. Event Handlers
  33. GRAPHICS & ANIMATION
  34. INTELLIGENT SYSTEMS: techniques for designing Artificial Intelligent Systems
  35. Mathematical Functions in JavaScript
  36. DATA MANAGEMENT
  37. DATABASE SOFTWARE: Data Security, Data Integrity, Integrity, Accessibility, DBMS
  38. String Manipulations:
  39. CYBER CRIME
  40. Social Implications of Computing
  41. IMAGES & ANIMATION
  42. THE COMPUTING PROFESSION
  43. THE FUTURE OF COMPUTING
  44. PROGRAMMING METHODOLOGY
  45. REVIEW & WRAP-UP of Introduction to Computing