5
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

Octave Chapter 10 Topics

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Octave Chapter 10 Topics

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

Page 2: Octave Chapter 10 Topics

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

Page 3: Octave Chapter 10 Topics

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/

Page 4: Octave Chapter 10 Topics

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

Page 5: Octave Chapter 10 Topics

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