• Groupware Servers are software designed to provide services to a
workgroup
• Workgroup is a group of people working on a common task
• Usually group ware servers handle semi-structured information unlike
databases or files
• Groupware is used to Communicate, Collaborate, and Coordinate
among teams
• Allows access to the same data
• Manages Concurrency
• Everyone in the group can work on same resource
• Improves efficiency of teams
• Next section, we look at some of the groupware servers
The function of the groupware sever is to do the management of semistructured
information such as text, mail, workflow, and bulletin boards.
This kind of information is called as semi-structured because there is
no specific structure as in case of relational database tables.
Relational database tables have normal forms and satisfy certain
properties such as loss less decomposition and controlled redundancy.
Groupware servers place people in direct contact with other people to
maintain workflow.
Wednesday, September 24, 2008
Standalone – Single User
Single user system computing is an approach that designs an application in such a
way that all the applications and data reside on a single personal computer
dedicated to the use of a single person.
• Advantages
The advantages of using a stand-alone system are as follows.
1. A stand-alone system is considered to be a personal property. The user of the
personal computer has a complete control of the working environment of the
system. For example, if the user is not satisfied with MS-DOS operating system
(OS), she can have Windows OS loaded in the system. If the person is not
interested in the Windows OS then she can load Linux OS, and so on. Whatever the
reason may be, the owner of the system has full authority to decide what she wants.
In addition to the above-mentioned factors, third party applications are widely
portable and usable in such systems. Thus, this serves as a good development
environment.
2. Now a days, one can easily obtain powerful machines at a very cheap price.
Disadvantages
One of the major drawbacks in using stand-alone personal computers is that
applications, data and resources, for example, cannot be shared.
way that all the applications and data reside on a single personal computer
dedicated to the use of a single person.
• Advantages
The advantages of using a stand-alone system are as follows.
1. A stand-alone system is considered to be a personal property. The user of the
personal computer has a complete control of the working environment of the
system. For example, if the user is not satisfied with MS-DOS operating system
(OS), she can have Windows OS loaded in the system. If the person is not
interested in the Windows OS then she can load Linux OS, and so on. Whatever the
reason may be, the owner of the system has full authority to decide what she wants.
In addition to the above-mentioned factors, third party applications are widely
portable and usable in such systems. Thus, this serves as a good development
environment.
2. Now a days, one can easily obtain powerful machines at a very cheap price.
Disadvantages
One of the major drawbacks in using stand-alone personal computers is that
applications, data and resources, for example, cannot be shared.
Interpreter
Interpreter
Is a systems program that looks at and executes programs on a line-by-line
basis rather than producing object code
Whenever the programs have to be executed repeatedly, the source code has
to be interpreted every time. In contrast the compiled programs create an
object code and this object code will be executed.
entire source code needs to be present in memory during execution as a result
of which the memory space required is more when compared to that of a
compiled code.
Used in test environments as overhead of compilation is not there
Operating systems
A program which acts as an interface between the user and the computer and
provides an environment in which a user can execute programs
Viewed as a Resource Allocator or Resource Manager
– Memory
– Processors
– Peripherals
– Information
Is a systems program that looks at and executes programs on a line-by-line
basis rather than producing object code
Whenever the programs have to be executed repeatedly, the source code has
to be interpreted every time. In contrast the compiled programs create an
object code and this object code will be executed.
entire source code needs to be present in memory during execution as a result
of which the memory space required is more when compared to that of a
compiled code.
Used in test environments as overhead of compilation is not there
Operating systems
A program which acts as an interface between the user and the computer and
provides an environment in which a user can execute programs
Viewed as a Resource Allocator or Resource Manager
– Memory
– Processors
– Peripherals
– Information
Error Processing
Error processing is required at almost every stage. One an error is detected, error
processing module generates an error message for the user. Error processing is of two
types viz.,
1. Error Reporting
2. Error Recovery
Error Reporting - involves getting the line number and pinpointing the appropriate place in
the source where exactly the error has been detected.
Error Recovery – After reporting an error, error processing attempts to either correct or eat
up certain lexumes till a certain point from where it can pretend that nothing has gone
wrong and continue translation.
processing module generates an error message for the user. Error processing is of two
types viz.,
1. Error Reporting
2. Error Recovery
Error Reporting - involves getting the line number and pinpointing the appropriate place in
the source where exactly the error has been detected.
Error Recovery – After reporting an error, error processing attempts to either correct or eat
up certain lexumes till a certain point from where it can pretend that nothing has gone
wrong and continue translation.
Intermediate code generation
An intermediate language avoids most of the problems. It allows a logical separation
between machine independent and dependent phases and facilitates optimization. All we
have to do is to choose a rich intermediate language that would bridge both the source
programs and the target programs.
The first three phases are called as the front end of the compiler because they are machine
independent.
The code generation and related phase is called as the back end. The intermediate code
generation is neither consider to be the back end nor front end.
Find out how many front-ends and back-ends would be required in the above example
shown in the slide.
Intermediate representation has a variety of forms. There are also many algorithms for
generating intermediate codes for typical programming language constructs.
To generalize, for M languages on N machines we would require M Front end
conversions. The number of back end conversions would then be equal to N*M.
between machine independent and dependent phases and facilitates optimization. All we
have to do is to choose a rich intermediate language that would bridge both the source
programs and the target programs.
The first three phases are called as the front end of the compiler because they are machine
independent.
The code generation and related phase is called as the back end. The intermediate code
generation is neither consider to be the back end nor front end.
Find out how many front-ends and back-ends would be required in the above example
shown in the slide.
Intermediate representation has a variety of forms. There are also many algorithms for
generating intermediate codes for typical programming language constructs.
To generalize, for M languages on N machines we would require M Front end
conversions. The number of back end conversions would then be equal to N*M.
Compiler
--Are system programs that translates an input program in a high level
l--anguage into its machine language equivalent
--Checks for errors
--Optimizes the code
--Prepares the code for execution
Features of a HLL:
•High degree of machine independence
•Good data structures
•Improved debugging capability
•Good documentation
Example: COBOL,PASCAL, FORTRAN etc.
Compilers are complex system programs. Hence, they are often broken into several phases
to accomplish the task. The phases of a compiler are mentioned in the slide above. We shall
be interested in looking into the functionality of each slide rather than the concerned
algorithms used in implementing the phases. Each phase is an independent task in the
compilation process.
l--anguage into its machine language equivalent
--Checks for errors
--Optimizes the code
--Prepares the code for execution
Features of a HLL:
•High degree of machine independence
•Good data structures
•Improved debugging capability
•Good documentation
Example: COBOL,PASCAL, FORTRAN etc.
Compilers are complex system programs. Hence, they are often broken into several phases
to accomplish the task. The phases of a compiler are mentioned in the slide above. We shall
be interested in looking into the functionality of each slide rather than the concerned
algorithms used in implementing the phases. Each phase is an independent task in the
compilation process.
Linkers
15
15 ER/CORP/CRS/OS09/003
Version No: 2.0
Copyright © 2004,
Infosys Technologies Ltd
Linkers
Large Program
main sort search count
In actual practice, a complete program is built from many smaller routines possibly by many
people. All these routines have to be connected logically and linked to form a single
program. A linker is a systems program that accounts for and reconciles all address
references within and among modules and replaces those references with a single
consistent scheme of relative addresses. Linking is done after the code is generated and
is closely associated with a loader.
Compilers and translators basically translate one procedure at a time and put the translated
output on the disk. All the translated procedures have to be located and linked together
to be run as a unit called an executable binary program. In MS-DOS, Windows 95/98 etc
object modules have extension .obj and the executable binary programs have .exe
extension. In UNIX, object modules have .o extension and executable programs have no
extension.
Linking is of two main types:
1. Static Linking: All references are resolved during loading at linkage time
2. Dynamic Linking: References made to the code in the external module are resolved
during run time. Takes advantage of the full capabilities of virtual memory. The
disadvantage is the considerable overhead and complexity incurred due to
postponement of actions till run time.
15 ER/CORP/CRS/OS09/003
Version No: 2.0
Copyright © 2004,
Infosys Technologies Ltd
Linkers
Large Program
main sort search count
In actual practice, a complete program is built from many smaller routines possibly by many
people. All these routines have to be connected logically and linked to form a single
program. A linker is a systems program that accounts for and reconciles all address
references within and among modules and replaces those references with a single
consistent scheme of relative addresses. Linking is done after the code is generated and
is closely associated with a loader.
Compilers and translators basically translate one procedure at a time and put the translated
output on the disk. All the translated procedures have to be located and linked together
to be run as a unit called an executable binary program. In MS-DOS, Windows 95/98 etc
object modules have extension .obj and the executable binary programs have .exe
extension. In UNIX, object modules have .o extension and executable programs have no
extension.
Linking is of two main types:
1. Static Linking: All references are resolved during loading at linkage time
2. Dynamic Linking: References made to the code in the external module are resolved
during run time. Takes advantage of the full capabilities of virtual memory. The
disadvantage is the considerable overhead and complexity incurred due to
postponement of actions till run time.
Subscribe to:
Posts (Atom)