Introducci´n
                o
          Origenes
             UNIX
           Matlab




UNIX Parte 2: Software

           Israel Garc´
                      ıa

 Universidad Aut´noma de Yucat´n
                o             a




      Israel Garc´
                 ıa   UNIX Parte 2: Software
Introducci´n
                                      o
                                Origenes
                                   UNIX
                                 Matlab




previously on this class:
     C´mo funcionan los cores de un procesador moderno?
      o




                            Israel Garc´
                                       ıa   UNIX Parte 2: Software
Introducci´n
                            o
                      Origenes
                         UNIX
                       Matlab




Cada core es un procesador
Comparten un espacio de memoria, llamado Cache.




                  Israel Garc´
                             ıa   UNIX Parte 2: Software
Introducci´n
                             o
                       Origenes
                          UNIX
                        Matlab




Cada core es un procesador
Comparten un espacio de memoria, llamado Cache.
y lo unico que saben hacer es b´sicamente mover datos...
     ´                         a




                   Israel Garc´
                              ıa   UNIX Parte 2: Software
Introducci´n
                      o
                Origenes
                   UNIX
                 Matlab




A continuaci´n... ejemplo de ensamblador:
            o




            Israel Garc´
                       ıa   UNIX Parte 2: Software
Introducci´n
                                o
                          Origenes
                             UNIX
                           Matlab




Pregunta natural,
C´mo hablar con el procesador?
 o




                       Israel Garc´
                                  ıa   UNIX Parte 2: Software
Introducci´n
                                 o
                           Origenes
                              UNIX
                            Matlab




Pregunta natural,
C´mo hablar con el procesador?
  o
Con un traductor, o compilador, de un lenguaje intermedio a
lenguaje maquina: ensamblador, C, C++, java, fortran, matlab, ...




                        Israel Garc´
                                   ıa   UNIX Parte 2: Software
Introducci´n
                             o
                       Origenes
                          UNIX
                        Matlab



La mayor´ de los lenguajes heredan su sintaxis de C .
        ıa
La mayor´ de los sistemas operativos est´n escritos en este
          ıa                            a
lenguaje.
Es procedural, portable, provee acceso de bajo nivel a la
memoria, y hay que compilarlo.




                    Israel Garc´
                               ıa   UNIX Parte 2: Software
Introducci´n
              o
        Origenes
           UNIX
         Matlab




Compilado Vs Interpretado




    Israel Garc´
               ıa   UNIX Parte 2: Software
Introducci´n
                                  o
                            Origenes
                               UNIX
                             Matlab




Entonces, porqu´ quisiera uno compilar en lugar de interpretar?
               e




                        Israel Garc´
                                   ıa   UNIX Parte 2: Software
Introducci´n
                                  o
                            Origenes
                               UNIX
                             Matlab




Entonces, porqu´ quisiera uno compilar en lugar de interpretar?
               e
                                                      Interpretar
Compilar
                                                           Es r´pido de
                                                               a
   Es r´pido de
        a
                                                           compilar
   ejecutar                             vs
                                                             No hay que cuidar
     Consume menos
                                                             la memoria
     memoria
                                                             Permite
     Eficiente
                                                             experimentar




                        Israel Garc´
                                   ıa        UNIX Parte 2: Software
Introducci´n
                                  o
                            Origenes
                               UNIX
                             Matlab




Entonces, porqu´ quisiera uno compilar en lugar de interpretar?
               e
                                                      Interpretar
Compilar
                                                           Es r´pido de
                                                               a
   Es r´pido de
        a
                                                           compilar
   ejecutar                             vs
                                                             No hay que cuidar
     Consume menos
                                                             la memoria
     memoria
                                                             Permite
     Eficiente
                                                             experimentar
... y qu´ es mejor?
        e




                        Israel Garc´
                                   ıa        UNIX Parte 2: Software
Introducci´n
                         o
                   Origenes
                      UNIX
                    Matlab

Familia UNIX




               Israel Garc´
                          ıa   UNIX Parte 2: Software
Introducci´n
                            o
                      Origenes
                         UNIX
                       Matlab


En los origenes




                  Israel Garc´
                             ıa   UNIX Parte 2: Software
Introducci´n
                                  o
                            Origenes
                               UNIX
                             Matlab




Filosof´ UNIX,... or way of the hacker
       ıa




                        Israel Garc´
                                   ıa   UNIX Parte 2: Software
Introducci´n
                                           o
                                     Origenes
                                        UNIX
                                      Matlab




1   Peque˜o es bello
         n
2   Cada programa debe hacer una
    sola cosa y bien
3   Construye un prototipo tan pronto
    sea posible
4   Portable es mejor que eficiente
5   Almacena los datos en archivos de
    texto simples
6   Aprovecha el software que existe
    en tu favor
7   Usa scripts del shell para
    incrementar la utilidad y
    portabilidad
8   Evita interfaces de usuario
    cautivas
9   Haz que cada programa sea un
    filtro



                                  Israel Garc´
                                             ıa   UNIX Parte 2: Software
Introducci´n
          o
    Origenes
       UNIX
     Matlab




         Ejemplo




Israel Garc´
           ıa   UNIX Parte 2: Software
Introducci´n
          o
    Origenes
       UNIX
     Matlab




Israel Garc´
           ıa   UNIX Parte 2: Software
Introducci´n
                                  o
                            Origenes
                               UNIX
                             Matlab




Principales elementos de la arquitectura UNIX
     Un kernel que maneja el sistema y los procesos
    Un sistema de archivos jer´rquico
                              a
    Todo es un archivo!

Ademas...




                        Israel Garc´
                                   ıa   UNIX Parte 2: Software
Introducci´n
                                  o
                            Origenes
                               UNIX
                             Matlab




Principales elementos de la arquitectura UNIX
     Un kernel que maneja el sistema y los procesos
    Un sistema de archivos jer´rquico
                              a
    Todo es un archivo!

Ademas...
   Multitarea y multiusuario (como casi todo en la actualidad...)
    Interfaz de programaci´n (shell y bibliotecas compartidas)
                          o
    Los archivos son abstracci´n de los dispositivos
                              o
    Demonios o procesos que proveen servicios del sistema




                        Israel Garc´
                                   ıa   UNIX Parte 2: Software
Introducci´n
          o
    Origenes
       UNIX
     Matlab




         Matlab




Israel Garc´
           ıa   UNIX Parte 2: Software

Filosofia UNIX parte 2: Software

  • 1.
    Introducci´n o Origenes UNIX Matlab UNIX Parte 2: Software Israel Garc´ ıa Universidad Aut´noma de Yucat´n o a Israel Garc´ ıa UNIX Parte 2: Software
  • 2.
    Introducci´n o Origenes UNIX Matlab previously on this class: C´mo funcionan los cores de un procesador moderno? o Israel Garc´ ıa UNIX Parte 2: Software
  • 3.
    Introducci´n o Origenes UNIX Matlab Cada core es un procesador Comparten un espacio de memoria, llamado Cache. Israel Garc´ ıa UNIX Parte 2: Software
  • 4.
    Introducci´n o Origenes UNIX Matlab Cada core es un procesador Comparten un espacio de memoria, llamado Cache. y lo unico que saben hacer es b´sicamente mover datos... ´ a Israel Garc´ ıa UNIX Parte 2: Software
  • 5.
    Introducci´n o Origenes UNIX Matlab A continuaci´n... ejemplo de ensamblador: o Israel Garc´ ıa UNIX Parte 2: Software
  • 6.
    Introducci´n o Origenes UNIX Matlab Pregunta natural, C´mo hablar con el procesador? o Israel Garc´ ıa UNIX Parte 2: Software
  • 7.
    Introducci´n o Origenes UNIX Matlab Pregunta natural, C´mo hablar con el procesador? o Con un traductor, o compilador, de un lenguaje intermedio a lenguaje maquina: ensamblador, C, C++, java, fortran, matlab, ... Israel Garc´ ıa UNIX Parte 2: Software
  • 8.
    Introducci´n o Origenes UNIX Matlab La mayor´ de los lenguajes heredan su sintaxis de C . ıa La mayor´ de los sistemas operativos est´n escritos en este ıa a lenguaje. Es procedural, portable, provee acceso de bajo nivel a la memoria, y hay que compilarlo. Israel Garc´ ıa UNIX Parte 2: Software
  • 9.
    Introducci´n o Origenes UNIX Matlab Compilado Vs Interpretado Israel Garc´ ıa UNIX Parte 2: Software
  • 10.
    Introducci´n o Origenes UNIX Matlab Entonces, porqu´ quisiera uno compilar en lugar de interpretar? e Israel Garc´ ıa UNIX Parte 2: Software
  • 11.
    Introducci´n o Origenes UNIX Matlab Entonces, porqu´ quisiera uno compilar en lugar de interpretar? e Interpretar Compilar Es r´pido de a Es r´pido de a compilar ejecutar vs No hay que cuidar Consume menos la memoria memoria Permite Eficiente experimentar Israel Garc´ ıa UNIX Parte 2: Software
  • 12.
    Introducci´n o Origenes UNIX Matlab Entonces, porqu´ quisiera uno compilar en lugar de interpretar? e Interpretar Compilar Es r´pido de a Es r´pido de a compilar ejecutar vs No hay que cuidar Consume menos la memoria memoria Permite Eficiente experimentar ... y qu´ es mejor? e Israel Garc´ ıa UNIX Parte 2: Software
  • 13.
    Introducci´n o Origenes UNIX Matlab Familia UNIX Israel Garc´ ıa UNIX Parte 2: Software
  • 14.
    Introducci´n o Origenes UNIX Matlab En los origenes Israel Garc´ ıa UNIX Parte 2: Software
  • 15.
    Introducci´n o Origenes UNIX Matlab Filosof´ UNIX,... or way of the hacker ıa Israel Garc´ ıa UNIX Parte 2: Software
  • 16.
    Introducci´n o Origenes UNIX Matlab 1 Peque˜o es bello n 2 Cada programa debe hacer una sola cosa y bien 3 Construye un prototipo tan pronto sea posible 4 Portable es mejor que eficiente 5 Almacena los datos en archivos de texto simples 6 Aprovecha el software que existe en tu favor 7 Usa scripts del shell para incrementar la utilidad y portabilidad 8 Evita interfaces de usuario cautivas 9 Haz que cada programa sea un filtro Israel Garc´ ıa UNIX Parte 2: Software
  • 17.
    Introducci´n o Origenes UNIX Matlab Ejemplo Israel Garc´ ıa UNIX Parte 2: Software
  • 18.
    Introducci´n o Origenes UNIX Matlab Israel Garc´ ıa UNIX Parte 2: Software
  • 19.
    Introducci´n o Origenes UNIX Matlab Principales elementos de la arquitectura UNIX Un kernel que maneja el sistema y los procesos Un sistema de archivos jer´rquico a Todo es un archivo! Ademas... Israel Garc´ ıa UNIX Parte 2: Software
  • 20.
    Introducci´n o Origenes UNIX Matlab Principales elementos de la arquitectura UNIX Un kernel que maneja el sistema y los procesos Un sistema de archivos jer´rquico a Todo es un archivo! Ademas... Multitarea y multiusuario (como casi todo en la actualidad...) Interfaz de programaci´n (shell y bibliotecas compartidas) o Los archivos son abstracci´n de los dispositivos o Demonios o procesos que proveen servicios del sistema Israel Garc´ ıa UNIX Parte 2: Software
  • 21.
    Introducci´n o Origenes UNIX Matlab Matlab Israel Garc´ ıa UNIX Parte 2: Software