Академический Документы
Профессиональный Документы
Культура Документы
Internet
Intranets
Mobile networks
The Internet
Multimedia services are available in the Internet enabling users to access audio
and video data including music, radio, TV channels, phone, and video
conferencing.
Intranet
Mobile networks
Technological advances in device miniatorization and wireless
networking have led increasingly to the integration of small and
portable computing devices into distributed systems.
These devices include:
Laptop computers
Ses provide environments in which programs run, and services for the users of the
system, including:
User Interfaces - Means by which users can issue commands to the system.
Depending on the system these may be a command-line interface ( e.g. sh,
csh, ksh, tcsh, etc. ), a GUI interface ( e.g. Windows, X-Windows, KDE,
Gnome, etc. ), or a batch command systems. The latter are generally older
systems using punch cards of job-control language, JCL, but may still be
used today for specialty systems designed for a single purpose.
Program Execution - The OS must be able to load a program into RAM,
run the program, and terminate the program, either normally or abnormally.
I/O Operations - The OS is responsible for transferring data to and from
I/O devices, including keyboards, terminals, printers, and storage devices.
File-System Manipulation - In addition to raw data storage, the OS is also
responsible for maintaining directory and subdirectory structures, mapping
file names to specific blocks of data storage, and providing tools for
navigating and utilizing the file system.
Communications - Inter-process communications, IPC, either between
processes running on the same processor, or between processes running on
separate processors or separate machines. May be implemented as either
shared memory or message passing, ( or some systems may offer both. )
Error Detection - Both hardware and software errors must be detected and
handled appropriately, with a minimum of harmful repercussions. Some
systems may include complex error avoidance or recovery systems,
including backups, RAID drives, and other redundant systems. Debugging
and diagnostic tools aid users and administrators in tracing down the cause
of problems.
Other systems aid in the efficient operation of the OS itself:
Resource Allocation - E.g. CPU cycles, main memory, storage space, and
peripheral devices. Some resources are managed with generic systems and
others with very carefully designed and specially tuned systems, customized
for a particular resource and operating environment.
Accounting - Keeping track of system activity and resource usage, either
for billing purposes or for statistical record keeping that can be used to
optimize future performance.
Protection and Security - Preventing harm to the system and to resources,
either through wayward internal processes or malicious outsiders.
Authentication, ownership, and restricted access are obvious parts of this
system. Highly secure systems may log all process activity down to
excruciating detail, and security regulation dictate the storage of those
records on permanent non-erasable medium for extended times in secure
( off-site ) facilities.
Ses provide environments in which programs run, and services for the users of the
system, including:
User Interfaces - Means by which users can issue commands to the system.
Depending on the system these may be a command-line interface ( e.g. sh,
csh, ksh, tcsh, etc. ), a GUI interface ( e.g. Windows, X-Windows, KDE,
Gnome, etc. ), or a batch command systems. The latter are generally older
systems using punch cards of job-control language, JCL, but may still be
used today for specialty systems designed for a single purpose.
Program Execution - The OS must be able to load a program into RAM,
run the program, and terminate the program, either normally or abnormally.
I/O Operations - The OS is responsible for transferring data to and from
I/O devices, including keyboards, terminals, printers, and storage devices.
File-System Manipulation - In addition to raw data storage, the OS is also
responsible for maintaining directory and subdirectory structures, mapping
file names to specific blocks of data storage, and providing tools for
navigating and utilizing the file system.
Communications - Inter-process communications, IPC, either between
processes running on the same processor, or between processes running on
separate processors or separate machines. May be implemented as either
shared memory or message passing, ( or some systems may offer both. )
Error Detection - Both hardware and software errors must be detected and
handled appropriately, with a minimum of harmful repercussions. Some
systems may include complex error avoidance or recovery systems,
including backups, RAID drives, and other redundant systems. Debugging
and diagnostic tools aid users and administrators in tracing down the cause
of problems.
Other systems aid in the efficient operation of the OS itself:
Resource Allocation - E.g. CPU cycles, main memory, storage space, and
peripheral devices. Some resources are managed with generic systems and
others with very carefully designed and specially tuned systems, customized
for a particular resource and operating environment.
Accounting - Keeping track of system activity and resource usage, either
for billing purposes or for statistical record keeping that can be used to
optimize future performance.
Protection and Security - Preventing harm to the system and to resources,
either through wayward internal processes or malicious outsiders.
Authentication, ownership, and restricted access are obvious parts of this
system. Highly secure systems may log all process activity down to
excruciating detail, and security regulation dictate the storage of those
records on permanent non-erasable medium for extended times in secure
( off-site ) facilities.
Explain peer to peer systems?
The DNS is a remarkable database. It doesn't perform its work alone, though. Things called Top
Level Domains (TLDs) and root servers do a lot of the heavy lifting for the DNS. A Top Level
Domain refers to the part of a domain name that comes after the period. For instance, the TLD of
example.com is COM. While there's an ever-expanding number of domain names, there's a
relatively static number of Top Level Domains; .com, .edu and .org are just a few key examples.
Specialized computers called root servers store the IP addresses of each Top Level Domain's
registries. Therefore, the first stop that the DNS makes when it resolves, or translates, a domain
name is at its associated root server. From there, the requested domain name is sent along to a
Domain Name Resolver, or DNR. Domain Name Resolvers, or resolvers, are located within
individual Internet Service Providers and organizations. They respond to requests from root
servers to find the necessary IP addresses. Since the root server already recognizes the .com,
.edu or other part of the equation, it simply has to resolve the remainder of the request. It usually
does this instantly, and the information is forwarded to the user's PC.
Characteristics Of P2P
Placement of data objects across many hosts
Balancing of access load, techniques for search and retrieval of data
Each participating machines contributes resources
Volatile and non-exclusive availability of nodes
Nodes usually disappear, cheat, or fail
Better scalability for large number of objects, due to distributed storage
Routing overlay: Own network over another set of networks
Addresses its own nodes on-top-of existing network nodes
Overlay network provides full-meshed connectivity graph to application
Unstructured P2P Overlay
Peers build random graph starting from boot peer
Flooding or random graph walk, supports content-based lookup
Two-tier approach: Unstructured super-peers, with connected leaf peers
Examples: Gnutella, eDonkey, FastTrack, Kazaa, Skype(?)
Structured P2P Overlay: Assign keys to data items and build graph that maps
each key to a particular node.
5.Explain File Service architecture?
Anarchitecturethatoffersaclearseparationofthemainconcernsinprovidingaccess
tofilesisobtainedbystructuringthefileserviceasthreecomponents:
Aflatfileservice
Adirectoryservice
Aclientmodule.
TherelevantmodulesandtheirrelationshipisshowninFigure5.
Client computer
Server computer
Application
Application
program program
Directory service
TheClientmoduleimplementsexportedinterfacesbyflatfileanddirectoryservices
onserverside.
Responsibilitiesofvariousmodulescanbedefinedasfollows:
Flatfileservice:
Concernedwiththeimplementationofoperationsonthecontentsoffile.UniqueFile
Identifiers(UFIDs)areusedtorefertofilesinallrequestsforflatfileservice
operations.UFIDsarelongsequencesofbitschosensothateachfilehasaunique
amongallofthefilesinadistributedsystem.
Directoryservice:
ProvidesmappingbetweentextnamesforthefilesandtheirUFIDs.Clientsmay
obtaintheUFIDofafilebyquotingitstextnametodirectoryservice.Directory
servicesupportsfunctionsneededgeneratedirectories,toaddnewfilestodirectories
Clientmodule:
Itrunsoneachcomputerandprovidesintegratedservice(flatfileanddirectory)asa
singleAPItoapplicationprograms.Forexample,inUNIXhosts,aclientmodule
emulatesthefullsetofUnixfileoperations.
Itholdsinformationaboutthenetworklocationsofflatfileanddirectoryserver
processes;andachievebetterperformancethroughimplementationofacacheof
recentlyusedfileblocksattheclient.
Flatfileserviceinterface:
Figure6containsadefinitionoftheinterfacetoaflatfileservice.
Read(FileId,i,n)>Dataif1iLength(File):Readsasequenceofuptonitems
throwsBadPositionfromafilestartingatitemiandreturnsitinData.
Write(FileId,i,Data)if1iLength(File)+1:WriteasequenceofDatatoa
throwsBadPositionfile,startingatitemi,extendingthefileifnecessary.
Create()>FileIdCreatesanewfileoflength0anddeliversaUFIDfor
it.
Delete(FileId)Removesthefilefromthefilestore.
GetAttributes(FileId)>AttrReturnsthefileattributesforthefile.
SetAttributes(FileId,Attr)Setsthefileattributes(onlythoseattributesthatare
not
Accesscontrol
Indistributedimplementations,accessrightscheckshavetobe
performedattheserverbecausetheserverRPCinterfaceisan
otherwiseunprotectedpointofaccesstofiles.
Directoryserviceinterface
Figure7containsadefinitionoftheRPCinterfacetoadirectory
service.
ToconstructagloballyuniqueIDweusesomeuniqueattributeofthemachineon
whichitiscreated,e.g.IPnumber,eventhoughthefilegroupmaymove
subsequently.
FileGroupID:
32bits16bits
IPaddressdate
6.Explainoperatingsystemlayersindetail.
The operating system must know how to communicate with the hardware or nothing
can get done. This is the most privileged aspect of the operating system.
Because it needs to access the hardware directly, this part of the operating system is
the most powerful as well as the most dangerous. What accesses the hardware is a
set of functions within the operating system itself (the kernel) called device drivers.
If it does not behave correctly, a device driver has the potential of wiping out data
on your hard disk or "crashing" your system. Because a device driver needs to be
sure that it has properly completed its task (such as accurately writing or reading
from the hard disk), it cannot quit until it has finished. For this reason, once a driver
has started, very little can get it to stop. We'll talk about what can stop it in the
section on the kernel.
Above the device driver level is what is commonly thought of when talking about
the operating system, the management functions. This is where the decision is made
about what gets run and when, what resources are given to what process, and so
on.
In our previous discussion on processes, we talked about having several different
processes all in memory at the same time. Each gets a turn to run and may or may
not get to use up its time slice. It is at this level that the operating
system determines who gets to run next when your time slice runs out, what should
be done when an interrupt comes in, and where it keeps track of the events on
which a sleeping process may be waiting. It's even the alarm clock to wake you up
when you're sleeping.
The actual processes that the operating system is managing are at levels above the
operating system itself. Generally, the first of these levels is for programs that
interact directly with the operating system, such as the various shells. These
interpret the commands and pass them along to the operating system for execution.
It is from the shell that you usually start applicationprograms such as word
processors, databases, or compilers. Because these often rely on other programs
that interact directly with the operating system, these are often considered a
separate level. This is how the different levels (or layers) might look like graphically: