AMERICAN INTERNATIONAL UNIVERSITY-BANGLADESH Faculty of Engineering Assignment Cover Sheet Assignment Title: Introduction To UNIX And Linux Assignment No: 1 Course Title: VLSI Circuit Design Lab Course Code: Semester: Date of Submission: 14 February 2023 Click here to enter text. Section: D Spring Course Teacher: Prof. Dr. Muhibul Haque Bhuyan 2022-23 Declaration and Statement of Authorship: 1. I/we hold a copy of this Assignment/Case-Study, which can be produced if the original is lost/damaged. 2. This Assignment/Case-Study is my/our original work and no part of it has been copied from any other student’s work or from any other source except where due acknowledgement is made. 3. No part of this Assignment/Case-Study has been written for me/us by any other person except where such collaborationhas been authorized by the concerned teacher and is clearly acknowledged in the assignment. 4. I/we have not previously submitted or currently submitting this work for any other course/unit. 5. This work may be reproduced, communicated, compared and archived for the purpose of detecting plagiarism. 6. I/we give permission for a copy of my/our marked work to be retained by the Faculty for review and comparison, including review by external examiners. 7. I/we understand thatPlagiarism is the presentation of the work, idea or creation of another person as though it is your own. It is a formofcheatingandisaveryseriousacademicoffencethatmayleadtoexpulsionfromtheUniversity. Plagiarized material can be drawn from, and presented in, written, graphic and visual form, including electronic data, and oral presentations. Plagiarism occurs when the origin of them arterial used is not appropriately cited. 8. I/we also understand that enabling plagiarism is the act of assisting or allowing another person to plagiarize or to copy my/our work. * Student(s) must complete all details except the faculty use part. ** Please submit all assignments to your course teacher or the office of the concerned teacher. Group Name/No.: 4 No Name ID Program 1 Md Imtiaz Hossain 19-41203-2 BSc [EEE] 2 Refat Zaman 19-39626-1 BSc [EEE] 3 Esham, Sk Shadman Hossain 18-36665-1 BSc [EEE] 4 Shahin, Md. Shanewz 18-38254-2 BSc [EEE] 5 Mahmuda Akter Monalisa 19-40980-2 BSc [EEE] 6 Choose an item. 7 Choose an item. 8 Choose an item. 9 Choose an item. 10 Choose an item. Signature Faculty use only FACULTYCOMMENTS Marks Obtained Total Marks Assignment/Case-Study Cover; © AIUB-2020 Abstract: Operating system is an integral part of modern computers. Popular operating systems include Windows, MacOS, UNIX/Linux etc. Operating systems can be classified by the type of interface they have. For example, Windows uses a graphical user interface (GUI) whereas Linux uses command line interface. While graphical user interface is seemingly easier to use, command line interface has its perks as well. In this experiment, we will delve into the UNIX and Linux operating systems and try to familiarize ourselves with the command line interface structure by executing simple operations using basic commands. Introduction: The operating system (OS) is the program which starts up when we turn on the computer and runs underneath all other programs. Without OS, nothing will run at all. Simply put, the operating system is a manager. It manages all the available resources on a computer. It is also the link between hardware and software. One ancient operating system which is still going strong today and being widely used is UNIX. UNIX first came into existence in the late 1960s through a project led by Ken Thompson at the Bell Labs. Even after 50 years, it is still the most widely used OS in the world. Linux, another widely popular OS, is a UNIX clone developed in the early 90s by Linus Torvalds and hackers across the net. General pc users are most familiar with Windows operating system. Windows is user friendly, and we don‟t need any deep knowledge of the machine to navigate through Windows, we can just click with our mouse and do what we want to do in Windows. However, for more hardcore users, Windows is not always the answer due to its severe restrictions. We can‟t modify Windows as we want, nor do we have access to its source codes. On the other hand, UNIX/Linux is open source, so we can sift through the codes and with enough expertise create our own unique versions of the OS. On the other hand, operating the command line interface of UNIX/Linux may seem like a daunting task at first, once we get used to it a bit, we can see how efficient the systems are. For example, we don‟t need to click through folders and sub-folders to open a specific file; we can just do it by executing a simple command. Furthermore, the file systems on Linux and Windows are different. Windows uses FAT32 or NTFS while Linux uses ext2 or ext3 file systems. It should also be mentioned that the memory partitions are also different. Windows has „My Computer‟ at the highest level and then C:, D: etc. drive under it whereas UNIX or Linux has “/” at the highest level with other drives mounted anywhere underneath it. Another point that must be mentioned is that UNIX/Linux is stable and they almost never crash. Theory and Methodology: The use of UNIX/Linux has a number of benefits for us. For instance, the majority of UNIX versions allow several users to log in and separately work on different projects. The fact that UNIX is not highly resource-intensive is another significant benefit. The outdated family computer is capable of running the most recent UNIX version without any problems. Furthermore, we must keep in mind that Linux and UNIX are both free operating systems, and the majority of their programs are likewise gratis. Assignment/Case-Study Cover; © AIUB-2020 UNIX is comprised of 2 main components, the kernel and shell. The Kernel handles memory management, input and output requests, and program scheduling. Technically speaking, the kernel is the OS. It provides the basic software connection to the hardware. The kernel is very complex and deals with the inner workings of these things, and is beyond the scope of this course. The kernel is covered in detail in “Operating Systems”. The Built-in System Utilities are programs that allow a user to perform tasks which involve complex actions. Utilities provide user-interface functions that are basic to an operating system, but which are too complex to be built into the shell. Examples of utilities are programs that let us see the contents of a directory, move & copy files, remove files, etc. Application Software & Utilities are not part of the operating system, per se. They are additional programs that are bundled with the OS distribution or available separately. These can range from additional or different versions of basic utilities, to full scale commercial applications. Flavors of UNIX can be grouped in 2 categories: Proprietary: (redistribution and modification prohibited or restricted; not free) Solaris Access to a Solaris UNIX server (solaris.gl.umbc.edu) via SSH access. • IRIX - There are a couple of IRIX machines in the basement of the library, as well as server access (irix.gl.umbc.edu) via SSH access. • Mac OS X - no access currently available at UMBC. and many others... Open Source: (source code is readily available and free to modify) FreeBSD - no access currently available at UMBC. • Linux Distributions: • RedHat (used by UMBC) and the Fedora Project (maintained by RedHat) • • • Mandrake Debian SuSE • Slackware Linux GUI: Linux GUI (Graphical User Interface) is defined as a utility or feature which supports an interface for users and allows users to interact with the system and takes help from windows, icons, graphics, etc., and responds to the manipulation of mouse and keyboard. When we talk about Linux, we always consider the kernel to be the heart of a Linux system that keeps the system working, the same way the heart keeps the body running. On the other side of it, what we see in a human body is also the outer appearance, and that is exactly what GUI gives to Linux. GUI is the face of the operating system. Assignment/Case-Study Cover; © AIUB-2020 Command line interface: You can access some UNIX servers using a command line interface. Any machine with internet connectivity, whether it runs Windows, Mac, or UNIX itself, can be used to log in. In this instance, you are speaking to one of these distant servers through a local terminal. Actually, the remote server is where all of the commands are put to use. This window can also be used to launch graphical applications, however doing so takes a lot more setup and software. UNIX/Linux file system: In UNIX/Linux, everything is under the „root‟ directory. Bin is a standard subdirectory of the root directory in UNIX-like operating systems that contains the executable (i.e., ready to run) programs that must be available in order to attain minimal functionality for the purposes of booting (i.e., starting) and repairing a system. Boot directory contains the files used in booting the OS. Etc usually contains the configuration files for all the programs that run on your Linux/UNIX system. Usr is the secondary hierarchy which contains its own bin and sbin sub-directories. Var is a standard subdirectory of the root directory in Linux and other UNIX-like operating systems that contains files to which the system writes data during the course of its operation. Sbin contains binaries used for system administration. Assignment/Case-Study Cover; © AIUB-2020 Piping: The Nix philosophy of Doug Mcllroy dictates that we should make small programs and make each program to do one thing well. The output of every program should become the input of another program. So, the outputs of the programs shouldn‟t be cluttered with unnecessary information. We can derive the concept of „piping‟ or input/output redirection in Linux from the above philosophy. Piping is basically programs outputting to other programs. X-Window: There is another concept that we need to know about and that is X-window server and client. The Xwindow server runs on the machine to which the monitor is connected. The clients may also run on this machine, communicating directly with the server. On most workstations, this is the normal situation. However, X is a networked window system, and it is possible for the client to run on a remote machine, communicating with the server via some form of network. Desktop manager and Window manager: Examples of desktop managers include Gnome and KDE. Both of these resemble Microsoft Windows in appearance. They have something resembling a control panel, Windows Explorer's counterpart, and a Start menu. The purpose of the Desktop Manager is to enable you to control every aspect of your system without having to repeatedly enter commands into a terminal window. These specifics include controlling your files, starting programs, setting up various system settings, etc. Another important point to remember is that the desktop manager is optional. A desktop manager, which sits between the X server and the window manager, was absent from many older systems. We should try to remember: • Most UNIX systems can be installed without the GUI. • The GUI is just another application that runs on top of the operating system. • There are many implementations of all three of these components. • It is possible to mix and match implementation and versions of these. • They need not be alike and need not be all by the same organization. • This is quite a shift in paradigm from Microsoft and Apple. Apparatus: 1. Linux OS 2. VirtualBox Precautions: Assignment/Case-Study Cover; © AIUB-2020 Recursive removal is done with the "rm-r" command. Recursively, the directories and subdirectories in the parameter list are deleted by this command. The directory will be deleted and its contents emptied. Any files in the directory that are write-protected are often asked to be removed by the user. Without being asked, the write-protected files are deleted. Although it is a crucial command that all students should be aware of, they are not allowed to use it in the lab and will face harsh consequences if they do. Experimental Procedure: 1. We were open up a terminal named ‘Jslinux’, that was presenent with the follwinf windows. 2. We used “pwd” command to find the path Assignment/Case-Study Cover; © AIUB-2020 3. We used “cd” command for changing the specific directory. 4. We used “mkdir” command to create a new directory. 5. We used “ls” command to list the files under your current directory Assignment/Case-Study Cover; © AIUB-2020 6. We used “rmdir” To remove a directory. 7. We used “cp” command to copy the file. 8. We used “vi” command to Discussion and Conclision: From this experiment , we have learned about process handling in Linux, We have also knew some basic process handling command of linux, and also know that the syntax working procedure of some process handling Linux Command. Then we implemented all the command by the Linux Terminal “JSLinux” with commands. We have written the commands and checked the output and we have done our lab successfully. Reference: • Petersen, R. (2008). Linux: the complete reference. 6th ed. New York: McGraw Hill. • Ee.surrey.ac.uk. (2019). UNIX / Linux Tutorial for Beginners. [online] Available at: http://www.ee.surrey.ac.uk/Teaching/Unix/ [Accessed 8 May 2019] • Ugu.com. (2019). UGU: Unix Guru Universe - BEGINNERS - START HERE. [online] Available at: http://www.ugu.com/sui/ugu/show?help.beginners [Accessed 8 May 2019] En.wikipedia.org. (2019). Unix. [online] Available at: http://en.wikipedia.org/wiki/UNIX [Accessed 8 May 2019]. • Webminal.org. (2019). Webminal - Learn and Practise Linux online, Programming online. [online] Available at: http://webminal.org [Accessed 8 May 2019]. Assignment/Case-Study Cover; © AIUB-2020 Assignment/Case-Study Cover; © AIUB-2020