SlideShare a Scribd company logo
1 of 15
CS354
Key to Homework #1
2.1 Prefetching is a method of overlapping the I/O of a job with that job's
owcomputation. The idea
is simple. After a read operation completes and the job is about to start operating on
the data, the input
device is instructed to begin the next read immediately. The CPU and input device are
then both busy.
With luck, by the time that the job is ready for the next data item, the input device will
have finished
reading that data item. The CPU can then begin processing the newly read data, while
the input device
starts to read the following data. A similar idea can be used for output. In this case, the
job creates data
that are put into a buffer until an output device can accept them. Compare the
prefetching scheme with
the spooling scheme, where the CPU overlaps the input of one job with the
computation and output of
other jobs.
Answer: Prefetching is a user-based activity, while spooling is a system-based
activity. Spooling is
a much more effective way of overlapping I/O and CPU operations.
The central idea of both prefetching and spooling is to try to keep both CPU and I/O
busy, so as to
improve the performance of the system.
When doing prefetching, the structions may need to be rearranged, so that to start read
as early as
possible, and probably to postphone some write until the output device can accept
them.
Spooling is often used in batch processing, there are many tasks ready to be run in the
system, so
the system has more freedom to schedule them to improve the performance.
2.8 Protecting the operating system is crucial to ensuring that the computer system
operates correctly.
Provision of this protection is the reason behind dual-mode operation, memory
protection, and the
timer. To allow maximum flexibility, however, we would also like to place minimal
constraints on
the user. The following is a list of operations that are normally protected. What is the
minimal set
of instructions that must be protected?
a. Change to user mode.
b. Change to monitor mode.
c. Read from monitor memory.
d. Write into monitor memory.
e. Fetch an instruction from monitor memory.
f. Turn on timer interrupt.
g. Turn off timer interrupt.
Answer: The minimal set of instructions that must be protected are:
a. Change to monitor mode.
Not everybody is allowed to change to monitor mode, otherwise he could do whatever
he want in the
monitor mode.
b. Read from monitor memory.
Monitor memory may contain private data for one user that should not be accessible
to other users.
Hence, allowing read may cause security (specifically privacy) concern.
c. Write into monitor memory.
If everybody can write into the monitor memory, then the kernel would be a mess
after a while.
d. Turn off timer interrupt.
If a process is allowed to turn off the timer, it could keep running for ever.
2.9 When are caches useful? What problems do they solve? What problems do they
cause? If a cache
can be made as large as the device for which it is caching (for instance, a cache as
large as a disk),
why not make it that large and eliminate the device?
Answer: Caches are useful when two or more components need to exchange data, and
the components
perform transfers at differing speeds. Cahces solve the transfer problem by providing
a buffer of
intermediate speed between the components. If the fast device finds the data it needs
in the cache,
it need not wait for the slower device.
The data in the cache must be kept consistent with the data in the components. If a
component
has a data value change, and the datum is also in the cache, the cache must also be
updated.
This is especially a problemon multiprocessor systems where more than one process
may
be accessing a datum.
A component may be eliminated by an equal-sized cache, but only if:
a) the cache and the component have equivalent state-saving capacity (that is, if the
component
retains its data when electricity is removed, the cache must retain data as well),
and
b) the cache is affordable, because faster storage tends to be more expensive.
2.10 Writing an operating system that can operate without interference from malicious
or
undebugged user programs requires some hardware assistance. Name three hardware
aids for writing an operating system, and describe how they could be used together to
protect the operating system.
Answer:
a. Monitor/user mode
b. Privileged instructions
c. Timer
d. Memory protection
See the textbook for details.
3.5 What is the purpose of the command interpreter? Why is it usually separate from
the kernel?
Answer: It reads commands from the user or from a file of commands and executes
them,
usually by turning them into one or more system calls. It is usually not part of the
kernel
since the command interpreter is subject to changes.
User level programs are much more easy to write and debug
(the user level software environment is more friendy like better
debuggers, and any bugs will not cause great problems such as reboot, loss
of data, crashing system which in turn causes down time, etc).
3.7 What is the purpose of system calls?
Answer: System calls allow user-level processes to request services of the operating
system.
System call is a software interrupt that changes the processor from user to
monitor/kernel
mode, so that a user program can obtain system services through privileged
instructions executed on its behalf *by the operating system*. System
calls, for example, are usually needed for a user program to perform
various kinds of IO operations.
Operating System (OS) Questions & Answers
Chapter 1: Introduction
1. What are the three main purposes of an operating system?
Answer:
 To provide an environment for a computer user to execute programs on computer hardware in a
convenient and
efficient manner.
 Toallocate the separate resources of the computer as needed to solve the problem given. The
allocation process should
be as fair and efficient as possible.
 As a control program it serves two major functions: (1) supervision of the execution of user programs
to prevent errors
and improper use of the computer, and (2) management of the operation and control of I/O devices.
2. What are the main differences between operating systems for mainframe computers and personal
computers?
Answer:
Generally, operating systems for batch systems have simpler requirements than for personal computers.
Batch systems do
not have to be concerned with interacting with a user as much as a personal computer. As a result, an
operating system for a
PC must be concerned with response time for an interactive user. Batch systems do not have such
requirements. A pure
batch system also may have not to handle time sharing, whereas an operating system must switch
rapidly between different
jobs.
3. List the four steps that are necessary to run a program on a completely dedicated machine.
Answer:
i. Reserve machine time.
ii. Manually load program into memory.
iii. Load starting address and begin execution.
iv. Monitor and control execution of program from console.
4. What is the main difficulty that a programmer must overcome in writing an operating system for a
real-time
environment?
Answer:
The main difficulty is keeping the operating system within the fixed time constraints of a real-time
system. If the system
does not complete a task in a certain time frame, it may cause a breakdown of the entire system it is
running. Therefore
when writing an operating system for a real-time system, the writer must be sure that his scheduling
schemes don’t allow
response time to exceed the time constraint.
5. How does the distinction between kernel mode and user mode function as a rudimentary form of
protection
(security) system?
Answer:
The distinction between kernel mode and user mode provides a rudimentary form of protection in the
following manner.
Certain instructions could be executed only when the CPU is in kernel mode. Similarly, hardware devices
could be accessed
only when the program is executing in kernel mode. Control over when interrupts could be enabled or
disabled is also
possible only when the CPU is in kernel mode. Consequently, the CPU has very limited capability when
executing in user
mode, thereby enforcing protection of critical resources.
6. Which of the following instructions should be privileged?
a. Set value of timer….
b. Read the clock.
c. Clear memory….
d. Issue a trap instruction.
e. Turn off interrupts……
f. Modify entries in device-status table…..
g. Switch from user to kernel mode.
h. Access I/O device……..
The rest can be performed in user mode.
7. Is the Internet a LAN or a WAN?
Answer:
The Internet is a WAN as the various computers are located at geographically different places and are
connected by long
distance network links.
Chapter 2: Operating System Structure
1. What is the purpose of system calls?
Answer:
System calls allow user-level processes to request services of the operating system.
2. What are the five major activities of an operating system in regard to process management?
Answer:
1. The creation and deletion of both user and system processes
2. The suspension and resumption of processes
3. The provision of mechanisms for process synchronization
4. The provision of mechanisms for process communication
5. The provision of mechanisms for deadlock handling
3. What are the three major activities of an operating system in regard to memory management?
Answer:
i. Keep track of which parts of memory are currently being used and by whom.
ii. Decide which processes are to be loaded into memory when memory space becomes available.
iii. Allocate and deallocate memory space as needed.
4. What are the three major activities of an operating system in regard to secondary-storage
management?
Answer:
i. Free-space management.
ii. Storage allocation.
iii. Disk scheduling.
5. What is the purpose of system programs?
Answer:
System programs can be thought of as bundles of useful system calls. They provide basic functionality to
users so that users
do not need to write their own programs to solve common problems.
6. What is the main advantage of the layered approach to system design? What are the disadvantages of
using
the layered approach?
Answer:
As in all cases of modular design, designing an operating system in a modular way has several
advantages. The system is
easier to debug and modify because changes affect only limited sections of the system rather than
touching all sections of
the operating system. Information is kept only where it is needed and is accessible only within a defined
and restricted area,
so any bugs affecting that data must be limited to a specific module or layer.
7. What is the purpose of system calls?
Answer:
System calls allow user-level processes to request services of the operating system.Chapter 14:
Protection
1. What are the main differences between capability lists and access lists?
Answer:
An access list is a list for each object consisting of the domains with a nonempty set of access rights for
that object.
A capability list is a list of objects and the operations allowed on those objects for each domain.
2. What protection problems may arise if a shared stack is used for parameter passing?
Answer:
The contents of the stack could be compromised by other process(es) sharing the stack.
3. Capability lists are usually kept within the address space of the user. How does the system ensure that
the
user cannot modify the contents of the list?
Answer:
A capability list is considered a “protected object” and is accessed only indirectly by the user. The
operating system ensures
the user cannot access the capability list directly.
Chapter 22: Windows XP
1. What type of operating system is Windows XP? Describe two of its major features.
Answer:
A 32/64 bit preemptive multitasking operating system supporting multiple users.
i. The ability automatically to repair application and operating system problems.
ii. Better networking and device experience (including digital photography and video).
2. List the design goals of Windows XP. Describe two in detail.
Answer:
Design goals include security, reliability,Windows and POSIX application compatibility, high
performance, extensibility,
portability and international support.
i. Reliability was perceived as a stringent requirement and included extensive driver verification,
facilities for
catching programming errors in user-level code, and a rigorous certification process for third-party
drivers,
applications, and devices.
ii. Achieving high performance required examination of past problem areas such as I/O performance,
server CPU
bottlenecks, and the scalability of multithreaded and multiprocessor environments.
3. What are the responsibilities of the I/O manager?
Answer:
The I/O manager is responsible for file systems, device drivers, and network drivers. The I/O manager
keeps track of which
device drivers, filter drivers, and file systems are loaded and manages buffers for I/O requests. It
furthermore assists in
providing memorymapped file I/O and controls the cache manager for the whole I/O system.
4. How does NTFS handle data structures? How does NTFS recover from a system crash? What is
guaranteed
after a recovery takes place?
Answer:
In NTFS, all file-system data structure updates are performed inside transactions. Before a data structure
is altered, the
transaction writes a log record containing redo and undo information. A commit record is written to the
log after a
transaction has succeeded. After a crash the file system can be restored to a consistent state by
processing the log records,
first redoing operations for committed transactions and undoing operations for transactions that did not
successfully
commit. This scheme does not guarantee that user file contents are correct after a recovery, but rather
that the file-system
data structures (file metadata) are undamaged and reflect some consistent state that existed before the
crash. Answers to Homework1
1 How do clustered systems differ from multiprocessor systems? What is
equired for two machines belonging to a cluster to cooperate to provide a
ighly ava
r
h ilable service?
Answer: Clustered systems are typically constructed by combining multiple
computers into a single system to perform a computational task distributed
across the cluster. Multiprocessor systems on the other hand could be a single
physical entity comprising of multiple CPUs. A clustered system is less tightly
coupled than a multiprocessor system.
Clustered systems communicate using messages, while processors in a
multiprocessor system could communicate using shared memory. In order for
twomachines to provide a highly available service, the state on the two
machines should be replicated and should be consistently updated. When one
f the machines fail, the other could then take‐over the functionality of the
ailed machine.
o
f
2 Some computer systems do not provide a privileged mode of operation in
ardware. Is it possible to construct a secure operating system for these
omputer
h
c systems? Give arguments both that it is and that it is not possible.
Answer:An operating system for a machine of this type would need to remain
in control (or monitor mode) at all times. This could be accomplished by two
methods:
a. Software interpretation of all user programs (like some BASIC, Java, and
LISP systems, for example). The software interpreter would provide, in
software, what the hardware does not provide.
b. Require meant that all programs be written in high‐level languages so that
ll object code is compiler‐produced. The compiler would generate (either in‐
ine or by function calls) the protection checks that the hardware is missing.
a
l
3Define the essential properties of the following types of operating systems:
a. Batch
ng
b. Interactive
c. Time shari
d. Real time e. Network
f. Parallel
g. Distributed
. Clustered
. Handheld
h
i
Answer:
a. Batch. Jobs with similar needs are batched together and run through the
computer as a group by an operator or automatic job sequencer. Performance
is increased by attempting to keep CPU and I/O devices busy at all times
through buffering, off‐line operation, spooling, and multiprogramming. Batch
is g cuting large jobs that need little interaction; it can be submitted ood for exe
and picked up later.
b. Interactive. This system is composed of many short transactions where the
results of the next transaction may be unpredictable. Response time needs to
be short (seconds) since the user submits and waits for the result.
c. Time sharing. This systems uses CPU scheduling and multiprogramming to
provide economical interactive use of a system. The CPU switches rapidly
from one user to another. Instead of having a job defined by spooled card
images, each program reads its next control card from the terminal, and
output is normally printed immediately to the screen.
d. Realtime. Often used in a dedicated application, this system reads
orr
information from sensors and must respond within a fixed amount of time to
ensure c ect performance.
e. Network. Provides operating system features across a network such as file
sharing.
f. SMP. Used in systems where there are multiple CPU’s each running the same
copy of the operating system. Communication takes place across the system
bus.
g. Distributed. This system distributes computation among several physical
processors. The processors do not share memory or a clock. Instead, each
processor has its own local memory. They communicate with each other
through various communication lines, such as a high‐speed bus or local area
network.
h. Clustered. A clustered system combines multiple computers into a single
system to perform computational task distributed across the cluster.
i. Handheld. A small computer system that performs simple tasks such as
calendars, email, and web browsing. Handheld systems differ from traditional d
p
esktop systems with smaller memory and display screens and slower
rocessors.
4 What is the purpose of interrupts? What are the differences between a trap
nd an interrupt? Can traps be generated intentionally by a user program? If
o, for wh
a
s at purpose?
Answer:An interrupt is a hardware‐generated change‐of‐flow within the
system. An interrupt handler is summoned to deal with the cause of the
interrupt; control is then returned to the interrupted context and instruction.
A trap is a software‐generated interrupt. An interrupt can be used to signal
he completion of an I/O to obviate the need for device polling. A trap can be
s
t
u ed to call operating system routines or to catch arithmetic errors.
6 Give two reasons why caches are useful. What problems do they solve?
What problems do they cause? If a cache can be made as large as the device
or which it is caching (for instance, a cache as large as a disk), why not make
t that lar
f
i ge and eliminate the device?
Answer: Caches are useful when two or more components need to exchange
data, and the components perform transfers at differing speeds. Caches solve
the transfer problem by providing a buffer of intermediate speed between the
components. If the fast device finds the data it needs in the cache, it need not
wait for the slower device. The data in the cache must be kept consistent with
the data in the components. If a component has a data value change, and the
datum is also in the cache, the cache must also be updated. This is especially a
problem on multiprocessor systems where more than one process may be
accessing a datum. A component may be eliminated by an equal‐sized cache,
but only if: (a) the cache and the component have equivalent state‐saving
capacity (that is, if the component retains its data when electricity is removed,
he cache must retain da.ta as well), and (b) the cache is affordable, because 1
.9 Some early computers protected the operating system by placing it in
a memory partition that could not be modified by either the user job
or the operating system itself. Describe two difficulties that you think
could arise with such a scheme.
Answer: The data required by the operating system (passwords, access
controls, accounting information, and so on) would have to be stored
in or passed through unprotected memory and thus be accessible to
unauthorized users

More Related Content

What's hot (20)

Operatingsystems lecture2
Operatingsystems lecture2Operatingsystems lecture2
Operatingsystems lecture2
 
Firo
FiroFiro
Firo
 
Operating System Lecture Notes
Operating System Lecture NotesOperating System Lecture Notes
Operating System Lecture Notes
 
Operating System
Operating SystemOperating System
Operating System
 
Operating system interview question
Operating system interview questionOperating system interview question
Operating system interview question
 
Introduction to Operating System (Important Notes)
Introduction to Operating System (Important Notes)Introduction to Operating System (Important Notes)
Introduction to Operating System (Important Notes)
 
Operating system notes
Operating system notesOperating system notes
Operating system notes
 
Chapter01
Chapter01Chapter01
Chapter01
 
Presentation1 cc
Presentation1 ccPresentation1 cc
Presentation1 cc
 
operating system lecture notes
operating system lecture notesoperating system lecture notes
operating system lecture notes
 
Operating system concepts (notes)
Operating system concepts (notes)Operating system concepts (notes)
Operating system concepts (notes)
 
Ch1
Ch1Ch1
Ch1
 
Compyter system softwere
Compyter system softwereCompyter system softwere
Compyter system softwere
 
Os notes
Os notesOs notes
Os notes
 
Operating system notes pdf
Operating system notes pdfOperating system notes pdf
Operating system notes pdf
 
Unit 1os processes and threads
Unit 1os processes and threadsUnit 1os processes and threads
Unit 1os processes and threads
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating Systems
 
Os
OsOs
Os
 
Complete Operating System notes
Complete Operating System notesComplete Operating System notes
Complete Operating System notes
 
Basics of Operating System
Basics of Operating SystemBasics of Operating System
Basics of Operating System
 

Similar to Os files 2

OPERATING SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTESOPERATING SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTESsuthi
 
Lecture1,2,3 (1).pdf
Lecture1,2,3 (1).pdfLecture1,2,3 (1).pdf
Lecture1,2,3 (1).pdfTaufeeq8
 
3330701_unit-1_operating-system-concepts.pdf
3330701_unit-1_operating-system-concepts.pdf3330701_unit-1_operating-system-concepts.pdf
3330701_unit-1_operating-system-concepts.pdfrohitbaweja26
 
LM1 - Computer System Overview, system calls
LM1 - Computer System Overview, system callsLM1 - Computer System Overview, system calls
LM1 - Computer System Overview, system callsmanideepakc
 
Operating system
Operating systemOperating system
Operating systemMark Muhama
 
Operating System
Operating SystemOperating System
Operating Systemguest8b0942
 
Operating System and related questions
Operating System and related questionsOperating System and related questions
Operating System and related questionsimdurgesh
 
operating system over view.ppt operating sysyems
operating system over view.ppt operating sysyemsoperating system over view.ppt operating sysyems
operating system over view.ppt operating sysyemsJyoReddy9
 
A Survey On Operating System Challenges And Security Issues Associate To It
A Survey On Operating System Challenges And Security Issues Associate To ItA Survey On Operating System Challenges And Security Issues Associate To It
A Survey On Operating System Challenges And Security Issues Associate To ItMichele Thomas
 
Operating System Introduction
Operating System IntroductionOperating System Introduction
Operating System Introductiondipaknandankar
 
Operating Systems
Operating Systems Operating Systems
Operating Systems Fahad Shaikh
 
OS - Ch1
OS - Ch1OS - Ch1
OS - Ch1sphs
 
Chapter 1 - Introduction
Chapter 1 - IntroductionChapter 1 - Introduction
Chapter 1 - IntroductionWayne Jones Jnr
 
Operating systems. replace ch1 with numbers for next chapters
Operating systems. replace ch1 with numbers for next chaptersOperating systems. replace ch1 with numbers for next chapters
Operating systems. replace ch1 with numbers for next chapterssphs
 
Markinng schme ICT questions.pdf
Markinng schme ICT questions.pdfMarkinng schme ICT questions.pdf
Markinng schme ICT questions.pdfUWIZEYIMANAElise
 
Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2Ismail Mukiibi
 

Similar to Os files 2 (20)

OPERATING SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTESOPERATING SYSTEM - SHORT NOTES
OPERATING SYSTEM - SHORT NOTES
 
Lecture1,2,3 (1).pdf
Lecture1,2,3 (1).pdfLecture1,2,3 (1).pdf
Lecture1,2,3 (1).pdf
 
3330701_unit-1_operating-system-concepts.pdf
3330701_unit-1_operating-system-concepts.pdf3330701_unit-1_operating-system-concepts.pdf
3330701_unit-1_operating-system-concepts.pdf
 
LM1 - Computer System Overview, system calls
LM1 - Computer System Overview, system callsLM1 - Computer System Overview, system calls
LM1 - Computer System Overview, system calls
 
Operating system
Operating systemOperating system
Operating system
 
Operating System
Operating SystemOperating System
Operating System
 
Operating System and related questions
Operating System and related questionsOperating System and related questions
Operating System and related questions
 
operating system over view.ppt operating sysyems
operating system over view.ppt operating sysyemsoperating system over view.ppt operating sysyems
operating system over view.ppt operating sysyems
 
Ch1
Ch1Ch1
Ch1
 
A Survey On Operating System Challenges And Security Issues Associate To It
A Survey On Operating System Challenges And Security Issues Associate To ItA Survey On Operating System Challenges And Security Issues Associate To It
A Survey On Operating System Challenges And Security Issues Associate To It
 
Operating system
Operating systemOperating system
Operating system
 
Operating System Introduction
Operating System IntroductionOperating System Introduction
Operating System Introduction
 
Operating Systems
Operating Systems Operating Systems
Operating Systems
 
Os unit 1
Os unit 1Os unit 1
Os unit 1
 
OS - Ch1
OS - Ch1OS - Ch1
OS - Ch1
 
Chapter 1 - Introduction
Chapter 1 - IntroductionChapter 1 - Introduction
Chapter 1 - Introduction
 
Operating systems. replace ch1 with numbers for next chapters
Operating systems. replace ch1 with numbers for next chaptersOperating systems. replace ch1 with numbers for next chapters
Operating systems. replace ch1 with numbers for next chapters
 
Markinng schme ICT questions.pdf
Markinng schme ICT questions.pdfMarkinng schme ICT questions.pdf
Markinng schme ICT questions.pdf
 
Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2Advanced computer architecture lesson 1 and 2
Advanced computer architecture lesson 1 and 2
 
Mainframe systems
Mainframe systemsMainframe systems
Mainframe systems
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Os files 2

  • 1. CS354 Key to Homework #1 2.1 Prefetching is a method of overlapping the I/O of a job with that job's owcomputation. The idea is simple. After a read operation completes and the job is about to start operating on the data, the input device is instructed to begin the next read immediately. The CPU and input device are then both busy. With luck, by the time that the job is ready for the next data item, the input device will have finished reading that data item. The CPU can then begin processing the newly read data, while the input device starts to read the following data. A similar idea can be used for output. In this case, the job creates data that are put into a buffer until an output device can accept them. Compare the prefetching scheme with the spooling scheme, where the CPU overlaps the input of one job with the computation and output of other jobs. Answer: Prefetching is a user-based activity, while spooling is a system-based activity. Spooling is a much more effective way of overlapping I/O and CPU operations. The central idea of both prefetching and spooling is to try to keep both CPU and I/O busy, so as to improve the performance of the system. When doing prefetching, the structions may need to be rearranged, so that to start read as early as possible, and probably to postphone some write until the output device can accept them. Spooling is often used in batch processing, there are many tasks ready to be run in the system, so the system has more freedom to schedule them to improve the performance. 2.8 Protecting the operating system is crucial to ensuring that the computer system operates correctly. Provision of this protection is the reason behind dual-mode operation, memory
  • 2. protection, and the timer. To allow maximum flexibility, however, we would also like to place minimal constraints on the user. The following is a list of operations that are normally protected. What is the minimal set of instructions that must be protected? a. Change to user mode. b. Change to monitor mode. c. Read from monitor memory. d. Write into monitor memory. e. Fetch an instruction from monitor memory. f. Turn on timer interrupt. g. Turn off timer interrupt. Answer: The minimal set of instructions that must be protected are: a. Change to monitor mode. Not everybody is allowed to change to monitor mode, otherwise he could do whatever he want in the monitor mode. b. Read from monitor memory. Monitor memory may contain private data for one user that should not be accessible to other users. Hence, allowing read may cause security (specifically privacy) concern. c. Write into monitor memory. If everybody can write into the monitor memory, then the kernel would be a mess after a while. d. Turn off timer interrupt. If a process is allowed to turn off the timer, it could keep running for ever. 2.9 When are caches useful? What problems do they solve? What problems do they cause? If a cache can be made as large as the device for which it is caching (for instance, a cache as large as a disk), why not make it that large and eliminate the device? Answer: Caches are useful when two or more components need to exchange data, and the components
  • 3. perform transfers at differing speeds. Cahces solve the transfer problem by providing a buffer of intermediate speed between the components. If the fast device finds the data it needs in the cache, it need not wait for the slower device. The data in the cache must be kept consistent with the data in the components. If a component has a data value change, and the datum is also in the cache, the cache must also be updated. This is especially a problemon multiprocessor systems where more than one process may be accessing a datum. A component may be eliminated by an equal-sized cache, but only if: a) the cache and the component have equivalent state-saving capacity (that is, if the component retains its data when electricity is removed, the cache must retain data as well), and b) the cache is affordable, because faster storage tends to be more expensive. 2.10 Writing an operating system that can operate without interference from malicious or undebugged user programs requires some hardware assistance. Name three hardware aids for writing an operating system, and describe how they could be used together to protect the operating system. Answer: a. Monitor/user mode b. Privileged instructions c. Timer d. Memory protection See the textbook for details. 3.5 What is the purpose of the command interpreter? Why is it usually separate from the kernel? Answer: It reads commands from the user or from a file of commands and executes them, usually by turning them into one or more system calls. It is usually not part of the
  • 4. kernel since the command interpreter is subject to changes. User level programs are much more easy to write and debug (the user level software environment is more friendy like better debuggers, and any bugs will not cause great problems such as reboot, loss of data, crashing system which in turn causes down time, etc). 3.7 What is the purpose of system calls? Answer: System calls allow user-level processes to request services of the operating system. System call is a software interrupt that changes the processor from user to monitor/kernel mode, so that a user program can obtain system services through privileged instructions executed on its behalf *by the operating system*. System calls, for example, are usually needed for a user program to perform various kinds of IO operations. Operating System (OS) Questions & Answers Chapter 1: Introduction 1. What are the three main purposes of an operating system? Answer:  To provide an environment for a computer user to execute programs on computer hardware in a convenient and efficient manner.  Toallocate the separate resources of the computer as needed to solve the problem given. The allocation process should be as fair and efficient as possible.  As a control program it serves two major functions: (1) supervision of the execution of user programs to prevent errors and improper use of the computer, and (2) management of the operation and control of I/O devices.
  • 5. 2. What are the main differences between operating systems for mainframe computers and personal computers? Answer: Generally, operating systems for batch systems have simpler requirements than for personal computers. Batch systems do not have to be concerned with interacting with a user as much as a personal computer. As a result, an operating system for a PC must be concerned with response time for an interactive user. Batch systems do not have such requirements. A pure batch system also may have not to handle time sharing, whereas an operating system must switch rapidly between different jobs. 3. List the four steps that are necessary to run a program on a completely dedicated machine. Answer: i. Reserve machine time. ii. Manually load program into memory. iii. Load starting address and begin execution. iv. Monitor and control execution of program from console. 4. What is the main difficulty that a programmer must overcome in writing an operating system for a real-time environment? Answer: The main difficulty is keeping the operating system within the fixed time constraints of a real-time system. If the system does not complete a task in a certain time frame, it may cause a breakdown of the entire system it is running. Therefore when writing an operating system for a real-time system, the writer must be sure that his scheduling schemes don’t allow response time to exceed the time constraint.
  • 6. 5. How does the distinction between kernel mode and user mode function as a rudimentary form of protection (security) system? Answer: The distinction between kernel mode and user mode provides a rudimentary form of protection in the following manner. Certain instructions could be executed only when the CPU is in kernel mode. Similarly, hardware devices could be accessed only when the program is executing in kernel mode. Control over when interrupts could be enabled or disabled is also possible only when the CPU is in kernel mode. Consequently, the CPU has very limited capability when executing in user mode, thereby enforcing protection of critical resources. 6. Which of the following instructions should be privileged? a. Set value of timer…. b. Read the clock. c. Clear memory…. d. Issue a trap instruction. e. Turn off interrupts…… f. Modify entries in device-status table….. g. Switch from user to kernel mode. h. Access I/O device…….. The rest can be performed in user mode. 7. Is the Internet a LAN or a WAN? Answer: The Internet is a WAN as the various computers are located at geographically different places and are connected by long distance network links.
  • 7. Chapter 2: Operating System Structure 1. What is the purpose of system calls? Answer: System calls allow user-level processes to request services of the operating system. 2. What are the five major activities of an operating system in regard to process management? Answer: 1. The creation and deletion of both user and system processes 2. The suspension and resumption of processes 3. The provision of mechanisms for process synchronization 4. The provision of mechanisms for process communication 5. The provision of mechanisms for deadlock handling 3. What are the three major activities of an operating system in regard to memory management? Answer: i. Keep track of which parts of memory are currently being used and by whom. ii. Decide which processes are to be loaded into memory when memory space becomes available. iii. Allocate and deallocate memory space as needed. 4. What are the three major activities of an operating system in regard to secondary-storage management? Answer: i. Free-space management. ii. Storage allocation. iii. Disk scheduling. 5. What is the purpose of system programs? Answer: System programs can be thought of as bundles of useful system calls. They provide basic functionality to users so that users
  • 8. do not need to write their own programs to solve common problems. 6. What is the main advantage of the layered approach to system design? What are the disadvantages of using the layered approach? Answer: As in all cases of modular design, designing an operating system in a modular way has several advantages. The system is easier to debug and modify because changes affect only limited sections of the system rather than touching all sections of the operating system. Information is kept only where it is needed and is accessible only within a defined and restricted area, so any bugs affecting that data must be limited to a specific module or layer. 7. What is the purpose of system calls? Answer: System calls allow user-level processes to request services of the operating system.Chapter 14: Protection 1. What are the main differences between capability lists and access lists? Answer: An access list is a list for each object consisting of the domains with a nonempty set of access rights for that object. A capability list is a list of objects and the operations allowed on those objects for each domain. 2. What protection problems may arise if a shared stack is used for parameter passing? Answer: The contents of the stack could be compromised by other process(es) sharing the stack. 3. Capability lists are usually kept within the address space of the user. How does the system ensure that the user cannot modify the contents of the list? Answer:
  • 9. A capability list is considered a “protected object” and is accessed only indirectly by the user. The operating system ensures the user cannot access the capability list directly. Chapter 22: Windows XP 1. What type of operating system is Windows XP? Describe two of its major features. Answer: A 32/64 bit preemptive multitasking operating system supporting multiple users. i. The ability automatically to repair application and operating system problems. ii. Better networking and device experience (including digital photography and video). 2. List the design goals of Windows XP. Describe two in detail. Answer: Design goals include security, reliability,Windows and POSIX application compatibility, high performance, extensibility, portability and international support. i. Reliability was perceived as a stringent requirement and included extensive driver verification, facilities for catching programming errors in user-level code, and a rigorous certification process for third-party drivers, applications, and devices. ii. Achieving high performance required examination of past problem areas such as I/O performance, server CPU bottlenecks, and the scalability of multithreaded and multiprocessor environments. 3. What are the responsibilities of the I/O manager? Answer: The I/O manager is responsible for file systems, device drivers, and network drivers. The I/O manager keeps track of which device drivers, filter drivers, and file systems are loaded and manages buffers for I/O requests. It furthermore assists in
  • 10. providing memorymapped file I/O and controls the cache manager for the whole I/O system. 4. How does NTFS handle data structures? How does NTFS recover from a system crash? What is guaranteed after a recovery takes place? Answer: In NTFS, all file-system data structure updates are performed inside transactions. Before a data structure is altered, the transaction writes a log record containing redo and undo information. A commit record is written to the log after a transaction has succeeded. After a crash the file system can be restored to a consistent state by processing the log records, first redoing operations for committed transactions and undoing operations for transactions that did not successfully commit. This scheme does not guarantee that user file contents are correct after a recovery, but rather that the file-system data structures (file metadata) are undamaged and reflect some consistent state that existed before the crash. Answers to Homework1
  • 11. 1 How do clustered systems differ from multiprocessor systems? What is equired for two machines belonging to a cluster to cooperate to provide a ighly ava r h ilable service? Answer: Clustered systems are typically constructed by combining multiple computers into a single system to perform a computational task distributed across the cluster. Multiprocessor systems on the other hand could be a single physical entity comprising of multiple CPUs. A clustered system is less tightly coupled than a multiprocessor system. Clustered systems communicate using messages, while processors in a multiprocessor system could communicate using shared memory. In order for twomachines to provide a highly available service, the state on the two machines should be replicated and should be consistently updated. When one f the machines fail, the other could then take‐over the functionality of the ailed machine. o f 2 Some computer systems do not provide a privileged mode of operation in ardware. Is it possible to construct a secure operating system for these omputer h c systems? Give arguments both that it is and that it is not possible. Answer:An operating system for a machine of this type would need to remain
  • 12. in control (or monitor mode) at all times. This could be accomplished by two methods: a. Software interpretation of all user programs (like some BASIC, Java, and LISP systems, for example). The software interpreter would provide, in software, what the hardware does not provide. b. Require meant that all programs be written in high‐level languages so that ll object code is compiler‐produced. The compiler would generate (either in‐ ine or by function calls) the protection checks that the hardware is missing. a l 3Define the essential properties of the following types of operating systems: a. Batch ng b. Interactive c. Time shari d. Real time e. Network f. Parallel g. Distributed . Clustered . Handheld h i Answer: a. Batch. Jobs with similar needs are batched together and run through the computer as a group by an operator or automatic job sequencer. Performance
  • 13. is increased by attempting to keep CPU and I/O devices busy at all times through buffering, off‐line operation, spooling, and multiprogramming. Batch is g cuting large jobs that need little interaction; it can be submitted ood for exe and picked up later. b. Interactive. This system is composed of many short transactions where the results of the next transaction may be unpredictable. Response time needs to be short (seconds) since the user submits and waits for the result. c. Time sharing. This systems uses CPU scheduling and multiprogramming to provide economical interactive use of a system. The CPU switches rapidly from one user to another. Instead of having a job defined by spooled card images, each program reads its next control card from the terminal, and output is normally printed immediately to the screen. d. Realtime. Often used in a dedicated application, this system reads orr information from sensors and must respond within a fixed amount of time to ensure c ect performance. e. Network. Provides operating system features across a network such as file sharing. f. SMP. Used in systems where there are multiple CPU’s each running the same copy of the operating system. Communication takes place across the system bus. g. Distributed. This system distributes computation among several physical processors. The processors do not share memory or a clock. Instead, each processor has its own local memory. They communicate with each other through various communication lines, such as a high‐speed bus or local area
  • 14. network. h. Clustered. A clustered system combines multiple computers into a single system to perform computational task distributed across the cluster. i. Handheld. A small computer system that performs simple tasks such as calendars, email, and web browsing. Handheld systems differ from traditional d p esktop systems with smaller memory and display screens and slower rocessors. 4 What is the purpose of interrupts? What are the differences between a trap nd an interrupt? Can traps be generated intentionally by a user program? If o, for wh a s at purpose? Answer:An interrupt is a hardware‐generated change‐of‐flow within the system. An interrupt handler is summoned to deal with the cause of the interrupt; control is then returned to the interrupted context and instruction. A trap is a software‐generated interrupt. An interrupt can be used to signal he completion of an I/O to obviate the need for device polling. A trap can be s t u ed to call operating system routines or to catch arithmetic errors. 6 Give two reasons why caches are useful. What problems do they solve? What problems do they cause? If a cache can be made as large as the device or which it is caching (for instance, a cache as large as a disk), why not make t that lar
  • 15. f i ge and eliminate the device? Answer: Caches are useful when two or more components need to exchange data, and the components perform transfers at differing speeds. Caches solve the transfer problem by providing a buffer of intermediate speed between the components. If the fast device finds the data it needs in the cache, it need not wait for the slower device. The data in the cache must be kept consistent with the data in the components. If a component has a data value change, and the datum is also in the cache, the cache must also be updated. This is especially a problem on multiprocessor systems where more than one process may be accessing a datum. A component may be eliminated by an equal‐sized cache, but only if: (a) the cache and the component have equivalent state‐saving capacity (that is, if the component retains its data when electricity is removed, he cache must retain da.ta as well), and (b) the cache is affordable, because 1 .9 Some early computers protected the operating system by placing it in a memory partition that could not be modified by either the user job or the operating system itself. Describe two difficulties that you think could arise with such a scheme. Answer: The data required by the operating system (passwords, access controls, accounting information, and so on) would have to be stored in or passed through unprotected memory and thus be accessible to unauthorized users