Rather than leave the program idling in the processor

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: ich has controlled access and making the translation tables accessible only from this mode. Designing a computer system to be secure against malicious attacks by clever individuals is a complex issue which requires some architectural support. On the ARM this support is provided by privileged processor modes with controlled access and various forms of memory protection in the memory management units. However, few ARMs are used in systems where protection against malicious users is required, so most of the time these facilities are used to catch inadvertent programming errors and thereby help debug the software. Resource allocation Two programs which are running concurrently may place conflicting demands on system resources. For example, one program may request data from one part of a disk. It will be switched out while the disk drive seeks the data, and the program that gets switched in may immediately request data from a different part of the disk. If the disk drive responds directly to these requests a situation can easily arise where the programs alternately have control and the disk drive oscillates between the two seeks, never having long enough to find either data area, and the system will live-lock until the disk drive wears out. In order to avoid this sort of scenario, all requests for input/output activity are channelled through the operating system. It will accept the request from the first program and then queue up the request from the second program to receive attention once the first has been satisfied. Where a system serves a single user, still possibly running several programs at the same time, much of the above continues to apply. Although the threat of a malicious user sharing the same machine is removed, it is still very useful for each program to run in its own space so that an error in one program does not cause errors in another. The simplification that arises from removing the concern about the malicious user is that it is no longer necessary to make it impossible for a p...
View Full Document

This document was uploaded on 10/30/2011 for the course CSE 378 380 at SUNY Buffalo.

Ask a homework question - tutors are online