NETWORK STRUCTURE

pages

Networking is a key area of functionally for Linux. Not only does Linux support the standard Internet protocols used for most UNIX- to-UNIX communication, but it also implements a number of protocols native to othe, non UNIX operating systems. In particular, since Linux was originally implemented pri -marily on PCs, rather than on large workstations or on PC networks, such as appletalk and IPX
Internally, networking in the Linux kernel is implemented by three layers of software:
1. The socket interface
2. Protocol drivers
3. Networking-device-drivers
User application perform all networking requests through the socket inter-face this interface is designed to look like the BSD4.3 socket layer so that any programs designed to make use of Berkeley sockets will run on Linux without any source -code changes.The BSD socket interface is sufficiently genral purpose to represent network addresses for wide range of networking protocols. This single interface is used in Linux to access not just those protocols implemented on standard BSD systems, but all the protocols suppoted by the system.software
The next layer of software is the protocol stack, which is similar in orgnization to BSD's own framework. whenever andy networking data arrives at this layer, either from an application's socket of from a network-device driver, the data are expected to have been tagged with an identifier specyfing which network protocol they contain. Protocols can communicate with one another manage routing, error reporting, and reliable retransmission of lost data.





CTSS

pages

The compatible time-sharing system(ctss) system( corbato et al.(1962) was designed at MIT as an experimental time- sharing system. It was implemented on an IBM 7090 and eventully supported up to 32 interactive users. The users were provided with a set of interactive commands that allowed them to manipulate files and to compile and run programs through a terminal.
The 7090 had a 32kb memory, made up of 36-bit words. The monitor used 5kb words, leaving 27kb for the users. User memory images were swapped between memory and a fast drum. CPU scheduling employed a multilevel- feedback-queue alogorithm. The time quantum for level i was 2* i time units if a program did not finish its CPU burst in one time quantam, it was moved down to the next level of the queue, giving it twice as much time . the program at the highest level(with the shortest quantum) was run first. The intial level
of program was determined by its size, so that the time quantum was at least as long as the swap time.
CTSS was extremly successful and was uses as late as 1972. although it was limited, it succesded in demonstrating that time sharing was a convenient and practical mode of computing. One result of CTSS was increased devlopment of time-sharing systems. Another result was the devlopment of MULTICS.



WHY JAVA IS IMPORTANT TO THE INTERNET

pages

The internet helped catapult Java to the forefront of programming and java, in turn, has had a profound effect on the internet. The reason for this is quite simple. Jave expand the universe of objects that can move about freely in cyberspace. In a network, two very broad catagories of object that can move about freely in cyberspace. In a network, two very broad catagories of objects are transmitted between the server and your personal computer. passive information and dynamic, active programs. For example, when you read your e-mail, you are viewing passive data. Even when you download a program, the program's code is still only passive data untill you excute it. However, a second type of objects can be transmitted to your computer: a dynamic, self -executing program. Such a program is an active agent on the client computer, yet is initieted by the server. For example, a program might be provided by the server to disply properly the data that the server is sending.
As desirable as dynamic, networked programs are, they also present serious problems in the areas of security and portablity. Prior to java,cyberspace was effectively closed to half the entities that now live there. As you will see, Java addreses those concerns and, by doing so, has opened the door to an exciting new form of program: the applet.



SYSTEM VIEW

pages ,

From the computer's point of view, the operating system is the programm that is most intimate with the hardware. We can view an operating system as a resource allocator. A computer system has many resources- hardware and software- that may be required to solve a problem: CPU time, memory space, file-storage space, I/O devices, and so on, The operating system acts as the manager of these resources. Facing numerous and possibly conflicting requests for resources, the operating system must decide how to allcate them to specific programs and users so that it can operate the computer system efficienty and fairly.
A slightly diffirent view of an operating system emphasizes the need to control the various I/O devices and user programs. An operating system is a control program. A control program manages the execution of user programs to prevent errors and improper use of the control of I/O devices.
In genral, however we have no completly adqueate defination of an operating system. Operating systems exists because they are a resonable way to solve the problem of creating a useable computing system. The fundamental goal of computer systems is to execute user programs and to make solving user problems easier. Toward this goal, computer hardware is constructed. Since bare hardware alone is not particularly easy to use, application programs are developed. These programs require certain common operation, such as those controlling the I/O devices. The common functions of controlling and allocating resources are then brought together into one piece of software: the operating system.



Main frame systems

pages

Main frame computer systems were the first computers used to tackle many commercial and scientific applications. In this section, we trace the growth of mainframe systems from simple batch systems, where the computer runs one- and onlyone- application, to time-shared systms, which allow for user intercation with the computer system.



SYSTEM GOALS

pages

It is easier to define and operating system by what it does than by what it is, but even this can be tricky. the primary goal of some operating system is convenience for the user. Operating systems exist because they are supposed to make it easier to compute with them than without them. This view is particulrly clear when you look at operating systems for small PCs.



USER VIEW

pages

The user view of the computer varies by the interface being used. Most computer users sit in front of PC ,consisting of a monitor, keyboard, mouse,and system unit. Such a system is designed for one user to monopolize its resources, to maximize the work (or play) that the user is perfoming. In this case, the operating system is designed mostly for ease of use with some attention paid to performance, and none paid to resource utilization. Perfomance is important to the user, but it does not matter if most of the system is sitting idle, waiting for the slow I/O speed of the user.
Some users sit at a terminal connected to mainframe or minicomputer. others users are accessing the same computer through other terminals. These users share resources and may exchange information. the operating system is designed to maximize resource utilization- to assure that all avilable cpu time,memory, and I/O are used efficienty, and that no individuls user takes more than her fair share.

Other users sit at workstations, connected to networks of other workstaiton and servers. These users have dedicated resources at their disposal, but they also share resources such as networking and servers- file, compute and print servers. Therefore, their operating system is designed to copromise between individual usability and resource utilization.

Recently, many varieties of handheld computers have come into fashion. These devices are mostly standalone, used singly by individual users. Some are connected to networks, either directly by wire or (more often) through wireless modems. Due to power and interface limitations they perform relatively few remote operations. The operating systems are designed mostly for individual usabillity , but perfomance per amount of battery life is important as well.

Some computers have littile or no user view. For example, embedded computers in home devices and automobiles may havea numeric keypad, and may turn indicator lights on or off to show status, but mostly they and their operating systems are designed to run without user intervention.





The components

pages

The components of a computer system are its hardware, software,and data. the operating system provides the means for the proper use of these resources in the operation of the computer system. An operating system is similar to goverment. Like a goverment, it performs no useful function by itself. It simply provides an environment wihtin which other programs can do useful work . operating systems can be explored from two viewpoints the user and the system.



WHAT IS AN OPERATING SYSTEM?

pages

An operating system is an important part of almost every computer system. A computer system can be diveded roughly into four components: the hardware, ther operating system, the application programm,and the users
The hardware - the central processing unit(cpu) , the memory, and the input/output (i/o) devices- provides the basic computing resources. The applicatino programms- such as word processor,spread sheets, compilers, and web browsers-define the ways in which these resources are used to solve the computing problems of the users. The operating system controls and coordinates the use of the hardware among the various application programm for the various users.



OPERATING SYSTEM

pages

An operating system is a program that manages the computer hardware It also provides a basis for application programms and acts as an intermediary between a user of a computer and the computer hardware An amazing aspect of Operating System is how varied they are in accomplishing these tasks of hardware Personl computer(p.c) operating system support complex operating systems are designed to provide an environment in which a user can easily interface with the computer to excute programs. Thus some operating systems are designed to be convenient others to be efficient and others some combination of the two,

To understand what operating system are, we must first understand how they have devloped. In this chapter, we trace the devlopment of operating systems from the first hands-on systems through multiprogrammed and time-shared systems to PCs, and handheld computer's We also discuss operating system variation, such as parallel real-time , and embedded systems. As we move through the various stages, we see how the components of operating systems evolved as natural solutions to problems in early computer system.