Segmentation can be implemented using or without using paging.Unlike paging, segment are having varying sizes and thus eliminates internal fragmentation. External fragmentation still exists but to lesser extent.Address generated by CPU is divided intoSegment number (s)— segment number is used as an index into a segment table which contains base address of each segment in physical memoryand a limit of segment.Segment offset (o)— segment offset is first checked against limit and then is combined with base address to define the physical memory address.Operating System – Virtual MemoryVirtual memory is a technique that allows the execution of processes which are not completely available in memory. The main visible advantage of this scheme is that programs can be larger than physical memory. Virtual memory is the separation of user logical memory from physical memory.This separation allows an extremely large virtual memory to be provided for programmers when only a smaller physical memory is available. Following are the situations, when entire program is not required to be loaded fully in main memory.User written error handling routines are used only when an error occured in the data or computation.Certain options and features of a program may be used rarely.Many tables are assigned a fixed amount of address space even though only a small amount of the table is actually used.The ability to execute a program that is only partially in memory would counter many benefits.Less number of I/O would be needed to load or swap each user program into memory.
A program would no longer be constrained by the amount of physical memory that is available.Each user program could take less physical memory, more programs could berun the same time, with a corresponding increase in CPU utilization and throughput.Virtual memory is commonly implemented by demand paging. It can also be implemented in a segmentation system. Demand segmentation can also be used to provide virtual memory.Operating System – I/O HardwareOverviewComputers operate on many kinds of devices. General types include storage devices(disks, tapes), transmission devices(network cards, modems), and human-interface devices(screen, keyboard, mouse). Other devices are more specialized. A device communicates with a computer system by sending signals over a cable or even through the air.The device communicates with the machine via a connection point termed a port(for example, a serial port). If one or more devices use a common set of wires, the connection is called a bus.In other terms, a bus is a set of wires and a rigidly defined protocol that specifies a set of messages that can be sent on the wires.Daisy chainWhen device A has a cable that plugs into device B, and device B has a cable that plugs into device C, and device C plugs into a port on the computer, this arrangement is called a daisy chain. It usually operates as a bus.