Question

In: Computer Science

1. a. Explain why modern Operating Systems don’t allow the user to access the hardware directly....

1.

a. Explain why modern Operating Systems don’t allow the user to access the hardware directly.

b. System calls pass parameters to the kernel using one of three methods: in registers, in a block or table and the address of the block passed as parameter in a register, on the stack. Discuss the advantages and disadvantages of each.

Solutions

Expert Solution

1: Modern OS don't allow the user to acess the hardware directly because the OS must have to hide the computer's hardware, and it has to manage the hardware resources,it needs to prevent the application software from accessing the hardware directly .Without this protection the os would not be able to its job.

The CPU provides two modes of operation which enforce this protection. The software package runs in kernel mode, also called supervisor mode or privileged mode. In kernel mode, the software has complete access to all of the computer hardware, and control the switching between the CPU modes. Interrupts are received within the kernel mode software.
The rest of software runs in the user mode. during this mode, the direct access to hardware is prohibited, and then it's not possible to  switch to kernel mode. Any attempts to violate these restrictions are reported to the kernel mode software: in other words, to the software system itself. Programs running in user mode are given an address space, visible only to themselves, which contains enough memory for them to try to to their job.
By having two modes of operation which are enforced by the computer's own hardware, the software package can force application programs to use the operating system's abstract services, rather than circumventing any resource allocations by direct hardware access.

2:


Related Solutions

Explain the purpose and relationships between communications protocols, Server hardware,operating systems and web server software with...
Explain the purpose and relationships between communications protocols, Server hardware,operating systems and web server software with regards to designing, publishing and accessing a website?
1. What is true of socialist economies?                  a.   They don’t allow elections as they...
1. What is true of socialist economies?                  a.   They don’t allow elections as they reject democracy, they are run by a central workers party.                 b.    They tend to be poor, and found in the 3rd world                 c.    state owns and manages basic industries though people can hold jobs, and salaries and have                         private property                 d.   There are none left in the world today except for Cuba 2. Which of the following was not...
Explain why an operating system can be viewed as a resource allocator. Direct memory access is...
Explain why an operating system can be viewed as a resource allocator. Direct memory access is used for high-speed I/O devices in order to avoid increasing the CPU’s execution load. a) How does the CPU interface with the device to coordinate the transfer? b) How does the CPU know when the memory operations are complete? c) The CPU is allowed to execute other programs while the DMA controller is transferring data. Does this process interfere with the execution of the...
In regards to modern operating systems If you are asked to design a hotel check-in system...
In regards to modern operating systems If you are asked to design a hotel check-in system that has three steps, what would you like to propose? If you are asked to detail your previous design so that it has five steps, how would you update it and why? If you are asked to propose a hotel check-in system without any limitation in steps, what would it be and why?
In regards to Modern Operating Systems provide the definitions of the following terms: Timesharing system and...
In regards to Modern Operating Systems provide the definitions of the following terms: Timesharing system and Multiprogramming system
Explain why modern businesses tend to have higher levels of operating gearing than they did in...
Explain why modern businesses tend to have higher levels of operating gearing than they did in the past. thanks for any help:)
Write a C++ program that : 1. Allow the user to enter the size of the...
Write a C++ program that : 1. Allow the user to enter the size of the matrix such as N. N must be an integer that is >= 2 and < 11. 2. Create an vector of size N x N. 3. Call a function to do the following : Populate the vector with N2 distinct random numbers. Display the created array. 4. Call a function to determines whether the numbers in n x n vector satisfy the perfect matrix...
*explain in 1 paragragh each* 1. Explain(1 paragragh) why plate area is directly related to capacitance,...
*explain in 1 paragragh each* 1. Explain(1 paragragh) why plate area is directly related to capacitance, plate charge, and energy. 2. Explain(1 paragragh) why seperation distance is inversely related to capacitance, plate charge and stored energy. 3. Explain(1 paragragh) why each dielectric is different from the rest. 4. What general mathematic word or phrase best describes the differences?
1. Allow the user to vote as many times as they indicated there are voters (see...
1. Allow the user to vote as many times as they indicated there are voters (see numVoters). For each voter, you have to display the list ofcandidates and their associated id number (id numbers should start at 1, not 0). A voter votes for a candidate by entering the candidate's id number. 2. You have to devise a method for keeping tracks of the votes. 3. After all the voters have voted, you have to print out the results for...
create a program that will allow the user to enter a start value from 1 to...
create a program that will allow the user to enter a start value from 1 to 5, a stop value from 10 to 12 and a multiplier from 1 to 4. the program must display a multiplication table from the values entered. for example if the user enters: start 2, stop 10 and multiplier 3, the table should appear as follows: 3*2=6 3*3=9 3*4=12 . . . 3*10=30
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT