File Attributes
File Attributes
File attributes are configuration and information related to files. These attributes grant/deny
requests of a user/process for access, modifying, relocating, or deleting it. Some common
examples of file attributes are:
File Attributes
A file has a name and data. Moreover, it also stores meta information
like file creation date and time, current size, last modified date, etc. All
this information is called the attributes of a file system.
File Directories
A single directory may or may not contain multiple files. It can also
have sub-directories inside the main directory. Information about files
is maintained by Directories. In Windows OS, it is called folders.
Following is the information which is maintained in a directory:
July 21 3b
Typical Multiprocessing Configuration
Multiprocessing is the situation in which more than one processor is working in unison.
So, they must be well configured so as not to generate any type of problem. There are
typically 3 types of configurations: Master / Slave Configuration, Loosely Coupled
Configuration, and Symmetric Configuration. These are explained in are following
below.
1. Master / Slave Configuration: The master/slave configuration is a single processor
system where extra slave processors are working, managed by
the primary master processor. It is an asymmetrical
system.
The work of the master processor is to manage the entire system consisting of files,
devices, main memory and the slave processors. It maintains the status of all the
processes, schedules the work for the slave processor and executes all control programs.
It is also responsible for storage management. This type of configuration is suitable for
computing environments where the processing time needs to be divided between front
end and back end processor. The advantage of this configuration is that it is simple to
understand. The disadvantages include:
It is as reliable as a single processor system, i.e., if the master processor fails the
entire system fails.
It creates more overhead charges. There would be situations when the slave
processors would be free before the master processor could assign them another task.
Then it takes the valuable time of processing.
After each task completed by the slave processors, it interrupts the master processor
for some operating system intervention, like I/O requests. This creates long queues at
master level processor.
2. Loosely Coupled Configuration: In this type of configuration, there are several
complete computer systems with their own memory, I/O devices, CPU and operating
system.
Each processor controls it’s own resources (I/O devices, memory, etc.) and their own
commands and management tables. Each processor can also communicate and cooperate
with each other. When a job is given, it is assigned to one processor and that processor
works on that task till it’s completion. So, there must be global tables to indicate which
processor has been given a specific task. Also for the system to be well balanced, job
scheduling must be done on various parameters and according to various policies.
The advantage of this configuration is that it isn’t prone to catastrophic failure. If a
processor fails, other can continue their work independently. The disadvantage of this
configuration is that it is difficult to detect if a processor has failed.
3. Symmetric Configuration: In symmetric configuration processor scheduling is
decentralized. A single copy of the OS and a table listing each process and it’s status is
stored in memory common and accessible to all the processors, so that each processor can
use the algorithms to decide which job to run
next.
Advantages –
It is more reliable than loosely coupled configuration.
It uses the resources effectively.
It well manages the load of jobs.
It can degrade gracefully at the time of failure.
Disadvantages –
Whenever a process is interrupted, it’s processor updates the corresponding entry in
the process list and finds another process to run. This means that not only all the
processors are kept busy, but also other processors may also be executing that job
(like I/O request) at the same time. This increases the chances of conflict between
processors.
It is the most difficult configuration to implement, as the system must be well
synchronized as to avoid any type of races or deadlocks.