Tuesday, January 15, 2008

Assignment # 4

1. The major difference between deadlock, starvation and race is that in deadlock, the problem occurs when the jobs are processed. Starvation, however is the allocation of resource that prevents one job to be executed. Race occurs before the process has been started.

2. Example of Deadlock: When two trains approach each other at a crossing, both shall come to a full stop and neither shall start up again until the other has gone.

Example of Starvation: When you barrowed a book and the owner want it back.

Example of Race: A two car race for a price.

3. Four necessary condition needed for the deadlock from exercise #2:
if the terminal of the train is only one.
if the two train needed the passengers.
if there's other alternative terminal available.
if the two train is not full.
4.

5.
a. Deadlock will not happen because there are two traffic lights that control the traffic. But when some motorist don't follow the traffic lights, deadlock can occur because there's only one bridge to drive through.
b. Deadlock can be detected when there will be a huge bumper to bumper to the traffic and there will be accident that will happen.
c. The solution to prevent deadlock is that, the traffic lights should be accurate and motorist should follow it. In order to have a nice driving through the bridge.

Thursday, December 13, 2007

Assingment #3

What is the cause of thrashing? How does the system detect thrashing? Once it detects thrashing, what can the system do to eliminate this problem?
- Thrashing is caused by under allocation of the minimum number of pages required by a process, forcing it to continuously page fault. The system can detect thrashing by evaluating the level of CPU utilization as compared to the level of multiprogramming. It can be eliminated by reducing the level of multiprogramming.

a.) Multi programming:
Multiprogramming is the technique of running several programs at a time using timesharing. It allows a computer to do several things at the same time. Multiprogramming creates logical parallelism. The concept of multiprogramming is that the operating system keeps several jobs in memory simultaneously. The operating system selects a job from the job pool and starts executing a job, when that job needs to wait for any i/o operations the CPU is switched to another job. So the main idea here is that the CPU is never idle.

b.) Internal Fragmentation:
Internal fragmentation is the space wasted inside of allocated memory blocks because of restriction on the allowed sizes of allocated blocks. Allocated memory may be slightly larger than requested memory; this size difference is memory internal to a partition, but not being used.

c.) External Fragmentation:
External Fragmentation happens when a dynamic memory allocation algorithm allocates some memory and a small piece is left over that cannot be effectively used. If too much external fragmentation occurs, the amount of usable memory is drastically reduced. Total memory space exists to satisfy a request, but it is not contiguous.

d.) Compaction
e.) Relocation


2.)The advantages of the four memory allocation are as follows:
- It avoids wastage of CPU idle time
- Operating system is easy to implement
3.)The disadvantages of the four memory allocation are as follows:
- degree of multiprogramming is fixed
- only 1 job per partition
- waste of main storage
- some partitions not used
http://www.techinterviews.com/?p=170

Friday, November 30, 2007

Assignment #2

Unix and Windows: Two Major Classes of Operating Systems
And they have a competitive history and future. Unix has been in use for more than three decades. Originally it rose from the ashes of a failed attempt in the early 1960s to develop a reliable timesharing operating system. A few survivors from Bell Labs did not give up and developed a system that provided a work environment described as "of unusual simplicity, power, and elegance".
Since the 1980's Unix's main competitor Windows has gained popularity due to the increasing power of micro-computers with Intel-compatible processors. Windows, at the time, was the only major OS designed for this type of processors. In recent years, however, a new version of Unix called Linux, also specifically developed for micro-computers, has emerged. It can be obtained for free and is therefore a lucrative choice for individuals and businesses.
On the server front, Unix has been closing in on Microsoft’s market share. In 1999, Linux scooted past Novell's Netware to become the No. 2 server operating system behind Windows NT. In 2001 the market share for the Linux operating system was 25 percent; other Unix flavors 12 percent. On the client front, Microsoft is currently dominating the operating system market with over 90% market share.
Because of Microsoft’s aggressive marketing practices, millions of users who have no idea what an operating system is have been using Windows operating systems given to them when they purchased their PCs. Many others are not aware that there are operating systems other than Windows. But you are here reading an article about operating systems, which probably means that you are trying to make conscious OS decisions for home use or for your organizations. In that case, you should at least give Linux/Unix your consideration, especially if the following is relevant in your environment.

Advantages of Unix
- Unix is more flexible and can be installed on many different types of machines, including main-frame computers, supercomputers and micro-computers.
- Unix is more stable and does not go down as often as Windows does, therefore requires less administration and maintenance.
- Unix has greater built-in security and permissions features than Windows.
- Unix possesses much greater processing power than Windows.
- Unix is the leader in serving the Web. About 90% of the Internet relies on Unix operating systems running Apache, the world's most widely used Web server.
- Software upgrades from Microsoft often require the user to purchase new or more hardware or prerequisite software. That is not the case with Unix.
- The mostly free or inexpensive open-source operating systems, such as Linux and BSD, with their flexibility and control, are very attractive to (aspiring) computer wizards. Many of the smartest programmers are developing state-of-the-art software free of charge for the fast growing "open-source movement”.
- Unix also inspires novel approaches to software design, such as solving problems by interconnecting simpler tools instead of creating large monolithic application programs.

Wednesday, November 21, 2007

Assignment 1

1. Operating systemFrom Wikipedia, the free encyclopediaJump to: navigation, searchAn operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system. At the foundation of all system software, an operating system performs basic tasks such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating networking and managing file systems. Most operating systems come with an application that provides a user interface for managing the operating system, such as a command line interpreter or graphical user interface. The operating system forms a platform for other system software and for application software.
The operating system (OS) can be considered as the most important program that runs on a computer. Everygeneral-purpose computer must have an operating system to provide a software platform on top of which otherprograms (the application software) can run. It is also the main control program of a computer that schedulestasks, manages storage, and handles communication with peripherals. The central module of an operatingsystem is the 'kernel'. It is the part of the operating system that loads first, and it remains in main memory.Because it stays in memory, it is important for the kernel to be as small as possible while still providing all theessential services required by other parts of the operating system and applications. Typically, the kernel isresponsible for memory management, process and task management, and disk management.In general an application software must be written to run on top of a particular operating system. Your choice ofoperating system, therefore, determines to a great extent the applications you can run. For PCs, the mostpopular operating systems are Windows 95/98, MS-DOS (Microsoft-Disk Operating System), OS/2, but othersare available, such as Linux, BeOS…For large systems, the operating system has even greater responsibilities and powers. It is like a traffic cop: itmakes sure that different programs and users running at the same time do not interfere with each other. Theoperating system is also responsible for security, ensuring that unauthorized users do not access the system.From this point of view, operating systems can be classified as follows:§ Multi-user: Allows two or more users to run programs at the same time. Some operating systems permithundreds or even thousands of concurrent users.§ Multiprocessing: Supports running a program on more than one CPU.§ Multitasking: Allows more than one program to run concurrently.§ Multithreading: Allows different parts of a single program to run concurrently.§ Real-time: Real time operating system (RTOS) responds to input instantly. General-purpose operatingsystems, such as DOS and UNIX, are not real-time.An OS is a 16-bit operating system if it processes 16 bits of data at once, e.g.: DOS. On the other hand,Windows 98 and OS/2 Warp are 32-bit operating systems because they can process 32 bits of data at once.A network operating system (NOS) is an operating system which makes it possible for computers to be on anetwork, and manages the different aspects of the network. Some examples are Windows for Workgroups,Windows NT, AppleTalk, DECnet, and LANtastic…
http://en.wikipedia.org/wiki/Operating_system
http://www.cs.cmu.edu/~fgandon/documents/lecture/uk1999/operating_system/operating_system.pdf
2. The two reasons why regional bank might decide to buy six server computers than 1 super computer: because it makes the work more faster and easier. It performs much better than 1 server.