Sistemas Operativos

Usted está aquí

Créditos
6
Tipos
Obligatoria
Requisitos
  • Prerrequisito: EC
  • Prerrequisito: IC
Departamento
AC
La asignatura ofrece una visión del SO desde tres perspectivas: servicios que ofrece el sistema a los usuarios-programas y su utilización, principales elementos de diseño internos de un kernel (estructuras de datos y algoritmos) y finalmente relaciona estos dos componentes para entender cómo afecta al rendimiento de un sistema la ejecución de los programas de forma concurrente (o paralela según la arquitectura). La asignatura se centra en el contexto del kernel de un SO (dentro de un nodo), no entrando en aspectos de red.

Profesorado

Responsable

  • Yolanda Becerra Fontal ( )

Otros

  • Adrià Armejach Sanosa ( )
  • Amador Millán Vizuete ( )
  • Carlos Garcia Calatrava ( )
  • David Álvarez Robert ( )
  • Enric Morancho Llena ( )
  • Javier Verdu Mula ( )
  • Jordi Fornes de Juan ( )
  • Jordi Guitart Fernandez ( )
  • Jordi Torres Viñals ( )
  • Julita Corbalan Gonzalez ( )
  • Pere Barlet Ros ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6

Competencias

Competencias Técnicas

Competencias técnicas comunes

  • CT2 - Utilizar de forma apropiada teorías, procedimientos y herramientas en el desarrollo profesional de la ingeniería informática en todos sus ámbitos (especificación, diseño, implementación, despliegue -implantación- y evaluación de productos) de manera que se demuestre la comprensión de los compromisos adoptados en las decisiones de diseño.
    • CT2.3 - Diseñar, desarrollar, seleccionar y evaluar aplicaciones, sistemas y servicios informáticos, y al mismo tiempo asegurar su fiabilidad, su seguridad y su calidad, conforme a principios éticos y a la legislación y la normativa vigente.
  • CT3 - Demostrar conocimiento y comprensión del contexto organizativo, económico y legal en el que desarrolla su trabajo (Conocimiento adecuado del concepto de empresa, marco institucional y jurídico de la empresa, organización y gestión de empresas.)
    • CT3.6 - Demostrar conocimiento de la dimensión ética en la empresa: la responsabilidad social y corporativa en general y, en particular, las responsabilidades civiles y profesionales del ingeniero en informática.
  • CT6 - Demostrar conocimiento y comprensión del funcionamiento interno de un computador y del funcionamiento de las comunicaciones entre ordenadores.
    • CT6.1 - Demostrar conocimiento y tener capacidad para administrar y mantener sistemas, servicios y aplicaciones informáticas.
    • CT6.2 - Demostrar conocimiento, comprensión y capacidad de evaluar la estructura y la arquitectura de los computadores, así como los componentes básicos que los conforman.
    • CT6.3 - Demostrar conocimiento de las características, funcionalidades y estructura de los Sistemas Operativos que permita su uso adecuado, administración y diseño, así como la implementación de aplicaciones basadas en sus servicios.
  • CT7 - Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
    • CT7.1 - Demostrar conocimiento de las métricas de calidad y saber utilizarlas.
    • CT7.2 - Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
    • CT7.3 - Determinar los factores que inciden negativamente en la seguridad y la fiabilidad de un sistema hardware/software, y minimizar sus efectos.
  • CT8 - Planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha, su mejora continua y valorando su impacto económico y social
    • CT8.4 - Elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y la normativa vigente.

Competencias Transversales

Actitud frente al trabajo

  • G8 [Avaluable] - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.
    • G8.1 - Tener una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener una actitud positiva y receptiva respecto de la calidad en el desarrollo de la profesión.

Objetivos

  1. Conocer las principales funciones de un SO y el porqué de su necesidad (abstracción / cirtualització del hardware, seguridad, eficiencia)
    Competencias relacionadas: CT6.1, CT6.3, CT7.1, CT7.2, CT7.3, CT6.2, CT8.4, CT3.6, CT2.3,
  2. Entender cómo ofrece y gestiona el SO sus servicios y funcionalidades internamente mediante datos de representación y gestión de los recursos, algoritmos y soporte hardware
    Competencias relacionadas: CT6.1, CT6.3, CT7.1, CT7.2, CT7.3, CT6.2, CT8.4, CT3.6, CT2.3,
  3. Tener una visión general de los sistemas informáticos: conocer las diferentes interfaces y componentes que interactúan con el SO (hardware, librerías de sistema, librerías de lenguaje + programas de usuario)
    Competencias relacionadas: CT6.1, CT6.3, CT7.1, CT7.2, CT7.3, CT6.2, CT8.4, CT3.6, CT2.3,
  4. Por cada funcionalidad básica del sistema (gestión de procesos, memoria y e/ s): conocer cómo influyen aspectos básicos de las diferentes arquitecturas y entornos que pueden soportar los sistemas operativos
    Competencias relacionadas: CT7.3, CT8.4,
  5. Por cada funcionalidad básica del sistema (gestión de procesos, memoria y E/S): Entender el elemento hardware que pretendemos virtualizar
    Competencias relacionadas: CT6.1, CT6.3, CT7.1, CT7.2, CT7.3, CT6.2, CT8.4, CT3.6, CT2.3,
  6. Por cada funcionalidad básica del sistema (gestión de procesos, memoria y E/S): conocer y ser capaz de usar la funcionalidad básica que ofrece el sistema al usuario.
    Competencias relacionadas: CT6.1, CT7.3, CT2.3,
  7. Por cada funcionalidad básica del sistema (gestión de procesos, memoria y E/S): conocer los elementos básicos de diseño (tipo de datos, estructuras de gestión de datos y algoritmos de gestión) para ofrecer esta funcionalidad.
    Competencias relacionadas: CT6.3, CT7.3, CT2.3,
  8. Por cada funcionalidad básica del sistema (gestión de procesos, memoria y E/S): conocer la relacion básica con la arquitectura de los elementos de diseño básicos en SO
    Competencias relacionadas: CT6.3, CT7.3, CT2.3,
  9. Por cada recurso básico que gestiona el SO (procesos, memoria virtual y E/S) conocer las métricas básicas para evaluar un servicio de sistema y ser capaz de aplicarlas a nivel teórico.
    Competencias relacionadas: CT7.1, CT7.2,
  10. Por cada recurso básico que gestiona el sistema (procesos, memoria y E/S), conocer y ser capaz de utilizar las herramientas básicas del sistema para analizar una aplicación así como para monitorizar el estado del sistema para detectar posibles problemas.
    Competencias relacionadas: CT6.1, CT6.3, CT7.3, CT2.3,
  11. Entender las implicaciones, desde el punto de vista de sistema y de usuario, de un sistema multi-usuario y paralelo.
    Competencias relacionadas: CT7.1, CT7.3, CT6.2, CT8.4,
  12. Ser capaz de participar con actitud proactiva en el desarrollo profesional, demostrando asistencia, puntualidad y respeto
    Competencias relacionadas: G8.1,
  13. Ser capaz de mostrar motivación por la calidad y la mejora continua
    Competencias relacionadas: G8.1,

Contenidos

  1. Introducción a los Sistemas Operativos
    En este capítulo se dará una visión de lo que es un SO los recursos hardware que gestiona, cuáles son los servicios que ofrece, funcionalidades etc. También se introducirán los diferentes tipos de usuarios y aplicaciones que interactúan con el SO así como las diferentes formas de acceder.
  2. Gestión de procesos
    En este capítulo se tratarán los siguientes puntos: Concepto de proceso. Contexto de un proceso. La vida de un proceso. Concepto de planificación de procesos. Concepto de concurrencia. Mecanismo de cambio de contexto. Gestión de eventos (signals). Concepto de flujo. Concepto de concurrencia. Problemas associados a la concurrencia. Comunicación entre procesos: memoria compartida y paso de mensajes (sólo a nivel de concepto).. Servicios básicos ofrecidos por el sistema asociados a procesos y flujos: llamadas al sistema y gestión de la eficiencia, seguridad entre usuarios, fiabilidad, etc. Idea / Contexto: registros, pila, memoria (espacio de direcciones) / estados / eventos (signals) / usuario / variables de entorno. Representación interna de procesos y flujos en linux así como el algoritmo round robin de planificación a modo ilustrativo .
  3. Gestión de memoria
    En este capítulo se tratarán los siguientes puntos: Requerimientos en cuanto a memoria de un sistema multiprogramado de propósito general (espacio de direcciones de un proceso y necesidad de la memoria virtual). Servicios básicos de gestión de memoria ofrecidos por el sistema: apoyo a la traducción de direcciones, protección de procesos, carga de procesos, memoria dinámica, gestión de la memoria virtual, etc. Estructuras y algoritmos para la Gestión de la memoria virtual.
  4. Gestión de la entrada / salida
    En este tema se tratarán los siguientes puntos: Características y tipos de dispositivos. Concepto de Independencia de dispositivos. Relación entre la gestión de entrada / salida y la gestión de procesos: operaciones bloqueantes. Tipos de dispositivos lógicos: pipes, consola, sockets y ficheros. Servicios básicos y estructuras de datos necesarias. Gestión del espacio de nombres. Representación interna y algoritmos: Apoyo a la gestión eficiente de los dispositivos (buffering, spooling, caching, bloqueo).( traducció:)En este tema se tratarán los siguientes puntos: Características y tipos de dispositivos. Concepto de Independencia de dispositivos. Relación entre la gestión de entrada / salida y la gestión de procesos: operaciones bloqueantes. Tipos de dispositivos lógicos: pipas, consola, sockets y ficheros. Servicios básicos y estructuras de datos necesarias. Gestión del espacio de nombres. Representación interna y algoritmos: Apoyo a la gestión eficiente de los dispositivos (buffering, spooling, caching, bloqueo).
    Concepto de Sistema de Ficheros (SF) y para qué sirve. Arquitectura en capas de un SF. Introducción al VFS. Diferentes tipos de ficheros y servicios básicos asociados a archivos. Organización interna en Linux: directorios, i-nodos, etc. Organización del espacio en el disco: fragmentación,, particiones, servicios asociados a SF's, gestión del espacio libre / ocupado. Fiabilidad a los SF's.

Actividades

Actividad Acto evaluativo


Desarrollo del tema de Introducción a los SO

Durante esta actividad se dará al alumno una visión general de lo que es un SO, cuáles son sus funcionalidades y servicios y cuáles son los principales componentes del sistema que iremos desarrollando durante el curso.
Objetivos: 1 2 3
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Familiarización con el entorno de trabajo

Durante esta actividad se utilizarán comandos básicos para trabajar con un entorno de trabajo Linux, especialmente para trabajar desde la línea de comandos pero también entender la relación con un entorno gráfico. Se practicarán pedidos para navegar por el sistema de ficheros, para manipular ficheros, etc.
Objetivos: 1 2 3 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Programación en C y desarrollo de proyectos

Durante esta actividad se trabajará la programación en C y se darán algunas guías básicas para desarrollar los pequeños proyectos que harán los alumnos en las sesiones de laboratorio de forma que tengan una estructura similar en cuanto a herramientas, organización de archivos etc.
Objetivos: 1 2 3 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Desarrollo de los conceptos de Teoría asociados a Procesos

Durante estas horas se practicarán los conceptos y servicios básicos relacionados con procesos y flujos. Se explicarán los conceptos relacionados con la organización y gestión internas que hace el SO para ofrecer estos servicios y funcionalidades. También se tratarán aspectos relacionados con la eficiencia de los sistemas, fiabilidad, protección, etc.
Objetivos: 4 5 6 7 8 9 10 11
Contenidos:
Teoría
8h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Servicios básicos relacionados con procesos

Durante esta actividad se practicarán las llamadas al sistema básicas que podemos encontrar en un sistema Linux para crear un proceso, cambiar su ejecutable, esperar el proceso y finalizar el proceso. También practicaremos pedidos desde un punto de vista de administrador relacionadas con la monitorización de procesos.
Objetivos: 6 7 10 11 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Utilización de flujos y servicios avanzados de procesos

Durante esta actividad practicaremos con flujos (POSIX). También introduciremos la gestión de eventos entre procesos (signals) tanto como mecanismo de comunicación como servicio de gestión de procesos avanzado. Se trabajarán aspectos relacionados con la concurrencia de los procesos.
Objetivos: 4 5 6 7 10 11 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Gestión de problemas. Sesión de problemas

Durante esta sesión se resolveran ejercicios de gestión de problemas
Objetivos: 4 5 6 7 8 9 10 11
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Desarrollo de los conceptos asociados a gestión de memoria

Durante estas horas se practicarán los conceptos básicos relacionados con la gestión de la memoria, se describirán los servicios y funcionalidades que ofrece el sistema a los usuarios (incluyendo las optimizaciones que se hacen típicamente a nivel de librería) y se describirán los mecanismos y algoritmos de gestión internos del kernel para gestionar la memoria virtual.
Objetivos: 4 5 6 7 8 9 10 11
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Servicios básicos para gestionar memoria

Durante esta sesión de laboratorio se practicará con servicios básicos para gestionar la memoria de los procesos y algunos comandos para monitorizar el estado de los procesos
Objetivos: 5 6 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Medidas de rendimiento y planificación de procesos. Impacto del entorno multiproceso.

Se evaluarán diferentes programas con diferentes configuraciones en cuanto a procesos y carga del sistema para ver analíticamente cómo influye en las aplicaciones su propia estructura y el estado del sistema.
Objetivos: 4 5 6 7 8 9 11 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Primer control evaluación continuada

Este control incluirá los temas de Introducción, Procesos y memoria. Este examen puede incluir tanto preguntas teóricas como problemas.
Objetivos: 1 2 3 4 5 6 7 8 9
Semana: 9 (Fuera de horario lectivo)
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h

Desarrollo de los conceptos asociados a la entrada y salida de datos

Durante estas horas se explicarán los conceptos relacionados con la gestión de la entrada / salida de datos: tipo de dispositivos, servicios y funcionalidades relacionados con la entrada / salida y gestión del sistema de la independencia de dispositivos.
Objetivos: 4 5 6 7 8 9 10 11
Contenidos:
Teoría
10h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Servicios básicos de gestión entrada y salida

En esta sesión se practicarán servicios básicos para gestionar la entrada y salida de procesos. Se harán ejercicios para consolidar los conceptos relacionados con la independencia de dispositivos.
Objetivos: 5 6 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Servicios avanzados para gestionar la entrada y salida

Durante esta sesión se profundizarán en servicios y comandos más complejos para gestionar la entrada y salida de procesos así como la relación con otros servicios del sistema como por ejemplo la gestión de eventos (signals)
Objetivos: 6 7 11 12 13 4 5
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Sistemas de ficheros y Ficheros de datos

Durante esta sesión se practicaran comandos relacionados con la gestión del sistema de ficheros y se practicará con llamadas a sistema específicas de ficheros de datos
Objetivos: 5 6 7 8 9 12 13
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Gestión entrada/salida y comunicación entre procesos: sesión de resolución de problemas

Durant aquesta sessió es fan exercicis rel.lacionats amb la gestió de la entrada/sortida de dades i la comunicació entre procesos
Objetivos: 4 5 6 7 8 9 10 11
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Sistemas de ficheros: problemas


Objetivos: 1 2 4 5 6
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Examen final laboratorio

Examen final de laboratorio que incluirá cualquier llamada a sistema, herramienta, concepto, etc practicado en el laboratorio.
Objetivos: 6 10 11
Semana: 14
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Examen final de teoria

Examen escrito que incluirá todo el temario del curso. Este examen puede incluir tanto preguntas teóricas como problemas.
Objetivos: 1 2 3 4 5 6 7 8 9 10 11
Semana: 15 (Fuera de horario lectivo)
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Ejercicio práctico sobre gestión de procesos

Esta actividad consiste en resolver un enunciado del mismo estilo y en las mismas condiciones que los examenes de la asignatura

Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Primer control de laboratorio de evaluación continua

Este control evalúa los conceptos trabajados en las sesiones de laboratorio de la 1 a la 5
Objetivos: 1 2 3 4 5 6 7 8 9 11
Semana: 9 (Fuera de horario lectivo)
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h

Ejercicio práctico sobre gestión de la entrada-salida



Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h

Metodología docente

La asignatura tendrá principalmente dos tipos de clase: teoría y laboratorios. Las clases de teoría serán para explicar conceptos principalmente genéricos o aplicados al caso particular de Linux. Estas clases se harán con el apoyo de transparencias. Las clases de laboratorio serán semanales e incluirán un trabajo previo a realizar por el alumno, unos ejercicios para hacer en clase de forma individual y unas preguntas que se deberán entregar a final de clase. La asistencia al menos al 80% de las sesiones de laboratorio es condición necesaria para poder aprobar la evaluación continua de la asignatura.Aunque todas las sesiones incluirán estas preguntas para entregar, no todas suponen un acto evaluativo, sólo aquellas que estén marcadas como tal. El resto servirán para hacer el seguimiento del alumno y para controlar la realizacion del trabajo previo y la actitud del alumno en clase. Especialmente en las clases de laboratorio se valorarán aspectos como la puntualidad del alumno y la actitud positiva ante la asignatura.

Método de evaluación

La nota de la competencia técnica se basa en dos componentes: nota evaluación continua (EC) i nota evaluación no continua (EF). La componente EC sólo se tendrá en cuenta para los estudiantes que acrediten haber hecho seguimiento de la asignatura: han asistido como mínimo al 80% de las sesiones de laboratorio y han hecho el trabajo de las sesiones. Entregar un trabajo no original (no hecho por el estudiante) se considera fraude e implica una nota de 0 en la componente EC.

Nota= max(EF, 0,6*EF+0,4*EC).

EC: 35% CT + 10% ST+ 30% laboratorio+ 25% SL
- CT: resultante de 1 parcial al final del tema de procesos. Este examen se hace fuera de horas de clase
- ST (seguimiento teoría): pequeños tests sobre conceptos de teoría que se harán al final de algunos temas
- CL: resultante de 1 ejercicio puntuable después de hacer la sesión 4 de laboratorio. Este examen se hace fuera de horas de clase
- SL (seguimiento laboratorio): evaluará el trabajo hecho en algunas sesiones de laboratorio

EF: 50% Teoria+ 50% laboratori
- Prueba puntuable que consta de dos partes: teoría y laboratorio. Se hace a final de curso y evalúa todo el contenido del curso.

Evaluación de la Competencia Genérica

En este caso, se valorarán los siguientes puntos:
1) Actitud proactiva (rigor) en el desarrollo profesional.
* Asistencia. Los estudiantes deberán asistir a un 80% de las sesiones de laboratorio. .
* Puntualidad. Los estudiantes deberán llegar puntuales a clase, con un margen de 10 minutos. Se penalizará a los estudiantes que reiteradamente lleguen tarde.
- Esta información se obtendrá de los test de Atenea.
* Respeto. Los estudiantes deberán actuar con respeto hacia los compañeros y los profesores.
- El profesor será el encargado de detectar y anotar los casos de falta de respeto, ya sea hacia sí mismo o hacia los compañeros del estudiante. Si durante la evolución de la asignatura estos casos no mejoran obtendrá una evaluación negativa de la competencia.
2) Actitud proactiva (motivación) por la calidad y la mejora continua.
* Calidad. Se valorará la calidad del código entregado teniendo en cuenta, principalmente: el cumplimiento de los requerimientos de los enunciados, la claridad del código y la organización del documento.
* Motivación y responsabilidad. En las sesiones de laboratorio se pedirá a los estudiantes un trabajo previo que deberán realizar necesariamente.
- El trabajo previo tendrá preguntas asociadas que ayudarán a identificar y penalizar a los estudiantes que no realicen correctamente estos trabajos. Asimismo se podrá evaluar muy positivamente aquellos estudiantes que realicen unos trabajos excelentes
NOTA de la Competencia:
La nota de la competencia se obtendrá a partir de los valores de las informaciones obtenidas por: Asistencia, Puntualidad, Respeto, Motivación, Calidad y Responsabilidad.

Excepciones:
- No asistir al 80% de las sesiones de laboratorio implicará automáticamente una D en la nota de la competencia
- Si un estudiante copia en las entregas de laboratorio tiene automáticamente una D en la nota de la competencia
- Aquellos alumnos que muestren una clara falta de motivación y respecto, por ejemplo, apuntándose tarde al examen final, tendrán una D en la competencia.

Bibliografía

Básica:

Complementaria:

Web links

Capacidades previas

El estudiante debe tener las capacidades técnicas que le otorgan las asignaturas cursadas previamente además de un nivel de inglés técnico mínimo como para leer una documentación. En cuanto a capacidades técnicas podríamos resumir en:
-En cuanto a estructura de computadoras: Conocimiento de los elementos principales de un ordenador, relacion de estos elementos entre sí, representación interna de datos y conocimientos básicos de lenguaje máquina.
-En cuanto a programación: Capacidad de hacer programas desde cero que incluyan definición de tipo de datos, diseño de un programa, más o menos complejo, en diferentes funciones (que puedan estar en más de un archivo) y fases de creación de un ejecutable.