Conecta con nosotros

Noticias

Nuevos lenguajes de programación para antiguas preguntas

Publicado el

barberia

¿Por qué es necesario usar un semáforo para que un barbero atienda bien a sus clientes? Y, ¿Cómo pueden unos filósofos sentados frente a unos platos de fideos morirse de hambre? Estas preguntas a primera vista pueden parecer sin sentido, pero ocuparon las mentes de los primeros computer scientist en la segunda mitad del siglo XX.

Uno de ellos en particular  (el holandés Edsger Wybe Dijkstra)  formuló una serie de problemas en forma de ejercicios prácticos para ilustrar las cuestiones ligadas a la sincronización de múltiples procesos activos al mismo tiempo y a la comunicación entre ellos. Así nacieron el problema del barbero durmiente y el problema de la cena de los filósofos.

En el primer problema, hay que gestionar la cola de clientes que esperan sentarse en el sillón para ser afeitados por un barbero, que se duerme cuando no tiene clientes. En el segundo problema, el recurso compartido son los palillos chinos que cada filósofo sentado a una mesa tiene a su derecha y a izquierda y que comparte con los demás filósofos para poder comer su plato de fideos.

Ambas situaciones se ven afectadas por los problemas críticos de la programación concurrente y de los modernos sistemas operativos multitasking:

  • Race condition: situación en la cual múltiples procesos se encuentran en condición de competición para la utilización de un mismo recurso. Por ejemplo, cuando todos nuestros filósofos intentan a tomar el mismo palillo a la vez. O cuando dos clientes de nuestro barbero intentan ocupar la misma silla de la sala de espera.
  • Deadlock: situación de bloqueo permanente que surge cuando dos o más procesos necesitan de recursos ocupados por los demás para avanzar. Por ejemplo, cuando nuestros filósofos toman al mismo tiempo los palillos a sus derechas y se quedan esperando eternamente a que alguien libere los a sus izquierdas. O cuando nuestro barbero acaba con un cliente y al mismo tiempo llega el cliente siguiente: el barbero se duerme eternamente creyendo que no hay más clientes y el cliente se queda esperando eternamente a que el barbero acabe con un cliente que no existe.
  • Starvation: situación similar al deadlock, pero en la cual uno o más procesos están esperando recursos ocupados por otros procesos que no se encuentran necesariamente parados. Por ejemplo, cuando no se distribuyen de forma homogénea los turnos entre los filósofos o los clientes del barbero, de forma que antes o después algún proceso se “muera de hambre” (o le crezca una barba muy larga).

Para solucionar estas situaciones anómalas, se han ideado a diferentes técnicas:

  • Mutex, o algoritmos de exclusión mutua, que se usan en programación concurrente para evitar que más de un proceso a la vez  ingreses en secciones críticas.
  • Semáforos, variables especiales utilizadas para restringir o permitir el acceso de un proceso a recursos compartidos. Según el valor que asumen permiten a más o menos procesos utilizar el recurso de forma simultánea.
  • Aging, una técnica de scheduling que gradualmente incrementa la prioridad de un proceso basándose en cantidad de tiempo que lleva esperando en la cola.

Aunque los problemas de la programación concurrente y las técnicas para solucionarlos puedan parecer antiguos, recientemente han vuelto de actualidad debido a la necesidad de la nueva era de la computación, como la escalabilidad en el procesamiento de importantes cantidades de datos.

Para ello, han surgido nuevos lenguajes de programación, como y GO. Scala, acrónimo de scalable language, fue introducido en 2003 y permite manejar programas pequeños o aplicaciones a muy gran escala, optimizando el código para trabajar con la concurrencia. Go, lenguaje de programación inicialmente desarrollado por Google en 2007, es un lenguaje diseñado de forma particular para el cloud y la concurrencia.

Máster Telefónica en Desarrollo de Software Avanzado

La necesidad para los programadores actuales de tener una base sólida los paradigmas clásicos de la programación y al mismo tiempo conocer y saber manejar los nuevos lenguajes de programación ha llevado a U-tad, el Centro Universitario de Tecnología y Arte Digital, en colaboración con Telefónica I+D, a proponer el Máster Telefónica en Desarrollo de Software Avanzado.

El “Máster Telefónica en desarrollo de software avanzado” tiene una duración de 600 horas y es un programa orientado a desarrolladores de software de alto nivel técnico con recursos avanzados de programación tanto en implementación como de diseño software: patrones avanzados, eficiencia, computación paralela y diseño avanzado, algoritmos y estructuras de datos.

Su objetivo no es otro que el de dar respuesta a las necesidades de grandes compañías para encontrar perfiles profesionales con habilidades y competencias técnicas de alto nivel de especialización en desarrollo y dirección de proyectos de software avanzado, en un contexto de mercado laboral en el que no resulta fácil encontrar este tipo de perfiles.

Este programa está dirigido a licenciados en Matemáticas, Física e Ingenieros técnicos y superiores en Informática y Telecomunicaciones, entre otros, que quieran especializarse tanto en tecnologías software para la nueva industria digital como en programación de software de alta calidad. Al finalizar, los alumnos tendrán las competencias técnicas y profesionales necesarias para trabajar en una telco digital, como Telefónica, en otras empresas, en startups o en sus propios proyectos tecnológicos innovadores.

El programa ha sido diseñado conjuntamente por Telefónica I+D y U-tad. Telefónica I+D se encarga de la dirección del Máster, de la configuración del claustro de profesores y de la organización de las prácticas, además de incorporar a los alumnos en su bolsa de empleo. De hecho son los propios profesores del máster los que se encargan de realizar las entrevistas de acceso a Telefónica I+D, por lo que cursar este máster puede ser una buena idea para conocer de cerca los requisitos y la forma de trabajar de este tipo de empresas. Si estás interesado en conocer más de este programa, puedes descargarte aquí el folleto informativo.

Imagen: Shutterstock

Noticias

Microsoft Managed Desktop, nuevo servicio de administración de dispositivos

Publicado el

Microsoft Managed Desktop

Microsoft Managed Desktop (MMD) es un nuevo servicio de administración de dispositivos de extremo a extremo anunciado por el gigante del software, que reúne un conjunto de soluciones de software junto a la gestión de hardware de PCs. 

Organizaciones y empresas se enfrentan a grandes desafíos para implementar, administrar y dar servicio a los sistemas y escritorios de Windows ya que el proceso puede ser bastante engorroso dependiendo del tamaño y complejidad de los usuarios. Una manera de solventar este desafío es mediante la contratación de proveedores de servicios administrados, MSP, que ofrecen administración remota de infraestructura de TI contratando una tarifa de suscripción por usuario o por dispositivo.

Microsoft Managed Desktop será otra solución disponible. Reúne Microsoft 365 Enterprise (que incluye servicios de Windows 10 Enterprise, Office 365 y Enterprise Mobility and Security), hardware de PC con servicio y soporte para mantenerlos actualizados con los parches de seguridad más recientes, y también actualizaciones de versiones del sistema. 

Microsoft destaca que el servicio ayudará a los clientes a concentrarse en su negocio y “generar mayor valor comercial” al eliminar la molestia de administrar los sistemas y mantenerlos al día. MMD ya está siendo utilizado por algunos clientes de Estados Unidos y el Reino Unido, y planea comenzar operaciones en Canadá, Australia y Nueva Zelanda a principios de 2019.

La firma planea expandirse a otras regiones en la segunda mitad de 2019. El servicio estará disponible mediante una tarifa de suscripción mensual por usuario, dependiendo del tamaño de la organización y los dispositivos provistos. Microsoft también aumentará los dispositivos soportados ya que actualmente se limitan a los Surface. Se espera añadir dispositivos de OEMs como HP y Dell.

MMD es otro paso para reforzar los servicios 365, que ofrecen servicios integrales para empresas y también Windows Autopilot, una herramienta empresarial potenciada por la computación en la nube, con la que Microsoft pretende facilitar y simplificar el despliegue de nuevos equipos basados en Windows 10.

Más información | Microsoft

Continuar leyendo

Noticias

El Departamento de Justicia de EE.UU. investiga a Elon Musk y a Tesla

Publicado el

Tesla no pasa por un buen momento, eso es indiscutible, y su CEO, Elon Musk, tampoco ha acertado con sus últimas acciones. Una de las que más polémica generó fue su idea de privatizar Tesla, algo que expuso abiertamente a través de Twitter y que dijo tener “asegurado”. Posteriormente no pudo demostrar que sus palabras eran ciertas, y acabó quedando en evidencia que se trataba de un intento de manipulación que perjudicaba a los vendedores al descubierto.

Este tipo de inversores siempre habían sido vistos con malos ojos por Elon Musk, tanto que el ejecutivo llegó a decir que iban a acabar hundiendo a Tesla. Curioso, porque al final el que está llevando a la compañía por el mal camino está siendo él con sus malas decisiones.

No hay duda de que Elon Musk se precipitó a la hora de hablar de la privatización de Tesla. Sabíamos que ese movimiento iba a tener consecuencias graves, y parece que solo habíamos visto la punta del iceberg. Hoy hemos podido confirmar que el Departamento de Justicia de Estados Unidos ha abierto una investigación criminal contra el CEO de Tesla por esas declaraciones, y que éste podría enfrentar cargos por fraude.

El ejecutivo tiene también otros frentes abiertos, como la demanda que ha recibido por parte de Citron Research y la investigación de la Comisión de Bolsa y Valores de Estados Unidos, y sigue sin cumplir sus objetivos de alcanzar una producción fija y estable de 6.000 unidades del Model 3 por semana, meta ésta última que resulta imprescindible para que Tesla alcance por fin la rentabilidad que tanto tiempo ha estado buscando.

Habrá que ver cómo acaba todo esto, pero de momento la gran perjudicada está siendo Tesla. A fecha de escribir este artículo las acciones de la compañía habían caído un 4,8% y se habían situado en 280,79 dólares.

Continuar leyendo

Noticias

España apuesta por la creación de más ciudades inteligentes

Publicado el

Red.es Ciudades inteligentes

Red.es, la empresa pública española bajo el Ministerio de Economía y Empresa, acaba de fallar a favor de 24 municipios, de nueve comunidades autónomas, a los que dotará de un presupuesto específico para que mejoren su calidad de vida. O lo que es lo mismo, para la creación de ciudades inteligentes.

Esta empresa se ha comprometido a destinar un total de 42 millones de euros a este proyecto, los cuales, sumados a la propia inversión aportada por cada comunidad autónomas y municipios, suponen un total de más de 68 millones de euros, con una proporción del 62% proveniente del presupuesto público.

Esta inteligencia se basa en la búsqueda de una sostenibilidad a través de la aplicación de las nuevas tecnologías y la innovación.

Así pues, de las 51 entidades presentadas a este concurso, sólo la mitad han sido seleccionadas. Y es que los ayuntamientos que ya hayan sido dotados y se hayan beneficiado de esta iniciativa, no podrán volver a presentarse, por lo que algunas comunidades como Castilla-La Mancha, se han visto apartadas.

Entre otras tecnologías que se van a emplear para favorecer esta conversión, destacan el importante uso del IoT (el internet de las cosas), para tareas como la gestión de residuos, niveles de agua, y otras tareas; y el Big Data, enfocado a la analítica y control de la información, que se podrá aplicar a tareas más mundanas como la gestión del alumbrado.

Ciudades inteligentes turísticas

En el caso de este último concurso, la comunidad de las Islas Canarias son la comunidad que gozará del mayor presupuesto, superando los 12 millones de euros, y seguida por las Islas Baleares y la Comunidad Valenciana.

Destaca el hecho de que la mayoría de estos nuevos proyectos se han centrado principalmente en lugares y comunidades donde el turismo, una de las mayores fuentes de ingresos en nuestro país, posee un papel de mayor relevancia:

  • Ibiza, que ha recibido un presupuesto total de casi 6 millones de euros, y cuyo objeto es mejorar los servicios de información turística, seguridad y medioambiente, y reducir las emisiones de CO2.
  • Benidorm, con un presupuesto de 4 millones de euros, que aspira a mejorar el sistema de inteligencia turística del municipio, y apuesta por la implantación de un Sistema Integral de Gestión.

Se trata además de una tendencia global. Si bien ya existen otras ciudades inteligentes en Europa como Zurich, Londres o París, sin embargo, todavía distan mucho para lograr un modelo íntegramente sostenible.

Continuar leyendo

Top 5 cupones

Lo más leído

Suscríbete gratis a MCPRO

La mejor información sobre tecnología para profesionales IT en su correo electrónico cada semana. Recibe gratis nuestra newsletter con actualidad, especiales, la opinión de los mejores expertos y mucho más.

¡Suscripción completada con éxito!