StudentShare
Contact Us
Sign In / Sign Up for FREE
Search
Go to advanced search...
Free

Systems Programming - Essay Example

Cite this document
Summary
This paper 'Systems Programming' tells that It must be stressed that this Paper will not be discussing the various features of the graphical user interfaces (GUIs) of these four operating systems, and these GUIs will only be referred to when discussing a particular feature in terms of a specific user command or use case…
Download full paper File format: .doc, available for editing
GRAB THE BEST PAPER93.3% of users find it useful
Systems Programming
Read Text Preview

Extract of sample "Systems Programming"

Systems Programming Assignment Comparing & Contrasting Operating System Kernels Table of Contents Introduction……………………………….......................................................Page 3 Microsoft Windows 8 Kernel………………………………............................Page 3 Apple Mackintosh OS X Kernel………………………………........................Page 5 FreeBSD Kernel……………………………….................................................Page 6 Linux Kernel……………………………….......................................................Page 8 References………………………………..........................................................Page 10 Further Reading………………………………..................................................Page 11 Introduction This Paper sets out to compare and contrast the Kernels of the Microsoft Windows 8 (the latest version now in current use - future versions still being under analysis and development by Microsoft), the Apple Mackintosh OS X operating system [latest version], the FreeBSD operating system [latest version] and Linux [latest version]. It must be stressed that this Paper will not be discussing the various features of the graphical user interfaces (GUIs) of these four operating systems, and these GUIs will only be referred to when discussing a particular feature in terms of a specific user command or use case. Microsoft Windows 8 Kernel One thing that a any user will notice immediately with Windows 8 is that the ‘boot up’ will be significantly faster - perhaps as much as one-third. This is because the Basic Input-Output System (BIOS) processor start-up code that has been used (in various forms) since the advent of usable IBM-architecture PCs, has been replaced by the Unified Extensible Firmware Interface (UEFI) executable, developed by Intel from 1998 onwards (and made open-source by Intel in 2005), when it became apparent that BIOS would no longer be up to the job. The underlying support for the execution of processes and threads is, according to O’Brien, [Engadget Online Magazine. Windows Phone 8 and Windows 8 share lots of code, NT kernel. Terrence OBrien. Jun 20th, 2012. (Accessed 17th March 2013) (Online). Available : http://www.engadget.com/2012/06/20/windows-phone-8-and-windows-8-share-lots-of-code-nt-kernel/] the same as with Windows NT, as this basic architecture has been retained with Windows 8, although it is inferred form a consensus of the available sources that the detailed ‘code’ that implements these functions has been radically changed - whether for the better will have to be seen as Windows 8 beds in. As well as the memory management functionality previously incorporated into previous versions of Windows, and retained in Windows 8, the following new memory management features have been incorporated, both to promote better memory management and to improve information security. Heap Handle Protection - improves the operation of the memory ‘heap’ Virtual Memory Non-Determinism - improves the operation of the virtual memory, a vital part of the operation of Windows for many years now. Front End Status Bitmap - keep a much better control on the status of the front-end processor functions used by Windows. LFH Non-Determinism Fast Fail - improved memory re-allocation of there has been a failure and extra memory need to be allocated. Would be expected to improve performance. Guard Pages - prevents corruption and unauthorised access to virtual memory pages. A key anti-malware and anti-’cracking’ feature. Arbitrary Free Protection. The exception Handler has been removed. Apparently, a lot of malware and root kits were using the Exception Handler to get into Windows and damage applications and extract data. The implication is that Microsoft’s developers have introduced an operating system procedure that does the same job as an exception handler, but works on radically different principles. Anthony Extreme Tech (Online Magazine) Under The Hood of Windows 8, or why desktop users should upgrade from Windows 7. Sebastian Anthony . October 23, 2012 . (Accessed 17th March 2013). (Online). Available : http://www.extremetech.com/computing/138177-under-the-hood-of-windows-8-or-why-desktop-users-should-upgrade-from-windows-7 states in his online article that Microsoft has been very ‘cagey’ about the specific security features that have been built into the Windows 8 kernel - which is hardly surprising, bearing in mind that any definite information in this area would be a gift to malware developers and information security ‘crackers’! However, Anthony does state that the following information security features appear to have been incorporated into the Windows 9 kernel, in the form of memory allocation safeguards, which ties the Windows 8 information security function with the memory management function, - see above. Another security feature, permitted by UEFI, according to Anthony [2012], is a boot-level malware scanner that will prevent the user’s computer from booting if a USB ’stick is infected. A further security feature is the Secure Boot, which stops the system from loading if any core system files have been subjected to unauthorised alteration. According O’Brien [2012], the underlying functionality is made available to systems programmers, as well as applications programmers, through a developed version of the Windows NT kernel, which is basically a carry-over from Windows 7, the main changes to produce Windows 8 being radically new user interface similar to a smartphone, but able to be used on a PC or laptop - a major cause of complaint, according to the consensus of the available literature. This shared kernel is, according to O’Brien [2012], described by Microsoft themselves as a “Shared Windows Core”, which includes the file system and security infrastructure, C and C++ libraries, Direct X components and SQLite. This will allow the streamlining of the creation of a coherent development environment for both systems and applications programmers. Developers will be able to easily produce applications and device drivers that can be used in a phone, or a tablet or a PC without modification. Only having to write a device driver once would be expected to simplify the process of adding software to hardware, meaning manufacturers wont have to tailor GPU code to a phone then re-tailor for a PC. The common Windows 8 systems programming features share much of the web browser procedures, giving web browsing common to both Windows Phone and the PC. To further aid systems programmers and enterprise application developers, Microsoft have continued to incorporate Secure Boot, BitLocker and greatly improved encryption. Apple Mackintosh OS X Kernel According to the consensus of the available literature, the latest version of the Apple OS X operating system kernel this is stable and in widespread practical use is Version 10.8 Mountain Lion, as described by Harrison [PC Advisor (Online Magazine). Apple OS X 10.8 Mountain Lion review. Andrew Harrison. July 25th 2012. (Accessed 17th March 2013). (Online). Available : http://www.pcadvisor.co.uk/reviews/apple/3338081/apple-os-x-mountain-lion-review/] and Court [PC Advisor (Online Magazine). OS X 10.8 Mountain Lion: What you need to know. David Court 25th July 2012. (Accessed 17th March 2013). (Online). Available : http://www.pcadvisor.co.uk/features/apple/3338128/mountain-lion-what-you-need-to-know/] Apple OS X Version 10.8 Mountain Lion, as reviewed by Harrison and Court, is not supplied with any special features for the underlying support for the execution of processes and threads and how memory is managed. The emphasis is very firmly on providing features to the everyday user, allowing Apple Smartphones, other Apple personal devices such as iPads and Apple Macs work together interchangeably and in the same way. It can only be assumed that the underlying support for the execution of processes and threads and how memory is managed work with Mountain Lion to produce Apple Mac compatible applications in the same way as previous OS X V10 (UNIX-based) versions. The improved information security features introduced by Apple OS X 10.8 Mountain Lion are described my Harrison [2012] in considerable detail. For example, Apple has introduced the GateKeeper system in order to guard against the modern computers most exploited weakness, the user with administrator privileges. This is done through the iOS model for security which prevents the installation of unscreened applications. There are three options listed: the default when Mountain Lion is installed is the middle ground, which only allows applications downloaded from the Mac App Store or identified developers that are party to Apples new code-signing process. Code signing means that an application must be authorised by a developers security certificate, or else it will refuse to run and appears to be the biggest tightening of security Apple Mac has seen since the introduction of Apple OS X 10.0 in 2001. The user may further restrict this to just App Store sources. Opting to allow applications to be installed from Anywhere is not recommended! GateKeeper ought to guard against the type of Trojans that masquerade as popular plug-in updates such as malware disguised as Adobe Flash updates. Its perhaps the best tightening of information security Apple Mac has seen since Apple adopted OS X 10.0 in 2001. Also under the Security tab is more control over which applications can access the users personal data, notably the Contacts address book. When an application that asks for such access is first installed, a pop-up dialogue checks for the users approval. Access levels may be changed at any time from the Privacy tab within the Security pane. Apple OS X Version 10.8 Mountain Lion, as reviewed by Harrison and Court, is not supplied with any special features for making the underlying functionality available to systems programmers. The emphasis is very firmly on providing features to the everyday user, allowing Apple Smartphones, other Apple personal devices such as iPads and Apple Macs work together interchangeably and in the same way. It can only be assumed that systems programmers will be able to use Mountain Lion to produce Apple Mac compatible applications in the same way as previous OS X V10 (UNIX-based) versions. FreeBSD Kernel Free BSD (Berkeley Software Distribution) is an open-source operating system that, to a user and applications programmer, works in the same way as Linux and runs the same range of applications (games, etc.) as Linux, but there area number of differences that would be immediately apparent to a systems programmer. An excellent overview of the basic workings of FreeBSD is given in Storey [Distrowatch (Online Magazine). FreeBSD - The Power To Serve. Robert Storey.27th April 2004. (Accessed 17th March 2013).(Online). Available : http://distrowatch.com/dwres.php?resource=review-freebsd] which, although dating form 2004, still appear to be relevant. As BSD is descended form UNIX, although it has developed in such a way that is no longer related regarding intellectual property for UNIX, it works in exactly the same way as UNIX or LINUX regarding the underlying support for the execution of processes and threads. The USP for FreeBSD, as it were, is the system’s specific suitability for computer networking, and is therefore predominantly used for networking applications. Similar comments apply to how memory is managed within FreeBSD. The most notable features of BSD from a systems programming perspective are to do with information security, to which we will now turn. The most features supplied by the kernel to support security, are, firstly, firewall configuration - always a critical feature in preventing illicit access to a computer network. According to Storey [2004] this is the Achilles Heel of FreeBSD, as the system programmer (or administrator) much write his own rules for the firewall, as there is no explicit FreeBSD utility to do this - Storey recommends Guarddog. The FreeBSD Handbook gives some guidance, and there is documentation within FreeBSD that explains this topic in detail. Storey also recommends purchasing a hardware router that has built-in firewall rules which have a point-and-click interface. However, things have improved dramatically improved since 2004. The most recent FreeBSD Kernel that is stable and in widespread industrial use is FreBSD 9.0, as described by Anon [LinuxConfig.net (Online Magazine). FreeBSD 9.0 Review. (No Attribution). January 10th 2012). (Accessed 17th March 2013). (Online). Available : http://linuxconfig.net/media/featured/freebsd-9-0-review.html This introduces the Capsicum Framework for FreeBSD security. Capsicum is a lightweight framework which extends a POSIX UNIX kernel to support new security capabilities and adds an enhanced API. Capsicum was originally collaboratively developed between the University of Cambridge Computer Laboratory and Google, sponsored by a grant from Google, with FreeBSD as the prototype platform and Google Chrome (the web browser) as the prototype application. Traditional access control frameworks are designed to protect users from each other through the use of permissions and mandatory access control policies. However, they cannot protect the user when an application, such as a web browser, processes many potentially malicious inputs, such as HTML, scripting languages, and un-trusted images. Capsicum provides application developers application compartmentalisation through full security control over files and network sockets to provide privilege separation with minimal code changes - an excellent example of current information security practice. This allows the application itself to provide many different repositories to contain its various elements. As an example, each tab in the Chrome browser has its own repository. It is also possible to contain each image in its own repository. Creating repositories under Capsicum does not require administrators privileges, which is a major problem with current UNIX repository approaches. How the underlying functionality is made available to systems programmers is described in detail in the FreeBSD 9.0 Release Notes, which are free available on the various FreBSD 9.0 development websites. However, some features are described in Anon [2012], some of which are summarised below A resource limit parameter rctl(8) has been added to the system, allowing the system programmer to display the current resource limits and to define what action will occur when a process exceeds its limits. Such resource rules can be applied to processes, users, or login classes, for example. The kernel API tracks per-process, per-login-class, and per-user resource accounting information. An improved (LLVM) compiler infrastructure and associated testing framework. The Highly Available Storage (HAST) framework allows for synchronous, block-level replication of any storage media across several physically separated machines connected by a TCP/IP network. HAST can be understood as a network-based mirror, similar to Linux DRBD. When combined with FreeBSD’s carp(4) parameter, HAST makes it possible to build a highly reliable storage cluster that is resistant to hardware failures - most important for Big Data applications, for example. HAST is file system and application independent and can be combined with any existing GEOM class. In case of a primary node failure, the cluster will automatically switch to the secondary node, check and mount the UFS file system or import the ZFS pool, and continue to work without missing a single bit of data. The GEOM I/O scheduler framework, which supports scheduling disc I/O requests in a device independent manner in order to support multiple disk I/O schedulers to be used on different I/O providers. The framework provides scheduling algorithms that use the framework and implements two forms of anticipatory scheduling. The ability to create different I/O schedulers allows users to select the I/O scheduler best suited to the task. This can increase responsiveness in certain kinds of I/O workloads, such as a mix of sequential and random I/O. Improved TCP congestion control algorithms Linux Kernel The latest stable version of the Linux Kernel is Version 3.8.3, released on March 15th 2013. The main features, according to the consensus of the available online literature (the printed material has not apparently been updated to reflect Version 3.8.3 yet) is that Version 3.8.3 contains a large number of ARM improvements, notably support for the Kirkwood processors, which may now run Linux, and ‘bug fixes’ for Brtfs and EXT4 formats, which apparently have been giving trouble under previous versions of Linux. Linux 3.8.4 also contains ‘bug fixes’ for device drivers, most notably fore wireless data communications, i915, RAID storage access and the SCSI and USB hardware data connectors, that also have apparently been giving problems with previous versions if Linux. As this paper is being written, it is not practicable to be more specific, as the situation is constantly changing as these ‘bug fixes’ are bedded in, and also that the documentation for Linux developers and users at large has yet to be updated. The methods by which underlying functionality of Linux 3.8 kernels is being made available to systems programmers has not changed, notably the Change Log facility. Also, Linux 3.8.3 is has been available for free download since the 14th of March 2013, and may be used by systems programmers in the usual ways. Linux 3.8.3 retains at least an equivalent standard for the underlying support for the execution of processes and threads as previous Revision 3 versions of Linux. The ways that memory is managed, the security features supplied by the Linux kernel to support security. However, according to the consensus of the online material covering Linux 3.8.3, this new version of Linux ‘3’ contains the following features, as described by Linus Torvalds himself in the various Linux online forums:- Only set the ‘gso_type’ parameter to SKB_GSO_TCPV4 as RSC does not support IPv6. Device drivers for the Yota / Megafon M100-1 4g modems have been added An unused variable in the copy_thread() procedure has been removed. This will avoid the corresponding ‘complier warnings’ - an absolute nuisance when working on any application! Any redundant NULL checks must be removed before using the unregister_and_ remove_pcpu() procedure Interrupts are now re-enabled when alloc_pid() fails because init has exited. The mdio hardware register has to signal a ‘fail’ if the phy is not found. It is important to avoid overflow when programming the clock comparator function. Linus (Torvald) reminds system programmers not to assume that the ‘%ds’ parameter is usable in xen_iret for 32-bit PVOPS. Linus (Torvald) has implemented a workaround to circumvent the boot failure on HP ProLiant DL980 G7 Server systems. This has apparently been a major problem with this piece of equipment - the system will not start if the boot function fails! References Engadget Online Magazine Windows Phone 8 and Windows 8 share lots of code, NT kernel Terrence OBrien Jun 20th, 2012 (Accessed 17th March 2013) (Online) Available : http://www.engadget.com/2012/06/20/windows-phone-8-and-windows-8-share-lots-of-code-nt-kernel/ Extreme Tech (Online Magazine) Under The Hood of Windows 8, or why desktop users should upgrade from Windows 7 Sebastian Anthony October 23, 2012 (Accessed 17th March 2013) (Online) Available : http://www.extremetech.com/computing/138177-under-the-hood-of-windows-8-or-why-desktop-users-should-upgrade-from-windows-7 PC Advisor (Online Magazine) Apple OS X 10.8 Mountain Lion review Andrew Harrison July 25th 2012 (Accessed 17th March 2013) (Online) Available : http://www.pcadvisor.co.uk/reviews/apple/3338081/apple-os-x-mountain-lion-review/ PC Advisor (Online Magazine) OS X 10.8 Mountain Lion: What you need to know David Court 25th July 2012 (Accessed 17th March 2013) (Online) Available : http://www.pcadvisor.co.uk/features/apple/3338128/mountain-lion-what-you-need-to-know/ Distrowatch (Online Magazine) FreeBSD - The Power To Serve Robert Storey 27th April 2004 (Accessed 17th March 2013) (Online) Available : http://distrowatch.com/dwres.php?resource=review-freebsd LinuxConfig.net (Online Magazine) FreeBSD 9.0 Review (No Attribution) January 10th 2012) (Accessed 17th March 2013) (Online) Available : http://linuxconfig.net/media/featured/freebsd-9-0-review.html Further Reading MIT Technology Review (Online Magazine) Windows 8 : Design Over Usability Simson Garfinkel February 20, 2013 (Accessed 17th March 2013) (Online) Available : http://www.technologyreview.com/review/511116/windows-8-design-over-usability/ What is Mac OS X? Anit Singh December 2003 (Accessed 17th March 2013) (Online) Available : http://osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html Linux User & Developer PC-BSD 9 review – to FreeBSD what Ubuntu is to Debian Koen Vervloesem February 9th 2012 (Accessed 17th March 2013) (Online) Available : http://www.linuxuser.co.uk/reviews/pc-bsd-9-review-to-freebsd-what-ubuntu-is-to-debian Read More
Cite this document
  • APA
  • MLA
  • CHICAGO
(“Systems Programming Essay Example | Topics and Well Written Essays - 3000 words”, n.d.)
Systems Programming Essay Example | Topics and Well Written Essays - 3000 words. Retrieved from https://studentshare.org/information-technology/1617709-systems-programming
(Systems Programming Essay Example | Topics and Well Written Essays - 3000 Words)
Systems Programming Essay Example | Topics and Well Written Essays - 3000 Words. https://studentshare.org/information-technology/1617709-systems-programming.
“Systems Programming Essay Example | Topics and Well Written Essays - 3000 Words”, n.d. https://studentshare.org/information-technology/1617709-systems-programming.
  • Cited: 0 times

CHECK THESE SAMPLES OF Systems Programming

Helen`s Trading Card Company

hellip; The question is what really is an Information System Why is it necessary What will it achieve What stages of a systems Development Methodology are involved in designing it Answers to such and other questions, in the context of Helen's Trading Card Company, will be discussed in this paper.... We will examine the role that a systems Development Methodology and its associated System Development Life Cycle (SDLC) will play in designing an information system for Helen's company....
13 Pages (3250 words) Case Study

Contemporary Software Systems: Singularity

 This paper discusses broad OS research could significantly improve the current user experience, are dependability, security, system configuration, system extension, and multi-processor programming.... Singularity is approaching these challenges by simultaneously pushing the state of the art in operating systems, run-time systems, programming languages.... Singularity will improve software reliability and boost research in programming language and tools....
10 Pages (2500 words) Term Paper

Open and Closed Source Systems

). Currently, there are a huge number of categories of the open source software that include but not limited to the Application Software, Operating Systems, programming Open Source Operating System Open-source software (OSS) is computer software which is available with not only the source but also the right of redistributing the source code along with all the modifications and the works derived.... urrently, there are a huge number of categories of the open source software that include but not limited to the Application Software, Operating Systems, programming Languages and Server Software....
1 Pages (250 words) Essay

Business Systems Programming

This paper seeks to discuss three concepts that need to be understood so as to work with… Through the use of monospaced fonts like Courier New and Lucida Console, we can establish the characters that can fit on a single line and the total lines that will fit to Business Systems Programming Control breaks in COBOL programming are used to produce reports....
1 Pages (250 words) Essay

Contemporary Software Systems

Singularity is approaching these challenges by simultaneously pushing the state of the art in operating systems, run-time systems, programming languages.... Singularity will improve software reliability and boost research in programming language and tools.... Singularity is based on advances in programming languages and programming tools to develop and build a new system architecture and operating system (named Singularity), with the aim of producing a more robust and dependable software platform....
10 Pages (2500 words) Case Study

The Future of Information Technology and Paradigm Shift

The paper "The Future of Information Technology and Paradigm Shift" overview of how a technology shift is happening and how a firm can deal with technology shifts.... This paper has also discussed some of the latest trends and evolutions that are supportive of business and organizational practices....
7 Pages (1750 words) Essay

Distributed Systems Programming

The paper "Distributed Systems Programming" describes that at any instant the server must be able to communicate simultaneously with many clients and to wait for the incoming requests on its specific server port at the same time.... The connection is established as follows: Distributed programming is the process of writing a computer program that runs in a distributed system.... Distributed computing also refers to the use of distributed systems to solve computational problems....
5 Pages (1250 words) Essay

Business Systems Programming

… The paper "Business Systems Programming" is a worthy example of an essay on logic and programming.... The paper "Business Systems Programming" is a worthy example of an essay on logic and programming.... The arithmetic encourages simple forthright programming style....
1 Pages (250 words) Essay
sponsored ads
We use cookies to create the best experience for you. Keep on browsing if you are OK with that, or find out how to manage cookies.
Contact Us