Top Banner
Multitasking/multiuser operating system concepts We know about multitasking(multiuser) 1) Scheduling: TSR programs and DOS refers to terminate and stay resident program TSR is a computer program that uses a system call in DOS operating System to return control of the computer to the operating system, as though the program has quit, but stays resident in computer memory so it can be reactivated by a hardware or software interrupt. Meaning: we all have used DOS and you should know that there was a major limitation in DOS , that it can execute only one task or program at a time. So TSR technique partially overcomes that disadvantage. TSR" implies, stay resident in memory while other programs are executing NOW why partially??? not applicable to all programs Using TSR: IN DOS, only one program can execute at a time. When you close that program, it gives control back to the DOS shell program, using the system call. The memory and system resources that were used by the program are then marked as unused. Now if you want to restart some parts of that program u need to start that program again form the scratch.
17
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

Multitasking/multiuser operating system conceptsWe know about multitasking(multiuser)1) Scheduling: TSR programs and DOS refers to terminate and stay resident program TSR is a computer program that uses a system call in DOS operating System to return control of the computer to the operating system, as though the program has quit, but stays resident in computer memory so it can be reactivated by a hardware or software interrupt.Meaning:we all have used DOS and you should know that there was a major limitation in DOS , that it can execute only one task or program at a time.So TSR technique partially overcomes that disadvantage.TSR" implies, stay resident in memory while other programs are executingNOW why partially??? not applicable to all programsUsing TSR:IN DOS, only one program can execute at a time. When you close that program, it gives control back to the DOS shell program, using the system call. The memory and system resources that were used by the program are then marked as unused. Now if you want to restart some parts of that program u need to start that program again form the scratch.

Now what TSR does: Before making this call, the program can install one or several interrupt handlers pointing into itself, so that it can be called again. Now the address of interrupt vector is stored within the memory space of the TSR. The stored address is called when the TSR receive an interrupt.

FAULTS in TSR: TSR programs had a reputation as troublemakers. The "terminate and stay resident" method was used by most DOS viruses which could either take control of the PC or stay in the background. Viruses would react to disk I/O or execution events by infecting executable (.EXE or .COM) files when they were run and data files when they were opened.There is one more major fault.In DOS every program (even the one with large RAM) has to be loaded in the first 640kb of RAM. So, TSRs were no exception. This meant that writing a TSR was a challenge of achieving the smallest possible size for it, and checking it for compatibility with a lot of software products from different vendorsoften a very frustrating task.

CONCLUSION: Short for Terminate-and-stay-resident, a TSR is a software program that remains in memory until it is needed, and then performs some function. A good example of a TSR is a Virus Scanner, which must remain loaded in memory to help protect your computer from computer viruses. Time Slice Scheduling: hrek process ko time de denge thoda thoda(about 20ms).ek baar saare execute hone kai baad dobara sai first process.In multiuser OS, the part of the OS which determines when it is time to switch from one task to another is called the Scheduler, dispatcher or supervisor. PREEMPTIVE priority based SCHEDULING:An executing low priority task can be interrupted by a higher-priority task.2) Preserving the Environment: The registers, data, pointers etc. used by an executing task are referred to its environment, state or context.When a task switch occurs, the environment of the interrupted task must be saved so that task can be restarted properly when it receives another time slice. In multiuser, every task is assigned some time slice again and again.So, the task is kept in a special memory or on a stack. When a task switch occurs the OS saves the environment of the interrupted task and allocates a pointer to the saved environment. When we need to switch back to task, OS uses the pointer to access the task. Tis Process is called Context Switching.3) Accessing Resources:In multitasking, we need to assure that task have orderly access to resources such as printers, disk drivers etc.Suppose you are reading a file on server and want to take a printout. Now there are also other users that may be reading that file. Now every user has a time slice of 20ms.Now you cannot do your task (reading and printing) in 20ms. So you need a number of time slices.A flag or semaphore in memory is used to indicate whether the printer is in use. If a task cannot access a resource because It is busy, then task is said to be blocked.4) NEED of Protection: In multiuser problem occur , when teo or more users attempts to read and change the contents of amemory locations at the same time. Take any example and explain kr dena.Nhi aaya samaj mai to 4th sem ka operating system mai process synchronization mai LOCK and key vala concept than a vo explain krna hai.But book mai thoda sa different method haiPage 15.5 read kr lena ek baar

5) Memory management (virtual memory etc.)sabko pta hai..ek baar book maid dk lena80186,80286,80386,80486 and Pentium processorSo before starting we must know something about 8086. Intel 8086 is a 16 bit microprocessor intended to be used as a CPU in a microcomputer. The term 16 bit means that its arithmetic logic unit, its internal registers, its instructions are designed to work with 16 bit binary words. It has a 20 bit address bus and 16 bit data bus. So this means that it can address any one of the 1048576 memory locations and it can read data from or write data to the memory and ports either 16 bit or 8 bit at a time. Here the word is stored in two consecutive memory locations. Also one thing to note here is that if the first byte of the word is stored at even address, the 8086 can read the entire word in one operation. Alternatively if the first byte of the word is at odd address, then the 8086 will read the first byte in one operation and the second byte in the second operation. 8088 is just similar to 8086 but the difference between the two is that 8088 has a 8 bit data bus.

80186: The Intel 80186 is an improved version of 8086. It is also a 16 bit microprocessor but it has a programmable peripheral devices integrated in the same package. 80186 instruction set has all the instructions of 8086 but also has certain additional instructions. A program written in 8086 will execute properly on 80186 but the vice- versa is not true.Jo jo 8086 mai pda hai na(architecture,memory,vagra vagra) sab kuch emai lihkna hai..same hote hain.80286: first member in its family designed specifically for use as the cpu in a multiuser microcomputer. The Intel 80286 (often called simply the 286) was a 16-bit microprocessor chip introduced in 1982. It quickly became popular in PCs (personal computers) and could be found in many machines into the 1990s.Why does it become so popular??Well it was multiuser. It also have memory management, it also offered more than twice as much performance per clock cycle as the 8086 or 8088.The 80286 chip contained a 24-bit address bus, capable of accessing up to 16 MB (megabytes) of RAM (random access memory). The CPU (central processing unit) supported multitasking, allowing a user to work with more than one application at a time. In multitasking, the OS (operating system) can keep track of where you are in various applications and go from one to the other without losing information. The 80286 could also take advantage of protected mode, which helped to prevent applications from writing outside their allocated RAM zonesFeatures of 8086: 80286 is the first member of the family of advanced microprocessors with memory management and protection abilities The 80286 CPU, with its 24-bit address bus is able to address 16Mb of physical memory Available in 12.5Mhz, 10MHz & 8Mhz clock frequencies Memory management , virtual memory management & protection abilities Memory management is supported by a hardware unit called Memory management unit. Intels 80286 is the first CPU to incorporate the integrated memory management unit. Function of memory management unit : Ensure smooth execution of the program and Protection Important aspect of memory management is Data Protection or unauthorized access prevention. Done with the help of segmented memory Prevents overlapping of segments to avoid random result. Operating Modes of 80286Intel 80286 has 2 operating modes.1. Real address mode.1. 80286 just as a fast 80862. All memory management and protection mechanisms are disabled3. 80286 can address up to 1Mb of physical memory address like 80864. In real address mode, the 80286 is object code compatible with 8086

2. Protected Virtual address mode1. it can address up to 16 Mb of physical memory address space and 1 Gb of virtual memory address space2. In protected virtual address mode, it is source code compatible with 80863. 80286 works with all of its memory management and protection capabilities with the advanced instruction set.Register organization of 80286The 80286 CPU contains almost the same set of registers, as in 8086.1. Eight 16-bit general purpose registers.2. Four 16 bit segment registers.3. Status and control register.4. Instruction pointer.

FLAG RESITERS OF 80286

Internal Block Diagram of 80286

80386 :COMPARISON OF 80286 and 803868028680386

Intel 80286 was developed in 1983 and it is advanced version of 80186Intel 80386 was developed in 1985 and it is advanced version of 80286

16 bit processor32 bit processor

134K transistor in a 68 pin IC275K transistor in 132 pin IC

24 bit address lines , 16 MB of physical memory can be accessed32 bit data and 32 bit address lines , 4GB of physical address it can support

80286 support numeric processorsSupports numeric processors

8 byte prefetch queueIt is having 16 byte prefetch queue

80486:

Study the another attached file.