Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | donald-craig |
View: | 225 times |
Download: | 2 times |
Operating systems
Most important program that runs on a computer Every general-purpose (such as desktop) computer must
have OS to run other programs Manages the hardware and software resources of the
system Provides stable and consistent way for applications to
deal with the hardware without having to know all the details
Most common Windows, UNIX, Macintosh
Many other OS designed for special-purpose applications mainframes, robotics, manufacturing, real-time control
systems
Managing hardware and software
Various programs and input methods compete for the attention of the central processing unit (CPU) programs and methods demand memory, storage
and input/output (I/O) bandwidth for their own purposes
OS makes sure each application gets the necessary resources while cooperating with the other applications economizes capacity of the system to greatest
benefit of users and applications.
Providing consistent application interface
Important if more than one type of computer is using OS or if computer hardware is open to change
A consistent application program interface (API) allows software developer to write an application on one computer and have a high level of confidence that it will run on another computer of the same type even if the amount of memory or the quantity of
storage is different on the two machines OS can ensure that applications continue to run when
hardware upgrades and updates occur OS and not the application is charged with
managing the hardware and the distribution of its resources
Tasks of the OS
A task refers to the combination of a program being executed and bookkeeping information used by the operating system
Tasks of the OS: Processor management Memory management Device management Storage management Application interface User interface
Processor management
Ensuring that each process and application receives enough of the processor's time to function properly
Using as many processor cycles for real work as is possible
Processes (thread) schedule work done by processor CPU can only do one thing at a time OS has to switch between different processes
thousands of times a second OS sets a certain number of CPU execution cycles
to one program, after those cycles switches to another program, etc.
Memory and storage management
Each process must have enough memory in which to execute, and it can neither run into the memory space of another process nor be run into by another process
The different types of memory in the system must be used properly so that each process can run most effectively
Memory types High-speed cache - fast, small amounts of memory
available to the CPU, where cache controllers predict which data CPU will need next and pull it from main memory
Main memory - RAM Secondary memory - disk
Paging
OS must balance the needs of the various processes with the availability of the different types of memory
Not enough memory to run all processes simultaneously Processes not running take up space in memory Paging: allocating physical memory to processes in
fixed-size blocks called pages Separate programs into pages and keep only a few
pages of each running program in memory at one time active pages kept in memory inactive pages kept on disk, brought in as needed
Moving pages in and out of memory is called swapping
Thrashing
If user runs too many processes at the same time, OS will use majority of its available CPU cycles to swap between processes rather than run processes
Paging or swapping systems that are overloaded waste most of their time moving data rather than performing useful computation
Thrashing CPU utilization, system throughput and system
response time decrease resulting poor performance of a system
Risk of thrashing increases with degree of multiprogramming
Device management
Device driver path between the operating system and (most)
hardware not on computer's motherboard translator between signals of the hardware
subsystems and high-level programming languages of the OS and application programs
takes file data from OS and translates into bit streams put in specific locations on storage devices
Drivers are run when device is required, function basically like any other process
OS assigns high-priority blocks to drivers so hardware resources can be released and readied for further use as quickly as possible
Application and user interfaces
Application Program Interfaces (APIs) allow application programmers to use functions of
computer and OS without worrying about details of CPU operation
provides a consistent way for applications to use the resources of the computer system
User Interface (UI) brings structure to the interaction between a user
and the computer program or set of programs that sits as a layer
above the OS usually a graphical user interface (GUI)
Classification
Multi-user allows many different users to take advantage of the
computer's resources simultaneously balance requirements of users, programs have sufficient and
separate resources Single-user, multi-tasking
most desktop and laptop computers today single user operates many programs at same time
Single-user, single task one user can effectively do one thing at a time Palm OS
Real time (RTOS) particular operation executes in precisely the same amount
of time every time it occurs machinery, scientific instruments and industrial systems
Types of operating systems
Open Source
Description of software distributed as source code under licenses that guarantee everyone the right to freely use, change, or redistribute the source code
Initiated by Bruce Perens primary author of The Open Source Definition, the
formative document of Open Source movement
The basic idea behind open source is very simple: Whenprogrammers can read, redistribute, and modify the sourcecode for a piece of software, the software evolves. Peopleimprove it, people adapt it, people fix bugs. And this canhappen at a speed that, if one is used to the slow pace ofconventional software development, seems astonishing.
www.opensource.org
Open Source definition
Distribution terms of open-source software must comply with the following criteria:1. free redistribution2. source code3. derived works4. integrity of the author's source code5. no discrimination against persons or groups6. no discrimination against fields of endeavor7. distribution of license8. license must not be specific to a product9. the license must not restrict other software10. the license must be technology-neutral
www.opensource.org
The GNU Project
Founded by Richard Stallman Launched in 1984 to develop a complete free
Unix- like operating system: GNU GNU Manifesto
written by Stallman at start of GNU Project to ask for participation and support
GNU is free software everyone is free to copy
and redistribute it as well as make changes either large or small
www.gnu.org
Linux
Linux is a Unix-like kernel, created by Linus Torvalds in 1991
Linux together with the GNU operating system made a complete free system: a Linux-based version of the GNU system GNU/Linux system
GNU/Linux systemsare in widespread use estimated 20 million users
Complete, free OS
References
www.webopedia.com www.howstuffworks.com www.linux.org www.microsoft.com www.apple.com www.opensource.org www.stallman.org www.gnu.org www.perens.com FOLDOC