Homework Help Question & Answers

Use your own words, don't copy and paste, don't use handwriting, please. please help me i need th...

use your own words, don't copy and paste, don't use handwriting, please.

please help me i need the answer today pleeeeeassssssseeee :(:(:(

Task: Compare and contrast the design of two very different operating systems of your choice, e.g.: Linux, Windows 7… The comparison must cover at least:

 Design principles

 System components

 Processes management

 Scheduling management

 Memory management

Project Description:

The student must prepare a formal report of 5 pages maximum (excluding cover page and appendices). The methodology used must be explained in the report: e.g.: virtual machine, research in literature…

Rubrics Max Marks Distribution of Marks Approach followed 5 explained appropriate Comparison done with all necessary sections

This individual project mainly aims to evaluate the CLO: Compare and contrast between operating system types (such as multiprogramming, timesharing and real time systems), and operating system structures (such as object-oriented, modular, micro-kernel, layered and virtual systems).

Policies: - The minimum number of pages will be five excluding the appendices and the cover page. - The Ethics for report writing should be strictly followed. It should be free from any sort of plagiarism. If any plagiarism is found the report will be REJECTED. - All the references should be given clearly in the Appendix section. - Late submission will have -2 marks on every day of delay.

Rubrics Max Marks Distribution of Marks Approach followed 5 explained appropriate Comparison done with all necessary sections Clearly defined with Partially defined (3-4) No defined approach or sufficient contribution (5 All main sections are All main sections are Some main sections are present with effective subsections subsections are not subsections (0-4) insufficient contribution 0-2 present but missing but proper appropriate (5-7 Provided sufficient 2 graphical elements Sufficient Graphical In-sufficient graphical No graphical elements (0) elements with appropriate descriptions (2) elements or inappropriate descriptions (0.5- 1.5 Total of 15
0 0
ReportAnswer #1
property windows 7 Linux
Design Principles

first principle is to“reduce concepts to increase confidence”.

The second principle is “small things matter, good and bad”. Basically, lots of small things, seen by lots of people a lot of the time builds up. This of course can be either good or bad.

The third principle is “solve distractions, not discoverability”. Samuel draws a connection between software and kids, always calling for attention and don’t have any manners.

The fourth principle is “time matters: build for people on the go”.

Fifth principle states the entire experience, not just when using the application but from install to uninstall or upgrade should be looked at.

Design Principles

Linux is a multiuser, multitasking system with a full set of UNIX-compatible tools.

Its file system adheres to traditional UNIX semantics, and it fully implements the standard UNIX networking model.

Linux is designed to be compliant with the relevant POSIX documents; at least two Linux distributions have achieved official POSIX certification.

The Linux programming interface adheres to the SVR4 UNIX semantics, rather than to BSD behavior.

As PCs became more powerful and as memory and hard disks became cheaper, the original, minimalist Linux kernels grew to implement more UNIX functionality.

Speed and efficiency are still important design goals, but much recent and current work on Linux has concentrated on a third major design goal: standardization. One of the prices paid for the diversity of UNIX implementations currently available is that source code written for one may not necessarily compile or run correctly on another.

Even when the same system calls are present on two different UNIX systems, they do not necessarily behave in exactly the same way.

Linux is designed to be compliant with the relevant POSIX documents; at least two Linux distributions have achieved official POSIX certification.

System Components

Any Windows Operating System contains various essential software and applications that come as add ons. These are termed as Windows Components. In this article we will list all of the available Windows Components called Windows features, in Windows 7.

1.Games

2.Internet explorer 8

3.Windows Media payer

4.print and Scanning services

5.Network File System Services

6.Telnet Client and server

7.Windows gadgets

8.Search and indexing Service

9.IIS(for web hosting)

9.RIP listener for getting updates

10.SNMP Services

11.FTP clients

1) Components of a Linux System

The Linux system has three main bodies of code, in sequence with, most conventional UNIX implementations.

1- THE KERNEL: “The kernel” is in charge for maintaining all the vital abstractions of the operating system, together with such things as virtual memory and processes. The Linux kernel forms the central part of Linux operating system. It provides all the functionality compulsory to run processes, and it also provides “system services” to give arbitrated and sheltered or protected access to hardware resources. The kernel implements every feature that is required to be eligible as an operating system.

1- THE SYSTEM LIBRARIES: “the system libraries” describe a typical set of functions through which applications can interrelate through the kernel. And which apply much of the operating system functionality that does not require the full rights or privileges of kernel code.

2- THE SYSTEM UTILITIES: “the system utilities” are the programs that execute individual, particular and specialized managing tasks.

some of the system utilities may be invoked just once to initialize and configure some features of the system; others (known as daemons in UNIX language ) may run enduringly, conducting such tasks as responding to inward or incoming network connections, accepting logon requests terminals or updating log records and files.

The whole kernel code executes in the privileged mode of processor along with the full access to all the physical resources of the computer. This privileged mode in Linux is referred as “kernel mode”, equal to the monitor mode.

In Linux user-mode code is not built into the kernel. Any operating-system-support code that does not require to execute in kernel mode is located into the system libraries as an alternative.

Because all kernel code and data structures are kept in a single address space, no context switches are necessary when a process calls an operating-system function or when a hardware interrupt is delivered.

This single address space contains not only the core scheduling and virtual memory code but all kernel code, including all device drivers, file systems, and networking code.

Even though all the kernel components share this same melting pot, there is still room for modularity.

The Linux kernel forms the core of the Linux operating system.

The system libraries provide many types of functionality. At the simplest level, they allow applications to make kernel-system service requests. Making a system call involves transferring control from unprivileged user mode to privileged kernel mode; the details of this transfer vary from architecture to architecture. The libraries take care of collecting the system-call arguments and, if necessary, arranging those arguments in the special form necessary to make the system call.

The libraries may also provide more complex versions of the basic system calls. For example, the C language’s buffered file-handling functions are all implemented in the system libraries, providing more advanced control of file I/ 0 than the basic kernel system calls.

The LINUX system includes a wide variety of user-mode programs-both system utilities and user utilities.

The system utilities include all the programs necessary to initialize the system, such as those to configure network devices and to load kernel modules. Continually running server programs also count as system utilities; such programs handle user login requests, incoming network connections, and the printer queues

Processes management

Every process contains one or more threads, and the Windows thread is the basic executable unit; see the next chapter for a threads introduction. Threads are scheduled on the basis of the usual factors: availability of resources such as CPU and physical memory, priority, fairness, and so on. Windows has long supported multiprocessor systems, so threads can be allocated to separate processors within a computer.

From the programmer's perspective, each Windows process includes resources such as the following components:

  • One or more threads.
  • A virtual address space that is distinct from other processes' address spaces. Note that shared memory-mapped files share physical memory, but the sharing processes will probably use different virtual addresses to access the mapped file.
  • One or more code segments, including code in DLLs.
  • One or more data segments containing global variables.
  • Environment strings with environment variable information, such as the current search path.
  • The process heap.
  • Resources such as open handles and other heaps.
  • Each thread in a process shares code, global variables, environment strings, and resources. Each thread is independently scheduled, and a thread has the following elements:

  • A stack for procedure calls, interrupts, exception handlers, and automatic storage.
  • Thread Local Storage (TLS)-An array like collection of pointers giving each thread the ability to allocate storage to create its own unique data environment.
  • An argument on the stack, from the creating thread, which is usually unique for each thread.
  • A context structure, maintained by the kernel, with machine register values.

Process management is a case in point. Linux creates a process whenever a program is launched, either by you or by Linux. This process is a container of information about how that program is running and what’s happening.

If the process runs and terminates correctly, then everything is hunky-dory; however, if it hogs the CPU, or refuses to go when its time is up, then the Linux commands described below may help you to restore law and order.

Let’s start with a list of things you may want to do when managing Linux processes:

  • See which processes are running
  • See how much of your Linux system the processes are using (especially any greedy ones)
  • Locate a particular process to see what it’s doing or to take action on it
  • Define or change the level of priority associated with that process
  • Terminate the process if it has outlived its usefulness or if it’s misbehaving

The commands described below should be entered via the command line interface. Simply open a terminal (all-text) window to access this interface. It may look basic, but it’s actually very powerful and flexible – just the thing for keeping all those processes in line.

1. top

The top command gives you information on the processes that currently exist. As the sample output above shows, the first part of the information is an overview of the situation.

The second part, organized in columns, gives details for each process, including its unique reference number (PID), priority (PR), status (S), and resource usage (%CPU, for example).

2. htop

The htop command is like top, but prettier and smarter. The information is presented in a clearer format, and you can select a particular process (use the arrow keys) and then act on it (use the F1, F2, etc. keys) with the htop display.

So why would anyone use anything other than htop? Simply because htop is not always available by default on Linux systems (whereas top is always available).

You may have an extra installation step before you can use it. Your installation instruction will be sudo apt-get install htop if you’re using Ubuntu or Debian, for instance.

The colors htop uses in its display help convey its message.

The CPU and memory bars may show blue bars for low priority processes, green for normal priority, or red for kernel. Yellow corresponds to IRQ (interrupt request) time, magenta to soft IRQ time, and gray to I/O (input/output) wait time.

The load average figure represents the degree to which the CPU is being kept busy. A figure of “1.0” corresponds to 100 percent busy. The figure of “0.37” in the screenshot below corresponds to 37 percent.

This is the load average over the last minute. The two other load average figures are the load averages over the last five and the last 15 minutes, respectively.

3. ps

Use the ps command to list running processes (top and h top list all processes whether active or inactive). You’ll need to specify one or the other option to get useful information, however.

The command ps -a will list all the processes on your system. The command ps -a | grep my sqld would then pick out the my sqld process if, for example, you had a connection via the system to a MySQL database.

4. pstree

A step up from the simple ps command, pstree is used to display a tree diagram of processes that also shows relationships that exist between them.

Every process is generated, or spawned, by another process (a parent process) in Linux. What’s important to know is that if you alter something for a parent process, you affect the child processes as well.

In particular, if you stop the parent, you automatically stop the children!

5. who

The who command will display a list of all the users currently logged into your Linux system. If that’s just you and the operating system itself, then you have a free hand to manage processes as you like.

On the other hand, if other (human) users are also logged in, take caution before altering or terminating processes that may be important for them.

You can also use the users command for simpler information, the whoami command to tell you who you are (as perceived by the system), and the w command, which gives you not only the names of the users, but information on what they are currently doing.

6. kill

As its name suggests, kill can be used to terminate a process with extreme prejudice. Although in a more general sense, its function is to send signals (one of which is “die!”).

It allows you to stop individual processes or groups of processes without having to entirely stop or reboot your Linux system — something other users may also appreciate.

Let’s suppose your mysqld process is misbehaving. As you know from your top display, this process (in our example above) has a PID of 5979. To terminate this process, you could type in:

kill 5979

If for any reason this is not enough, there are more aggressive options available. An example would be the -9 option (also known as -KILL):

kill -9 5979

OR

kill -KILL 5979

If you don’t know the PID or you want to take a shortcut (just make sure it’s the right one), the killall command will let you terminate all instances of a process with the same name. To kill all the processes called mysqld, for example, type:

killall -9 mysqld

If kill seems just too unfriendly, you might like to first try being “nice.” The nice command lets you define the priority of a process before you run it (use renice for a process that’s already running).

Scheduling Management Windows uses a round-robin technique with a multi-level feedback queue for priority scheduling ever since NT, Though in Vista there were some smart heuristic improvements to ensure that some processes, such as the disk defragmeter, are at a lower priority in order to not interfere with foreground processes. To the best of my knowledge, Windows 7 uses the same scheduler as Vista, though there may have been minor improvements.

Scheduling Mechanism: how to switch.
Scheduling Policy: when to switch and what process to choose. Some scheduling
objectives:
1.fast process response time
2.avoidance of process starvation
3.good throughput for background jobs
4.support for soft real time processes
Linux uses dynamically assigned process priorities for non real-time processes.
Processes running for a long time have their priorities decreased while processes
that are waiting have their priorities increased dynamically.

Memory Management

There are many reasons why your system may crash due to these stop errors. As suggested by Andre, the most common scenarios are: Faulty drivers, Hardware issue (especially RAM) or Anti-virus software problem.

You may want to try the following and check if it helps.

Method 1: Run Memory Diagnostics test to check for any memory problems. Refer the below mentioned link for the same.

Diagnosing memory problems on your computer

Method 2: Update the chip set, video card, display and network adapter drivers to the latest by visiting the computer manufacturer’s website.

Update a driver for hardware that isn't working properly

Update drivers: recommended links

Method 3: Check to see if the issue occurs in safe mode. To do so, follow these steps.

a.Restart your computer and start pressing the F8 key on your keyboard. On a computer that is configured for booting to multiple operating systems, you can press the F8 key when the Boot Menu appears.

b.Use the arrow keys to choose Safe mode in the Windows Advanced Boot Menu Options and then press Enter.

c.Check if you can open the desktop icons, if not, then it could be some third party application that is causing the issue.

Method 4: Restart the computer in normal mode and follow the below mentioned article to find the cause of the problem.

There are 2 parts:

•Architecture Independent Memory Should be flexible and portable enough across platforms

•Implementation for a specific architecture.

Architecture Independent Memory Model:

•Process virtual address space divided into pages

•Page size given in PAGE_SIZE macro in asm/page.h

(4K for x86 and 8K for Alpha)

•The pages are divided between 4 segments

•User Code, User Data, Kernel Code, Kernel Data

•In User mode, access only User Code and User Data

•But in Kernel mode, access also needed for User Data.

Add Homework Help Answer
Add Answer of:
Use your own words, don't copy and paste, don't use handwriting, please. please help me i need th...
Your Answer: Your Name: What's your source?
Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Need Online Homework Help?
Ask a Question
Get FREE EXPERT Answers
WITHIN MINUTES