Modern operating system.......

  • 426 views
Uploaded on

certain facts and info on os

certain facts and info on os

More in: Education , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
426
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
22
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1.    The operating system (OS) is the first thing loaded onto the computer -- without the operating system, a computer is useless. operating systems can now be found on many of the devices we use every day, from cell phones to wireless access points. The purpose of an operating system is to organize and control hardware and software so that the device it lives in behaves in a flexible but predictable way.
  • 2. Not all computers have operating systems. The computer that controls the microwave oven in your kitchen, for example, doesn't need an operating system. It has one set of tasks to perform, very straightforward input to expect (a numbered keypad and a few pre-set buttons) and simple, neverchanging hardware to control. For a computer like this, an operating system would be unnecessary baggage, driving up the development and manufacturing costs significantly and adding complexity where none is required. Instead, the computer in a microwave oven simply runs a single hard-wired program all the time.
  • 3.  All desktop computers have operating systems. The most common are the Windows family of operating systems developed by Microsoft, the Macintosh operating systems developed by Apple and the UNIX family of operating systems (which have been developed by a whole history of individuals, corporations and collaborators). There are hundreds of other operating systems available for special-purpose applications, including specializations for mainframes, robotics, manufacturing, realtime control systems and so on.
  • 4.   Operating system are made of portable code instead of permanent physical circuits so that changes can be made regularly as an when required without scrapping the whole device For a desktop computer user, this means you can add a new security update, system patch, new application or even an entirely new operating system rather than junk your computer and start again with a new one when you need to make a change.
  • 5.       Processor management Memory management Device management Storage management Application interface User interface
  • 6. SYSTEM COMPONENTS These are the pieces of the system we’ll be looking at: Process Management Main Memory Management File Management I/O System Management Secondary Management Networking Protection System Command-Interpreter System 2: OS Structures 8
  • 7. SYSTEM COMPONENTS PROCESS MANAGEMENT A process is a program in execution: (A program is passive, a process active.) A process has resources (CPU time, files) and attributes that must be managed. One (or more) threads are the schedulable entities within a process. Management of processes includes: Thread Scheduling (priority, time management, . . . ) Creation/termination Block/Unblock (suspension/resumption ) Synchronization Communication Deadlock handling Debugging 2: OS Structures 9
  • 8. System Components MAIN MEMORY MANAGEMENT Allocation/de-allocation for processes, files, I/O. Maintenance of several processes at a time Keep track of who's using what memory Movement of process memory to/from secondary storage. FILE MANAGEMENT A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data. The operating system is responsible for the following activities in connections with file management: • File creation and deletion. • Directory creation and deletion. • Support of primitives for manipulating files and directories. • Mapping files onto secondary storage. • File backup on stable (nonvolatile) storageOS Structures 2: media. 10
  • 9. System Components I/O MANAGEMENT Buffer caching system Generic device driver code Drivers for each device - translate read/write requests into disk position commands. SECONDARY STORAGE MANAGEMENT Disks, tapes, optical, ... Free space management ( paging/swapping ) Storage allocation ( what data goes where on disk ) Disk scheduling 2: OS Structures 11
  • 10. System Components NETWORKING Communication system between distributed processors. Getting information about files/processes/etc. on a remote machine. Can use either a message passing or a shared memory model. PROTECTION Of files, memory, CPU, etc. Means controlling of access Depends on the attributes of the file and user How Do These All Fit Together? In essence, they all provide services for each other. SYSTEM PROGRAMS Command Interpreters -- Program statements (shell, GUI interface, etc.) that accepts control Compilers/linkers Communications (ftp, telnet, etc.) 2: OS Structures 12
  • 11.  It manages the hardware and software resources of the system. In a desktop computer, these resources include such things as the processor, memory, disk space and more (On a cell phone, they include the keypad, the screen, the address book, the phone dialer, the battery and the network connection).
  • 12.     It provides a stable, consistent way for applications to deal with the hardware without having to know all the details of the hardware. A consistent application program interface (API) allows a 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. Operating system must also ensure that the application should continue to run even if there is a hardware upgrade, data migrates on different device etc. One of the challenges facing developers is keeping their operating systems flexible enough to run hardware from the thousands of vendors manufacturing computer equipment. Today's systems can accommodate thousands of different printers, disk drives and special peripherals in any possible combination.
  • 13.  Based on Environment ◦ CUI ◦ GUI  Based on Functions ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ Real-time operating system Single-user, single task Single-user, multi-tasking Multi-user , multi-tasking Multiprocessing O/S Multithreading O/S Networking O/S Batch Processing O/S Distributed O/S
  • 14.  This operating system is totally command dependent. One can work on this environment only if they are familiar with the respective O/S command ◦ Eg. MS-DOS
  • 15.   GUI - Short for Graphical User Interface, a GUI Operating System contains graphics and icons and is commonly navigated by using a computer mouse. See the GUI definition for a complete definition. Below are some examples of GUI Operating Systems. System 7.x Windows 98 Windows CE
  • 16.   RTOS is specially designed for embedded environments such as consumer devices, automobiles and robotics. A real-time operating system (RTOS) is an operating system (OS) intended to serve realtime application requests. It must be able to process data as it comes in, typically without buffering delays. Processing time requirements (including any OS delay) are measured in tenths of seconds or shorter.
  • 17.    RTOS) - Real-time operating systems are used to control machinery, scientific instruments and industrial systems. An RTOS typically has very little user-interface capability, and no end-user utilities, since the system will be a "sealed box" when delivered for use. A very 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.
  • 18.         A common example of an RTOS is an HDTV receiver and display. It needs to read a digital signal, decode it and display it as the data comes in. Any delay would be noticeable as jerky or pixelated video and/or garbled audio. Some of the best known, most widely deployed, realtime operating systems LynxOS OSE QNX RTLinux VxWorks Windows CE
  • 19.   As the name implies, this operating system is designed to manage the computer so that one user can effectively do one thing at a time. The Palm OS for Palm handheld computers is a good example of a modern single-user, single-task operating system. EG. MS-DOS
  • 20.    An example of a this kind of O/S would be the O/S of a basic mobile phone or an mp3 player. There can only be one user using the device and that person is only using one of its applications at a time An MP3 player contains a computer to handle all of its functions. It has a small amount of memory and a number of specialist silicon chips . The operating system is installed in memory and runs as soon as you switch on the device.
  • 21.   This is the type of operating system most people use on their desktop and laptop computers today. Microsoft's Windows and Apple's MacOS platforms are both examples of operating systems that will let a single user have several programs in operation at the same time. For example, it's entirely possible for a Windows user to be writing a note in a word processor while downloading a file from the Internet while printing the text of an e-mail message. Another word for multi-tasking is multiprogramming ◦ E.g. Windows 95.
  • 22.  A multi-user operating system allows many different users to take advantage of the computer's resources simultaneously. The operating system must make sure that the requirements of the various users are balanced, and that each of the programs they are using has sufficient and separate resources so that a problem with one user doesn't affect the entire community of users. Unix, VMS and mainframe operating systems, such as MVS, are examples of multi-user operating systems.
  • 23.  Examples of this kind of O/S include various versions of UNIX, LINUX, IBM’s z/OS, OS390, MVS and VM
  • 24.    Operating system that supports networking examples of a network O/S include Windows Vista, Windows 8 and Mac O/S X , Unix, Linux and all other mainframes O/S A network O/S system should have the following features :◦ Deal with users logging on ◦ Maintain the network connection to the sercver ◦ Expand the file system to view folders on other computers ◦ Provide security to separate user accounts from each other
  • 25.    This is one of the modern operating system It is a O/S that supports distributed computing Distributed systems allow users to share resources on geographically dispersed hosts connected via a computer network. Services could be provided either through a ClientServer Model or a Peer-to-Peer model
  • 26.    A distributed system is a collection of loosely coupled processors interconnected by a communication network. The processors in a distributed system may vary in size and function. They may include microprocessors, workstations, minicomputers and large general purpose computer systems They are referred as sites, nodes, computers, machines and hosts
  • 27.  There are two types distributed System ◦ Parallel Computing ◦ Distributed Computing
  • 28.     In the most simple form = Parallel Computing is a method where several individual (autonomous) systems (CPU's) work in tandem to resolve a common computing workload. Distributed Computing is where several dis-associated systems are working separately to resolve a multi-faceted computing workload. An example of Parallel computing would be two servers that share the workload of routing mail, managing connections to an accounting system or database, solving a mathematical problem, etc.... Distributed Computing would be more like the SETI (Search for extra-terresterial intelligence). Program, where each client works a separate "chunk" of information, and returns the completed package to a centralized resource that's responsible for managing the overall workload. If you think of ten men pulling on a rope to lift a load, that is parallel computing. If ten men have ten ropes and are lifting ten different loads from one place to consolidate at another place, that would be distributed computing. In Parallel Computing all processors have access to a shared memory. In distributed computing, each processor has its own private memory
  • 29.     Resource Sharing Computation Speedup Reliability Communication
  • 30.  If number of different sites are connected to one another, then a user at one site may be able to use the resources available at another. For. E.g. a user at site A may be using a laser printer located at site B
  • 31.   If a particular computation can be partitioned into subcomputations that can run concurrently then a distributed system allows us to distribute the subcomputations among various sites. There also exist automated load sharing in which the distributed operating system automatically moves jobs among several sites that are lightly loaded.
  • 32.   If one site fails in a distributed system the remaining sites can continue operating giving the system better reliability. Data is replicated among several sites in a distributed system so that even if one site fails data still can be access from other sites.
  • 33.  When several sites are connected to one another by a communication network, the users at different sites have the opportunity to exchange information like pass message among themselves, collaborate on project by transferring the files of the project, logging in to each other’s remote systems to run programs and exchanging mail to coordinate the work.
  • 34.  With the advent of computer networks, in which many computers are linked together and are able to communicate with one another, distributed computing became feasible. A distributed computation is one that is carried out on more than one machine in a cooperative manner. A group of linked computers working cooperatively on tasks, referred to as a distributed system, often requires a distributed operating system to manage the distributed resources
  • 35. The operating systems commonly used for distributed computing systems can be broadly classified into two types –Network operating systems -Distributed operating systems. The three most important features commonly used to differentiate between these two types of operating systems are o System image, o Autonomy, and o Fault tolerance capability. 
  • 36.   System image: Under network OS, the user views the distributed system as a collection of machines connected by a communication subsystem. i.e the user is aware of the fact that multiple computers are used. A distributed OS hides the existence of multiple computers and provides a single system image to the users. Autonomy: A network OS is built on a set of existing centralized OSs and handles the interfacing and coordination of remote operations and communications between these OSs. So, in this case, each machine has its own OS. With a distributed OS, there is a single system-wide OS and each computer runs part of this global OS.
  • 37. Fault tolerance capability: A network operating system provides little or no fault tolerance capability in the sense that if 10% of the machines of the entire distributed computing system are down at any moment, at least 10% of the users are unable to continue with their work. On the other hand, with a distributed operating system, most of the users are normally unaffected by the failed machines and can continue to perform their work normally, with only a 10% loss in performance of the entire distributed computing system. Therefore, the fault tolerance capability of a distributed operating system is usually very high as compared to that of a network operating system 
  • 38.     Real Time Embedded Systems Multimedia Systems Handheld Systems Clustered Systems
  • 39.  http://www.cs.uni.edu/~mccormic/RealTime/ what.html ◦ E.g. ABS(Antilock Breaking Systems) and Security Systems in Automobiles
  • 40.  Supports multiple kinds of applications ◦ Multimedia applications : Streaming audio, video games, etc. ◦ Traditional applications : Editors, compilers, web servers, etc. ◦ Different applications have different requirements For e.g. interactive applications like Editors, compilers require low or average response time ◦ While soft real time applications like streaming media , virtual games requires high response time ◦ Multimedia O/S divides resources according to application requirements. E.g. 30 % of CPU to streaming and 20% to http server,… etc.
  • 41.     Multimedia data consist of audio and video files as well as conventional files. These data differ from conventional data in that multimedia data such as frame of video must be delivered according to certain time restrictions (for e.g., 30 frames per second) Multimedia applications may also include live webcasts(broadcast over the world wide web) of speeches or sporting events and even live webcams that allow a viewer n Manhattan to observe customers at a café in Paris. Multimedia applications also run on smaller devices. Eg. Stock trader may have stock quotes delivered wirelessly and in real time to his PDA.
  • 42.   A mobile operating system, also referred to as mobile OS, is the operating system that operates a smartphone, tablet, PDA, or other digital mobile devices. Modern mobile operating systems combine the features of a personal computer operating system with a touchscreen, cellular, Bluetooth, WiFi, GPS mobile navigation, camera, video camera, speech recognition, voice recorder, music player, Near field communication, Infrared Blaster, and other features. E.g. Android from google inc., Blackberry10 from Blackberry, iOS from Apple Inc. Nokia Asha Platform from Nokia, Symbian OS from Nokia etc.
  • 43.  Cluster computing is a type of distributed computing. Distributed computing just means coordinating a number of computers to accomplish a single task. Cluster computing means the computers are specifically organized just to work together to accomplish a single task. For example, massively parallel "grid computing" projects like seti@home and folding@home are examples of distributed computing but they are not cluster computing. Here, the computers all work together to accomplish a task, so this is distributed computing. But they are not specifically arranged for this purpose (the arrangement is haphazard and uncoordinated with computers all over the place being randomly added and removed from the set working on the problem), so they are not a cluster and this is not cluster computing.
  • 44.   What is SETI@home? SETI@home is a scientific experiment that uses Internetconnected computers in the Search for Extraterrestrial Intelligence (SETI). You can participate by running a free program that downloads and analyzes radio telescope data. E.g. http://setiathome.berkeley.edu/sah_about.php Folding@home (FAH or F@h) is a distributed computing project for disease research that simulates protein folding, computational drug design, and other types of molecular dynamics. The project uses the idle processing resources of thousands of personal computers owned by volunteers who have installed the software on their systems. Its primary purpose is to determine the mechanisms of protein folding, which is the process by which proteins reach their final three-dimensional structure, and to examine the causes of protein misfolding.
  • 45.  A clustered system uses multiple CPUs to complete a task. It is different from parallel system in that clustered system consists of two or more individual systems tied together. The clustered computers share storage and are closely linked via LAN networking. The clustering is usually performed to provide high availability. A layer of cluster software runs on cluster nodes. Each node can monitor one or more nodes over the LAN. The monitored machine can fail in some cases. The monitoring machine can take ownership of its storage. The monitoring machine can also restart applications that were running on the failed machine- The failed machine can remain down but the users will see a brief of the service. The clustered system can be of the following forms: • Asymmetric Clustering: In this form, one machine is in hot standby mode and other machine is running the application. The hot standby machine performs nothing. It only monitors the server. It becomes the active server if the server fails. • Symmetric Clustering: In this mode, two or more machines run the applications. They also monitor each other at the same time. This mode is more efficient because it uses all available machines. It can be used only if multiple applications are available to be executed.
  • 46.     Client Server Peer to Peer Web Based Computing Cloud Computing
  • 47.  Embedded means that a computer is embedded in the device - like a car or a microwave oven. Web-based computing puts the program on the web site - like Google documents. Traditional computing is a traditional computer (keyboard, screen, etc.) with the applications running, and the data stored, on the computer.
  • 48.   Where once all the talk about personal computing was based on desktop, laptop or notebook computers, all of which ran applications locally, now it seems, the buzz is all about web based computers - smartphones, tablets, Chromebooks and more recently, the Surface Tablet from Microsoft. It's subtle, yet suddenly, inevitable. As surely as we bought a personal computer before, now we're all pondering the choices of web based computers, even as some wonder what the difference is. The short answer is that they are computers with weaker processors and no hard drives that run applications off the "cloud instead of locally and generally have touch screens to make using them easier. They're also generally lighter and smaller than so-called "real" computers.
  • 49. WHY WEB BASED COMPUTING  That answer is just as easy - because they are cheaper. Computers cost less if you don't have to have to include a hard drive. They also cost less if you don't have to buy and install software on them, and that is the real driving force behind the switch. Less obvious is that users can use more than one of them rather seamlessly. Consider the new Surface Tablet from Microsoft. It runs a webcomputer based version of Windows that looks virtually identical to Windows 8 which runs on real computers. This means users don't have to learn two systems. But it means more than that, it means that users can use web, or cloud based apps instead of those they install locally, e.g. Google Docs, Facebook, Flickr, etc. to create, manipulate and store their work, which they can then access using their phone, Chromebook, or any other web based device.
  • 50.   All of this is evident as reports of a slowdown in sales of real computers contrasts with those noting bigger numbers for iOS, Android and now Windows 8/RT based machines, which are essentially all the same breed: computers that do little except allow users to browse the web, access social media and play music or video files. It's the newest trend in personal computing, and it's been going on for long enough now, that most have heard the rumblings.
  • 51.    In science, cloud computing is a synonym for distributed computing over a network and means the ability to run a program on many connected computers at the same time. Cloud computing is a type of computing that relies on sharing computing resources rather than having local servers or personal devices to handle applications. It is called cloud computing because the data and applications exist on a “cloud” of WEB servers.
  • 52.     ASSEMBLERS COMPILERS INTERPRETERS LINKERS
  • 53.   A program that translates programs from assembly language to machine language. An assembler is a program that takes basic computer instructions and converts them into a pattern of bits that the computer's processor can use to perform its basic operations. Some people call these instructions assembler language and others use the term assembly language.
  • 54.  Most computers come with a specified set of very basic instructions that correspond to the basic machine operations that the computer can perform. For example, a "Load" instruction causes the processor to move a string of bits from a location in the processor's memory to a special holding place called a register. Assuming the processor has at least eight registers, each numbered, the following instruction would move the value (string of bits of a certain length) at memory location 3000 into the holding place called register 8: L 8,3000
  • 55.      The programmer can write a program using a sequence of these assembler instructions. This sequence of assembler instructions, known as the source code or source program, is then specified to the assembler program when that program is started. The assembler program takes each program statement in the source program and generates a corresponding bit stream or pattern (a series of 0's and 1's of a given length). The output of the assembler program is called the object code or object program relative to the input source program. The sequence of 0's and 1's that constitute the object program is sometimes called machine code. The object program can then be run (or executed) whenever desired.
  • 56.  Today, assembler programming is used only where very efficient control over processor operations is needed. It requires knowledge of a particular computer's instruction set, however.
  • 57.   Historically, most programs have been written in "higher-level" languages such as COBOL, FORTRAN, PL/I, and C. These languages are easier to learn and faster to write programs with than assembler language. The program that processes the source code written in these languages is called a compiler. A compiler is a program that translates a source program written in some high-level programming language (such as Java) into machine code for some computer architecture (such as the Intel Pentium architecture). The generated machine code can be later executed many times against different data each time.
  • 58.  A program that translates source code into object code. The compiler derives its name from the way it works, looking at the entire piece of source code and collecting and reorganizing the instructions. Thus, a compiler differs from an interpreter, which analyzes and executes each line of source code in succession, without looking at the entire program. The advantage of interpreters is that they can execute a program immediately. Compilers require some time before an executable program emerges. However, programs produced by compilers run much faster than the same programs executed by an interpreter.
  • 59.  Because compilers translate source code into object code, which is unique for each type of computer, many compilers are available for the same language. For example, there is a FORTRAN compiler for PCs and another for Apple Macintosh computers. In addition, the compiler industry is quite competitive, so there are actually many compilers for each language on each type of computer. More than a dozen companies develop and sell C compilers for the PC.
  • 60.    A program that executes instructions written in a high-level language. There are two ways to run programs written in a high-level language. The most common is to compile the program; the other method is to pass the program through an interpreter. An interpreter translates high-level instructions into an intermediate form, which it then executes. In contrast, a compiler translates highlevel instructions directly into machine language. Compiled programs generally run faster than interpreted programs. The advantage of an interpreter, however, is that it does not need to go through the compilation stage during which machine instructions are generated. This process can be time-consuming if the program is long. The interpreter, on the other hand, can immediately execute high-level programs. For this reason, interpreters are sometimes used during the development of a program, when a programmer wants to add small sections at a time and test them quickly. In addition, interpreters are often used in education because they allow students to program interactively. Both interpreters and compilers are available for most high-level languages. However, BASIC and LISP are especially designed to be executed by an interpreter. In addition, page description languages, such as PostScript, use an interpreter. Every PostScript printer, for example, has a built-in interpreter that executes PostScript instructions.
  • 61.   Also called link editor and binder, a linker is a program that combines object modules to form an executable program. Many programming languages allow you to write different pieces of code, called modules, separately. This simplifies the programming task because you can break a large program into small, more manageable pieces. Eventually, though, you need to put all the modules together. This is the job of the linker. In addition to combining modules, a linker also replaces symbolic addresses with real addresses. Therefore, you may need to link a program even if it contains only one module.
  • 62. Operating system Date first released Platform Developer AIX and AIXL Unix and Linux history. Various IBM AmigaOS Currently no AmigaOS history. Amiga Commodore BSD Unix and Linux history. Various BSD Caldera Linux Unix and Linux history. Various SCO Corel Linux Unix and Linux history. Various Corel Debian Linux Unix and Linux history. Various GNU DUnix Unix and Linux history. Various Digital DYNIX/ptx Unix and Linux history. Various IBM HP-UX Unix and Linux history. Various Hewlett Packard IRIX Unix and Linux history. Various SGI Kondara Linux Unix and Linux history. Various Kondara Linux Unix and Linux history. Various Linus Torvalds
  • 63. MAC OS 8 Apple operating system history. Apple Macintosh Apple MAC OS 9 Apple operating system history. Apple Macintosh Apple MAC OS 10 Apple operating system history. Apple Macintosh Apple MAC OS X Apple operating system history. Apple Macintosh Apple Mandrake Linux Unix and Linux history. Various Mandrake MINIX Unix and Linux history. Various MINIX MS-DOS 1.x MS-DOS history. IBM Microsoft MS-DOS 2.x MS-DOS history. IBM Microsoft
  • 64. MS-DOS 3.x MS-DOS history. IBM Microsoft MS-DOS 4.x MS-DOS history. IBM Microsoft MS-DOS 5.x MS-DOS history. IBM Microsoft MS-DOS 6.x MS-DOS history. IBM Microsoft NEXTSTEP Apple operating system history. Various Apple OSF/1 Unix and Linux history. Various OSF QNX Unix and Linux history. Various QNX Red Hat Linux Unix and Linux history. Various Red Hat SCO Unix and Linux history. Various SCO Slackware Linux Unix and Linux history. Various Slackware
  • 65. Windows 3.X Microsoft Windows history. IBM Microsoft Windows 8 Microsoft Windows history. IBM Microsoft Windows 7 Microsoft Windows history. IBM Microsoft Windows 95 Microsoft Windows history. IBM Microsoft Windows 98 Microsoft Windows history. IBM Microsoft Windows CE Microsoft Windows history. PDA Microsoft Windows ME Microsoft Windows history. IBM Microsoft Windows NT Microsoft Windows history. IBM Microsoft
  • 66. Windows 98 Microsoft Windows history. IBM Microsoft Windows CE Microsoft Windows history. PDA Microsoft Windows ME Microsoft Windows history. IBM Microsoft Windows NT Microsoft Windows history. IBM Microsoft Windows Vista Microsoft Windows history. IBM Microsoft Windows XP Microsoft Windows history. IBM Microsoft Unix and Linux