Free Essay

Operating System

In:

Submitted By shanmign
Words 4509
Pages 19
The Amoeba Distributed Operating System

1. INTRODUCTION
Roughly speaking, we can divide the history of modern computing into the following eras:

1970s: Timesharing (1 computer with many users)
1980s: Personal computing (1 computer per user)
1990s: Parallel computing (many computers per user)

Until about 1980, computers were huge, expensive, and located in computer centers.
Most organizations had a single large machine.
In the 1980s, prices came down to the point where each user could have his or her own personal computer or workstation. These machines were often networked together, so that users could do remote logins on other people’s computers or share files in various
(often ad hoc) ways.
Nowadays some systems have many processors per user, either in the form of a parallel computer or a large collection of CPUs shared by a small user community. Such systems are usually called parallel or distributed computer systems.
This development raises the question of what kind of software will be needed for these new systems. To answer this question, a group under the direction of Prof.
Andrew S. Tanenbaum at the Vrije Universiteit (VU) in Amsterdam (The Netherlands) has been doing research since 1980 in the area of distributed computer systems. This research, partly done in cooperation with the Centrum voor Wiskunde en Informatica
(CWI), has resulted in the development of a new distributed operating system, called
Amoeba, designed for an environment consisting of a large number of computers.
Amoeba is available for free to universities and other educational institutions and for special commercial prices and conditions to corporate, government, and other users, as described later.

2. WHAT IS AMOEBA?
Amoeba is a general-purpose distributed operating system. It is designed to take a collection of machines and make them act together as a single integrated system. In general, users are not aware of the number and location of the processors that run their commands, nor of the number and location of the file servers that store their files. To the casual user, an Amoeba system looks like a single old-fashioned time-sharing system. - 2 -
Amoeba is an ongoing research project. It should be thought of as a platform for doing research and development in distributed and parallel systems, languages, protocols and applications. Although it provides some UNIX emulation, and has a definite
UNIX-like flavor (including over 100 UNIX-like utilities), it is NOT a plug-compatible replacement for UNIX. It should be of interest to educators and researchers who want the source code of a distributed operating system to inspect and tinker with, as well as to those who need a base to run distributed and parallel applications.
Amoeba is intended for both ‘‘distributed’’ computing (multiple independent users working on different projects) and ‘‘parallel’’ computing (e.g., one user using 50 CPUs to play chess in parallel). Amoeba provides the necessary mechanism for doing both distributed and parallel applications, but the policy is entirely determined by user-level programs. For example, both a traditional (i.e. sequential) ‘make’ and a new parallel
‘amake’ are supplied.
3. DESIGN GOALS
The basic design goals of Amoeba are:

Distribution—Connecting together many machines
Parallelism—Allowing individual jobs to use multiple CPUs easily
Transparency—Having the collection of computers act like a single system
Performance—Achieving all of the above in an efficient manner
Amoeba is a distributed system, in which multiple machines can be connected together. These machines need not all be of the same kind. The machines can be spread around a building on a LAN. Amoeba uses the high performance FLIP network protocol for LAN communication. If an Amoeba machine has more than one network interface it will automatically act as a FLIP router between the various networks and thus connect the various LANs together.
Amoeba is also a parallel system. This means that a single job or program can use multiple processors to gain speed. For example, a branch and bound problem such as the
Traveling Salesman Problem can use tens or even hundreds of CPUs, if available, all working together to solve the problem more quickly. Large ‘‘back end’’ multiprocessors, for example, can be harnessed this way as big ‘‘compute engines.’’
Another key goal is transparency. The user need not know the number or the location of the CPUs, nor the place where the files are stored. Similarly, issues like file replication are handled largely automatically, without manual intervention by the users.
Put in different terms, a user does not log into a specific machine, but into the system as a whole. There is no concept of a ‘‘home machine.’’ Once logged in, the user does not have to give special remote login commands to take advantage of multiple processors or do special remote mount operations to access distant files. To the user, the whole system looks like a single conventional timesharing system.
Performance and reliability are always key issues in operating systems, so substantial effort has gone into dealing with them. In particular, the basic communication mechanism has been optimized to allow messages to be sent and replies
- 3 - received with a minimum of delay, and to allow large blocks of data to be shipped from machine to machine at high bandwidth. These building blocks serve as the basis for implementing high performance subsystems and applications on Amoeba.
4. SYSTEM ARCHITECTURE
Since distributed and parallel computing is different from personal computing, it is worthwhile first describing the kind of hardware configuration for which Amoeba was designed. A typical Amoeba system will consist of three functional classes of machines.
First, each user has a workstation for running the user interface, the X window system.
This workstation can be a typical engineering workstation, or a specialized X terminal.
It is entirely dedicated to running the user interface, and does not have to do other computing. Second, there exists a pool of processors that are dynamically allocated to users as required. These processors can be part of a multiprocessor or multicomputer, be a collection of single-board computers or be a group of workstations allocated for this purpose. Usually, each pool processor has several megabytes of private memory, that is, pool processors need not have any shared memory (but it is not forbidden).
Communication is performed by sending packets over the LAN. All the heavy computing happens in the processor pool.
Third, there are specialized servers, such as file servers and directory servers that run all the time. They may run on processor pool processors, or on dedicated hardware, as desired.
All these components must be connected by a fast LAN. At present only Ethernet is supported, but ports to other LANs are possible.
5. FUNDAMENTAL CONCEPTS IN AMOEBA
The following sections briefly provide an introduction to Amoeba and some of its characteristics. 5.1. Microkernel + Server Architecture
Amoeba was designed with what is currently termed a microkernel architecture.
This means that every machine in an Amoeba system runs a small, identical piece of software called the kernel. The kernel supports the basic process, communication, and object primitives. It also handles raw device I/O and memory management. Everything else is built on top of these fundamentals, usually by user-space server processes.
Thus the system is structured as a collection of independent processes. Some of these are user processes, running application programs. Such processes are called clients. Others are server processes, such as the Bullet file server or the directory server.
The basic function of the microkernel is to provide an environment in which clients and servers can run and communicate with one another.
This modular design makes it easier to understand, maintain, and modify the system. For example, since the file server is an isolated server, rather than being an integral part of the operating system, it is possible for users to implement new file servers for specialized purposes (e.g. NFS, database). In conventional systems, such as
- 4 -
UNIX, adding additional user-defined file systems is infeasible.
5.2. Threads
In many traditional operating systems, a process consists of an address space and a single thread of control. In Amoeba, each process has its own address space, but it may contain multiple ‘‘threads of control’’ (threads). Each thread has its own program counter and its own stack, but shares code and global data with all the other threads in its process. Having multiple threads inside each process is convenient for many purposes and fits into the model of distributed and parallel computing very well. For example, a file server may have multiple threads, each thread initially waiting for a request to come in.
When a request comes in, it is accepted by some thread, which then begins processing it.
If that thread subsequently blocks waiting for disk I/O, other threads can continue.
Despite their independent control, however, all the threads can access a common block cache, using semaphores to provide inter-thread synchronization. This design makes programming servers and parallel applications much easier.
Not only are user processes structured as collections of threads communicating by
RPC, but the kernel is as well. In particular, threads in the kernel provide access to memory management services.
5.3. Remote Procedure Call
Threads often need to communicate with one another. Threads within a single process can just communicate via the shared memory, but threads located in different processes need a different mechanism. The basic Amoeba communication mechanism is the remote procedure call (RPC). Communication consists of a client thread sending a message to a server thread, then blocking until the server thread sends back a return message, at which time the client is unblocked.
To shield the naive user from these details, special library procedures, called stubs, are provided to access remote services. Amoeba has a special language called Amoeba
Interface Language (AIL) for automatically generating these stub procedures. They marshal parameters and hide the details of the communication from the users.
5.4. Group Communication
For many applications, one-to-many communication is needed, in which a single sender wants to send a message to multiple receivers. For example, a group of cooperating servers may need to do this when a data structure is updated. It is also frequently needed for parallel programming. Amoeba provides a basic facility for reliable, totally-ordered group communication, in which all receivers are guaranteed to get all group messages in exactly the same order. This mechanism simplifies many distributed and parallel programming problems.
- 5 -
5.5. Objects and Capabilities
There are two fundamental concepts in Amoeba: objects and capabilities. All services and communication are built around them.
An object is conceptually an abstract data type. That is, an object is a data structure on which certain operations are defined. For example, a directory is an object to which certain operations can be applied, such as ‘‘enter name’’ and ‘‘look up name.’’
Amoeba primarily supports software objects, but hardware objects also exist. Each object is managed by a server process to which RPCs can be sent. Each RPC specifies the object to be used, the operation to be performed, and any parameters to be passed.
When an object is created, the server doing the creation constructs a 128-bit value called a capability and returns it to the caller. Subsequent operations on the object require the user to send its capability to the server to both specify the object and prove the user has permission to manipulate the object. Capabilities are protected cryptographically to prevent tampering. All objects in the entire system are named and protected using this one simple, transparent scheme.
5.6. Memory Management
The Amoeba memory model is simple and efficient. A process’ address space consists of one or more segments mapped onto user-specified virtual addresses. When a process is executing, all its segments are in memory. There is no swapping or paging at present, thus Amoeba can only run programs that fit in physical memory. The primary advantage of this scheme is simplicity and high performance. The primary disadvantage is that it is not possible to run programs larger than physical memory.
5.7. Input/Output
I/O is also handled by kernel threads. To read raw blocks from a disk, for example, a user process having the appropriate authorization, does RPCs with a disk I/O thread in the kernel. The caller is not aware that the server is actually a kernel thread, since the interface to kernel threads and user threads is identical. Generally speaking, only file servers and similar system-like processes communicate with kernel I/O threads.
6. SOFTWARE OUTSIDE THE KERNEL
The job of the Amoeba microkernel is to support threads, RPC, memory management and I/O. Everything else is built on top of these primitives.
6.1. Bullet File Server
The standard Amoeba file server has been designed for high performance and is called the Bullet server. It stores files contiguously on disk, and caches whole files contiguously in core. Except for very large files, when a user program needs a file, it will request that the Bullet server send it the entire file in a single RPC. A dedicated machine with at least 16 MB of RAM is needed for the Bullet file server for installation
(except on the Sun 3 where there is a maximum of 12 MB). The more RAM the better, in fact. The performance is improved with a larger file cache. The maximum file size is also limited by the amount of physical memory available to the Bullet server.
- 6 -
6.2. Directory Server
In contrast to most other operating systems file management and file naming are separated in Amoeba. The Bullet server just manages files, but does not handle naming.
It simply reads and writes files, specified by capabilities. A capability can be thought of as a kind of handle for an object, such as a file. A directory server maps ASCII strings onto capabilities. Directories contain (ASCII string, capability) pairs; these capabilities will be for files, directories, and other objects. Since directories may contain capabilities for other directories, hierarchical file systems can be built easily, as well as more general structures. A directory entry may contain either a single capability or a set of capabilities, to allow a file name to map onto a set of replicated files. When the user looks up a name in a directory, the entire set of capabilities is returned, to provide high availability. These replicas may be on different file servers, potentially far apart (the directory server has no idea about what kind of objects it has capabilities for or where they are located).
Operations are provided for managing replicated files in a consistent way.
6.3. Compilers
Amoeba comes standard with compilers for ANSI standard C, Pascal, Modula 2,
BASIC, and Fortran 77. Each of these comes with appropriate libraries. Amoeba also comes with a collection of third-party software, including the GNU C compiler.
6.4. Parallel Programming
A new language called Orca has been developed. It is for parallel programming.
Orca allows programmers to create user-defined data types which processes on different machines can share in a controlled way, in effect simulating an object-based distributed shared memory over a LAN. Operations on each object are performed in such a way as to provide the illusion of there being only a single copy, shared by all machines. The
Orca run-time system uses the Amoeba IPC facilities to make sharing of software objects over the network highly efficient. Orca is available separately from the Vrije
Universiteit.
6.5. Utilities
Amoeba provides a large number of utilities modeled after the programs that come with UNIX. Among others, these include awk, basename, cal, cat, cdiff, chmod, cmp, comm, compress, cp, cpdir, dd, diff, echo, ex, expr, factor, file, find, fold, fortune, grep, head, jove, kill, ksh, ln, look, ls, m4, make, mkdir, more, mv, od, pr, prep, printenv, pwd, quote, rev, rm, rmdir, sed, sh, shar, size, sleep, sort, spell, split, strings, sum, tail, tar, tee, termcap, test, time, touch, tr, treecmp, true, tset, tsort, tty, uniq, uud, uue, vi, wc, who, xargs, yacc and many other old favorites. Furthermore, a number of new programs are provided such as amake, a highly parallel configuration manager.
- 7 -
6.6. UNIX Emulation
To aid in porting UNIX programs to the Amoeba environment, an emulation library, called Ajax, offers major POSIX P1003.1 compatibility. Most POSIX conformant programs work without modification. They simply have to be compiled and linked on Amoeba.
6.7. TCP/IP
Although the basic communication mechanism in Amoeba is the Amoeba FLIP protocol, a special server is provided to allow TCP/IP communication, through RPCs to the TCP/IP server. In this way, machines can be accessed through the Internet.
6.8. X Windows
Amoeba’s user interface is the industry standard X Window System (X11R6). For
X servers running on workstations, a special version of X is available that uses the
Amoeba RPC for high-performance communication. When hard-wired X terminals are used, these can be interfaced using the TCP/IP server.
6.9. Connection to UNIX
A special UNIX driver is provided with Amoeba that can be linked into a SunOS
4.1.1 (or higher) UNIX kernel, allowing UNIX programs to communicate with Amoeba programs. It is also possible, as stated before, to use TCP/IP for this communication
(e.g., for non-Sun machines), but the feature described here is much faster and less complex if Sun workstations are available. Utilities are provided to transfer files between UNIX and the Bullet file server.
7. NONTECHNICAL ASPECTS OF AMOEBA
7.1. Source Code Availability
All academic Amoeba distributions contain the entire source code. Binaries for the supported machines are also included.
7.2. Amoeba is Unencumbered by AT&T Licensing
Amoeba was written from scratch. Although it provides a partial POSIX emulation, it contains no AT&T code whatsoever. Furthermore, the utility programs it comes with have either been written from scratch or obtained from third parties under favorable conditions. Although customers are required to agree to our license, no additional licensing is needed for Amoeba.
7.3. Documentation
Amoeba comes with over 1000 pages of documentation. It is organized in several volumes: A collection of published scientific papers describing the basic ideas.

- 8 -
A users’ guide (how to work with Amoeba; man pages for the utility programs).
A programmers’ guide (writing clients/servers; man pages for library routines).
A system administrators’ guide (how to operate and maintain Amoeba).
Release notes (bibliography, changes, bug information, etc.).
All the documentation is freely available by the World-Wide Web URL: http://www.am.cs.vu.nl/ and via anonymous FTP from the following sites. See the README files there for further details.




Location Site Name Directory


Europe VU ftp.cs.vu.nl amoeba


USA UCSC ftp.cse.ucsc.edu pub/amoeba












7.4. Machines on which Amoeba Runs

Amoeba currently runs on the following architectures:
Sun 4c and MicroSPARC SPARCstations
Intel 386/486/Pentium/Pentium Pro (IBM AT bus, PCI bus)
68030 VME-bus boards (Force CPU-30)
Sun 3/60 & Sun 3/50 workstations
7.5. Configuration Required
Amoeba is a heterogeneous distributed system. Although in theory work can be done on a single machine, in practice more than one machine is required. We recommend at least five machines: a file server, a workstation and 3 pool processors.
The more pool processors the better. Any combination of of the supported machines can be used.

Minimum configuration for a SPARCstation system:
File server: 16 MB RAM, a 300 MB disk, a SCSI tape drive.
Workstation: 8MB RAM, monitor, keyboard, mouse.
Pool processor: 8 MB RAM.
Minimum configuration for 386/486/Pentium systems:
File server: 16 MB RAM, a 300 MB disk, 3.5" floppy drive, Ethernet card, VGA card, keyboard, monitor, mouse.
Workstation: 8 MB RAM, Ethernet card, VGA card, keyboard, monitor, mouse.





- 9 -
Pool processor: 4 MB RAM, 3.5" floppy drive, Ethernet card.
Supported Ethernet cards: SMC/WD 8013, NE 2100, NE2000, 3Com 503
Minimum configuration for a Sun 3/60 system:
File server: exactly 12 MB RAM, a 300 MB disk, a QIC-24 tape drive.
Workstation: 4 MB RAM, monochrome monitor, keyboard, mouse.
Pool processor: 4 MB RAM.
Sun 3/50s can also be used for pool processors and workstations.
Amoeba is normally distributed by FTP, Exabyte tape, QIC-150 or QIC-24 streamer tape. The distribution is about 120 MB of source, documents and binaries. For each architecture a different subtree will be generated, and each binary tree will need another 80 MB. The large size is due to the X libraries compiled into the binaries. The
X sources are not included. However, the changes to the X sources needed for Amoeba are provided.
For embedded applications, where the file server is not necessary and only the kernel is being used, it is possible to run the Amoeba kernel on a single CPU. Some installations are running Amoeba in kernel-only mode, in effect using it as a distributed high-performance kernel for industrial process control applications.
7.6. Pricing
Amoeba is available free to universities that have FTP or WWW access to the
Internet, and for $US 500 on Exabyte or DAT tape to those that do not. Printed sets of the manuals can be obtained for $US 500 each.
Commercial licenses and support are provided by ACE, b.v. in Amsterdam. Send email to amoeba@ace.nl for information on products and pricing.
7.7. Support
Amoeba is provided to universities on an ‘‘as is’’ basis, with no support. Although
Amoeba is still an experimental system, rather than a production quality polished product (e.g., the UNIX emulation is not 100% complete), it can still be highly useful to anyone interested in distributed systems.
7.8. Ordering Procedure
Amoeba is copyrighted software. It is available free to universities under a
‘‘shrink-wrap’’ license in which the university agrees to use Amoeba only for educational and research work, to not hold us legally responsible for the consequences of bugs in Amoeba, and all the usual stuff lawyers think of. To FTP Amoeba you must register to obtain an FTP login name and password. This is done via the World-Wide
Web URL http://www.am.cs.vu.nl/ If you FTP any part of Amoeba then you agree to be bound to the license.
University customers not having FTP access and all nonuniversity customers must
- 10 - sign a commercial license agreement in which their rights and obligations are explicitly spelled out. If you wish to engage in joint research with the Vrije Universiteit then special free licenses are available. To obtain an academic or joint research license, please contact us by email or FAX, being sure to include the postal address to which the license is to be sent. Licenses cannot be sent by FAX or electronically.
Email address: amoeba-license@cs.vu.nl
FAX: +31 20 4447653
Once the signed license is returned, universities will be sent the tapes. If printed copies of the manuals are required these can be ordered at the same time. This is exactly the same documentation that is available by FTP, as described in Sec. 7.3 above.
To obtain a commercial license please send email to ACE, b.v.
Email address: amoeba@ace.nl
8. SUMMARY
Amoeba is a modern distributed operating system that is designed for an environment consisting of multiple computers. Its major properties are summarized as follows: Amoeba Architectural Features
- Transparent distributed computing using a large number of processors
- Parallel computing supported as well as distributed computing
- Microkernel + server architecture
- High performance RPC using the FLIP protocol
- Reliable, totally-ordered group communication
- Support for heterogeneous systems (e.g., Sun-3, Sun-4 and 386 on the same net)
- Automatic, transparent network configuration
User-level Software
- Object-based
- Multiple threads per address space
- File and directory servers provided (including automatic file replication)
- X windows, release 5 supported
- TCP/IP supported
- ANSI C, Pascal, FORTRAN 77, and Modula 2 compilers and libraries provided
- Language for parallel programming (Orca) available
UNIX
- Good integration with existing UNIX systems
- Amoeba can talk to UNIX via TCP/IP
- Driver available for Sun UNIX to let UNIX use fast Amoeba RPC protocol
- X terminal can have both UNIX and Amoeba windows simultaneously
- Partial UNIX emulation available (good enough to run the MMDF mail system)
- Over 100 UNIX-like utilities available
Commercial Aspects
- 11 -
- Full source code (except the compilers) is included in all distributions
- No AT&T license is required
- Limited commercial support available
- Amoeba has already been licensed by major organizations in USA, Europe and Japan
Weak Points In Amoeba
- Over 1000 pages of documentation supplied
- Not binary compatible with UNIX
- No virtual memory (for performance reasons)
- Works poorly when there is insufficient memory
- No NFS support
- While fine for experimenting, it is not a totally polished production system
9. BIBLIOGRAPHY
1. Kaashoek, M.F., Renesse, R. van, Staveren, H. van, and Tanenbaum, A.S.:
"FLIP: an Internetwork Protocol for Supporting Distributed Systems," ACM
Trans. on Computer Systems vol 11, pp. 73-106, Feb. 1993.
2. Kaashoek, M.F., Tanenbaum, A.S., Verstoep, K.: "Using Group
Communication to Implement a Fault-Tolerant Directory Service," Thirteenth
Int’l Conf. on Distributed Computing Systems , IEEE, pp. 130-139, 1993.
3. Kaashoek, M.F., Tanenbaum, A.S., and Verstoep, K.: "Group Communication in Amoeba and its Applications" , Distributed Systems Engineering J. vol. 1, pp. 48-58, July 1993.
4. Tanenbaum, A.S., Kaashoek, M.F., and Bal, H.E.: "Parallel Programming
Using Shared Objects and Broadcasting," IEEE Computer vol. 25, pp. 10-19,
Aug. 1992.
5. Kaashoek, M.F., Tanenbaum, A.S., and Verstoep, K.: "A Comparison of Two
Paradigms for Distributed Computing," Proc. Fifth ACM SIGOPS Workshop,
Le Mont St. Michel, France, Sept. 1992.
6. Levelt, W.G., Kaashoek, M.F. Bal, H.E., and Tanenbaum, A.S., " A
Comparison of Two Paradigms for Distributed Shared Memory," Software
Practice & Experience , vol. 22, pp. 985-1010, Nov. 1992.
7. Tanenbaum, A.S., Kaashoek, M.F., Renesse, R. van, and Bal, H.: "The Amoeba
Distributed Operating System - A Status Report," Computer Communications , vol. 14, pp. 324-335, July/Aug. 1991.
8. Douglis, F., Ousterhout, J.K., Kaashoek, M.F., and Tanenbaum, A.S.: "A
Comparison of Two Distributed Systems: Amoeba and Sprite," Computing
- 12 -
Systems Journal vol 4., pp. 353-384, Fall 1991.
9. Tanenbaum, A.S., Renesse, R. van, Staveren, H. van., Sharp, G.J., Mullender,
S.J., Jansen, J., and Rossum, G. van: "Experiences with the Amoeba
Distributed Operating System," Commun. of the ACM vol. 33, pp. 46-63, Dec.
1990.
10. Renesse, R. van, Staveren, H. van, and Tanenbaum, A.S.: "Performance of the
Amoeba Distributed Operating System," Software—Practice and Experience , vol. 19, pp. 223-234, March 1989.
11. Baalbergen, E.H.: "Design and Implementation of Parallel Make," Computing
Systems , vol. 1, pp. 135-158, Spring 1988.
12. Tanenbaum, A.S., Mullender, S.J., and van Renesse, R.: "Using Sparse
Capabilities in a Distributed Operating System" Proc. Sixth International

Similar Documents

Premium Essay

Operating System

...Intercontinental University * Leonel A Silvestre * ITCO211 * File System Hi As your help desk technician I will do everything we can to help you with the operating system problem. Everybody knows what is a Hard Disk or Hard Drive let me refresh your mind, with a simple explanation: Hard Disk/ Drive, is a device for storing and retrieving digital information, primarily computer data. It consists of one or more rigid rapidly rotating discs (platters) coated with magnetic material, and with magnetic heads arranged to write data to the surfaces and read it from them. With that been said, now move forward with Operating System and Hard Disk/ Drive. I would like to recommend you the best operating system is DOS (Disk Operating System), why? Because has everything you need. Let me tell you a little more about DOS. Disk Operating System: Most often abbreviated as DOS, refer to operating system software used in most computers that provides the abstraction and management of secondary storage devices and the information on them (e.g., file systems for organizing files of all sorts). Such software is referred to as a disk operating system when the storage devices it manages are made of rotating platters, such as floppy disks or hard disks. In the early days of microcomputers, computer memory space was often limited, so the disk operating system was an extension of the operating system. This component was only loaded if needed. Otherwise, disk access would be...

Words: 1780 - Pages: 8

Premium Essay

Operating Systems

...NT1110_StudentName_Module1_Lab.doc 3/21/15 An operating system takes input in the form of zeros and ones -- bits -- and runs them through various circuits and processors, the hardware behaves according to built in rules. We define these rules using gates, which take input and produce an output in a structured way. The operating system allows complex programs to access hardware to get results. Only the hardware's physical properties can limit what programs can do. You could design an operating system by physically programming it into a computer's circuits. This would require building electrical pathways using millions of gates. But such an operating system would be slow and you would need the patience of Jonah to use it. That's why operating systems like Mac OS X and Windows are software. Software is flexible and hardware is not -- you can make changes to software with updates. To do the same with hardware would mean switching out physical chips and circuit boards. Operating systems are like the manager for a computer, it’s the job of the OS to monitor what software needs and what the hardware can provide. When you run applications on your computer, the OS allocates the resources necessary to complete the task. That can include processing power, memory and computer storage access, among other things. Ideally the OS will make sure that your computer's hardware is never overtaxed. ...

Words: 705 - Pages: 3

Free Essay

Operating Systems

...ZETECH UNIVERSITY NAME: RUTERE JOAN WANJA REG. NO: DBIT-02-0035/2015 SCHOOL: I.T COURSE: DBIT UNIT NAME: OPERATING SYSTEMS TASK: CAT 2 LECTURER: MR FRED 1. Context Switching It is the process of storing of storing and restoring the state (context) of a process or thread so that the execution can be resumed from the same point at a later time. There are three potential triggers for a context switch: • Multitasking: Most commonly, within some scheduling scheme, one process needs to be switched out of the CPU so another process can run.This context switch can be triggered by the process making itself unrunnable, such as by waiting for an I/O or synchronization operation to complete. On a pre-emptive multitasking system, the scheduler may also switch out processes from being starved of CPU time, preemptive schedulers often configure a timer interrupt to fire when a process exceeds its time slice.This interrupt ensures that the scheduler will gain control to perform a context switch. • Interrupt Handling Modern architectures are interrupt driven.This means that if the CPU requests data from a disk, for example, it does not need to busy-wait until the read is over, it can issue the request and continue with some other execution. When the read is over, the CPU can be interrupted and presented with the read. For interrupts, a program called an interrupt handler that handles the interrupt from the disk. When an interrupt occurs...

Words: 991 - Pages: 4

Free Essay

Operating Systems

...Researching operating systems I am choosing Windows XP for the basic low end computer because the system requirements are fairly low and it will work on just about any personal computer that is being used today. The operating system I am choosing for the high end computer is Windows 7. Its requirements are tailor-made more for the newer and higher end computers. Some of the computers that are out there will not be able to run windows 7. Windows XP system requirements are a Pentium 233 megahertz processor, at least 64 megabytes of system memory, at least 1.5 gigabytes of hard disk space, CD-ROM or DVD drive, video adaptor, and a monitor with a screen resolution of 800x600 or higher. Windows XP doesn’t have a very memory intensive graphical user interface either. If you are upgrading from Windows 2000 you probably won’t notice too much of a difference as far as the general look and feel of the operating system. You will have to activate it soon after you install the program to keep it from deactivating. Windows XP also has better security and protection than previous versions. Windows 7 system requirements are 1 gigahertz or faster processor, 1 gigabyte of system memory for 32 bit systems and 2 gigabytes of system memory for 64 bit systems, 16 gigabytes of hard disk space for 32 bit systems and 20 gigabytes of hard disk space for 64 bit systems, support for DirectX 9 with windows display driver model 1.0 and 128 megabytes of memory for the Aero theme desktop, a monitor...

Words: 534 - Pages: 3

Free Essay

Operating Systems

...Operating Systems Vulnerabilities NAME POS 355 18 Mar 15 Carol Eichling Operating Systems Vulnerabilities As the reported number of security vulnerabilities continued to spike in the 20th century let us define a security flaw. A security flaw according to "Apple Security Flaw: What You Need To Know" (2014), "The flaw is in the way the operating system provides the essential services, known as secure sockets layer (SSL) or transport layer security (TLS). These two layers of security allow information to be transmitted worry-free between browsers and web servers, or between a mail server and mail client. SSL is in the form of encryption, which scrambles data sent over a network to keep it private. The second layer involves verification that the server is authentic." With the heighten computer security regarding vulnerabilities, the increase of user awareness and training users to not click on particular links is difficult yet feasible. Although most operating system has computer security protection, the tasks of protecting the systems from vulnerabilities are a daunting task because the operating systems are unique. Security flaw in Microsoft and Mac OS X® A known security flaw in Windows is called the Freak. The Freak security flaw allowed hackers to create a simulated middle person attacks on the encrypted secure sockets layer and transport layer of a security connections. It was discovered that hackers could force websites to weaken the system encryption...

Words: 843 - Pages: 4

Premium Essay

Operating Systems

...Operating systems What an operating system does The operating system is software, an operating system makes a computer come alive. When a computer is first built it is effectively cut-off from the world as it cannot receive input or provide output. Without an operating system a computer cannot work efficiently. The operating system has three main tasks to do:  Manage the computer resources: Input and output functions of the computer are controlled by the operating system. The operating system has to manage the CPU, how memory is allocation , access to disk drives, and many other tasks.  Interact with the user: All computers need someone to interact with it, to control it . It is the operating system's task to provide a means of doing this which is easy, consistent, flexible and structured. An operating system also allows the user of the computer to make changes as well.  Run applications: Application packages, such as word processors or spreadsheets, are what most users use on their computers, for most it is essential for their daily use of computers . The operating system provides a means of executing them, and provides the programs with tools and services. These include commands from retrieving data from a hard disk, or even to send data to a printer. LINUX The history of Linux began in 1991 with the commencement of a personal project by a student who was called Linus Torvalds. He studied at the University or Helsinki and this is where he created the...

Words: 293 - Pages: 2

Premium Essay

Operating System

...------------------------------------------------- BCN 2053 – OPERATING SYSTEMS – Assignment 1 ------------------------------------------------- Top of Form INSTRUCTIONS – Detail instructions is given below, please follow accordingly. This assignment carries a total of 10 marks. When we talk about operating systems, the most popular words are Windows and Linux. This assignment is all about exploring both types of operating systems. Each group require to: 1. Draw and explain in brief the evolution of both operating systems from the beginning up to today. Explanations may include : a. Year of release b. Version release c. Features 2. Compare between this two very popular Operating Systems, Windows VS Linux in terms of : a. Memory management 1. Focus on how both operating systems handle their memory management especially on virtual memory. To support your research, you may include relevant scenario of how memory being access. 2. Explain any limitation of maximum or minimum memory required by each operating systems especially on 64bit or 32bit architecture 3. Compare and recommend which operating systems utilize its memory more efficient in terms of: i. Normal usage (everyday usage by normal user) ii. Server usage (server environment) b. Process management 4. Focus on how both operating systems handle their process management when it comes to many processes request for CPU resources. You...

Words: 486 - Pages: 2

Premium Essay

Operating Systems

...Operating Systems Christy Kegley IT/282 3/2/2014 Carlton Foster Operating Systems * Provide a brief history of three operating systems. The top three operating systems are; Windows XP, Windows Vista, and Linux. “Windows XP is the first Windows OS to allow multiple users to log on simultaneously to the OS, each with their own applications open. Although Windows XP was first released with some bugs, the second service pack (Service Pack 2) resolved most of these problems. XP underwent three service packs. It is an extremely stable OS and was popular in both the home and corporate markets” (Guide to Managing and Maintaining Your PC, Eighth Edition, Andrews, pg. 1116). This programs allows users to do many things that others might not allow like older versions of Windows. Windows Vista is the newest version of Windows. This program is not very popular with some people because there is a lack of compatibility with other programs, also it slows performance. “The first problem is partly caused by hardware manufacturers not providing Vista drivers for their devices that were originally sold with XP drivers. The second problem means that many low end desktop and laptop computers can’t run Vista. And the slow performance of Vista is partly due to the many unnecessary features (fluff) it offers; these features weigh heavy on system resources. Vista comes in five versions: Windows Vista Home Basic, Home Premium, Business, Enterprise, and Ultimate. (Vista Starter...

Words: 764 - Pages: 4

Premium Essay

Operating Systems

...DENIS In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems. What are two such problems? A time sharing environment or multi programming is one in which a computer system provides direct communication between the user and the system. It allows many users to share the computer at the same time. One of the problems that may result from the fact that resources are being shared is information theft, this is because all the users are able to access the files that are being shared on the system and so one can easily copy a file and modify it without the knowledge of all the other parties. Such scenarios can result into loss of security confidentiality and integrity since the owner of a file Without being aware of the system used as time-sharing and multiprogramming, may insert or have a secret or confidential data that he wants to remain at the file and also other users may change, add, or even remove some information in the file if they want to, since they have access to all files running on the system The other problem resulting from using such systems is the fact that there could be loss of storage space. Since users have equal privileges to create and access files on the system, then there could be a possibility that the users will create numerous files and eat up the storage space on the system without the other users’ knowledge, so as time goes by, each user will occupy some...

Words: 1053 - Pages: 5

Premium Essay

Operating Systems

...The purpose and function of an operating system is, to manage software that manages the computer hardware and software resources. It also provides common services for the computer programs, an operating system is a vital part of a computer system, and most applications require an operating system. An operating system acts as a middle component between the applications and you the person who is using it, and the hardware or applications that are trying to perform any function. An operating systems starts when, you first turn on your computer and ends when you turn your computer off. Some of the functions of an operating system are, booting your computer up, an operating system manages input and output devices that you are using on your computer. An operating system also provides a graphical user interface to create a user- friendly environment for the person who is running the operating system. An operating system also manages system resources and manages data. One difference among Windows, Linux, and Mac OS X operating systems is, Mac OS X operating system is, Mac OS is the operating system used by apple for their Macintosh computers. Mac OS has an Intel processors however, it is not compatible with regular PC-hardware and PC- based operating systems, such as windows or Linux. A second difference among Windows, Linux, and Mac OS X operating system is, Linux is an open source program that is ever expanding. This means anyone is able to change it if they have the knowledge...

Words: 557 - Pages: 3

Free Essay

Operating Systems

...Operating Systems Brittany E. Best Dr. Biswajit Panja Strayer University CIS 155 December 10, 2011   Operating System You may have heard of UNIX, or maybe not. Where did this so called UNIX come from? What exactly is an operating system you ask and what is it comprised of? Read on to find out more. Birth of a New Creation: UNIX is the creation and brain child of Bell Laboratory researchers Dennis Ritchie and Ken Thompson. Ken Thompson was working with Space Travel. Space Travel was a program that simulated the motion of the planets in our solar system. The Space Travel program was under the operating system called Multics (Multics is one of the first operating systems that provided a multiuser environment, and ran on a General Electric 6000 Electric Computer) (Afzal, 2008). Multics was a slow and very large and required a substantial amount of computer resources. Ken Thompson found a small little PDP-7 computer (created by the...

Words: 1257 - Pages: 6

Premium Essay

Operating Systems

...Paper: Operating Systems Analysis Paper POS/355 November 7, 2011 Jeff Rugg Introduction The operating system, commonly known as OS, is the brain or the center of all computer systems. It controls the input/output and controls various tasks of the hardware. Apart from serving as a go-between for application programs and the hardware of the computer, the OS also consists of information and programs while providing general services to make sure that several software applications can operate accordingly. Operating systems can be found in almost any type of a computer device such as personal computers, supercomputers, cellular telephones, and video game consoles as stated by Linux Systems (2011). As the research was being conducted for this paper, it raised a question whether the internet uses the operating system? It proved to be a challenge to actually pin point the most common operating systems on the Internet, but as the research continued, it was obvious that these three, Windows, Mac OS X, and Linux are considered to be the most common operating systems used on the Internet today. Background of each Operating System Windows Privately owned operating systems, Microsoft Windows is generally used on personal computers and as of today, the most commonly used version is Windows XP with the new version of Windows 7 for personal computers and Windows Server 2008 R2 for servers is entering the market. Mac OS X Mac OS X is a graphical operating system which is...

Words: 1150 - Pages: 5

Premium Essay

Operating System

...Program Execution The purpose of a computer systems is to allow the user to execute programs. So the operating systems provides an environment where the user can conveniently run programs. The user does not have to worry about the memory allocation or multitasking or anything. These things are taken care of by the operating systems. Running a program involves the allocating and deallocating memory, CPU scheduling in case of multiprocess. These functions cannot be given to the user-level programs. So user-level programs cannot help the user to run programs independently without the help from operating systems. I/O Operations Each program requires an input and produces output. This involves the use of I/O. The operating systems hides the user the details of underlying hardware for the I/O. All the user sees is that the I/O has been performed without any details. So the operating systems by providing I/O makes it convenient for the users to run programs. For efficiently and protection users cannot control I/O so this service cannot be provided by user-level programs. File System Manipulation The output of a program may need to be written into new files or input taken from some files. The operating systems provides this service. The user does not have to worry about secondary storage management. User gives a command for reading or writing to a file and sees his her task accomplished. Thus operating systems makes it easier for user programs to accomplished their task. This...

Words: 557 - Pages: 3

Premium Essay

Operating Systems

...Operating Systems Paul Cannizzaro Jr NT1110 Week One Short Answer THE PURPOSE AND FUNCTION OF AN OPERATING SYSTEM The purpose of an operating system is to provide a user interface as well as be the broker between software applications and a computer’s hardware (Rager 2013). According to Rager (2013) at a basic level operating systems allow a computer to complete simple tasks, such as connecting to a keyboard or mouse, maintaining files on a hard drive, or managing connected devices such as a printer. An operating system will make a computer secure to each different user and user specific by requiring a password for each user. DIFFERENCES BETWEEN WINDOWS, MAC OS X, AND LINUX Microsoft Windows is the most preferred operating system among computer users. Microsoft Windows consists of different operating systems developed and sold by Microsoft. Windows is available on desktops, laptops, phones, servers, and tablets. The first Microsoft operating system was released in 1985 and MS-DOS was the only Graphical User Interface. The small Microsoft Company skyrocketed through the 90's and millennium with the massive growth of computers around the workplace and eventually at home. The latest Microsoft Windows operating system is Microsoft Windows 10 and was released in late 2014. Many desktops and laptops received a free upgrade courtesy of Microsoft. Microsoft 10 upgraded to stylish icons like Mac OSX. The Mac OS X is Apple specific...

Words: 483 - Pages: 2

Premium Essay

Operating Systems

...Troubleshooting Operating Systems Arron CIS/296 Febuary 15, 2016 Steven Kernan Troubleshooting Operating Systems I have recently started in a new technical support role within the IT department of a major manufacturing organization. I am going to go through two scenarios in which I will help callers with problems occurring while using Windows XP and Windows Vista. The organization I am a part of doesn’t have a standard operating system in use. There are numerous products and versions in use across the whole company. I am going to discuss which of the operating systems I would recommend that the company makes standard between Windows XP and Windows Vista. I will also make a recommendation of which of the operating systems I would replace if I was in charge of the organization. My first scenario is that I receive a call from a user that using a Windows XP operating system and has encountered stability problems. The first thing I am going to do in order to gain more knowledge of the problem at hand is investigate the situation. I need this knowledge so I can properly troubleshoot the problem the user is having with the operating system they are using. The second thing I will do is establish a theory from the information I got from interviewing the user then I will test my theory. If my theory isn’t accurate then I will rethink the problem and figure out what occurring symptoms could be caused by, if my theory is correct I will resolve the problem. Taking preventative measures...

Words: 1538 - Pages: 7