Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Burroughs MCP wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Distributed operating system wikipedia , lookup
Spring (operating system) wikipedia , lookup
Security-focused operating system wikipedia , lookup
Copland (operating system) wikipedia , lookup
Mobile operating system wikipedia , lookup
Information and Communication Technology Fundamentals Credits Hours: 2+1 Instructor: Ayesha Bint Saleem Computer Software Presentation Credits • Dr Altaf Khan, Virtual University • Dr Junaid, EE Dept, SEECS • “Introduction to Computers”, Peter Norton • “Using Information Technology”, Williams & Sawyer At the highest level, two things are required for computing Hardware: The physical equipment in a computing environment such as the computer and its peripheral devices (printers, speakers...) Software: The set of instructions that operates various parts of the hardware. Also termed as “computer program” Computer Software • The HW needs SW to be useful; the SW needs HW to be useful • When the user needs something done by the computer, he/she gives instructions in the form of SW to computer HW • These instructions need to be written in a language that is readily understood by computer uP (microprocessor) Machine Language • That language is called the machine language • Machine language, though readily understood by microprocessors, is very difficult to write in for human programmers • Language translators were invented to overcome this problem Language Translators • Human programmers write programs in a language that is easy to understand for them • They use language translators to convert that program into machine language – a language that is easy to understand for the uPs Two Major Types of SW • System SW • Programs that generally perform the background tasks in a computer. These programs, many times, talk directly to the HW • Application SW • Programs that generally interact with the user to perform work that is useful to the user. These programs generally talk to the HW through the assistance of system SW Types of SW Another way of classifying SW • Shrink-Wrapped SW • You can just go to a shop and buy it • Custom-built SW • You cannot just go to a shop and buy it; you have to find someone who can develop it for you Who Owns Software? • Generally, although a piece of SW that is being used by millions, it is not owned by any of them! Instead, it is owned by the maker of the SW • The makers let us use their SW but keep the ownership to themselves. When we buy a SW package, we do not really buy it – we just buy a license that allows us to use it, the ownership stays with the maker • However, there are variations on this theme … 3 main types of SW licensees 1. Proprietary – Most software on a Windows PC or a Macintosh belongs to this category 2. Freeware – Most software on a Linux PC belongs to that category 3. Shareware – the category which lies between the above two categories Proprietary SW License • The user needs to pay the maker of the SW for buying a license that allows the user to use the SW • The license, generally, does not transfer the ownership of the SW; it just allows the user to use it • The user is legally barred from making copies of the licensed SW. Generally, the license is for the personal use only • Most SW in use in the world is of this type • Examples: Windows, Mac OS, MS Word, Adobe Photoshop, Norton Antivirus Freeware SW License • Also known as “Public Domain SW” • Allows the user free use of the SW • The author, however, generally retains ownership • Can usually be downloaded from various Web sites • Examples: Linux; LaTeX; Netscape Web browser – the Navigator; MS Web browser – the Internet Explorer Freeware: Open-Source SW • Some authors give away the machine code only, which is extremely difficult to modify, if at all! • Others even give away the high-level language source code so that users can make changes according to their own requirements • The later practice is called open-source licensing • Examples: Linux; Netscape Navigator Shareware SW License • Allows the user free use of the SW, but with a request that the user pay the author a small amount (US$10-50) if the user is satisfied with the SW • The author retains ownership • Can usually be downloaded from various Web sites • Examples: WinZip, Download Accelerator Trialware • Similar to shareware, but different • The SW is usable for a short period only • After an initial trial period that can range from a week to a few months, the SW self-destructs • Can be downloaded from the Internet or alternatively, the user can receive a copy my snail-mail by writing to the maker of the SW • Why trialware? • So that the customer can have a risk-free trial for a limited-period only Now to System Software… Hardware Device Driver Operating System Utility Language Translator Scientific Apps. Business Apps. System software Application software Productivity Apps. Entertainment Apps. System SW are programs that … • Control the overall operation of the computer • OS • Interact directly with HW • Device drivers • Perform system management & maintenance • Utilities • Are used to develop or maintain other programs • Language translators The Booting Process •Booting - the process of loading an operating system into a computer’s main memory The Role of An OS • User/ programmer convenience: simple, consistent way for applications to interact with the hardware. • Greater resource utilization: manages the hardware and software resources of the computer system, often invisibly. Benefit for application developers • Don’t have to manage hardware complexity: Application developers can design software for an OS and it will run on all machines that support that OS. The OS hides and manages the hardware complexity and provide an Application Programmer Interface (API). OS Components Device Manager File Manager Loader Kernel Command Interpreter (Shell) GUI Kernel • The heart of the OS • Responsible for all the essential operations like managing resources, task scheduling, etc. • Also contains low-level HW interfaces. • Size important, as it is memory-resident Core Tasks of an OS 1. 2. 3. 4. 5. 6. Processor management Memory management Device management File management Application Interface User Interface Processor Management • Various programs compete for the attention of the microprocessor. • The OS plays the role of the honest referee, making sure that each application gets the necessary attention required for its proper execution. • It tries to optimally manages the limited processing capacity of the microprocessor to the greatest good of all the users & apps Memory Management • Straight forward for a single-user, single tasking • The OS ensures that: • each application has enough private memory • applications do not run into other application’s private memory. • The OS is responsible for efficient utilization of hierarchical system memory (e.g. RAM, cache, etc.). File Management • A file system is a collection of directories, subdirectories, and files organized in a logical order • The OS is responsible for maintaining the file system through indexing of filenames and their disk location. • The OS can find any 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 • Application developers do not need to know much about the hardware • The OS provides all applications with a straight-forward and consistent interface to hardware Example: An application uses the OS to store data on the disk drive without knowing exact physical characteristics of the disk. 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: 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 Graphical User Interface Command Line Interface Types of Operating Systems Classification according to type of computers and applications they support 1. 2. 3. 4. Real-Time Operating System (RTOS) Single-User, Single Task Single-User, Multi-Tasking Multi-User, Multi-Tasking RTOS (Real Time OS) • Used to run computers embedded in machinery, robots, scientific instruments and industrial systems • 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 • Examples: QNX, Real-time Linux Single user/Single tasking OS • OS designed to manage the computer so that one user can effectively do one thing at a time • MS-DOS is an example single-tasking singleuser OS with a command line interface • Take up little space on disk • Run on inexpensive computers Single user/Multitasking OS • Most popular OS, used by most of PCs and Laptops • Lets a single user interact with several programs, simultaneously • Mac OS, Linux Windows XP • Require expensive computers • Tend to be complex Multi user/Multi tasking OS • Multi user/Multitasking OS • Many users connect to one computer • Each user has a unique session • UNIX, Linux, and VMS • Maintenance can be easy • Requires a powerful computer Multi user/Multi tasking OS Firmware • OS components that are stored permanently on chip (ROM) and not on the disk drive • When a computer is powered-on, firmware is the first program that it always executes • Firmware consists of startup and a few low-level I/O routines that assist the computer in finding out and executing the rest of the OS • On IBM-compatible PC’s, it is called BIOS Utilities Computer programs that perform a particular function related to computer system management and maintenance Examples: 1. 2. 3. 4. Anti-virus SW Data compression SW Disk optimization SW Disk backup SW Language Translators Programs that take code written in a HLL and translate it into a low-level language that is easily understood by the uP 1. Compiler translates the program written in a HLL in one go. The translated code is then used by the uP whenever the program needs to be run 2. Interpreter translates the HLL program one statement at time. It reads a single statement, translates it into machine language and passes that machine language code to the uP and then translates the next statement, and so on … Device Drivers • A computer program that facilitates the communication between the computer and a peripheral device (e.g. printer, mouse, etc.) • It takes the instructions and/or data from the computer and converts them into a form that is readily understood by a peripheral device, and vice versa Survey of common Operating Systems for 1. PCs 2. Embedded Systems 3. Networks PC Operating Systems • Microsoft Windows is the most popular • Installed more than other OS combined • Installed on about 95% of computers • Apple and Linux represent the other 5% 7B-46 PC Operating Systems • DOS • Disk Operating System • Single user single-tasking OS • Command line interface • 16-bit OS • Powerful • Fast • Supports legacy applications 7B-47 DOS DOS Application 7B-49 PC Operating Systems • Windows 9x • 95, 98, and Millennium Edition (Me) • 32-bit OS • Supported 16-bit programs well • Very pretty not stable OS • Still found in large corporations • 95 introduced the Start button • 98 introduced active desktop • Me improved multimedia software 7B-53 PC Operating Systems • Windows NT • Designed for a powerful system • 32-bit OS • Very stable • Windows NT Workstation • Single user multi tasking OS • Windows NT Server • Multi user multi tasking OS • Network operating system 7B-55 WINDOWS 2000 PC Operating Systems • Windows 2000 • Look of 9x with NT stability • Optimized for office and developers • Application software ran very well • Entertainment software ran very poorly 7B-57 PC Operating Systems • Windows XP • Different look from 2000 • Many different versions • Digital multimedia support was enhanced • Communications was enhanced • Mobile computing became a priority 7B-59 PC Operating Systems • Windows Vista • Microsoft’s newest desktop product • Updated GUI • Security was enhanced • New multimedia creation tools included • High system requirements 7B-60 PC Operating Systems • UNIX • Runs on all computer types • 32- or 64-bit • Very stable and fast • Command-line interface • Can cost thousands of dollars 7B-61 PC Operating Systems • Linux • Free or inexpensive version of UNIX • 32-bit OS • Very stable and fast • Most flavors are open source • X Windows GUI • Command line interface is available 7B-63 PC Operating Systems • Macintosh operating systems • OS X • Based on FreeBSD Linux • Very stable and easy to configure • Only runs on Mac hardware 7B-66 OS X Desktop 7B-67 Network operating system Features • Fast and stable • Runs on servers • Multi-user and multitasking OS • 32- or 64-bit • File and print sharing • Data security 7B-68 Networking Operating Systems • NT Server • Same core as NT Workstation • Security added • Multi user capability added • RAID support included 7B-69 Networking Operating Systems • Windows 2000 Server • Same technology as 2000 workstation • Active Directory (AD) • Central database of server resources • Simplifies network management • Distributed programs supported • Server Standard Edition • Advanced Server Edition • Data Center Edition 7B-70 Networking Operating Systems • Windows 2003 Server • Designed to compete with UNIX • XP like interface • Better support for XP computers • MS .NET framework supported • Distributed programs are supported • Server Standard Edition • Data Center Edition 7B-71 Networking Operating Systems • UNIX for servers • Oldest NOS in widespread use • Stable secure and fast • Main OS for Internet and Web • Large organizations depend on UNIX 7B-72 Networking Operating Systems • Linux for servers • Popular in small businesses • Stable, fast and inexpensive • Linux’s popularity is growing 7B-73 Embedded Operating Systems Embedded Operating Systems • Also called real time operating system • Devices have EOS built in • Designed to be very compact and efficient • Run specialized application • Stable and fast • Deterministic interrupt latency • Cell phones, PDAs, medical equipment 7B-75 Embedded Operating Systems • Windows XP embedded • Based on Windows XP • Customized for each device 7B-76 Embedded Operating Systems • Windows CE • Not based on a desktop OS • Customized for each device • PDA and cell phones • Microsoft Automotive will run in cars 7B-77 Pocket PC OS Palm OS Symbian OS Embedded Operating Systems • Palm OS • Standard on Palm PDA • First PDA OS for consumers • Can be found on cell phones 7B-81 Embedded Operating Systems • Pocket PC • Developed to compete with Palm • Not customizable • Interacts securely with business networks • Can control PCs through PC 7B-82 Embedded Operating Systems • Symbian • Found in smart cell phones • Games, Instant Messaging, Internet • Full color display 7B-83 OS Survey Summary END of LECTURE