One Page Abstract, computer science homework help

User Generated

Cbfnav

Computer Science

Description

One Page Abstract

Hi, You have to add One Page Abstract after the cover page in this document.

Draft Report.docx 


This is the question..


For this project you are required to complete a written report that includes an analysis of an operating system. 

The written report is expected to be at least 10 - 14 pages, NOT including title, table of contents, and reference pages.  The following topics are required for inclusion in your written report:

A.  Design principles underlying the operating system.

B.  Major elements of process management.

C.  Methods for inter-process communication (shared memory or message systems, direct or indirect, one or two way).  Any networking capabilities may also be discussed here or in an additional topic category.

D. Major elements of memory management.

E. Major elements of scheduling.

F. Major elements of file system handling.

G. Methods for handling I/O functions.

H. Major elements of the programming interface (what the programmer needs to know to use the system).

I.  Advantages and disadvantages of this operating system including which environments this operating system works best.


Unformatted Attachment Preview

Analysis of an Operating System Analysis of an Operating System CIS 612: Computing Platforms and Networks 1 Analysis of an Operating System 2 An operating system refers to a type of system software that controls or runs the computer hardware and software resources by granting common services to the programs in a computer. All application programs cannot work without the aid of an operating system hence stressing the importance of an OS. There are different types of operating systems. The most common types include Windows, Unix, and Linux. This research paper discusses in depth the Windows OS. The Windows OS just like any other OS has various design principles underlying them. The following are the basic design principles otherwise referred to as facilities that make up Windows (Hansen 1973). The first principle is that Windows has code commonality. The earliest forms of Windows used similar codes to perform basic functions such as math. This meant that sharing a library of common routines was the most efficient way of utilizing resources. A common super-task shared by all application was assigned the tasks. The second principle refers to the efficiency of execution. Windows can run two or more tasks together hence, can swap controls as and when required by the input/ output requests. This is in a bid to increase the efficiency of the CPU, which is usually 90% idle in an I/O with an intensive application. The third principle underlying the Windows OS is the task protection. Since the Windows can perform different tasks simultaneously, hardware-level locks which are tamper-proof are used so that one task cannot interfere with another when the tasks are sharing hardware. The fourth and final design principle is virtualization. Virtualization refers to the solely assigning of resources to the executing task hence pushing other non-executing task to slower secondary memory. The non-executing would, however, be rolled back to the primary memory once there is a task switch. However, this can only happen for a well-protected multi-tasking surrounding. Analysis of an Operating System 3 Every Windows OS process contains one or more threads introduction. Since threads are a basic requirement of a process, they are scheduled for the availability of resources such as the CPUs and physical memory, fairness, and priority. Since Windows support multiprocessor systems, the threads are allocated to separate processors within a computer. Each thread has an independent schedule. A thread has the following elements: • A stack for procedure calls interrupts. • Thread Local Storage (TLS) which is an array-like collection of pointers giving each thread the ability to allocate storage to create its unique data environment. • An argument on the stack that is usually unique for each thread. • A context structure that contains machine register values. Each Windows process is made of the following components (Verissimo,1998); • A virtual address space that is unique from other processes' address spaces. 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. • Data segments containing global variables. • Environment strings with the environment variable information, such as the current search path. • The process heap. • Resources such as open handles. • One or more threads. Analysis of an Operating System 4 The Windows OS provides ways for facilitating communication and data between applications. Such communications are referred to as inter-process communication (IPC); some IPC enables division of labor among specialized processes to while the rest other is among computers on a network. There exist two main types of IPC; the clients and servers, the client refers to an application that requests a service from other application or process while a server is an application that responds to the request os a client. There are many IPC mechanisms that are supported by Windows (Weisshaar et.al. 1987). They include; • Clipboard; is the central place for data sharing among other applications • COM/ Component Object Model; enables other applications to do data editing • Data Copy; makes an application to send information to another application through the use of WM_COPYDATA message • DDE/ Dynamic Data Exchange; refers a protocol that enables application to exchange data in many formats • File Mapping; a process that treats the contents of a file in a way that makes the file look like a block of memory in the process’s address space • Mailshots; provides one-way communication between applications • Pipes; are of two types, anonymous and named pipes, while anonymous pipes allow related processes only to transfer information to each other, named pipes are used for unrelated processes and between processes on different computers. • RPC; enables applications to call functions in a remote way Analysis of an Operating System • 5 Window Sockets; it takes great use of the capabilities of the underlying protocols since it is a protocol independent interface. Memory management involves how best each application in an OS system can be stored. It involves memory allocation to each application. Memory allocation is divided into two main categories; 1. Frame allocation; with frame allocation, the user works with the actual memory itself. Also, schemes of work in the frame allocation are automatically deleted. 2. Heap allocation; the user is given a pointer or direction to the memory block to use. The program in the heap allocation decides whether to delete files on the computer or not. A memory manager plays the roles of implementing the virtual memory, providing services such as memory mapped files, large memory support, copy-on-write memory and underlying support to the cache manager. In the Windows OS, each process on 32-bit Windows possesses its virtual address space that enables it to work with a memory of up to 4gigabytes. Similarly, each process in a 64-bit Windows has a virtual address space of 8 terabytes. Although all threads can access the virtual address space, they cannot access memory that belongs to other processes hence preventing processes from being corrupted. The following are the examples of functions that demonstrate the use of memory management functions; • Reserving and committing memories • Creating Guard Pages • Use of file mapping Analysis of an Operating System • Getting process heaps • Enumerating a heap • Allocating Memory for an NUMA node 6 There exist four major elements used with memory management. The first is the Memory Management Functions which include the Copy Memory, Fill Memory, GetWriteWatch and Move Memory among many others (Gannon, Jalby, & Gallivan, 1988). The second element is the Memory Management Registry Keys, the third and fourth elements are the Memory Management Structures and Memory Protection Constants. The Windows OS uses two major files system; the File Allocation Table and the Resilient File system (Vogels, 1999). The FAT is one of the simplest types of file systems. FAT comprises of three main components; 1. File system descriptor sector; commonly referred to as boot sector or superblock 2. File system blocks allocation table 3. Plain storage space The Resilient File System is the latest development available for Windows 8 servers. The new system has a high tolerance for failure which is only achieved due to the new features included in the new system. The system architecture is different from the normally Windows file system and is usually organized in B+ tree. The Copy-on –Write is the main feature that causes the resilience in the RFS. The following features cause the resistance; 1. All metadata are only modified when they have been copied. 2. overwriting of data can never occur rather data is stored in a new disk space. Analysis of an Operating System 7 Applications have several options for the input/output requests they issue. There are different ways to hand the I/O requests which include; Synchronous and Asynchronous I/O; Most I/O operations used by applications are synchronous. This means that the application thread waits while the device undertakes the data operation and gives back a status code when the I/O is complete. The program continues and accesses the transferred data directly. In their simplest form, the Windows Read File and Write File functions are executed synchronously. They complete the I/O operation before returning control to the caller. Synchronous I/o is usually a default in most I/O operations. The Asynchronous I/O gives an application a choice to issue several I/O requests and continue executing while the device performs the initial I/O operation. I this way the throughput of an I/o is improved because the application thread continues to work even when the I/O operation is taking place. First I/O It is a type of I/O with a special mechanism that allows the I/O system to skip a generation of an IRP and instead perform directly the I/O request. Mapped File I/O and File Caching The I/O system in conjunction with memory manager produces the mapped file I/O jointly hence making it an important feature of the I/O system. The mapped file I/O system refers to the ability that an application has to view data that has been stored on disk as part of a process’s virtual memory. Analysis of an Operating System 8 Scatter/ Gather I/O This is another type of a special kind of high- performance I/O that Windows O/S can support. These functions allow an application to send an instruction of a single read or write from not a single buffer in virtual memory to a contiguous area of a file on disk rather of issuing a separate I/O request for each buffer. Scatter/gather I/O is used only when the file has been opened for non-cached I/O, the user buffers being used have to be page-aligned, and the I/O’s must be asynchronous. Furthermore, if the I/O is aligned to a mass storage device, the I/O must be aligned on a device sector boundary and should be of a length that is a multiple of the sector size. I/O Requests Packets The IRP is the place where the I/O system stores information that it requires processing an I/O request. An IRP consists of two parts; the fixed header and one or more stack locations. The fixed header contains information such as the type and size of the request while the stack location contains the codes and function-specific parameters. The following are the main programming interface that Windows O/S works under; Window controls; Windows controls refer interface elements that are work together with another window so that the user can interact with the application. The other window can be either a client window or dialog box. Although the window controls are supported by all versions of Windows some later versions are not supported by the earlier versions due to the evolution that has occurred over time. A user should use Windows when the user wants to create a traditional UI for an unmanaged Windows-based application that is used on a wide range of Windows versions. Analysis of an Operating System 9 Visual styles These refer to the specifications for the appearance of controls. A visual style determines the overall appearance of controls hence enabling software developers to align the visual interface of the existing controls to run in line with the appearance of an application. Visual Styles are used to change the appearance of the standard Windows controls and common controls, so that look like UI application. Windows Ribbon Framework It is Window- based application that contains a wide variety of presentation command systems. The Windows Ribbon Framework is made up of a ribbon command bar that displays the major features of an application via a series of tabs that open up at the top of the application window. The Windows Ribbon framework is used when the user needs to implement a command UI that acts as an alternative to the existing menus, toolbars and task panes of traditional Window applications. Windows Animation Manager This interface provides a powerful animation engine and a standardized programmatic interface that enables it to support the animation of UI elements. The interface simplifies the maintenance and development of UI animation sequence and enables developers to implement UI animations that are reliable. The Windows Animation Manager is used when the user wants to add animation sequences to the Windows- based application. Analysis of an Operating System 10 Desktop Window Manager The DWM mainly plays the role of supporting the desktop composition. The desktop composition is a feature introduced in Windows Vista. DWM enables windows to have visual effects. DWM exposes an API for controlling a wide range of visual effects related to desktop composition. The DWM is recommendable for a user who wants to improve the appearance of the desktop through the use of animation and visual effects. Advantages of the Windows OS 1. Ease of use; the progressive improvements of the Windows has made the user of an earlier version of Windows find the modern version easier to use and work with. This is the main reason Windows users usually are reluctant to switch to other forms of operating systems. 2. Availability; the Windows OS software is easily available in wide selections to choose from. It is mostly likely for a user to find a Windows version suitable to run an application in a business setting. This has led to the dominance of windows in the Market. 3. Support for new hardware; when building applications, all hardware developers put into considerations the recent versions of Windows and make sure that the windows are compatible with their hardware. 4. Backward compatibility; older programs used in later versions of Windows can be used with new versions of Windows hence a user can switch to the newer version without necessarily losing the old programs. Analysis of an Operating System 11 Disadvantages of Windows OS 1. High resource requirements; Microsoft, who develop Windows require its customers to invest in the hardware. Windows need a faster processor, more internal memory, and a larger hard disk. 2. Poor security; though the most used OS Windows still pose a threat due to its weak security when compared to other OS. Therefore, Windows can be easily hijacked leading to it being used to distribute spam. 3. Virus susceptibility; Windows can easily be attacked by viruses since all the computer viruses target the Windows OS. Analysis of an Operating System 12 References: 1. Gannon, D., Jalby, W., & Gallivan, K. (1988). Strategies for cache and local memory management by global program transformation. In Supercomputing (pp. 229-254). Springer Berlin Heidelberg. 2. Hansen, P. B. (1973). Operating system principles. Prentice-Hall, Inc.. 3. Verissimo, E. S., Valentin, G., Pagnano, M. A., Donaires, O. S., & Miranda, V. L. (1998). U.S. Patent No. 5,841,654. Washington, DC: U.S. Patent and Trademark Office. 4. Vogels, W. (1999, December). File system usage in Windows NT 4.0. In ACM SIGOPS Operating Systems Review (Vol. 33, No. 5, pp. 93-109). ACM. 5. Weisshaar, B. P., Kolnick, F. C., Kun, A. I., & Mansfield, B. M. (1987). U.S. Patent No. 4,694,396. Washington, DC: U.S. Patent and Trademark Office.
Purchase answer to see full attachment
User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer


Anonymous
Nice! Really impressed with the quality.

Studypool
4.7
Trustpilot
4.5
Sitejabber
4.4

Related Tags