Unit 1 Question and Answer
Unit 1 Question and Answer
Unit 1 Question and Answer
2 Marks Questions:
4. What are the difference between library functions & System calls?
5. Define Kernel.
5 Marks Questions:
12 Marks Questions:
a)Batch
b)Time-sharing
c)Distributed
d)Real-time
e) Interactive
3. What is the purpose of system calls? Categorize and list the system calls typically provided by
an operating system.
a) Batch Operating System: In a batch operating system, jobs are submitted to the
computer as a batch and the system processes them in sequence. The user does not
interact with the system while jobs are running. Examples include COBOL and FORTRAN.
System calls provide a safe and controlled way for programs to access system resources,
ensuring that programs do not interfere with each other or the operating system.
Without system calls, programs would need to implement low-level operations
themselves, which would lead to inconsistencies and potential security vulnerabilities.
2. Categorize and list the system calls typically provided by an operating system. System
calls can be broadly categorized into five categories:
Process control: These system calls allow programs to create, modify, and terminate
processes. Examples include fork(), exec(), wait(), and exit().
File management: These system calls provide access to file-related operations such as
create, open, read, write, close, and delete files. Examples include open(), read(), write(),
close(), and unlink().
Device management: These system calls provide access to device-related operations
such as reading and writing to devices, controlling device status, and setting device
attributes. Examples include ioctl(), read(), and write().
Information maintenance: These system calls provide information about system
resources such as time, date, and system configuration. Examples include time(),
getpid(), and getuid().
Communication: These system calls provide a means for processes to communicate with
each other, either locally or over a network. Examples include socket(), bind(), listen(),
and accept().
3. Briefly explain about the different structures of Operating System Design
Operating system design structures can be broadly categorized into two types:
Monolithic kernel: This design structure has all operating system services running in a
single address space. The kernel provides all services directly to the user-space
programs. It is a tightly integrated system, where all components share the same
memory space and communicate through function calls.
Microkernel: This design structure has only a minimal kernel that provides a small set of
essential services such as scheduling and interprocess communication. Other operating
system services run in user space, known as servers, which communicate with the kernel
through message passing. This design provides greater flexibility and modularity, but
can incur additional overhead due to message passing between the kernel and servers.
In addition to these, there are hybrid designs that combine aspects of both monolithic
and microkernel architectures, such as the nanokernel architecture. In this design, a
minimal kernel provides basic services such as thread scheduling and interrupt handling,
and other operating system services run as loadable modules that can be dynamically
loaded and unloaded as required.