Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
EGR115 Introduction to Computing for Engineers
Chapter 10
Introduction to LINUX &GNU Octave
S. Hayashibara, ERAU College of Engineering (Prescott)
Chapter 10 Topics
➢ Introduction: LINUX
➢ 10.1 Linux Distributions
➢ 10.2 Linux for a Beginner
➢ 10.3 GNU Octave + Forge + SMath Studio
Linux
In popular usage, "Linux" refers to a group of operating system distributions built around the Linux
kernel. In the strictest sense, it refers only to the presence of the kernel itself. To build out a full
operating system, Linux distributions often include tooling and libraries from the GNU project and
other sources. More developers have been using Linux recently to build and run mobile applications; it
has also played a key role in the development of affordable devices such as Chromebooks.
Why Linux?
Within cloud computing and server environments in general, Linux is an extremely popular choice for
some practical reasons:
• Its distributions remain current and supported by communities of active developers.
• It can run on a wide range of hardware and will install alongside pre-existing systems.
• It supports centralized software installation from pre-existing repositories.
• Its resource requirements are (relatively) low.
Roots in UNIX
Linux has its roots in Unix and Multics, two projects that shared the goal of developing a multi-user
operating system. Unix developed out of the Multics project iteration at the Bell Laboratories Computer
Sciences Research Center. Research and development at Bell Labs (later AT&T) continued in
partnership with Sun Microsystems, that later be widely adopted by commercial Unix vendors.
Meanwhile, research continued in academic circles, most notably the Computer Systems Research
Group at the University of California Berkeley. This group produced the Berkeley Software
Distribution (BSD), which inspired a range of operating systems, many of which are still in use today.
Richard Stallman and Linus Torvalds: GNU/Linux
Richard Stallman was a central figure among the developers who were inspired to create non-proprietary
alternatives to Unix. While working at MIT Artificial Intelligence Laboratory, he initiated work on the
GNU project (recursive for "GNU's not Unix!"), eventually leaving the Lab in 1984 so he could
distribute GNU components as free software. Meanwhile, another developer was at work on a free
alternative to Unix: Finnish undergraduate Linus Torvalds. After becoming frustrated with licensure
issues, Torvalds announced (1991) that he was developing his own operating system under GNU. The
Linux kernel quickly became a unique project with a core of developers who released version 1.0 of the
kernel with Torvalds in 1994.
Chapter 10Slide 1 of 4
Introduction: LINUX
From: digitalocean.com
Linux Kernel
All operating systems have a kernel. The kernel of an
operating system is an essential core component that
provides basic services for everything within the operating
system. With Linux, the kernel is a monolithic, UNIX-like
system which just so happens to be the largest open source
project in the world. Put simply, a kernel is the beating heart
of the entire operating system.
Linux Shell
The shell is basically a user interface for Linux. You input commands into the shell and then it executes
those commands, communicating with the Linux operating system. The Linux shell can use a host of
varying command languages, the most well-known being BASH (Bourne Again Shell). Each language
will generally have its own syntax so, as a beginner, it would be best to choose one and stick with it. It
would also be beneficial to you to avoid using a GUI (graphical user interface) and opt to instead utilize
the CLI (Command Line Interface). This will get you more familiar with the inner workings of Linux
and provide additional skills that could help you further down the line.
Popular Linux Distributions
Developers maintain many popular Linux distributions today. Among the longest-standing is Debian,
an opensource distribution that has 50,000 software packages. Debian inspired another distribution,
Ubuntu, funded by Canonical Ltd. A similar relationship exists between Red Hat, Fedora, and
CentOS. Red Hat created a Linux distribution in 1993, and ten years later split its efforts into REHL
(Red Hat Enterprise Linux) and Fedora, a community-based operating system that utilizes the Linux
kernel and elements from the GNU Project. Red Hat also has a relationship with the CentOS Project,
another popular Linux distribution for web servers. Unlike REHL, itdoes not include paid maintenance,
however. Like Debian, CentOS is maintained by a community of developers.
Chapter 10Slide 2 of 4
10.1 Linux Distributions
https://distrowatch.com/
GNU/Linux
GNU is an operating system that is free (often also opensource) software: that is, it respects users'
freedom. The GNU operating system consists of GNU packages (programs specifically released by the
GNU Project) as well as free software released by third parties. The development of GNU made it
possible to use a computer without software that may "regulate" your freedom. https://www.gnu.org/
Advantages of Linux
• It is an open-source operating system, means the source code is easily available for everyone and
you are allowed to contribute, modify and distribute the code to anyone without any permissions.
• Linux is more secure than any other operating system. It does not mean that Linux is 100 percent
secure it has some malware for it but is less vulnerable than any other operating system.
• The software updates in Linux are easy and frequent.
• Various Linux distributions are available so that you can use them according to your requirements or
according to your taste.
• The performance of the Linux system is much higher than other operating systems. It allows a large
number of people to work at the same time and it handles them efficiently. It performs all tasks
properly even if it has limited space on the hard disk.
Disadvantages of Linux
• It is not much user-friendly. So, it may be confusing for beginners.
• It has relatively smaller libraries of peripheral hardware drivers as compared to windows.
Linux Desktop Environment (DE)
In computing, a Desktop Environment (DE) is an implementation of the desktop metaphor made of a
bundle of programs running on top of a computer operating system that share a common graphical user
interface (GUI), sometimes described as a graphical shell. A Linux desktop environment typically
consists of icons, windows, toolbars, folders, wallpapers and desktop widgets. A GUI might also
provide drag and drop functionality and other features that make the desktop metaphor more complete.
A desktop environment aims to be an intuitive way for the user to interact with the computer using
concepts which are similar to those used when interacting with the physical world, such as buttons and
windows. https://itsfoss.com/best-linux-desktop-environments/
Chapter 10Slide 3 of 4
10.2 Linux for a Beginner
GNU/Linux & Free Software (Opensource)
Linux Shell (BASH)
Desktop Environment (DE)
Ubuntu (core O/S) + Xfce (DE)
= Xubuntu
GNU Octave (https://www.gnu.org/software/octave/)
GNU Octave is a software package featuring a high-level programming language, primarily intended for
numerical computations. Octave helps in solving linear and nonlinear problems numerically, and for
performing other numerical experiments using a language that is mostly compatible with MATLAB.
It may also be used as a batch-oriented language. Since it is part of the GNU Project, it is free software
under the terms of the GNU General Public License.
Octave Forge (https://octave.sourceforge.io/)
Octave Forge is a community project for collaborative development of GNU Octave extensions, called
"Octave packages". If you have a large package that you want to open up to collaborative development,
or a couple of m-files that you want to contribute to an existing package, Octave Forge is the place to do
it. Octave Forge is similar to MATLAB Toolbox development environment.
SMath Studio (https://en.smath.com/view/SMathStudio/summary)
SMath Studio is a free, but closed-source (not opensource), mathematical notebook software similar to
Mathcad. The developer is: Andrey Ivashov (Russia)
Among its capabilities are:
• Symbolic calculations (solving, integrating, differentiating, and simplifying)
• Matrix operations, including determinants;
• Simple multiline looped programs and user-defined functions
• Graphing functions in two or three dimensions;
• Units of measurement.
Chapter 10Slide 4 of 4
10.3 GNU Octave + Forge + SMath Studio