Jinka University Collage of Computational and Natural Science Department of Computer Science

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

JINKA UNIVERSITY

COLLAGE OF COMPUTATIONAL AND


NATURAL SCIENCE DEPARTMENT OF
COMPUTER SCIENCE

GROUP OF STUDENTS

NAME ID

1, Belay Mengie 7802

2 Habtamu Fentaw 7794

3, Fetsum Fanta 8979

4, Kalkidan Yebltal 7524

5, Mesert Habtie 8920

SUBMITTED TO:-MS Mengestu

Submitted date :-03/06/15 E,C


JKU. Jinka.ETHIOPIA

1
Client: On a client system, the operating system's primary role as a resource manager is to manage
the amount of memory, processing power, and peripherals available on the system. It lets users divide
their work among different applications, assign resources to each application, and selectively allocate
resources to various tasks. As an extended machine, the operating system on a client provides a
platform for applications such as web browser and multimedia player. This extends the capabilities of
the user with richer functionality by providing access to powerful applications that would otherwise
not be possible on limited hardware configurations.

Server: On an enterprise server, the operating system acts as both a resource allocator and an extended machine.
It is responsible for managing all server-side hardware including disks, processors, networking capabilities and
other peripheral devices. The OS also provides enhanced features such as scalability and high availability that are
not available in general-purpose systems. Additionally it serves as an extended machine by providing support for
web servers and application services that allow users from around the world to interact with applications hosted
on this server.Mobile.

Devices: On mobile devices such as smartphones or tablets, the main role of an operating system is to provide a
secure environment within which mobile applications can be run without compromising data privacy or security.
The OS also acts as a resource manager by allowing the user to switch between different apps quickly while
making sure that adequate amount of resources is available for each app running at any given time. Lastly, it
serves as an extended machine by providing support for technologies like GPS navigation or near field
communication (NFC).

Client windows features:-

1. Support many Devices Simultaneously: Windows allows multiple users to interact with computers and
peripherals at the same time. It also allows resources such as memory, processor, file storage and networking to
be shared among multiple programs.
2. Allocate Resource to Different Users: Windows allocates a certain amount of system resources to each user so
that they can run their applications efficiently. This gives each user an equal chance of accessing and utilizing the
resources available in the system.

3. Share Resources among Users Fairly: Windows provides a resource-sharing scheme that ensures fairness and
encourages sharing of resources between different users on the system, which allows more efficient resource
utilization.

4. Resolve Conflict in Resource Demand: Windows has a built-in conflict resolution mechanism, which helps
determine the optimum resource usage when dealing with conflicting demands from multiple users or
applications running simultaneously on the same machine.

5. Hide Implementation Details: Windows hides implementation details from its users by abstracting out
hardware complexities into user-friendly interfaces and programs that are easy for people to use without having
to understand all of the underlying technicalities associated with computers and peripherals .

Server Linux Explain any 5 features:

1. Support Many Devices Simultaneously: Linux operating systems are capable of supporting hundreds or even
thousands of users and devices simulataneously using a combination of kernel preemption, process scheduling
algorithms, virtual memory management techniques, etc which enable the efficient multitasking operations
required for server environments

2. Allocate Resource to Different Users: Linux operating systems enable different users’ access requests to be
managed effectively by granting privileges/permissions such as read/write/execute access levels on
files/directories based on levels of authentication ensuring data integrity is maintained between source and target
machines while adhering to security policies established within an environment

3. Share Resources among Users Fairly: Linux provides a range of resource allocation policies such as Process
Priority Scheduling, which shares resources fairly across CPU cores by allocating work according to priorities
where low priority tasks are discarded enabling higher priority tasks completion effectively

4. Resolve Conflict in Resource Demand : The Linux Kernel implements request handling mechanisms for
concurrent execution requests for sharing resources where processes compete for same sources resulting in race
conditions , thereby apply preemptive Memory management algorithms so as stop compromising access
characterized either through cooperative or non - cooperative behaviors from processes requesting access not
exceeding CPUs capability thereby prioritizing process requests accordingly

5. Provide Stable , Portable , Reliable & Well-behaved Environment : The stable development model followed
by Linux ensures well maintain backed up source codes providing flexibility & control over platform
functionality while running standard portable binaries across various Linux flavors suited either physical or
virtual systems while delivering reliable performance apart from exhibiting well behaved services with minimum
administrative burde

Mobile os android feature:-

1. Support many devices simultaneously: Android is a mobile operating system which supports many tablets and
mobile phones. It provides an interface for users to interact with their device hardware, thus allowing multiple
applications and services to run simultaneously on a single device.

2. Allocate resources to different users: Android has its own set of tools that manage resources for different users,
such as memory and processor, efficiently and fairly. Android OS also allows the users to prioritize their tasks
based on their importance so that the power-hungry processes aren't hogging all the resources.

3. Share resources among users fairly, efficiently, and safely: Android ensures that each application only uses the
minimum amount of resources it needs to complete its task without interfering with other running applications or
hindering performance in any way. It provides efficient ways of sharing resources between different apps
installed on the same device.

4. Resolve conflicts in resource demand: With so many apps constantly vying for a piece of your device's limited
CPU power, RAM or battery life etc., Android OS plays a crucial role in ensuring that none of the apps crash or
hinder normal functioning by conflicting over resource access and prioritizing accordingly which app gets what
kind of access due to it’s advance memory management feature.

5. Provide stable, portable, reliable, safe, well-behaved environment: Being one of the most popularly used
mobile operating systems today, Android focuses heavily on providing a user-friendly experience on both small
scale devices like smartphones as well as high end gadgets like tablets by optimizing system performance while
at the same time offering robust security features like two factor authentication and encryption algorithms
designed developed with Java and Linux Kernel core components in mind. Additionally, due to its versatility
when it comes down to various makers tinkering with it according to their respective product’s hardware specs
makes it an attractive choice for both consumers as well as vendors alike; thereby making it one of most stable
operating system across usage platforms today - maintaining consistent UX across compatible devices is easier
than ever before with Android thanks its wide open source development philosophy & effortless interoperability
approach for developers who are comfortable coding within its eco-system .

2
I. Demonstrate the following Unix/Linux commands in the lab and the screen shots of the
execution in the same word file.
How do you know if a remote host is alive or not?

How do you find which process is taking how much CPU?

How do you check how much space is left in current drive?

How do you find whether your system is 32 bit or 64 bit?


In a file word UNIX is appearing many times. How will you count the number of
these occurrences?

ll 1, % cat /etc/hosts cat? a

2, % echo "Home Directory Is home" uppercase $H

3, % who | wc

4, % who > logged.users


5, %date "+%m/%d/%y"

6, %date "+%Y%m%d"

7, %date +'%-4.4h %2.1d %H:%M'

3
1. A virtual machine is a simulated computer system that acts as if it were a real physical machine,
offering the same functionality and performance as an actual physical device. It can also be used to
run multiple applications in an isolated environment, making it ideal for various purposes such as
development, testing and production.

2. System boot is the process of loading the operating system into memory so that it can be executed. When a
computer is first powered up or restarted, BIOS (Basic Input/Output System) performs a number of diagnostic
tests before loading the operating system into memory and transferring control to it.

3. Process scheduling is a key component of process management which deals with managing the execution of
processes on computing systems by allocating resources such as processor time to each process based on its
priority level and other criteria. The goal is to ensure efficient use of resources while maximizing throughput and
minimizing turnaround time.
4. Threading issues relate to how processes share resources between different threads of execution within them;
problems related to synchronization, race conditions, deadlocks, contention and cooperation are typical threading
issues that must be carefully avoided and managed in order for efficient usage of system resources while still
getting correct results from application programs.

5. Thread scheduling involves assigning processor time to individual threads running in parallel within a single
process so that they are run efficiently but without resource contention or interference from competing threads
using shared resources like memory or disk space; different algorithms are used for this purpose depending upon
system design requirements.

6. Peterson’s solution proposes a simple solution for mutual exclusion problems which arise due to concurrent
access by multiple threads trying to modify shared data - if access to only one thread at any given time is allowed
then no two threads can get into conflict over modification of data; his solutions offers solutions using special
instructions called register test-and-set instructions which enable two instructions by two concurrent processes
checking a register before executing any further instructions successfully given mutual exclusion properties while
still ensuring correctness in accessing shared data among threads/processes that need access concurrently or at
least close together in time intervals or regularly scheduled intervals due points in time where constraints exist
such as when others are holding onto locks etc.. The original version proposed by Peterson required 2 processes
but there have been subsequent extensions developed later which allow up to n number of processes needing
mutual exclusion mechanisms allowed on computers with n processors available where n exceeds 2 with
adequate program construction techniques applied appropriately etc.. This approach has found wide acceptance
due its simplicity yet guaranteeing efficient correctness property due concurrency involving multiple processes
safely operating concurrently without entering critical sections without permission via pre-defined locks coded
for same etc…

7 , Semaphores are an important construct used in software design concepts where exclusive access is not
required but limited exclusive use needs programming support so that more than one user/thread can read
from/write into a shared data area (or some more complicated arrangement but within certain boundaries so that
invalid states caused by reckless behaviors from unconstrained user codes getting control over specific areas of
shared variables etc., become avoided – e.g., readers cannot write nor writers read inside scenarios where these
states could manifest themselves giving rise potentially erroneous behaviors caused program code erorrs-
sempahors offer solutions by allowing only ‘n’ users reading/writing following established rules set out during
initialization sequences addressing synchronization needs across module boundaries runtime invariants residing
within sets/contexts addressed via semaphores so resource management across modules becomes possible
ensuring mutual consistency across stated semantics defined making progress toward completing task goals set
forth etc..

8 , File concept describes the idea behind file abstractions providing readable formats associating symbols within
text files mapping collections records stored therein - files provide organizations means codifying digital
information often useful supporting effective representation needed find associations between various items
organizations store online - files can encapsulate results observations transforming analog domains recorded
digitally allowing archiving customization sharing data between cooperating entities assigning unique ID’s
deriving commonality operations associated presenting reading friendly file formats reader liable interpret gather
extra information hidden plain sight arriving suitable conclusions operative logic needed fuel operations
manipulating services indicated deal storing retrieving managing operations occurring center stage business
objectives defined agree stakeholders impacted potentially change evolution taking place requiring extensible
secure environments necessary create sound foundations needed scaling up deployment strategic alliances
aggregating forming distribution networks connected users concerned understanding context meaning gained
unlock needed parameters deliverables expected arising transaction initiated analyzed outputting desirable
response signaling successful completion ending cycle operation signaled either success failure depending
outcome reaching….

9 , RAID (Redundant Array of Inexpensive Disks) stands for Redundant Array Of Independent Disks family
technologies responsible combining multiple physical disks larger logical units increase devices capabilities
working grouped includeseveral features resilience reliability capacity large gains performance achieved cost
allocate storage servers implemented layers system consisting array small size lack ability handle demanding
workloads enter raid layer improve mitigating pitfalls disadvantages separate budget though afford higher prices
solves issue cost using striped volume greatest capacity improve speed cheap price different ordering disks rotate
helping balance workload backup another entire server configured directory pattern recover data lost hard drive
crash drives offer parity execute requests quickly while writing data utilized (raid 5).

10, Disk management involves managing physical disks associated with computer systems; traditionally this
was done manually through software tools or configuration utilities incorporated into standard application
packages which would manage individual or groups disks ensuring proper magnetic alignment heads spinning
accurately along tracks avoiding head crashes occ

urring making sure desired settings won overall state - modern implementations utilize hardware controllers
embedded often hosting multiple arrays calculations performed moved striped recorded blocks error correction
techniques also involved restoring bits availability sudden power loss providing independent paths accessible
programmed via inputs output ports integrating drives free internal dedicated expanding reducing sizes altering
settings suit applications architectures being developed today even smaller increasing speeds numbers sectors
enabling faster reads writes garbage collection routines capable performing solid debris accumulated handling
chkdsk autochk utilities offered check verify integrity disk integrity parameters aligned adjusting reallocating
clusters detecting bad sectors providing automatic recovery tools easier installation partitioning formatted disks
repartitioning partitions….

11, Deadlock detection and recovery involve recognizing situations leading potential deadlock
investigating sources identifying causes resolving prevent happening again future taking precautions putting
checks stops protect avoid future conflicts arise deadlock essentially form circular wait occurs computer
programs portion memory waits further action taken other programs creates loop program placed hold stalled
waiting release required continue progress desirable end result problem fixed detected alert letting know exactly
what goes wrong enabling take initiative prevent corruption crashing detection methods refined continuously
eliminating chances ever reaching critical moment situation calls action result incident prevented similar cases
spotted quickly dealt via restoring correct state intervened after materializing….

12, Deadlock prevention and avoidance are strategies employed minimize likelihood occurrence coding
software correctly follows protocols correctly avoiding resource hogging inefficient use leading scenario staying
aware requesting principles back off protocol examined activate release mode enabled unlocking freeing blocked
code unsure current progress methodologies warn programmer exceeding limits stop immediately let aware exact
cause recovering excess reliably verifying valid subroutine written technical approach feasible object oriented
programming additional layer classes objects achieve concrete example programmer abstraction creating wrapper
preventing hits whenever occurs

13. Memory management without swapping paging entails consistent reliable loading unloading arbitrating
addresses splitting sort task saving portions executes alternative loading busy periods frames caching segments
monitored maintain balances maintaining utilization optimally conventional divide four modules able exclusive
handles responsibilities task segmentation multi-programming segment manager swapper monitor exception
handler serves work together creating optimal usage usage manner controller manages act removing delaying
redundant executions taking place actively participates arrangement creating optimized structure

14. Page Replacement Algorithms: Page replacement algorithms are used in memory management to determine
which page should be replaced when a new page needs to be loaded. The goal of an efficient page replacement
algorithm is to minimize the number of page faults while meeting all performance requirements. Different
strategies are employed, such as least recently used (LRU), first-in, first-out (FIFO), not recently used (NRU),
optimal, and other heuristics.

15. Application I/O Interface: The application I/O interface is an operating system service which simplifies the
task of writing programs that require access to various devices and file systems. It provides programs with the
means to request data from a device, write data to the device, or perform other operations like deleting a file or
running a command on a printer. In addition, it isolates the actual implementation details from the application
itself - thus preventing conflicts between software components due to unsupported programming languages or
operations.

16. Access Matrix: An access matrix is a data structure used in computer security to store permissions associated
with each user or group. It typically uses Boolean values in each array index stored in memory along with objects
that can be accessed by users or groups - such as files, directories, and processes - allowing for rapid privilege
checks independently of underlying process structures on which they may rely. Access matrices provide fine
grained control over privileges and allow administrators more flexibility when managing privileges within their
systems compared to traditional discretionary access control solutions, such as ACLs (Access Control Lists)

You might also like