Ampliación del plazo para el WIIND

Ampliamos el plazo una semana más para la entrega de trabajos en el Primer Workshop de Informática Industrial.
aaa
Tenéis hasta el día 9 para enviar vuestras contribuciones, una semana más no le vendrá mal a nadie.
kkk
Para más información:
eee
aaa
sss

Windows 7

Windows 7 es el sistema operativo de Microsoft que sucederá al actual Windows Vista. Se basa en el kernel del actual Windows 2008 Server y permitirá la compatibilidad hacia atrás mediante la virtualización.

El diseño de Windows 7 intenta mejorar el rendimiento del sistema operativo en los siguientes aspectos: gestión de memoria, utilización de CPU, operaciones de entrada y salida con el disco duro, operaciones de arranque, cierre y reposo, rendimiento del sistema base y consumo de disco por parte del sistema.

Desde el punto de vista del usuario "doméstico", cabe destacar algunas novedades. Windows 7 se inicia en menos de 15 segundos gracias a una gran reducción en el número de programas y servicios que se cargan en el arranque. Además, se han eliminado las constantes alertas innecesarias en simples acciones cotidianas que tanto han dado que hablar con Windows Vista.

Se han incluido herramientas de reconocimiento de voz, táctil y escritura y soporte para discos virtuales, se ha mejorado considerablemente el rendimiento para procesadores multinúcleo, se han modificado el WordPad, el Paint y la Calculadora, se ha eliminado el Windows Sidebar, etc.

La versión beta se ha podido descargar durante unos días en este mes. Si la habéis probado, qué opinión os merece esta nueva versión de Windows?. Y en otros aspectos más específicos?.

Para más información:

http://www.microsoft.com/windows/windows-7/
qqq

Diccionario de Seguridad Informática (II)

Estas son las fases que suelen seguirse para construir un ataque a la seguridad de un sistema informático:Si comenzamos por la primera fase, la obtención de información, estos son los términos con los que nos encontraremos más a menudo:

  • Footprinting: Antes de realizar o analizar un posible ataque a un sistema, es preciso conocer el objetivo del ataque. Para obtener su huella identificativa o footprinting, se recopila toda la información posible de la red, sistema o usuario objetivo del ataque. Esta técnica consiste en recuperar información general del objetivo en los medios públicos (intranet, internet, documentos).
  • Fingerprinting: Es una técnica más específica que permite extraer información identificativa respecto a la pila TCP/IP de un sistema concreto. El objetivo es obtener el sistema operativo que se ejecuta en la máquina victima, la versión del servicio o servidor, etc. La información de la pila TCP/IP se obtiene aprovechando los puertos abiertos en el sistema objetivo y se suelen utilizar escáneres de puertos para la recogida de información.
  • Sniffing: Es la escucha de información que no va destinada a la máquina que la captura poniendo su tarjeta de red en modo promiscuo. Se utiliza como metodología para obtener datos comprometidos como las contraseñas. Si van en texto plano es automático, si van cifradas, hay que crackearlas. El alcance de esta técnica depende de los dispositivos de conmutación que se utilizan en la red (hubs o switches) y a veces más que una técnica de recogida de información es ya un ataque completo, todo depende del tipo de información que se pueda obtener.

Production Scheduling

El objetivo principal de un Scheduling en un entorno productivo, es el CONTROL sobre los productos y procesos a realizar.
m
Es la última fase del MPC (Manufacturing, Planning and Control System) y se trata de secuenciar todas las órdenes de fabricación que han sido generadas desde el MPP (Master Production Plan), MPS (Master Production Schedule) y el MRP (Master Requeriments Planning).
m
Los inputs principales del Scheduling son:
  • Capacity Plan.
  • Material Plan.

En lo que se refiere al Capacity Plan, dos situaciones pueden darse relacionadas con la falta o exceso de capacidad.

  • En caso de falta de capacidad, la planificación no podrá realizarse acorde a la producción demandada. Las consecuencias serán que los “outputs” no son generados y por tanto se retrasarán las fechas de entrega.
  • En caso de exceso de capacidad, se incrementarán los costes.
Asociado al Capacity Plan surgen los conceptos de Secuenciadores de capacidad Infinita y Finita y de Backward y Forward Scheduling que veremos en siguientes entradas.

Diccionario de Seguridad Informática (I)

Con esta entrada comenzamos una serie en la que iremos explicando términos muy comunes en el campo de la Seguridad Informática pero que a veces no terminamos de comprender o distinguir.

Por ejemplo, hoy vamos a distinguir entre distintos tipos de atacantes, términos que se usan muy a menudo pero que no siempre tenemos claro lo que significan:

  • Cracker: El objetivo de este atacante es romper el sistema de seguridad de un producto de pago, por lo que sus principales víctimas son sistemas de protección de software y sistemas de protección de grabación.
  • Phreaker: El objetivo en este acso es aprovechar de forma ilegal servicios privados como televisión de pago o servicios de telefonía, por lo que las víctimas habituales son las compañías de servicios TIC.
  • Crasher: Su objetivo suele ser provocar que los sistemas dejen de funcionar, casi siempre, empleando para ello ataques de denegación de servicio (DOS), de los que hablaremos en el futuro. Suelen ser empleados descontentos, personas con algún tipo de animadversión contra la empresa u organización propietaria del sistema, etc.
  • Hacker: Éste suele ser el término más conocido, y el objetvio de este tipo de atacante es saltarse la seguridad de un sistema para poder acceder a zonas prohibidas para él o ver/conseguir información privilegiada. Cualquier sistema o usuario informático es susceptible de sufrir este tipo de ataques. En algunos casos se habla de hackers blancos o éticos, que realizan los ataques para demostrarse a sí mismos que son capaces de saltarse las protecciones de un sistema (por afición) o incluso para aprender a proteger ese tipo de arquitectura, pero que no modifican ni utilizan nada ni tienen "mala intención".

También hablaremos en futuras entradas de cómo tipifica la actual legislación española cada uno de estos ataques.
aaa

Inputs necesarios para un correcto Scheduling

Como veremos más adelante, existen tres tipos básicos de Scheduling:
  • Production Scheduling.
  • Process Scheduling.
  • Project Scheduling.
En el caso del Production Scheduling estos son los factores básicos a tener en cuenta para realizarlo eficientemente.
  • Qué producir. En este caso, las previsiones de venta (sales forecasting), serán los inputs del Scheduling. No existe una regla general , pero lo normal es que el espacio temporal que abarca un Scheduling oscila entre uno y dos meses.
  • Cuándo, dónde y cómo producirlo.
  • Qué cantidad.
  • Tiempo necesitado para llevar a cabo la producción.
  • Fechas de entrega.
  • Materias primas disponibles, que serán proporcionadas por el BOM (Bill of Material).
  • Disponibilidad de maquinarias, teniendo en cuenta acciones de mantenimiento programadas.
  • Porcentajes de producción no apta y “rework”.

n

El principio de localidad

Este principio, muy conocido, pero no siempre bien utilizado por desarrolladores y diseñadores, tiene dos vertientes:

  • Localidad Espacial: Tendencia a referenciar elementos de memoria cercanos a los últimos que han sido referenciados.
  • Localidad Temporal: Tendencia a referenciar elementos de memoria que han sido referenciados recientemente.

En los programas la localidad surge de las estructuras más sencillas y naturales. Por ejemplo, un bucle es una estructura en la que es sencillo explotar la localidad temporal, los bloques de código que se ejecutan secuencialmente hacen que sea fácil explotar la localidad espacial, etc.

La jerarquía de memoria tiene sentido gracias al pricipio de localidad. El procesador encuentra muy a menudo en la memoria caché los datos que referencia (a pesar del reducido tamaño de esta memoria), porque en esta memoria están los datos e instrucciones que ha utilizado recientemente y los que están cercanos a ellos.

Pero para que el funcionamiento de la jerarquía sea óptimo, los códigos y compiladores deben tener en cuenta el principio de localidad. Si por ejemplo, los elementos de una matriz se almacenan en memoria por filas, un código que accediera por filas a la matriz estaría aprovechando la localidad mientras que un código que lo hiciera por columnas estaría provocando constantes fallos de memoria y empeorando considerablemente los tiempos de ejecución.

Conclusión: cuidado con los patrones de acceso de vuestros códigos a memoria, pueden ser un factor muy importante en el rendimiento final que obtengáis al ejecutarlos. Para empezar, es un buena práctica conocer el tamaño exacto de los diferentes niveles de caché de vuestro procesador y así estimar el tamaño óptimo de los bloques de información con los que trabajáis.

La instrucción de ensamblador CPUID permite obtener esta información, os dejo este enlace para que podáis descargar benchmarks sencillos basados en ella y así poder caracterizar vuestra jerarquía de memoria:

http://www.cpuid.com/
aaa

Desarrollo de un Schedule (y II)

Make-to-order
En este entorno de producción, sólo se produce un determinado artículo si se realiza el correspondiente pedido. Se diferencia del ATO (Asembly To Order) en que el artículo es total o parcialmente producido por la empresa (no sólo ensamblado).
,
El producto es estándar, es decir no existe una particularización para cada cliente.
m
Engineer-to-order
En este caso el cliente define prácticamente todas las características del producto (incluido su diseño más básico).
,
La construcción de casas y aviones son procesos típicos de este entorno. Ocurre que estos proyectos pueden ser "pre-iniciados", sin tener que esperar todas las instrucciones del cliente para ser producidos.
m
La diferencia básica de ETO y MTO es que en el último las características del producto están prácticamente definidas y sólo se definen los detalles para mandarlo a producir.
m
En ambos casos, existen diferentes formas de realizar la planificación de la producción. La selección de la más correcta (que veremos en próximas entradas), será crucial para alcanzar los objetivos de producción.
m

Desarrollo de un Schedule (I)

El entorno de producción va a determinar el tipo de Schedule que debe ser utilizado. Existen cuatro tipos básicos de entorno de producción:
  • Make-to-stock
  • Assemble-to-order
  • Make-to-order
  • Engineer-to-order



Make-to-stock
En este tipo de entorno prima la entrega inmediata de producto final. No existe una demanda explícita por parte de los clientes. La producción se realiza sin que no se necesite una orden especial para fabricarse. La producción puede realizarse bien en producción discreta (líneas de fabricación) como en procesos batch. Existen más Materias Primas que Productos finales.
,
La planificación bajo este entorno se hace de la siguiente manera. Tanto el MPS (Master Production Schedule) como el FAS (Final Assembly Scheduling) fijan su objetivo en el número de ítems finales a producir. Es decir la planificación se realiza para cubrir la demanda de ítems finales y mantener los niveles correctos de inventario.
,
Dicha planificación se realiza basándose en el Forecast de la demanda y teniendo en cuenta el nivel óptimo de Safety Stock (unidades adicionales de inventario que pueden evitar Stockouts. Estas unidades podrán satisfacer los posibles excesos de demanda que superan la previsión de ventas, sin alterar el plan de producción.
,
Assemble-to-order
En este entorno, las opciones de un producto final y sus componentes se producen o compran para formar parte del stock.
,
En este caso, la ventaja competitiva radica en la posibilidad de proporcionar un gran número de variedades de producto final a partir de distintas combinaciones de componentes con un relativamente corto “Lead Time” o tiempo de entrega.
,
La planificación en este entorno debe hacerse para las distintas opciones disponibles de “End Item” y para el total de la demanda. Por tanto existe un Schedule para las opciones de “End Item”, accesorios y componentes comunes (desarrollado en el MPS) y un FAS para las configuraciones exáctas.
m
El Forward Scheduling es el más utilizado para establecer fechas de entrega en este entorno, sin embargo es el Backward Scheduling el que en realidad es utilizado tras la finalización de las tareas.

Definición y Objetivos de un Schedule

En alguna otra entrada hemos tratado términos relacionados con la secuenciación de operaciones o Scheduling.
,
m
,
En las siguientes, ampliaremos información acerca de estos términos.
m
Definición de Schedule.
m
Un Schedule es un plan que define la secuencia y ubicación temporal de las operaciones necesarias para llevar a cabo una tarea. Puede verse como un proceso compuesto por varios pasos secuenciales que tienen como fin la producción de “End Items”.
m
En un Schedule se incluyen:
,
-Secuenciación de las restricciones o limitaciones asociadas a la ejecución de una tarea.
-Secuenciación de las operaciones asociadas a una tarea.
-Estimación de los tiempos de ejecución de cada operación y tarea.
-Estimación de la utilización y capacidad de los recursos disponibles.
m
Objetivos del Scheduling.
  • Establecimiento de fechas de entrega.
  • Determinación del tiempo de producción de ítems finales.
  • Hacer que el proceso productivo que se realiza en planta se lleve a cabo sin problemas.

Common Criteria

La certificación de seguridad de productos TI ha sido una preocupación importante para las empresas y administraciones públicas en los últimos años.

Common Criteria (o ISO-IEC 15408) es una estándar internacional de certificación de productos TI, resultado de una intensa y larga negociación entre 14 países entre los que figura España como firmante del acuerdo a través del Ministerio de Administraciones Públicas.

Este estándar proporciona unos criterios de evaluación unificados para la seguridad de los productos TI y recoge todos los esfuerzos realizados desde los años 80 en este campo (TCSEC en Estados Unidos, ITSEC en la Comunidad Europea, CTCPEC en Canadá, Federal Criteria como un primer intento de acercamiento entre Estados Unidos y Europa, etc).

Gracias a Common Criteria, los usuarios pueden determinar si un producto proporciona el nivel de seguridad que necesita siguiendo unos criterios estándar y no simples percepciones personales. Common Criteria exige a los fabricantes de los productos certificados publicar una documentación exhaustiva sobre la seguridad de sus productos y los usuarios pueden tener plena confianza en las evaluaciones de Common Criteria ya que son realizadas por laboratorios independientes. De hecho, la evaluación de Common Criteria es cada vez más utilizada como condición necesaria para participar en concursos públicos.

En definitiva, la existencia de un estándar de este tipo proporciona un lenguaje común entre los fabricantes, los usuarios y las administraciones que todos pueden entender de la misma manera. Los fabricantes utilizarán este lenguaje para definir las características de sus productos, los usuarios tendrán una manera única de especificar sus requerimientos, etc.

Aunque dedicaremos a este tema más entradas en el futuro, os dejamos este enlace de momento por si os interesa este tema:

http://www.commoncriteriaportal.org/
uuu