The Application Layer
The application layers provides applications with access to the communications environment. A network-enabled application will create a user interface as well as interfacing with application layer network protocols.
The application layers provides applications with access to the communications environment. A network-enabled application will create a user interface as well as interfacing with application layer network protocols.
“A network is a system or group of interconnected elements. A computer network is a group of computers and peripherals connected together to communicate with each other and to share information and resources.”
http://www.micro2000.co.uk/network_glossary.htm
File management is a key function of the Operating System. The OS must effectively manage reading and writing data from different storage media, using different file systems and different disk access methods. The OS may also choose to cache data to improve performance of disks.
Another key role of the Operating System is to manage memory resources, there are two separate conceptual levels of memory. Firstly, physical memory – this is what the operating system sees, and it relates directly to your actual physical hardware. Secondly, there is virtual memory, which is what a programmer will see when developing an application to run within an operating system. Virtual memory is viewed as limitless, and is not dependent on the physical memory available – so applications can be programmed to run on systems with different physical memory capabilities.
A process is a program in execution. The distinction is that a program is a static bit of code; the process is the instance of that program being executed. For example, if the same program is running twice, the program will be loaded into memory once, but it will have two processes – one for each instance of the program.
The operating system maintains information about all the processes in the process control block (PCB). The contains information such as the process’s unique ID, the current state of the process (explained in a moment), the program counter, pointers to allocated memory space and resources, CPU time used so far, and estimated time to completion.
The I/O bus allows communications with hardware devices; each device on the bus has an address, and is instructed when to transmit and receive data. A device controller sits between the storage device and the bus, to provide a generic interface for the hardware to connect to. Software known as device drivers will allow the operating system to manage the actions which must take place to correctly communicate with different devices.