Friday, January 20, 2012

What is OS (Operating system)?

An operating system (often referred to as OS) is an integrated set of programs that controls the resources (the CPU, memory, I/O devices, etc) of a computer system and provides its users with an interface or virtual machine that is more convenient to use than bare machine. According to this definition, the two primary objectives of an operating system are:

1.       Makin a computer system convenient to use- An operating system is a layer of software on top of the bare hardware of a computer system, which manages all parts of the system, and presents to the user with an interface or virtual machine, which is easier to program and use. That is, the operating system hides the details of the hardware resources from the programmer and provides the programmer with a convenient interface for using the computer system. It acts as an intermediary between the hardware and its users, providing a high-level interface to low-level hardware resources, and making it easier for the programmer and other users to access and use those resources.

The logical architecture of a computer system is shown in figure………..

As shown in the figure, the hardware resources are surrounded by the operating system layer, which in turn is surrounded by a layer of other system software (such as compilers, editors, utilities, etc.)and a set of application programs(such as commercial data processing applications, scientific and engineering applications, entertainment and educational applications,etc).Finally, the end users view the computer system in term of the user interfaces provided by the application programs.

2.       Managing the resources of a computer system. The second important objective of an operating system is to manage the various resources of the computer system. This involves performing such tasks as keeping track of who is using which resource, granting resource requests, accounting for resource usage, and mediating conflicting requests from different program and users. The efficient and fair sharing of resources among users and/or program is a key goal of most operating systems.

Main Functions of an Operating System

The main functions performed by most operating systems of today are as follows:

1.       Process Management- The process management module of an operating system takes care of the creation and deletion of process, scheduling of various system resources to the different processes requesting them, and providing mechanisms for synchronization and communication among process.

2.       Memory Management- The memory management module of an operating system takes care of the allocation and deallocation of memory space to the various programs in need of these resources.

3.       File Management-The file management module of an operating system takes care of file-related activities such as organization, storing, retrieval, naming, sharing, and protection of files.

4.       Security – The security module of an operating system protects the resources and information of a computer system against destruction and unauthorized access.

5.       Command Interpretation – The command interpretation module of an operating system takes care of interpreting user commands, and directing the system resources to handle the requests. With this mode of interaction with the system, the user is usually not too concerned with the hardware details of the system.

In addition to the above listed major functions, an operating system also performs few other functions such as keeping an account of which users (or process) use how much and what kinds of computer resources, maintainance of log system usage by all users, and maintenance of internal time clock.

Measuring System Performance

The efficiency of an operating system and the overall performance of a computer system are usually measured in terms of the following:-
1.                               Throughput – Throughput is the amount of work that the system is able to do per unit time. It is measured as the number of process that is completed by the system per unit time. For example, if n processes are completed in an interval of t seconds, the throughput is taken as n/t process per second during that interval.Throughtput is normally measured in process/hour. Note that the value of throughput does not depend only on the capability of a system, but also on the nature of jobs being processed by the system. For long process, throughtput may be one process/hour: and for short processes, throughtput may be 100 process/hour.
2.                               Turnaround time – From the point of view of an individual user, an important criterion is how long it takes the system to complete a job submitted by him/her. Turnaround time is the interval from the time submission of a job to the system for processing to the time of completion of the job.Although, higher throughput is desirable from the point of view of overall system performance. Individual users are more interested in better turnaround time for their jobs.
3.                               Response time - Turnaround time is usually not a suitable measure for interactive systems, because in an interactive system process can produce some output early during its execution and can continue executing while previous results are being output to the user.Hence, another measure used in case of interactive systems is response time, which is the interval from the time of submission of a job to the system for processing to the time the first response for the job is produced by the system.
In any computer system, it is desirable to maximize throughput and minimize turnaround time and response time.
Related Post:-

Sunday, January 8, 2012

Computer Animation Tutorial,2D,3D

Some typical applications of computer-generated animation are entertain-ment (motion pictures and cartoons), advertising, scientific and engineering studies and training and education. Although we tend to think of animation as implying object motions, the term Computer Animation generally refers to any time sequence of visual changes in a scene. In addition to changing object position with translations or rotations a computer-generated animation could dis-play time variations in object size, color, transparency, or surface texture.Adver-tising animations often transition one object shape into another.:- For Example, transforming a can of motor oil into an automobile engine, Computer animations can also be generated by changing camera parameters, such as position, orientation and focal length. And we can produce computer animations by changing lighting effects or other parameters and procedures associated with illumination and rendering.

Many applications of computer animation require realistic display. An ac-curate representation of the shape of thunderstorm or other natural phenomena described with a numerical model is important for evaluation the reliability of the model Also, simulators for training aircraft pilots and heavy equipment operators must produce reasonably accurate representations of the environment. Entertainment and advertising applications, on the other hand, are sometimes more interested in visual effects. Thus, sciences may be displayed with exaggerated shapes and unrealistic motions and transformations. There are many entertain-ment and advertising applications that do require accurate representations for computer generated scences.And in some scientific and engineering studies, real-ism is not a goal. For example, physical quantities are often displayed with pseudo-colors or abstract shapes that change over time to help the researcher un-distant the nature of the physical process.

Design of Animation Sequences

In general, an animation sequence is designed with the following steps:-

·         Storyboard layout

·         Object definitions

·         Key-frame specifications

·         Generation of in-between frames

This standard approach for animated cartoons is applied to other animation applications as well, although there are many special applications that do not follow this sequence. Real time computer animations produced by flight simulators, for instance, display motion sequences in response to settings on the aircraft controls. And visualization applications are generated by the solutions of the numerical models. For frame-by frame animation, each frame of the scene is separately generated and stored.Later, the frames can be recorded on film or they can be consecutively displayed in “real time playback” mode.

The storyboard is an outline of the action. It defines the motion sequence as a set of basic events that are to take place. Depending on the type of animation to be produced, the storyboard could consist of a set of rough sketches or it could be a list of the basic ideas for the motion.

An object definition is given for each participant in the action. Objects can be defined in terms of basic shapes, such as polygons or splines.In addition; the associated movements for each object are specified along with the shape.

A key frame is a detailed drawing of the scene at a certain time in the animation sequence. Within each key frame, each object is positioned according to the time for that frame. Some key frames are chosen at extreme positions in the action; others are spaced so that the time interval between key frames is not too great. More key frames are specified for intricate motions than for simple, slowly varying motions.

In between are the intermediate frames between the key frames. The number of in betweens needed is determined by the media to be used to display the animatin.Film requires 24 frames per second, and graphics terminals, are re-freshed at the rate of 30 to 60 frames per second. Typically time intervals for the motions are set up so that there are from three to five in betweens for each pair of key frames. Depending on the speed specified for the motion, some key frames can be duplicated. For a 1-minute film sequence with no duplication, we would need 1440 frames. With five in between film sequence with no duplication, we would need 1440 frames. With five in between for each pair of key frames, we would need 288 key frames. If the motion is not too complicated, we could space the key grams a little farther apart.

There are several other tasks that may be required, depending on the application. They include motion verficatin, editing, and production and synchronization of soundtrack. Many of the functions needed to produce general animations are now computer generated. Please check Example of Computer generated frames for animation sequences……

General Computer Animation Functions

Some steps in the development of an animation sequence are well suited to computer solution. These include object manipulations and rendering, camera motions and the generation of in between, Animation packages, such as Wav-front for example, provide special functions for designing the animation and processing individual objects.

One function available in animation packages is provided to store and manage the object database. Object shapes and associated parameters are stored and updated in the database. Other object functions include those for motion genera-tion and those for object rendering. Motions can be generated according to specified constraints using two-dimensional or three-dimensional transformations, Standard functions can then be applied to identify visible surfaces and apply the rendering algorithms.

Another typical function simulates camera movements. Standard motions are zooming, panning, tilting.Finally, given the specification for the key frames; the in-betweens can be automatically generated.
Related Post:-