Professional Documents
Culture Documents
Submitted in partial fulfillment for the degree of Bachelor of Science (Hons) in Computing
WORKLOAD MATRIX
ii
iii
ACKNOWLEDGEMENTS
Firstly we would like to thank our lecturer Mr.Kolitha Gunarathne for all the help and guidance given to us while doing this assignment. Especially for teaching us this module in such a way that we were able to learn this highly technical module very easily. Also there are many individuals who have helped us in numerous ways directly and indirectly so that we were able to complete this assignment. APIIT Lanka for providing us with resources and the Tech Team at APIIT Lanka for their assistance at required times. And last but not least our friends, parents and the well-wishers without whose moral support and encouragement, we would not have been able to do a good job. Finally, if there are any shortcomings in this project, then we request to excuse us for all those and accept this documentation. Ahamed Nishadh Deshan Ilangakoon Harin Fernando
iv
TABLE OF CONTENTS
1.0 RESEARCH AND INVESTIGATION ...............................................................1 1.1 INTRODUCTION TO UBUNTU 10.10 MAVERICK MEERKAT ........... 1 1.2 HARDWARE REQUIREMENTS .................................................................. 2 1.3 SOFTWARE REQUIREMENTS .................................................................... 3 1.3.1 KERNAL .................................................................................................. 3 1.3.2 SHELL ...................................................................................................... 4 1.3.3 BOOTLOADER ....................................................................................... 5 2.0 INSTALLATION .................................................................................................6 3.0 ANALYSIS ........................................................................................................14 3.1 USER INTERFACE ...................................................................................... 14 3.2 PROCESS CONTROL MANAGEMENT .................................................... 15 3.2.1 - PROCESS CONTROL DIAGRAM ........................................................ 16 3.3 DEADLOCK MANAGEMENT ................................................................... 16 3.4 MEMORY MANAGEMENT ....................................................................... 18 3.5 VIRTUAL MEMORY MANAGEMENT ..................................................... 19 3.6 SECONDARY DISK SCHEDULING MANAGEMENT ............................ 20 3.7 SYSTEM ADMINISTRATION AND SUPPORT ....................................... 21 3.7.1 USER CONTROL .................................................................................. 21 3.7.2 OTHER ADMINISTRATOR SETTINGS ............................................. 23 3.8 RECOVERY STRATEGIES ......................................................................... 24
3.8.1 RECOVERING FROM DEVICES AND MEDIA ................................. 24 3.8.2 BACKUP AND RESTORE .................................................................... 24 3.9 SECURITY STRATEGIES ........................................................................... 25 3.10 STANDARD SUPPORT ............................................................................. 27 LIMITATIONS AND EXTENSIONS ........................................................................31 LIMITATIONS ...................................................................................................... 31 EXTIONSIONS ...................................................................................................... 31 BIBLIOGRAPHY .......................................................................................................32 TABLE OF FIGURES ................................................................................................34 APPENDIX .................................................................................................................36 1.0 MEETING MINUTES .................................................................................. 36 1.1 1st MEETING ............................................................................................. 36 1.2 2nd MEETING ............................................................................................ 38 1.3 3rd MEETING ............................................................................................ 40 1.4 4th MEETING ........................................................................................... 41 1.5 5th MEETING ............................................................................................ 43 1.6 6th MEETING ............................................................................................ 45
vi
The first version of Ubuntu was the Ubuntu 4.10 - Warty Warthog. Since the release of the first version of Ubuntu, the user base has been increasing with every new release and also with different variants being released such as the KUbuntu which uses the KDE shell rather than the GNOME shell, EDUUbuntu which is customized for schools, XUbuntu which again has a different shell intended to run on low-end computers and a few others. Ubuntu releases 2 versions every year since the year they started. And every two years Ubuntu releases a version with a tagline LTS. This means Long Term Support. That is, this specific version will be supported for a long time. By default, all normal versions are supported only till the next two versions are released after which support for that version will be stopped unless they are tagged LTS. Ubuntu 10.10 codenamed Maverick Meerkat was released on the 10th of October 2010. This is a major upgrade from other version with some major updates to the system. (www.ubuntu.com, 2010)
Processor Disk Space: RAM CD-ROM drive VGA Graphics interface Monitor resolution Motherboard
700MHz x86 or better 4GB available disk space 256MB Yes Yes 800 x 600 32 bit or 64 bit Figure 2 - Hardware Requirements
The Ubuntu operating system has some requirements like it will not work on older Intel compilers and thus will require a newer version to be available on the computer that you wish to install Ubuntu on. The Ubuntu operating system will accommodate both 32-bit and 64-bit processors but it is recommended that you use a 64-bit processor as this will help to increase the performance of the system. They are ADM, Intel and VIA processors. However the following 64 bit processors are not supported by Ubuntu, these being Itanium, S/390, PowerPC, SPARC, MIPS, and etc. processors. (www.ubuntu.com, 2010)
than as external kernel modules as in some other kernels which makes the operating system relatively faster than the others. (www.osdev.org, 2008) Ubuntu 10.10 uses the 2.6.35-22.33 version Kernel which is a modified version of the Linux Kernel version 2.6.35.4. The modifications to the original Kernel have been done in order to improve support for the certain newer systems not supported in the Kernel or for better support. (Barcet, 2010)
1.3.2 SHELL
The shell is the software the Operating System uses to communicate between users and the system itself. The user communicates to the system via the Command Line Interface and the shell interprets the commands and does the necessary execution requested for. The shell is also an application program like any other and requires the Kernel to run but is not part of the Kernel. (H.M.Deitel, 1990, p.573) It should be noted in here that newer developments in computing have made it possible for a Graphical User Interface possible which is also another kind of Shell. Ubuntu uses the Graphical User Interface type of Shell and uses the GNU Network Object Model Environment (GNOME) as its primary interface. Ubuntu 10.10 uses the GNOME Version 2.32 which is the latest version of the GONME Interface. (Barcet, 2010) Some of the application and utility softwares that come preinstalled with Ubuntu are also developed using the GONME Application Framework. The GNOM Environment provides facilities such as task and process launching and management, file handling as well as user management. (GNOME Project, 2010)
1.3.3 BOOTLOADER
The bootloader is the initial software that is loaded into the memory which in turn then loads the Operating System. This software is a vital piece of software that is available in all operating systems. When there are more than one operating system installed in the computer, the bootloader will prompt the user to select the operating system to be loaded. Ubuntu 10.10 uses the Grand Unified Bootloader also known as GRUB as its bootloader. (The Ubuntu Manual Team, 2010, p.135)
2.0 INSTALLATION
To install Ubuntu, the user has to first boot the computer through the Ubuntu Live/Installation CD ROM. When the CD ROM boot up is complete, the user will be shown the screen as shown in Figure 4. In this section, the user can select the language in which they require the Operating System to run and then press the Install Ubuntu button.
Figure 4 - Ubuntu Installation Screenshot 1 After the user presses the Install Ubuntu button, the screen shown in Figure 5 will be shown to the user. In this screen the user will be shown the optional requirements for the installer to work such as a connection to the internet etc. Also the user can select optional options like download latest updates of the Operating System while installing the OS and installing developer recommended Third Party Applications to the OS while the OS is being installed. After this, the user has to press the Forward button to go to the next step.
6
Figure 5 - Ubuntu Installation Screenshot 2 In the next step, the installer will ask the user about the storage devices as shown in Figure 6. At this point, the user can either erase and use the entire disk by selecting the first option or use the partition manager and partition the disk according to the need and then install Ubuntu on it. The first option is usually recommended for normal users while the second option is recommended for advanced users only.
Figure 6 - Ubuntu Installation Screenshot 3 In the next step, the partition manager is shown to the user as shown in Figure 7. This step is where the user can manage their storage devices. In the next step the user will be shown the screen shown in Figure 8. This is another section of the Partition Manager.
After the Install Now button has been pressed, the required system files start getting copied to the storage disk. The progress of the files being copied is shown in the bottom of the screen as pictured in Figure 9 below. Also to reduce the time spent on doing settings after the installation, Ubuntu makes the users set the settings while the installation is being done. As shown in Figure 9 below, first it will ask for the country that the user lives in. Ubuntu installer will use the internet to automatically detect the country the user lives in. If the auto detected country is wrong, the user can select it manually by clicking on the map or by choosing it from the list below it.
Figure 9 - Ubuntu Installation Screenshot 6 In the next screen as shown in Figure 10, the user is prompted to enter the keyboard layout that they use. They can select it from the lists shown or type in the textbox below and automatically find out the layout.
10
Figure 10 - Ubuntu Installation Screenshot 7 In the next screen, the user will be prompted to enter the username, password, the computer name and some other details as shown in Figure 11. These are to set up the primary user account of the Operating System. It should also be noted that after the files have finished coping, the system will wait for the user to finish enter the settings to complete installation.
11
Figure 11 - Ubuntu Installation Screenshot 8 After all necessary settings have been entered and the system will next finalize the installation as shown in Figure 12. After all that is finished, the system will show the screen as shown in Figure 13 indicating that the installation is complete and requesting the user to reboot the system. This is the end of the installation process. After the reboot, the system will boot the Operating System and show the login screen to the user.
12
13
3.0 ANALYSIS
3.1 USER INTERFACE
User Interface is the place where the user interacts with the computer. There are 3 main types of user interfaces. They are Graphical User Interface (GUI), Command Line Interface (CLI) and Menu Driver Interface. Users can use the User Interface and give instructions to the computer which in turn are converted into machine language by the Operating System and then executed. (Gunarathne, 2010) In Ubuntu 10.10, the default user interface is a Graphical User Interface. A Command Line Interface is also available in Ubuntu which can be accessed by the user if required to perform any advanced work in the operating system.
14
15
16
When carrying out a process it should take place in sequential manner as the manner stated below: Obtain resource/Request for resource Utilize resource Release resource
Deadlock Prevention is the steps we follow in order to avoid deadlocks. There are three methods in which deadlocks can be handled. They are: Use a protocol to avoid all deadlocks and to prevent the occurrence of deadlocks in the future. Allow system to go through a deadlock position, perceive it, and pull through from it. Ignore the problem.
Deadlock detection is the process where the Operating System detects a deadlock situation and tries to recover from it. There are two methods which Operating Systems use to recover from deadlocks. Either the user recovers from the deadlock manually or the system recovers itself from the deadlock automatically. When recovering from the deadlock automatically there are 2 options which are: Process extinction o Terminate all the deadlock processes. o Terminate one process at a time. Resource preemption o Victim selection o Rollback o Starvation
17
Ubuntu 10.10 is well equipped with deadlock detection methods & avoids causing deadlocks as we mentioned above.
18
Another reason Linux uses this method is because it faster to access information from the cached space than from the hard disk itself. (sapphirecat, 2004)
19
However the process will not directly use files stored in the Swap Space as this would cause the system to operate slower. (Ubuntu Documentation, 2010) Another method used to manage the virtual memory is a technique known as Demand Paging. The way in which demand paging works is as follow. When the system is required to run a process that is too big to be loaded to the physical memory completely, then the system loads only the file immediately required. The remaining files get transferred to the virtual memory. Here after when the process requires a page to work with it is loaded from the virtual memory. This process is known as demand paging. The way in which the Linux operating system handles demand paging works is similar in most Linux operating systems. When a process starts to execute the operating system will load the files into the virtual memory. Then the when a command to execute is give the file containing it is opened and the content mapped to the virtual memory. The way this is carried out is by changing the data structure that describes the processes memory map. This is known as memory mapping. However the entire file is not brought up, only the first part is brought up. This will create a page fault and then the operating system will search the memory map to determined which remaining part of the file to bring up to be executed. (Rusling, 1999)
21
22
23
All three of these programs can be used to recover lost data from devices by recreating the partition table and then recovering the data in it but use different algorithms to work. All three of these utilities use the Command Line Interface as it is a very safe and easy procedure to use. Also it is recommended that advanced users use these utilities as they involve complex procedures that if done wrong will mess up the system. (Stock, 2010) More on data recovery and how to do it can be found at the official Ubuntu Help site at https://help.ubuntu.com/community/DataRecovery
24
Both these tools are Command Line Interface based tools. Once again it is recommended that only advanced users handle the Command Line Interface. But since backing up is such an important procedure, Graphical Interfaces for the above tools have also been developed by developers which can be freely downloaded and used by normal users even but these interfaces do not provide advanced technical techniques like they are available in the Command Line tool. (Buser, 2010) More on how to perform backup and restore options with other additional tools can be found at the official Ubuntu Help site at
https://help.ubuntu.com/community/BackupYourSystem
25
When a critical system component is to be changed or when software is to be an installed or uninstalled, an administrator user have to provide authorization else the system will not allow the action to be performed. This is done so that no unauthorized changes are done to the system.
It is usually said that Linux Operating Systems are completely immune from viruses. But the truth is that it is actually difficult to infect Linux Operating Systems with viruses but it still can be done. (Pot, 2010) For this reason Linux Operating Systems usually dont come pre-equipped with antivirus softwares or even firewall systems. If any users require these softwares, they are available for installation from the Ubuntu Software Center. Apart from this, Ubuntu periodically releases security updates for the Operating System which can be downloaded from the Update Manager in Ubuntu. These security updates make sure that the system is up to date and secure against any known threats.
26
27
in this support. This support feature can be accessed by going to System > Help and Support. Ubuntu has a wide range of online support options. From their support website to chat rooms, help lines, user forums, training materials and online documentations that users can use to get help from. The main website where Ubuntu provides official support is located at http://help.ubuntu.com. This website provides support for versions of Ubuntu that support is available for. Ubuntu usually provides support for the current version, the previous normal version as well as for any Long Term Support enabled versions which are still in the support timeline.
28
Figure 25 - Ubuntu Online Documentation Site The main user forum where Ubuntu users can get help from is located at https://answers.launchpad.net/ubuntu and at http://ubuntuforums.org/. In here, users can register themselves and ask questions from other users. Technical experts from the Ubuntu development team also answer queries from time to time. This is the official user forum for Ubuntu users. Moreover there are lots more public forums available on the internet where users can get help from which are not officially supported by Ubuntu. Ubuntu also provides training for corporate users. This is another type of support that they provide for those users who are willing to shift from one Operating System to another. Training can be gained in a customized manner depending on the requirement of the user. To get training, users have to contact Ubuntu support team in person and request for it. Another type of community based support that Ubuntu gives users is the localized support. Currently Ubuntu provides support in 28 different localized languages from Bengali language to Urudu. In addition more localized support is given through local user communities in countries. These localized communities are called LoCos by Ubuntu and are officially endorsed by the Ubuntu developers.
29
More support is available for users through Internet Relay Chat (IRC) where professionals provide support to users. Mailing lists are also available where users can subscribe and get updates on new developments and fixes etc.
30
LIMITATIONS
As Ubuntu 10.10 was released only around 2 months before this report was made, information specific for this particular version is not available at all times. In instances like these, we have written generally on that topic and tried our best to relate them with the information available with the closes available version. Due to the restriction on the WORD LIMIT we have not been able to extensively write on certain topics and in all possible situations like this, we have written whatever possible within the restriction. Although Ubuntu is an Open Source operating system, there are still certain information that the developers do not share publicly.
EXTIONSIONS
There are two more ways in which the Operating System can be installed which is as a software inside Microsoft Windows Operating System and on a dual boot basis. We have not explained extensively on these two options due to the word limit restriction as well as since many do not use these options. More information on certain sections such as Deadlocks, Memory Management, User Interface, System Administration and Recovery Strategies can be written if word limit is increased. A comparison on different Operating Systems can be included into the report.
31
BIBLIOGRAPHY
Barcet, N., 2010. MaverickMeerkat ReleaseNotes. [Online] Available at: https://wiki.ubuntu.com/MaverickMeerkat/ReleaseNotes [Accessed 27 November 2010]. Buser, M., 2010. BackupYourSystem. [Online] Available at: https://help.ubuntu.com/community/BackupYourSystem [Accessed 12 December 2010]. Canonical Ltd, 2010. Ubuntu Logo. [Online] Available at: http://upload.wikimedia.org/wikipedia/commons/thumb/9/9d/Ubuntu_logo.svg/500p x-Ubuntu_logo.svg.png [Accessed 12 December 2010]. Florentyna, K., n.d. Types of Data Storage: Primary and Secondary Storage. [Online] Available at: http://www.buzzle.com/articles/types-of-data-storage-primaryand-secondary-storage.html [Accessed 12 December 2010]. GNOME Project, 2010. What is GNOME? [Online] Available at: http://www.gnome.org/about/ [Accessed 27 November 2010]. Gunarathne, K., 2010. Operating Systems. AICT004-3-2, Memory Management. Presentation. Asia Pacific Institute of Information Technology. Gunarathne, K., 2010. Operating Systems. AICT004-3-1, Process Control Management. Presentation. Asia Pacific Institute of Information Technology. Gunarathne, K., 2010. Operating Systems. AICT004-3-1, User Interface. Presentation. Asia Pacific Institute of Information Technology. H.M.Deitel, 1990. An Introduction to Operating Systems - Second Edition. U.S.A: Addison-Wesley Longman Publishing Co. Pot, J., 2010. The 4 Best Free Linux Anti-Virus Programs. [Online] Available at: http://www.makeuseof.com/tag/free-linux-antivirus-programs/ [Accessed 22 December 2010]. Rusling, D.A., 1999. Chapter 3 - Memory Management. [Online] Available at: http://tldp.org/LDP/tlk/mm/memory.html [Accessed 10 December 2010].
32
sapphirecat, 2004. Linux Memory Management or 'Why is there no free RAM?'. [Online] Available at: http://forums.gentoo.org/viewtopic-t-175419-postdays-0postorder-asc-start-0.html?sid=619cda6e4dae2a0651c474f9f5e4dfcf [Accessed 12 December 2010]. SF007, n.d. GRUB screenshot. [Online] Available at: http://upload.wikimedia.org/wikipedia/commons/1/12/GRUB_screenshot.png [Accessed 12 December 2010]. Stock, B., 2010. DataRecovery. [Online] Available at: https://help.ubuntu.com/community/DataRecovery [Accessed 12 December 2010]. The Ubuntu Manual Team, 2010. Getting Started with Ubuntu 10.04. Second Edition ed. USA: The Ubuntu Manual Team. Ubuntu Documentation, 2010. SwapFaq. [Online] Available at: https://help.ubuntu.com/community/SwapFaq [Accessed 10 December 2010]. www.osdev.org, 2008. Monolithic Kernel - OSDev Wiki. [Online] Available at: http://wiki.osdev.org/Monolithic_Kernel [Accessed 27 November 2010]. www.ubuntu.com, 2010. About Ubuntu The Ubuntu story. [Online] Available at: http://www.ubuntu.com/project/about-ubuntu [Accessed 15 December 2010].
33
TABLE OF FIGURES
Figure 1 - Ubuntu Logo (Canonical Ltd, 2010) ......................................................... 2 Figure 2 - Hardware Requirements ............................................................................. 3 Figure 3 - GRUB Bootloader Screenshot (SF007, n.d.).............................................. 5 Figure 4 - Ubuntu Installation Screenshot 1................................................................ 6 Figure 5 - Ubuntu Installation Screenshot 2................................................................ 7 Figure 6 - Ubuntu Installation Screenshot 3................................................................ 8 Figure 7 - Ubuntu Installation Screenshot 4................................................................ 9 Figure 8 - Ubuntu Installation Screenshot 5................................................................ 9 Figure 9 - Ubuntu Installation Screenshot 6.............................................................. 10 Figure 10 - Ubuntu Installation Screenshot 7............................................................ 11 Figure 11 - Ubuntu Installation Screenshot 8............................................................ 12 Figure 12 - Ubuntu Installation Screenshot 9............................................................ 13 Figure 13 - Ubuntu Installation Screenshot 10.......................................................... 13 Figure 14 - Ubuntu Desktop ...................................................................................... 14 Figure 15 - Ubuntu Terminal / Command Line Interface ......................................... 15 Figure 16 - PROCESS CONTROL DIAGRAM (Gunarathne, 2010) ...................... 16 Figure 17 - Disk Utility ............................................................................................. 21 Figure 18 - User Settings Panel ................................................................................. 22 Figure 19 - Advanced User Settings Panel................................................................ 22 Figure 20 - Administration Options .......................................................................... 23 Figure 21 - Login Screen ........................................................................................... 25 Figure 22 - Authorization Box .................................................................................. 26
34
Figure 23 - Update Manager ..................................................................................... 27 Figure 24 - Ubuntu Help Center................................................................................ 28 Figure 25 - Ubuntu Online Documentation Site ....................................................... 29
35
APPENDIX
1.0 MEETING MINUTES 1.1 1st MEETING
Project Planning Date: Time: Venue: 5th of November 2010 03.30 pm APIIT Canteen Ashan Wijewardane Deshan Ilangakoon Ahamed Nishadh Harin Fernando Minutes: The first meeting for the Operating System project was conducted to plan the outline of the project and also to make plans on how the group would handle the project and how best to allocate the tasks. Ashan Wijewardane started by making sure that everyone present had no objection about the Operating System that the group had selected. This would be the Windows 7 Operating System. Deshan Ilangakoon suggested that for the initial documentation process the work should be divided into topics and then be divided among the members equally. The group agreed on this as the best way to go about the project. After this Ahamed Nishadh suggested that special attention be made to algorithms involved in the running of Windows 7. It was decided afterwards that this would be the first area of the project that we would give our attention towards.
Members present:
36
Finally Ahamed said that he would go and talk to sir to get more specifications about what should be in the project. After this as there was nothing further to discuss the meeting was adjourned.
. Group Leader
. Lecturer
37
Members present:
38
After this as there was nothing left to be discussed the meeting was adjourned until the next meeting with the advice from Ahamed Nishadh that none of the guys should fall back on the section that was assigned to them.
. Group Leader
. Lecturer
39
Members present:
. Group Leader
. Lecturer
40
Members present:
41
Once the sections had been selected Ahamed gave the deadline for the completion of these sections as the 27th of December 2010 and said that he wanted to see the work as it progressed and also to make sure that we always keep several up to date backups. After this the meeting was adjourned.
. Group Leader
. Lecturer
42
Members present:
43
Finally it was agreed to meet up again after all members had completed their allocated sections to compile their work. It was decided to meet up Ahameds place as this would be the most convenient location and also since APIIT would be closed during the Christmas Vacations. After this the meeting was adjourned.
. Group Leader
. Lecturer
44
Members present:
. Group Leader
. Lecturer
45