Subscribe by Email


Showing posts with label Multi-user. Show all posts
Showing posts with label Multi-user. Show all posts

Friday, April 5, 2013

What are different types of operating system?


Developing an operating system is one of the most complicated activities and favorite of most of the computing hobbyists. For a hobby OS, its code is not directly derived from the already existing Oss. Some entirely new concepts might also be included in the OS development. It may also start from modeling an existing one. Whatever the case maybe, the hobbyist is his own active developer. Application software might be developed specifically for an OS or hardware. Therefore, when the application has to be ported to some OS that may implement its required functionality differently, the application might be required to be changed, adapted or maintained. 


Types of Operating System

There are many types of operating about which we shall discuss in this article.

1. Real time operating system
- It is a multi – tasking OS aimed at the execution of the applications that are real time. 
-These operating systems work on scheduling algorithms written exclusively for them. 
- This is done so as to make them achieve a behavior that is deterministic in nature. 
- Their main objective is to give a quick response to the events that is also predictable in nature. 
- The design which is implemented is event driven and employs the idea of time sharing and sometimes both. 
- The system that is event driven switches among the different tasks according to the priorities assigned to them. 
- On the other hand, the systems following the time sharing methodology switch between the tasks based up on the clock interrupts.

2. Multi–user and single user operating systems: 
- In the multi–user operating systems the same computer system can be accessed by multiple users at the same time. 
- Systems that can be classified under the multi–user systems are the internet servers and the time sharing systems since using the time sharing principle they allow multiple users to access the system. 
- There are other types of operating systems that allow only one user to execute a number of programs simultaneously and are called the single – user operating systems.

3. Multi–tasking and single–tasking operating systems: 
- The operating systems that allow multiple programs to be executed simultaneously (as per the human time scales) are termed as the multi – tasking OS.
- In the single–taking OS, only one program can be run at a time. 
- Multi –taking can be done in the following two ways:
Ø  Pre–emptive multi –tasking: The CPU time is sliced and each of the time slots are given to each of the programs that are to be executed. This kind of multi–tasking is supported by the operating systems such as Linux, AmigaOS and Solaris.
Ø  Co–operative multi–tasking: Systems following this rely on one process for giving time to the other processors but in a pre–defined manner. This multi–tasking type was used by the MS windows 16 – bit version, Mac OS preceding OS X.
There are Oss that used to support both of these namely win9x and Windows NT.

4. Distributed operating system: 
- This kind of OS is used to manage a group of computers that are independent of each other and makes them seem like one single system.
- This OS led to the development of networked computers which could link to and communicated with one another.
- These computers in turn paved way for distributed computing. 
- They carried out computations on more than one computer. 
- Computers working in cooperation with each other, together make up a distributed system.

5. Embedded Operating System: 
It is used in embedded computer systems such as in PDAs.


Saturday, March 3, 2012

What is meant by concurrency testing?

INTRODUCTION TO CONCURRENT TESTING

1. Concurrency testing employs many users at a time and therefore it is considered to be a type of multi- user testing.

2. Concurrency testing was invented in order to determine what happens if many users are accessing the same data base records, modules or application code.

3. Other than this, concurrency testing also identifies the use of single threaded code, dead locking, locking semaphores and locking and it is also effective in measuring the level of these aspects.

4. While carrying out the concurrency testing several users perform same kind of task on the same application and that too at the same time.

5. The application serves too many users at a time.

TOOLS FOR PERFORMING CONCURRENT TESTING
Several tools are available for performing concurrency testing but we would recommend you loadRunner since it helps you create concurrency at a point you wish.

- All you need to do is create a test scenario after you have recorded and improved your scripts using the virtual user generator.

- You can decide and add how many users you want your scripts to support.

- You should input the number of users in the controller component of this testing tool.

- There are several ways to add user like gradual ramp- up or spike, stepped etc.

- You can choose for yourself which way you want the users to be added.

- This is the most effective way to create concurrency.

- Apart from the multi user testing, the concurrency testing tests one application over the other one.

LEVELS OF CONCURRENCY TESTING
Two levels of concurrency testing have been developed so far and they have been discussed below:

# 1st Level:
- This involves concurrency tsting of one application being executed on the top of another application.

- We can illustrate this by a simple example; you receive an incoming call while playing some game on your cell phone. The game will go to paused state. This is the simplest example we can give.

# 2nd Level:
- This involves concurrency testing of one application being executed on the top of other two applications.

- This can also be illustrated with a similar example, you receive an incoming call while playing games and while you are on the call you receive an SMS. The game is paused.

- Apart from just testing the multi user capacity of the software, concurrency is also responsible for finding out the bugs like dead lock, live lock, data race and data corruption.

- These bugs usually occur when the parallel processing is implemented in the application.

- If you are also using the user scenario apart from the test scenario your concurrency testing will yield much better results.

- Some applications make use of more than one module where some accept parallel processing and other are sequential.

- Identifying the type of modules can help you in writing effective test cases against them which in turn will reflect in your testing.

This is the internet era. Almost everyone is using web and web applications all over the world. Such a huge number of users require great stress handling capacity for the servers. If the servers are not able to take the load they often slip in to the position of the dead lock.

Concurrency testing is a way to ensure that such kinds of situations do not occur. Therefore concurrency testing is important. Performance is the basic aspect that is tested most in the concurrency testing.

Number of users using the application at a time equals to the number of hits per second. With the growing number of internet users world wide more and more security is needed over the web. Concurrency testing is one such measure which has helped to a great extent for improving the cyber standards.


Facebook activity