Browse Source

Add some presentation files

Matteo Savatteri 3 years ago
parent
commit
b1b2827c8f
3 changed files with 177 additions and 0 deletions
  1. 22 0
      links.txt
  2. 149 0
      notes/notes.tex
  3. 6 0
      torvalds.txt

+ 22 - 0
links.txt

@@ -0,0 +1,22 @@
+PDP-7 booting UNIXv0:
+https://youtu.be/pvaPaWyiuLA
+GNU website:
+https://www.gnu.org/home.en.html
+FSF website:
+https://www.fsf.org/it
+How to pronounce Linux:
+https://mirrors.edge.kernel.org/pub/linux/kernel/SillySounds/
+Mail Thread Linux announcement:
+https://groups.google.com/g/comp.os.minix/c/dlNtH7RRrGA/m/SwRavCzVE7gJ
+TOP500 Super computers list: 
+https://top500.org/statistics/list/}{Vedi TOP500 OS Family
+W3 statistics about OS adoption in web servers:
+https://w3techs.com/technologies/overview/operating_system
+MARCONI webpage:
+https://www.hpc.cineca.it/hardware/marconi
+INDACO website:
+https://www.indaco.unimi.it/
+LCM Farm webpage:
+https://lcm.mi.infn.it/farm/
+Teletype video:
+https://www.youtube.com/watch?v=9TGQ4pnVWSQ

+ 149 - 0
notes/notes.tex

@@ -0,0 +1,149 @@
+\documentclass{article}
+\usepackage[T1] {fontenc}
+\usepackage[italian]{babel}
+
+% Per i link nell'indice
+\usepackage{hyperref}
+
+\title{OpenLab Virtual 2021\\GNU/Linux Intro, Tips \& Tricks}
+\author{Matteo Savatteri}
+
+\begin{document}
+\maketitle
+
+\tableofcontents
+
+\section{Introduzione}
+\begin{itemize}
+\item Benvenuto e ringraziamenti ad admin e pubblico
+\item Chi sono?
+\item Cos'è LCM?
+\item Regole conferenza: come interagire
+\item Outline e obbiettivi conferenza:
+    \begin{itemize}
+    \item Storia di \texttt{GNU/Linux}
+    \item \texttt{GNU/Linux} per un fisico
+    \item \texttt{GNU/Linux}: nozioni e strumenti importanti
+    \item Testimonianze ospiti + domande 
+    \end{itemize}
+\end{itemize}
+
+\section{Storia di \texttt{GNU/Linux}}
+\begin{itemize}
+\item \texttt{UNIX} (\emph{Uniplexed Information and Computing Service, "eunuchs"}),
+      '69, Ken Thompson, Dennis Ritchie \& Co., Assembly:
+    \begin{itemize}
+    \item AT\&T, Bell Labs
+    \item '69-73, sviluppo del C, K.T. \& D.R. $\rightarrow$ Portabilità
+    \item Distribuzione università (es. Berkeley, BSD) $\rightarrow$ Codice aperto
+    \item '84 commercializzazione $\rightarrow$ Codice chiuso!
+    \item Standard:
+        \begin{itemize}
+        \item '85 POSIX (Portable Operating System Interface for UNIX), IEEE
+        \item '98 SUS (Single UNIX Specification), The Open Group
+        \end{itemize}
+    \end{itemize}
+\item GNU (\emph{GNU's Not UNIX}), '84, Richard Stallman:
+    \begin{itemize}
+    \item Sistema operativo Libero (cosa significa?)
+          \footnote{Per approfondire vai a https://www.fsf.org/it}
+          clone di \texttt{UNIX}
+    \item '90 Sviluppo di tutte le componenti del sistema
+    \item Esempi software GNU: \texttt{gcc}, \texttt{glibc}, \texttt{bash},
+          \texttt{coreutils}, \texttt{GNOME}, etc.
+    \item '90 inizia sviluppo \texttt{GNU Hurd}
+    \end{itemize}
+\item Digressione su OS:
+    \begin{itemize}
+    \item OS = Insieme di programmi che consentono all'operatore
+          di utilizzare un computer
+    \item Kernel = Nucleo dell'OS deputato ad allocare le risorse
+          della macchina e altri servizi agli altri programmi 
+    \end{itemize}
+\item \texttt{Linux}\footnote{Pronuncia del nome \texttt{Linux} a
+              \url{https://mirrors.edge.kernel.org/pub/linux/kernel/SillySounds/}
+             }
+      , '91, Linus Torvalds:
+          \begin{itemize}
+          \item Progetto personale annunciato su
+                \href{https://groups.google.com/g/comp.os.minix/c/dlNtH7RRrGA/m/SwRavCzVE7gJ}{com.os.minix}
+          \item Kernel Libero (GNU GPLv2), Monolitico, Modulare, UNIX-like
+          \item '92 \texttt{Linux} diventa kernel del sistema \texttt{GNU}
+          \item Adozione in ambito commerciale
+          \item Prima diffusione in supercomputer (
+                \href{https://top500.org/statistics/list/}{Vedi TOP500 OS Family}
+                )
+          \item Poi leader in ambito server
+                \footnote{Guarda ad esempio statistiche su web server a
+                          \url{https://w3techs.com/technologies/overview/operating_system}
+                         }
+                (in particolare LAMP)
+          \item 2000, Linux Foudation $\rightarrow$ LSB (\emph{Linux Standard Base})
+                Standardizzazione OS che adottano kernel \texttt{Linux}
+                (Da tempo \emph{standard de facto})
+          \item Oggi diffuso in dispositivi mobili (\texttt{Android}), embedded
+                (router board, wearables) e altre applicazioni (es. \emph{TESLA})
+          \item Percentuale diffusione workstation, desktop, laptop e gaming
+                (es. Valve Corporation, SteamOS) in crescita
+          \end{itemize}
+\item Concetto ed esempi di distribuzione \texttt{GNU/Linux} (Ubuntu, Mint, Fedora, Arch, Gentoo, Debian,
+      CentOS, RHEL, SUSE, LFS, OpenWRT, Raspbian)
+\end{itemize}
+
+\section{\texttt{GNU/Linux} per un Fisico}
+Perhé un fisico dovrebbe conoscere ed utilizzare il sistema \texttt{GNU/Linux}?
+
+\begin{itemize}
+\item Cluster di computer e farm (es.
+      \href{https://www.hpc.cineca.it/hardware/marconi}{MARCONI},
+      \href{https://www.indaco.unimi.it/}{INDACO},
+      \href{https://lcm.mi.infn.it/farm/}{LCM Farm}
+      ) nel mondo sono quasi
+      interamente costituite da reti di sistemi \texttt{GNU/Linux} (es. CentOS, RHEL, Debian)
+\item Codice libero = adattabilità, trasparenza, riproducibilità, no interessi
+\item Calcolo scientifico ha storia basata su sistemi UNIX-like da decadi
+      $\rightarrow$ applicazioni vengono prevalentemente sviluppate su e per
+      questa famiglia di sistemi
+\item Tutte le persone dovrebbero usare un OS Libero, per ragioni etiche
+\end{itemize}
+
+\section{Nozioni e Strumenti}
+\subsection{Il concetto di \emph{Shell}}
+\begin{itemize}
+\item \emph{shell} è programma per computer che espone all'utente o ad
+      altri programmi i servizi dell'OS
+\item Si chiama così perché è strato più esterno dell'OS
+\item Può essere GUI (es. \texttt{GNOME}, \texttt{KDE}) o \texttt{CLI}
+      (es. \texttt{sh}, \texttt{ksh}, \texttt{bash}, \texttt{csh},
+       \texttt{csh}, \texttt{COMMAND.COM})
+\item Nel caso di shell CLI $\rightarrow$ \emph{interprete dei comandi}
+\end{itemize}
+
+\subsection{\emph{Interprete dei Comandi} vs \emph{Emulatore di Terminale}}
+\begin{itemize}
+\item \emph{emulatore di terminale} = GUI che emula una \emph{telescrivente}
+      \footnote{Video interessante di \emph{telescrivente} connessa a sistema
+                \texttt{GNU/Linux}:
+                \url{https://www.youtube.com/watch?v=9TGQ4pnVWSQ}
+               }
+      \begin{itemize}
+      \item Programma \emph{master} che riceve e interpreta le stringhe
+            digitate dall'utente alla tastiera, le mostra in una finestra
+            grafica e le passa al programma \emph{slave}
+            (es. \emph{interprete dei comandi})
+      \item Riceve stringhe dal pogramma \emph{slave} e le mostra all'utente
+            grazie ad una finestra grafica
+      \item Esempi: \texttt{xterm}, \texttt{urxvt}, \texttt{st}
+      \item Quando non è un GUI si chiama \emph{console virtuale}
+            (es. le \texttt{Linux tty})
+      \end{itemize}
+\item \emph{interprete dei comandi} = una shell di tipo CLI
+      \begin{itemize}
+      \item Programma \emph{slave} che riceve stringhe dal programma
+            \emph{master}, le interpreta e chiede a OS di eseguire programmi
+            corrispondenti
+      \item Può passare stringhe al programma \emph{master} perché vengano
+            mostrate a schermo
+      \end{itemize}
+\end{itemize}
+\end{document}

+ 6 - 0
torvalds.txt

@@ -0,0 +1,6 @@
+Hello everybody out there using minix -
+I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
+I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
+Linus (torvalds@kruuna.helsinki.fi)
+PS. Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.
+— Linus Torvalds[15]