Introduzione al mondo del software libero

Post on 16-Apr-2017

260 views 2 download

Transcript of Introduzione al mondo del software libero

Linux Day 2012

Introduzione al mondo delSoftware Libero

Andrea Adami

Socio del Linux User Group di verona (www.lugverona.it) ho cominciato a interessarmi di informatica quando ho trovato sotto l'albero di natale un Commodore 64 (primi anni '80).L'enorme quantit di ram (64k) rispetto al precedente VIC20 (5k) mi entusiasma e mi spinge a muovere primi passi nella programmazione fino a farne la mia professione nel 1985.Inizio a lavorare nel mondo dei mainframe e dopo dieci anni fondo la FULCRO s.r.l. (http://www.fulcro.net) societ di consulenza informatica.Ho imparato a conoscere sia i sistemi operativi mainframe IBM (DOS, MVS, VM) sia quelli di rete e dei personal computer (NetWare, Amiga OS, MS-DOS, Windows, Linux e le sue distribuzioni, *BSD, Mac OS) anche con esperienze su sistemi embedded (Windows CE) e microcontrollori a 8-bit con programmazione in C senza sistema operativo.Ho usato molti linguaggi (COBOL, PL / 1, SPF, C, C + +, Visual Basic, Visual Basic.NET, C #) e strumenti di sviluppo (TSO, CMS, XEDIT, Roscoe, EDIT8, Visual Studio) ho utilizzato diversi transaction manager (CICS, IMS, TP8, COM+) sia con database a indici (VSAM, DB3, Btrieve) che gerarchici (DL/1, IDS/II) fino ai moderni database (DB2, MSSQL, PostgreSQL, MySQL).La necessit di sfruttare l'hardware e il sistema operativo mi porta a sviluppare il mio lato sistemistico, nel corso degli anni, la programmazione lascia il posto alla consulenza direzionale e alla progettazione di soluzioni.Il mio interesse ora nettamente orientato verso il mondo del software libero, e la mia curiosit attratta dal mondo della Computer Aided Software Engineering e dalle metodologie Agili.Nel mio tempo libero mi appassiona costruire e far volare aeromodelli.Il mio curriculum online all'indirizzo: http://it.linkedin.com/in/andreaadami

Parleremo di:

Programmi

Free Software

Software Libero

Open Source

Licenze

Codice macchina

Sistema numerico Binario

Perch i computer usano il sistema numerico binario ?

Codice macchina

Programma che calcola e stampa la somma dei quadrati dei primi 100 interi

001001111011110111111111111000001010111110111111000000000001010010101111101001000000000000100000101011111010010100000000001001001010111110100000000000000001100010101111101000000000000000011100100011111010111000000000000111001000111110111000000000000001100000000001110011100000000000011001001001011100100000000000000000010010100100000001000000000110010110101111101010000000000000011100000000000000000001111000000100100000001100001111110010000010000100010100001000001111111111110111101011111011100100000000000110000011110000000100000100000000000010001111101001010000000000011000000011000001000000000000111011000010010010000100000001000011000010001111101111110000000000010100001001111011110100000000001000000000001111100000000000000000100000000000000000000001000000100001

Assembler

.text .align 2 .globl mainmain: subu $sp, $sp, 32 sw $ra, 20($sp) sd $a0, 32($sp) sw $0, 24($sp) sw $0, 28($sp)loop: lw $t6, 28($sp) mul $t7, $t6, $t6 lw $t8, 24($sp) addu $t9, $t8, $t7 sw $t9, 24($sp) addu $t0, $t6, 1 sw $t0, 28($sp) ble$t0, 100, loop la $a0, str lw $a1, 24($sp) jal printf move$v0, $0 lw $ra, 20($sp) ddu $sp, $sp, 32 jr $ra .data .align 0str:.asciiz "The sum from 0 .. 100 is %d\n"

C

#include int main (){ int i; int sum = 0; for (i = 0; i