Introduzione al mondo del software libero

download Introduzione al mondo del software libero

If you can't read please download the document

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