1. ARCHITECTURE AND ORGANIZATION
Learning Objectives:
At the end of the module, students should have the ability to:
Define the interfacing and communication, multiprocessing and alternative architectures, performance
enhancements
Illustrate how Microprocessor works in terms of input and output Interfacing
Illustrate how Multiprocessor Systems works
Propose to improve computer performance to speed up devices
Create a simple assembly program applying data section, bss section, text section and comments, the
program output should display your name, course and year
ARCHITECTURE AND ORGANIZATION
2. INTRODUCTION
The subjects cover the Interfacing and communication, Multiprocessing and alternative architectures,
Performance enhancements and Assembly Language Program, at the end of the module you have to answer the
questions for quiz.
The role of the operating system (OS) in interfacing is crucial for enabling communication and interaction
between various software applications, hardware components, and the user. Interfacing refers to the
interaction between different entities or systems, and the OS plays a central role in managing and
facilitating these interactions. Here are key aspects of the OS's role in interfacing:
1. Hardware Abstraction:
The OS provides a layer of abstraction between software applications and the underlying
hardware. This abstraction simplifies the interaction for software developers by presenting a
standardized interface, allowing them to write programs without needing detailed knowledge
of the specific hardware components.
2. Device Drivers:
The OS includes device drivers, which are software modules that act as intermediaries
between the operating system and hardware devices. Device drivers provide a standard
interface for interacting with hardware components such as printers, graphics cards, storage
devices, and network interfaces.
3. INTRODUCTION
1. User Interface (UI):
The OS provides a user interface that allows users to interact with the computer system. This
interface can be graphical (GUI) or command-line based. The OS manages input from keyboards,
mice, touchscreens, and other input devices, translating user actions into commands that the
computer can understand.
2. File System Interface:
The OS manages the file system and provides an interface for file operations. This includes
creating, reading, updating, and deleting files. The file system interface allows applications to store
and retrieve data without needing to understand the intricacies of storage devices.
3. Application Programming Interface (API):
The OS offers an API that serves as a set of routines, protocols, and tools for building software
applications. Application developers use the API to access OS services and functionalities,
ensuring consistency and compatibility across different software applications.
4. Process Management:
The OS oversees the creation, scheduling, and termination of processes. It provides an interface
for applications to run concurrently and efficiently share system resources. Process management
ensures that multiple applications can run simultaneously without interfering with each other.
4. INTRODUCTION
1. Memory Management:
The OS is responsible for managing system memory, including allocating and
deallocating memory for processes. It provides an interface for applications to
request and release memory, ensuring efficient use of available resources.
2. Communication between Processes:
The OS facilitates communication between different processes running on the
system. Inter-process communication (IPC) mechanisms provided by the OS allow
processes to exchange data and coordinate their activities.
3. Security and Access Control:
The OS enforces security measures and access control policies. It defines user
permissions, authentication mechanisms, and encryption protocols to protect
system resources. The OS interface allows administrators to configure and
manage security settings.
5. Microprocessor - I/O Interfacing Overview
Interface is the path for communication between two components. Interfacing is of
two types, memory interfacing and I/O interfacing.
Memory Interfacing
When we are executing any instruction, we need the microprocessor to access the
memory for reading instruction codes and the data stored in the memory. For this,
both the memory and the microprocessor requires some signals to read from and
write to registers.
The interfacing process includes some key factors to match with the memory
requirements and microprocessor signals. The interfacing circuit therefore should be
designed in such a way that it matches the memory signal requirements with the
signals of the microprocessor.
6. I/O Interfacing
There are various communication devices like the keyboard, mouse, printer, etc. So,
we need to interface the keyboard and other devices with the microprocessor by
using latches and buffers. This type of interfacing is known as I/O interfacing.
Ways of Communication − Microprocessor with the Outside World?
There are two ways of communication in which the microprocessor can connect with the outside
world.
Serial Communication Interface
Parallel Communication interface
Serial Communication Interface − In this type of communication, the interface gets a single byte of
data from the microprocessor and sends it bit by bit to the other system serially and vice-a-versa.
Parallel Communication Interface − In this type of communication, the interface gets a byte of
data from the microprocessor and sends it bit by bit to the other systems in simultaneous (or) parallel
fashion and vice-a-versa.
7. Multiprocessor Systems
Most computer systems are single processor systems i.e they only have one processor.
However, multiprocessor or parallel systems are increasing in importance nowadays.
These systems have multiple processors working in parallel that share the computer
clock, memory, bus, peripheral devices etc. An image demonstrating the multiprocessor
architecture is
8. Types of Multiprocessors
There are mainly two types of multiprocessors i.e. symmetric and asymmetric multiprocessors. Details
about them are as follows −
Symmetric Multiprocessors
In these types of systems, each processor contains a similar copy of the operating system and they all
communicate with each other. All the processors are in a peer to peer relationship i.e. no master - slave
relationship exists between them.
An example of the symmetric multiprocessing system is the Encore version of Unix for the Multimax
Computer.
Asymmetric Multiprocessors
In asymmetric systems, each processor is given a predefined task. There is a master processor that
gives instruction to all the other processors. Asymmetric multiprocessor system contains a master slave
relationship.
Asymmetric multiprocessor was the only type of multiprocessor available before symmetric
multiprocessors were created. Now also, this is the cheaper option.