SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
!"#$%&'#()*+$'+,)*+ 
-.*('&%*+/0'1%(.2)*+ 
+ 
3"4%+$'+,%+ 
%*.5#%("1%+ 
+ 
6"1*)+789:;< 
Escuela de Ingeniería Informática
ste documento es una breve guía de la asignatura de Fundamentos de los Sistemas 
Operativos, del segundo curso del Grado en Ingeniería Informática impartido por 
la ULPGC. Su propósito es informar al estudiante sobre todo aquello que se ha 
considerado esencial para un feliz transcurso de la asignatura y se le ofrece como punto 
de partida imprescindible. 
Incluye el programa de la asignatura, el sistema de evaluación, la planificación del 
curso y las referencias al resto de la documentación necesaria. 
Esta guía se encuentra disponible en la web de la asignatura 
(http://sopa.dis.ulpgc.es/fso). 
Contenido 
1.!Presentación 2! 
2.!Contenidos teóricos 3! 
3.!Contenidos prácticos 3! 
4.!Evaluación 5! 
5.!Instalaciones 7! 
6.!Profesorado 8! 
7.!Material didáctico 8! 
8.!Bibliografía básica 10! 
9.!Bibliografía complementaria 11! 
10.!Temario detallado 13! 
11.!¡No olvidar! 14! 
E
2 - Sistemas Operativos 
1. Presentación 
El sistema operativo es una parte esencial dentro de un sistema informático. 
Administra los recursos del sistema y ofrece un entorno de programación y 
operación a los usuarios, permitiendo trabajar con la máquina de forma cómoda y 
eficaz. Es imprescindible que un titulado universitario en Informática conozca los 
conceptos fundamentales vinculados a los sistemas operativos, sus funciones, su 
estructura y su implementación. 
En consecuencia, el Grado en Ingeniería Informática de la ULPGC contiene 
esta asignatura de Fundamentos de los Sistemas Operativos, que se imparte en el 
segundo cuatrimestre del segundo año y con una carga docente presencial de 
sesenta horas (treinta horas teóricas más treinta prácticas). 
1.1 Objetivos de formación 
Desde un punto de vista teórico esta asignatura pretende formar al estudiante para 
que éste conozca la estructura general, funciones y principios de diseño de los 
sistemas operativos. 
La práctica de esta asignatura irá encaminada a consolidar los conocimientos 
teóricos impartidos en el aula. Las simulaciones ayudarán al estudiante a entender 
las políticas de gestión de recursos propias del sistema operativo. El estudiante se 
adiestrará en programación de sistemas mediante la utilización de la API del 
sistema operativo y el software del sistema, usando para ello el entorno de 
programación del lenguaje C bajo Unix (Linux). 
En suma, los objetivos docentes de Fundamentos de los Sistemas Operativos 
son: 
Conceptos generales sobre sistemas operativos 
! estructura 
! funciones 
! diseño 
Programación de sistemas 
! Operación y programación en entorno Unix/Linux 
! Programación básica en lenguaje C 
1.2 Requisitos académicos 
Para cursar esta asignatura se requieren conocimientos de organización de 
computadoras y de informática general a un nivel elemental. También es preciso 
un dominio básico de las técnicas de programación estructurada. Por otro lado, el 
estudiante tendrá que manejar inevitablemente documentación técnica en inglés, 
por lo que es importante tener un nivel intermedio (B1) de comprensión lectora en 
este idioma.
Guía de la asignatura - 3 
2. Contenidos teóricos 
Las clases teóricas comprenderán las siguientes unidades temáticas, que se 
impartirán en este orden: 
1. Conceptos sobre sistemas operativos 
2. Procesos 
3. Concurrencia 
4. Memoria 
5. Archivos 
Al final de esta guía se muestra el temario detallado de la asignatura. Los textos 
por los que se seguirá la parte teórica son: 
• Fundamentos de Sistemas Operativos: Teoría y ejercicios resueltos, de S. 
Candela, R. García, A. Quesada, F. Santana, J.M. Santos. 
• Sistemas Operativos, de A. Silberschatz y P. Galvin. 
3. Contenidos prácticos 
Las explicaciones teóricas se apoyarán en una serie de actividades prácticas que 
pretenden afianzar los conocimientos recibidos y que irán dirigidas a consolidar las 
competencias de la asignatura mediante estos cuatro enfoques: 
• Uso del SO. Adquirir competencia en programación de sistemas mediante 
la utilización de la API del sistema operativo y el software del sistema. 
• Simulaciones. Entender las políticas de gestión de recursos propias del 
sistema operativo a través de simulaciones. 
• Diseño del SO. Desarrollar componentes de software análogos. 
• Estudiar el mercado. Profundizar en el conocimiento aplicado de los 
conceptos de la asignatura a través de trabajos de investigación sobre las 
tecnologías, sistemas y productos que ofrece el mercado. 
Los tres primeros enfoques se materializarán en actividades tutorizadas que el 
estudiante realizará en el laboratorio y/o en su casa. Se procurará que los 
requisitos técnicos del puesto de trabajo y del software permitan la ejecución de los 
trabajos desde el domicilio del estudiante y con un equipo informático convencional. 
En este sentido se favorecerá el empleo de software libre y contenidos abiertos. 
El cuarto enfoque, estudios de mercado, se desarrollará como trabajos tutorizados a 
partir del material que se trate en las clases teóricas. Las actividades se 
desarrollarán en equipos de trabajo de entre dos y ocho estudiantes dependiendo de 
las características de la actividad. En el caso general se evitará la realización de 
actividades individuales aunque para atender adecuadamente a los estudiantes con 
requisitos especiales se dará la posibilidad del trabajo individual con alguna 
penalización. En todos los casos las actividades requerirán sesiones tutorizadas 
para que el profesor pueda conocer, guiar y evaluar el trabajo en curso.
4 - Sistemas Operativos 
3.1 Actividades prácticas previstas 
Las prácticas consistirán en actividades tutorizadas en el laboratorio más algunas 
tareas que se propondrán para que el alumno las resuelva por su cuenta, a modo de 
autoevaluación. Las actividades prácticas previstas abarcarán estos tópicos: 
• Operación en un entorno multiprogramado y multisuario. 
• Uso de herramientas de desarrollo para lenguaje C. 
• Uso de las llamadas del sistema operativo. 
• Manejo de procesos e hilos. 
• Mecanismos de sincronización y comunicación entre procesos. 
• Resolución de problemas básicos de concurrencia. 
• Análisis e implementación de políticas de gestión de memoria. 
• Manejo de archivos. 
Este conjunto de tópicos no constituyen una lista exhaustiva de trabajos. De esta 
lista se extraerá un subconjunto para cada grupo de trabajo. 
Las actividades prácticas propuestas como obligatorias deben superarse 
para aprobar la asignatura. Adicionalmente se pueden proponer trabajos prácticos 
de carácter opcional. 
Los trabajos se presentarán a lo largo del semestre en sucesivas entregas, 
en los plazos que se establezcan. Las entregas se harán a través de Moodle, y 
deberán incluir, al menos, el código fuente y una pequeña memoria/informe. Estas 
entregas deberán ser defendidas ante el profesor. 
En el caso de que las entregas no se presenten en los plazos establecidos, los 
estudiantes tendrán la opción de entregarlas al final del semestre, en el plazo que 
se indicará en su momento. Si el estudiante opta por la entrega de final de 
semestre, además de superar las prácticas entregadas, deberá realizar un examen 
práctico en el laboratorio. 
3.2 Prácticas en grupo 
Las actividades que tienen como fin el adiestramiento con las herramientas (Linux, 
lenguaje C y compilación) se pueden desarrollar de forma individual. Sin embargo, 
los trabajos obligatorios se realizarán en grupos de dos o tres personas, ya que 
uno de los objetivos de las actividades prácticas es la de fomentar el trabajo en 
equipo. Los grupos se configurarán a voluntad de los propios estudiantes, siempre 
que pertenezcan al mismo turno de prácticas. 
Piénsenlo bien antes de elegir a su compañero, puesto que no se permiten 
separaciones ni fusiones de grupos una vez que están formados. 
3.3 Repetidores 
De acuerdo con la normativa de la ULPGC, los estudiantes que repiten la 
asignatura no tendrán que volver a realizar los trabajos prácticos que ya hubieran 
superado con éxito en cursos anteriores. Cada uno de estos trabajos se considerará 
aprobado con idéntica nota a la que se obtuvo en su momento.
Guía de la asignatura - 5 
3.4 Turnos de prácticas 
De acuerdo con los procedimientos de la ULPGC, cada estudiante es asignado a un 
turno de asistencia a prácticas en el momento de la matriculación. En caso de que 
deseen cambiar de turno una vez comenzada la actividad docente, tendrán que 
solicitarlo formalmente en la Administración del Edificio de Informática y 
Matemáticas. 
4. Evaluación 
La evaluación se realizará mediante tres sistemas básicos: 
1. Habrá exámenes escritos y también la posibilidad de celebrar pruebas 
prácticas para evaluar la adquisición de habilidades prácticas. 
2. Las actividades prácticas se evaluarán por el proceso y por el resultado. 
El resultado de cada trabajo debe materializarse en un entregable escrito 
(código fuente más informe/memoria) y además debe ser expuesto de forma 
oral. Se evaluará la expresión escrita y oral de estos entregables y 
exposiciones. En cuanto al proceso se evaluará la capacidad para buscar, 
sintetizar y producir información y conocimiento; la capacidad para marcar 
objetivos de trabajo y cumplirlos en tiempo y forma; y las habilidades de 
trabajo en equipo tanto con los compañeros como con el tutor. 
3. La calificación del alumno también abarcará elementos de evaluación 
continua del estudiante tales como: 
• Participación en las preguntas y ejercicios planteados en las sesiones 
presenciales o en el Campus Virtual. 
• Sugerencias de corrección o mejora en el material didáctico de la 
asignatura. 
• Aportaciones críticas a los contenidos de la asignatura y a la metodología 
de trabajo. 
• Participación en las discusiones en el aula y en laboratorio, en especial 
como iniciador de la discusión o como solucionador. 
• Aportaciones positivas al proceso de aprendizaje de otros compañeros. 
4.1 Exámenes teóricos 
Cuando se haya impartido en torno a la mitad de la materia de teoría se celebrará 
un examen parcial, cuyo peso en la nota de teoría será del 50%. 
Habrá un examen de convocatoria en junio, según lo dispuesto oficialmente. El 
examen de junio se dividirá en dos partes: la primera para aquellas personas que 
no hayan aprobado el parcial y la segunda, constituida por la materia que no 
pertenezca al primer parcial. Para poder aprobar la teoría en junio es necesario 
aprobar las dos partes. 
Las calificaciones obtenidas en junio en cada una de las partes teóricas NO se 
guardan para posteriores convocatorias. 
4.2 Trabajos prácticos 
Los trabajos prácticos obligatorios serán evaluados mediante la revisión de las 
memorias y defensas. Los integrantes de un grupo de prácticas habrán de
6 - Sistemas Operativos 
completar con éxito todos los trabajos obligatorios en las fechas que los profesores 
determinen. La asignatura prevé la realización de trabajos optativos para subir 
nota (hasta un 10% adicional). 
4.3 Calificación final 
La calificación final se calculará según la siguiente tabla: 
Ponderación 
Exámenes teóricos 70% 
Trabajos prácticos obligatorios 30% 
Trabajos prácticos optativos 10% 
Evaluación continua y otros 10% 
La calificación final resultará de aplicar estos porcentajes a la nota obtenida en 
exámenes, trabajos prácticos y en su caso, a la evaluación continua. 
Para aprobar la asignatura habrá que obtener más del 50% de la nota máxima de 
cada uno de los trabajos obligatorios y de los dos exámenes de teoría. La nota de 
teoría será la media aritmética de las notas de los exámenes de teoría, una vez que 
se hayan aprobado cada una de las partes. 
Aunque los porcentajes suman un 120%, nunca se podrá obtener más de un 10 en 
la nota final. El 20 % adicional está concebido para que el estudiante pueda 
mejorar su calificación una vez que ha alcanzado la nota mínima para aprobar. 
A continuación se muestra el algoritmo detallado de cálculo de la calificación en la 
asignatura. En caso de discrepancia de interpretación entre la especificación 
algorítmica y lo expresado en los párrafos anteriores prevalecerá el algoritmo. 
NT = nota de teoría 
NP = nota de prácticas obligatorias 
NPV = nota de práctica/s optativa/s 
NA = nota adicional (evaluación continua y otros) 
NFSA = nota final sin ajustar = ( 70!NT + 30!NP + 10!NPV + 10!NA ) / 100 
NFA = nota final ajustada (la que va al acta) que se obtiene así: 
si NT >= 5 y NP >= 5: NFA = MIN(10, NFSA) 
si NT <= 3 o NP <= 3: NFA = MIN(3, NFSA) 
en otro caso: NFA = MIN(4, NFSA) 
4.4 Criterios de evaluación. Tipo de exámenes 
Se pretende evaluar en el alumno la consecución de los objetivos docentes de la 
asignatura, principalmente el dominio de los conceptos fundamentales sobre 
sistemas operativos. Los exámenes estarán diseñados de tal forma que se abarque 
la mayor cantidad posible de material temático, a fin de explorar los conocimientos
Guía de la asignatura - 7 
globales que tenga el alumno. Muchas preguntas tratarán de relacionar conceptos 
de temas diferentes. 
La costumbre de los últimos años ha sido que la duración de un examen está 
en torno a las tres horas y media. En los pasados cursos casi siempre los exámenes 
contuvieron varias preguntas de desarrollo, preguntas de respuesta corta, algún 
desarrollo algorítmico y un test con cuestiones generales. 
Los trabajos prácticos se evaluarán de acuerdo con criterios de calidad del 
programa, tanto de su diseño general como de su implementación y documentación; 
además, se valorarán parámetros como la creatividad y la calidad de la defensa que 
el grupo haga de su trabajo. Los criterios de evaluación de prácticas se adjuntarán 
a la documentación que se entregará en su momento. 
No está de más remarcar que a cualquier alumno universitario se le 
presupone un adiestramiento previo en varias disciplinas, como son: la capacidad 
para comprender un texto escrito; expresarse con corrección, precisión y claridad; y 
en general un bagaje formativo cuya carencia repercutirá en la calificación 
definitiva en la asignatura. 
5. Instalaciones 
Las clases teóricas se impartirán en las aulas correspondientes del Edificio de 
Informática y Matemáticas. 
Para realizar los trabajos prácticos, se dispone del Laboratorio de Sistemas 
Operativos (2-2). El laboratorio cuenta con un servidor de altas prestaciones y una 
red local de una veintena de PC que tienen instalado el sistema Linux (distribución 
CentOS). 
La naturaleza de los trabajos prácticos permite que éstos se realicen en 
cualquier equipo con Linux, así que quien lo desee podrá implementarlos en 
equipos ajenos al laboratorio 2-2. En cualquier caso, la revisión de los trabajos se 
hará en las máquinas del Departamento de Informática y Sistemas. 
Cada estudiante dispondrá de una cuenta de usuario exclusiva del 
Laboratorio de Sistemas Operativos. A comienzos del semestre se comunicará cómo 
pueden obtener su usuario y contraseña. 
Con su cuenta de usuario, el estudiante podrá si lo desea acceder de forma 
remota al servidor del Laboratorio de SO (sopa.dis.ulpgc.es), con un cliente SSH.
8 - Sistemas Operativos 
6. Profesorado 
Alexis Quesada Arencibia 
Coordinador 
Despacho 1-8 
Tlfs. 928 454 572 / 928 457 108 
Correo: aquesada@dis.ulpgc.es 
Francisco J. Santana Pérez 
Responsable de prácticas 
Despacho S-5 
Tlf. 928 458 745 
Correo: fsantana@dis.ulpgc.es 
José Miguel Santos Espino 
Profesor de teoría/prácticas 
Despacho 3-2 
Tlf. 928 458 742 
Correo: josemiguel.santos@ulpgc.es 
Eduardo Rodríguez Barrera 
Profesor de teoría/prácticas 
Despacho seminario-10 
Tlf. 928 459 862 
Correo: erodriguez@dis.ulpgc.es 
Los horarios de tutoría y atención al alumnado estarán publicados en los despachos 
respectivos de los profesores, en Moodle y en la página web de la asignatura. Es 
recomendable acordar previamente una cita con el profesor. Los profesores 
atenderán gustosamente consultas por correo electrónico. 
7. Material didáctico 
En la asignatura de Fundamentos de los Sistemas Operativos se cuenta con 
fuentes documentales de todo tipo, que podemos clasificar en: 
Bibliografía básica y complementaria 
Guías teóricas y prácticas 
Material para las prácticas 
Servicios de información en línea 
Seguidamente se explicará cada una de estas fuentes, aunque a la bibliografía se la 
tratará con más detenimiento en posteriores secciones. 
7.1 Bibliografía básica y complementaria 
La bibliografía básica de una asignatura son aquellos textos fundamentales que 
bastan para que el alumno tenga una visión completa de los contenidos de aquélla. En 
la sección de bibliografía básica se incluyen libros sobre sistemas operativos en 
general y literatura conveniente para los objetivos prácticos de la asignatura 
(programación y operación en Unix, programación en C). Véase a partir de la página 
10. 
La bibliografía complementaria es el conjunto de textos accesorios, no 
imprescindibles, que sin embargo son útiles para profundizar en aspectos particulares 
de la asignatura. En la página 11 comienza una relación de títulos que se pueden 
considerar bibliografía complementaria. 
7.2 Guías teóricas y prácticas 
Durante el curso los profesores entregarán material diverso para seguir las clases 
teóricas y prácticas. Por ejemplo, hay disponibles transparencias para cada unidad
Guía de la asignatura - 9 
teórica. Para las prácticas se suministrará material variado, p.ej. trípticos con las 
órdenes comunes de UNIX, etc. También pueden encontrar material multimedia, 
por ejemplo tutoriales en vídeo de determinados tópicos de la asignatura. 
7.3 Material para el laboratorio 
La documentación que se suministra para las actividades prácticas y el uso del 
laboratorio incluye, entre otras cosas: 
• Fichas de prácticas 
• Manuales de operación y programación en entorno Unix 
• Manuales de programación en C 
• Textos de los trabajos prácticos 
7.4 Servicios en línea 
Desde 1994, la asignatura dispone de servicios online para apoyar al estudiante. El 
actual servicio web está accesible en http://sopa.dis.ulpgc.es/fso/. En él se puede 
encontrar material didáctico de todo tipo, como las guías de la asignatura, las 
presentaciones utilizadas en las sesiones teóricas, material de prácticas, textos y 
soluciones de exámenes (ya celebrados, por supuesto) y videotutoriales sobre 
algunos tópicos de la asignatura. Toda esta información es de acceso público. 
A través del Campus Virtual de la ULPGC también se podrá acceder a 
algunos de esos contenidos, así como utilizar los recursos para la participación del 
estudiante y la evaluación de los trabajos. Por ejemplo, los trabajos prácticos se 
entregarán mediante una tarea Moodle. 
El servidor web sopa.dis.ulpgc.es, por tanto, servirá de «biblioteca» de la 
asignatura, mientras que el Moodle será el «aula virtual» en la que estudiantes y 
profesores participarán en el desarrollo de la asignatura. 
Para acceder al Moodle deberán ir a http://mi.ulpgc.es, introducir su usuario 
(DNI sin letra) y contraseña (la misma que emplean para el correo institucional) y 
dentro del apartado «Mi Campus Virtual», «Enseñanzas de grado y posgrado. Curso 
2013/2014» deberán encontrar una entrada para la asignatura de Fundamentos de 
los Sistemas Operativos. Si no es así, es posible que aún no figuren matriculados en 
la asignatura en el Campus Virtual: contacten con la Administración del Edificio. 
7.5 Comunicaciones oficiales 
Los comunicados oficiales de la asignatura se enviarán siempre a través del 
Moodle, por ejemplo los anuncios de fechas de entrega, las calificaciones, eventos, 
imprevistos, etc. El correo electrónico y el Moodle serán los medios de comunicación 
preferentes para esta clase de comunicados. Esto quiere decir que los estudiantes 
deberán visitar el Moodle con frecuencia, y consultar habitualmente su cuenta de 
correo de estudiante en la ULPGC (la que tiene el dominio @alu.ulpgc.es o 
@estudiantes.ulpgc.es).
10 - Sistemas Operativos 
8. Bibliografía básica 
La bibliografía básica es el conjunto de libros que bastan para el aprendizaje 
completo de la asignatura, según los temarios teórico y práctico; a continuación se 
presentarán indicando para cada una su título, autor y editorial, más un breve 
comentario. De todas estas obras existen ejemplares suficientes en la Biblioteca del 
Edificio de Informática y Matemáticas. 
8.1 Sistemas operativos 
Los siguientes libros engloban la práctica totalidad del temario de la asignatura. 
Aunque existen suficientes ejemplares en biblioteca, no es mala inversión adquirir 
uno de ellos para que engrose las estanterías del estudiante. 
FUNDAMENTOS DE SISTEMAS OPERATIVOS: TEORÍA Y EJERCICIOS RESUELTOS 
S. Candela, R. García, A. Quesada, F. Santana, J.M. Santos 
Thomson Paraninfo, 2007 
Este libro es fruto de la experiencia acumulada por los profesores del 
Departamento de Informática y Sistemas de la ULPGC, que durante más de 
dos décadas han impartido las asignaturas de Sistemas Operativos en las 
ingenierías en Informática. Esta obra contiene, además del contenido 
teórico, una selección de preguntas y ejercicios resueltos que abarcan todo el 
temario de la asignatura y que pueden ser utilizadas por los estudiantes 
para afianzar sus conocimientos a través de la autoevaluación. 
SISTEMAS OPERATIVOS (SÉPTIMA EDICIÓN) 
A. Silberschatz, P. Galvin 
McGraw-Hill, 2006 
El llamado libro de los dinosaurios es un texto esencial en Sistemas 
Operativos, que cubre la mayor parte de los temas de la asignatura. 
Imprescindible como libro de texto. Aunque ponemos como referencia la 
séptima edición, ediciones anteriores a partir de la cuarta sirven 
perfectamente para seguir la asignatura. 
8.2 Operación en el sistema UNIX 
Como complemento al adiestramiento que se recibirá en las clases prácticas, se 
recomiendan estas obras: 
GUÍA DE OPERACIÓN EN UNIX 
J. M. Santos 
Servicio de publicaciones EUI, 1996 
Trata a un nivel introductorio-medio la operación en el entorno UNIX, 
llegando a nociones sobre la programación de shell scripts. El libro se 
complementa con los trípticos o chuletas que se entregarán en las clases 
prácticas.
Guía de la asignatura - 11 
EDICIÓN ESPECIAL LINUX (CUARTA EDICIÓN) 
J. Tackett y S. Burnett 
Prentice-Hall, 2000 
Un libro que cubre la instalación, la administración y el uso cotidiano de 
sistemas Linux. 
8.3 Programación en C 
Este es un título válido para el aprendizaje del lenguaje C que es necesario en la 
asignatura: 
C: MANUAL DE REFERENCIA 
H. Schildt 
McGraw-Hill, 2001 
Ideal para el aprendizaje del lenguaje C, explica tanto las características del 
mismo como bastantes funciones de biblioteca. 
9. Bibliografía complementaria 
En esta sección se incluyen textos que, o bien sirven para profundizar en materias de 
la asignatura, o bien son referencias concretas para algunos temas no suficientemente 
cubiertos por la bibliografía básica. 
9.1 Fundamentos de sistemas operativos 
Los siguientes títulos abarcan todo el temario de la asignatura y se podrían 
emplear como libros de texto alternativos al recomendado. 
SISTEMAS OPERATIVOS: ASPECTOS INTERNOS Y PRINCIPIOS DE DISEÑO (QUINTA EDICIÓN) 
W. Stallings 
Prentice Hall, 2005 
SISTEMAS OPERATIVOS: TEORÍA Y PROBLEMAS 
Joaquín Aranda Almansa... [et al.] 
Sanz y Torres, 2002 
SISTEMAS OPERATIVOS. UNA VISIÓN APLICADA (SEGUNDA EDICIÓN) 
J. Carretero, P. De Miguel, F. García y F. Pérez 
McGraw-Hill, 2007 
9.2 Programación concurrente 
PROGRAMACIÓN CONCURRENTE 
José Tomás Palma Méndez, María del Carmen Garrido Carrera, Fernando Sánchez 
Figueroa, Alexis Quesada Arencibia 
Thomson, 2003 
Un texto básico para entender los aspectos de la concurrencia que se 
explican en la asignatura.
12 - Sistemas Operativos 
CONCURRENT PROGRAMMING 
A.Burns, G. Davies 
Addison-Wesley, 1993 
Un texto básico para entender los aspectos de la concurrencia que se 
explican en la asignatura, en particular los capítulos 1, 2, 3, 6 y 7. 
PRINCIPLES OF CONCURRENT AND DISTRIBUTED PROGRAMMING 
M. Ben-Ari 
Prentice-Hall, 1990 
Un texto clásico sobre concurrencia. Los primeros capítulos cubren el área 
temática de concurrencia de la asignatura.
Guía de la asignatura - 13 
10. Temario detallado 
Este es el temario teórico de la asignatura, con un mayor nivel de detalle en sus 
contenidos. 
1. Conceptos sobre sistemas operativos 
• El sistema operativo como interfaz: API, llamadas al sistema, CLI, GUI, 
recursos virtuales. 
• El sistema operativo como administrador de recursos: procesos y recursos; 
políticas de gestión; objetivos de eficiencia, seguridad y equidad; interbloqueo 
e inanición. 
• Tipos de sistemas informáticos. 
• Arquitectura del hardware para el SO: sistema de interrupciones, 
excepciones, modo dual de operación, jerarquía de memorias. 
• Componentes del sistema operativo: programas del sistema, núcleo, shell; 
arquitecturas de núcleos; máquinas virtuales. 
2. Procesos 
• Sistemas multitarea: estados de un proceso; colas; cambio de contexto; niveles 
de planificación. 
• Servicios: procesos pesados e hilos; llamadas al sistema usuales. 
• Planificación del procesador: políticas básicas (FCFS, SJF, Round Robin, 
prioridades); evaluación de las políticas; métodos multicolas; 
multiprocesadores. 
3. Concurrencia 
• Programación concurrente: especificación algorítmica; beneficios para el 
programador. 
• Propiedades de los sistemas concurrentes: no determinismo; necesidad de 
sincronización; acciones atómicas. 
• El problema de la sección crítica. 
• Sincronización: problemas clásicos; semáforos; técnicas de solución de 
problemas de sincronización.
14 - Sistemas Operativos 
4. Memoria 
• Elementos comunes: fragmentación; gestión del espacio libre; protección; 
espacios de direcciones lógicos y físicos; traducción de direcciones y MMU. 
• Gestión de memoria contigua: enlace dinámico; políticas de gestión del 
espacio libre; intercambio (swapping). 
• Gestión de memoria no contigua: segmentación; paginación; TLB; 
compartición y protección de zonas de memoria. 
• Memoria virtual: paginación por demanda; algoritmos de reemplazo; modelo 
del área activa (working set). 
5. Archivos 
• Interfaz del sistema: estructura y atributos de los ficheros; operaciones sobre 
ficheros; métodos de acceso; organización en directorios. 
• Implementación del sistema: estructura de un sistema de ficheros; políticas 
de asignación de espacio a archivos; implementación de directorios; cachés; 
planificación de operaciones de E/S. 
11. ¡No olvidar! 
• Consultar el buzón de correo institucional (@estudiantes.ulpgc.es) 
• Visitar frecuentemente el Moodle de la asignatura. 
• Actualizar el perfil de usuario de Moodle con una foto «reconocible».

Más contenido relacionado

La actualidad más candente

167500416 00-programacion-en-lenguaje-estructurado-1ero
167500416 00-programacion-en-lenguaje-estructurado-1ero167500416 00-programacion-en-lenguaje-estructurado-1ero
167500416 00-programacion-en-lenguaje-estructurado-1eroomaryasmani
 
Programa informatica basica
Programa informatica basicaPrograma informatica basica
Programa informatica basicaSamuelMonterrey
 
Dibujo asistido 3°
Dibujo asistido 3°Dibujo asistido 3°
Dibujo asistido 3°Josue Lopez
 
programa de 3ª Informatica_nfpc_A4_R_22
programa de 3ª Informatica_nfpc_A4_R_22programa de 3ª Informatica_nfpc_A4_R_22
programa de 3ª Informatica_nfpc_A4_R_22mastorucci
 
Sistemas computacionales desarrollo de software
Sistemas  computacionales desarrollo de softwareSistemas  computacionales desarrollo de software
Sistemas computacionales desarrollo de softwareOpcionesTecnicas
 
2 gfpi f-019-formato_guia_de_aprendizajeexcel
2 gfpi f-019-formato_guia_de_aprendizajeexcel2 gfpi f-019-formato_guia_de_aprendizajeexcel
2 gfpi f-019-formato_guia_de_aprendizajeexcelnasmutha1996
 

La actualidad más candente (9)

167500416 00-programacion-en-lenguaje-estructurado-1ero
167500416 00-programacion-en-lenguaje-estructurado-1ero167500416 00-programacion-en-lenguaje-estructurado-1ero
167500416 00-programacion-en-lenguaje-estructurado-1ero
 
Programa informatica basica
Programa informatica basicaPrograma informatica basica
Programa informatica basica
 
Dibujo asistido 3°
Dibujo asistido 3°Dibujo asistido 3°
Dibujo asistido 3°
 
S4TAREA4JIFLM
S4TAREA4JIFLMS4TAREA4JIFLM
S4TAREA4JIFLM
 
programa de 3ª Informatica_nfpc_A4_R_22
programa de 3ª Informatica_nfpc_A4_R_22programa de 3ª Informatica_nfpc_A4_R_22
programa de 3ª Informatica_nfpc_A4_R_22
 
Sistemas computacionales desarrollo de software
Sistemas  computacionales desarrollo de softwareSistemas  computacionales desarrollo de software
Sistemas computacionales desarrollo de software
 
2 gfpi f-019-formato_guia_de_aprendizajeexcel
2 gfpi f-019-formato_guia_de_aprendizajeexcel2 gfpi f-019-formato_guia_de_aprendizajeexcel
2 gfpi f-019-formato_guia_de_aprendizajeexcel
 
Guia5
Guia5Guia5
Guia5
 
Guia6
Guia6Guia6
Guia6
 

Destacado

Fundamentos de los sistemas operativos
Fundamentos de los sistemas operativosFundamentos de los sistemas operativos
Fundamentos de los sistemas operativosJohan Olarte
 
Sistemaoperativos lared-martinez
Sistemaoperativos lared-martinezSistemaoperativos lared-martinez
Sistemaoperativos lared-martinezDouglas Crampton
 
JUEGO DIDACTICO
JUEGO DIDACTICOJUEGO DIDACTICO
JUEGO DIDACTICOsachastory
 
Sistema operativo y sus lenguajes de programacion
Sistema operativo y sus lenguajes de programacionSistema operativo y sus lenguajes de programacion
Sistema operativo y sus lenguajes de programacionKerly Mindiolaza
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSlorenapardo
 
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionalesrodrigo
 
Tipos de firewall
Tipos de firewall Tipos de firewall
Tipos de firewall Catha Guzman
 
02 examen diagnóstico bd
02 examen diagnóstico bd02 examen diagnóstico bd
02 examen diagnóstico bdJosé Mendoza
 
Fundamentos de Windows
Fundamentos de WindowsFundamentos de Windows
Fundamentos de Windowsadrima0204
 
Fundamentos de sistemas operativos
Fundamentos de sistemas operativosFundamentos de sistemas operativos
Fundamentos de sistemas operativosuweimardorado
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesosmastermind87
 
Tco mantenimiento de equipos de computo v2
Tco mantenimiento de equipos de computo v2Tco mantenimiento de equipos de computo v2
Tco mantenimiento de equipos de computo v2CRACMA ACU
 
Dispositivos de entrada y salida
Dispositivos de entrada y salidaDispositivos de entrada y salida
Dispositivos de entrada y salidakaeslolo
 
Software Libre,Software No Libre Y Licencias.
Software Libre,Software No Libre Y Licencias.Software Libre,Software No Libre Y Licencias.
Software Libre,Software No Libre Y Licencias.lorenza espinoza
 
327 introducción a la ingenieria de sistemas (1er libro)
327   introducción a la ingenieria de sistemas (1er libro)327   introducción a la ingenieria de sistemas (1er libro)
327 introducción a la ingenieria de sistemas (1er libro)rbrosabelen
 
LA RELACION DE LA QUIMICA CON OTRAS DISCIPLINAS CIENTIFICAS Y TECNOLOGICAS
LA RELACION DE LA QUIMICA CON OTRAS DISCIPLINAS CIENTIFICAS Y TECNOLOGICASLA RELACION DE LA QUIMICA CON OTRAS DISCIPLINAS CIENTIFICAS Y TECNOLOGICAS
LA RELACION DE LA QUIMICA CON OTRAS DISCIPLINAS CIENTIFICAS Y TECNOLOGICASINSTITUTO TECNOLÓGICO DE SONORA
 
Relacion de la quimica con otras materias
Relacion de la quimica con otras materiasRelacion de la quimica con otras materias
Relacion de la quimica con otras materiasAlejandro GH
 
Dispositivo de entrada y salida de la pc
Dispositivo de entrada y salida de la pcDispositivo de entrada y salida de la pc
Dispositivo de entrada y salida de la pcdamian
 

Destacado (20)

Fundamentos de los sistemas operativos
Fundamentos de los sistemas operativosFundamentos de los sistemas operativos
Fundamentos de los sistemas operativos
 
Facturacion en salud
Facturacion en saludFacturacion en salud
Facturacion en salud
 
Sistemaoperativos lared-martinez
Sistemaoperativos lared-martinezSistemaoperativos lared-martinez
Sistemaoperativos lared-martinez
 
Clase 01 - Fundamentos de Adm. Operaciones
Clase 01 - Fundamentos de Adm. OperacionesClase 01 - Fundamentos de Adm. Operaciones
Clase 01 - Fundamentos de Adm. Operaciones
 
JUEGO DIDACTICO
JUEGO DIDACTICOJUEGO DIDACTICO
JUEGO DIDACTICO
 
Sistema operativo y sus lenguajes de programacion
Sistema operativo y sus lenguajes de programacionSistema operativo y sus lenguajes de programacion
Sistema operativo y sus lenguajes de programacion
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
 
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
10 Conceptos BáSicos De IngenieríA En Sistemas Computacionales
 
Tipos de firewall
Tipos de firewall Tipos de firewall
Tipos de firewall
 
02 examen diagnóstico bd
02 examen diagnóstico bd02 examen diagnóstico bd
02 examen diagnóstico bd
 
Fundamentos de Windows
Fundamentos de WindowsFundamentos de Windows
Fundamentos de Windows
 
Fundamentos de sistemas operativos
Fundamentos de sistemas operativosFundamentos de sistemas operativos
Fundamentos de sistemas operativos
 
Sincronizacion de Procesos
Sincronizacion de ProcesosSincronizacion de Procesos
Sincronizacion de Procesos
 
Tco mantenimiento de equipos de computo v2
Tco mantenimiento de equipos de computo v2Tco mantenimiento de equipos de computo v2
Tco mantenimiento de equipos de computo v2
 
Dispositivos de entrada y salida
Dispositivos de entrada y salidaDispositivos de entrada y salida
Dispositivos de entrada y salida
 
Software Libre,Software No Libre Y Licencias.
Software Libre,Software No Libre Y Licencias.Software Libre,Software No Libre Y Licencias.
Software Libre,Software No Libre Y Licencias.
 
327 introducción a la ingenieria de sistemas (1er libro)
327   introducción a la ingenieria de sistemas (1er libro)327   introducción a la ingenieria de sistemas (1er libro)
327 introducción a la ingenieria de sistemas (1er libro)
 
LA RELACION DE LA QUIMICA CON OTRAS DISCIPLINAS CIENTIFICAS Y TECNOLOGICAS
LA RELACION DE LA QUIMICA CON OTRAS DISCIPLINAS CIENTIFICAS Y TECNOLOGICASLA RELACION DE LA QUIMICA CON OTRAS DISCIPLINAS CIENTIFICAS Y TECNOLOGICAS
LA RELACION DE LA QUIMICA CON OTRAS DISCIPLINAS CIENTIFICAS Y TECNOLOGICAS
 
Relacion de la quimica con otras materias
Relacion de la quimica con otras materiasRelacion de la quimica con otras materias
Relacion de la quimica con otras materias
 
Dispositivo de entrada y salida de la pc
Dispositivo de entrada y salida de la pcDispositivo de entrada y salida de la pc
Dispositivo de entrada y salida de la pc
 

Similar a Fundamento de sistema operativo

Actividad de Reconocimineto
Actividad de ReconociminetoActividad de Reconocimineto
Actividad de ReconociminetoSergio Salcedo
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacionStradaRvc
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacionpaoalejaipiespa
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacionnasmutha1996
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacionALVARO15TORO
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacionk4ritho
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacionOliver Caicedo
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion16day
 
Syllabus procesos y_calidad_periodo_2013_i (1)
Syllabus procesos y_calidad_periodo_2013_i (1)Syllabus procesos y_calidad_periodo_2013_i (1)
Syllabus procesos y_calidad_periodo_2013_i (1)MARCO POLO SILVA SEGOVIA
 
Diseño logico 5°
Diseño logico 5°Diseño logico 5°
Diseño logico 5°Josue Lopez
 
Programa 2014 intr informática-bioingenieria-final
Programa 2014  intr informática-bioingenieria-finalPrograma 2014  intr informática-bioingenieria-final
Programa 2014 intr informática-bioingenieria-finalObstetricia Unvime
 

Similar a Fundamento de sistema operativo (20)

358pc
358pc358pc
358pc
 
Actividad de Reconocimineto
Actividad de ReconociminetoActividad de Reconocimineto
Actividad de Reconocimineto
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
 
S.O. Sesión 01 Encuadre
S.O. Sesión 01 EncuadreS.O. Sesión 01 Encuadre
S.O. Sesión 01 Encuadre
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
 
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion5 gfpi f-019-formato_guia_de_aprendizaje-programacion
5 gfpi f-019-formato_guia_de_aprendizaje-programacion
 
Guía 5
Guía 5Guía 5
Guía 5
 
Syllabus procesos y_calidad_periodo_2013_i (1)
Syllabus procesos y_calidad_periodo_2013_i (1)Syllabus procesos y_calidad_periodo_2013_i (1)
Syllabus procesos y_calidad_periodo_2013_i (1)
 
Tp336 2015-1
Tp336 2015-1Tp336 2015-1
Tp336 2015-1
 
Guia5
Guia5Guia5
Guia5
 
Guia5
Guia5Guia5
Guia5
 
Guia5
Guia5Guia5
Guia5
 
Guia5
Guia5Guia5
Guia5
 
Guia5
Guia5Guia5
Guia5
 
Diseño logico 5°
Diseño logico 5°Diseño logico 5°
Diseño logico 5°
 
Programa 2014 intr informática-bioingenieria-final
Programa 2014  intr informática-bioingenieria-finalPrograma 2014  intr informática-bioingenieria-final
Programa 2014 intr informática-bioingenieria-final
 

Fundamento de sistema operativo

  • 1. !"#$%&'#()*+$'+,)*+ -.*('&%*+/0'1%(.2)*+ + 3"4%+$'+,%+ %*.5#%("1%+ + 6"1*)+789:;< Escuela de Ingeniería Informática
  • 2.
  • 3. ste documento es una breve guía de la asignatura de Fundamentos de los Sistemas Operativos, del segundo curso del Grado en Ingeniería Informática impartido por la ULPGC. Su propósito es informar al estudiante sobre todo aquello que se ha considerado esencial para un feliz transcurso de la asignatura y se le ofrece como punto de partida imprescindible. Incluye el programa de la asignatura, el sistema de evaluación, la planificación del curso y las referencias al resto de la documentación necesaria. Esta guía se encuentra disponible en la web de la asignatura (http://sopa.dis.ulpgc.es/fso). Contenido 1.!Presentación 2! 2.!Contenidos teóricos 3! 3.!Contenidos prácticos 3! 4.!Evaluación 5! 5.!Instalaciones 7! 6.!Profesorado 8! 7.!Material didáctico 8! 8.!Bibliografía básica 10! 9.!Bibliografía complementaria 11! 10.!Temario detallado 13! 11.!¡No olvidar! 14! E
  • 4. 2 - Sistemas Operativos 1. Presentación El sistema operativo es una parte esencial dentro de un sistema informático. Administra los recursos del sistema y ofrece un entorno de programación y operación a los usuarios, permitiendo trabajar con la máquina de forma cómoda y eficaz. Es imprescindible que un titulado universitario en Informática conozca los conceptos fundamentales vinculados a los sistemas operativos, sus funciones, su estructura y su implementación. En consecuencia, el Grado en Ingeniería Informática de la ULPGC contiene esta asignatura de Fundamentos de los Sistemas Operativos, que se imparte en el segundo cuatrimestre del segundo año y con una carga docente presencial de sesenta horas (treinta horas teóricas más treinta prácticas). 1.1 Objetivos de formación Desde un punto de vista teórico esta asignatura pretende formar al estudiante para que éste conozca la estructura general, funciones y principios de diseño de los sistemas operativos. La práctica de esta asignatura irá encaminada a consolidar los conocimientos teóricos impartidos en el aula. Las simulaciones ayudarán al estudiante a entender las políticas de gestión de recursos propias del sistema operativo. El estudiante se adiestrará en programación de sistemas mediante la utilización de la API del sistema operativo y el software del sistema, usando para ello el entorno de programación del lenguaje C bajo Unix (Linux). En suma, los objetivos docentes de Fundamentos de los Sistemas Operativos son: Conceptos generales sobre sistemas operativos ! estructura ! funciones ! diseño Programación de sistemas ! Operación y programación en entorno Unix/Linux ! Programación básica en lenguaje C 1.2 Requisitos académicos Para cursar esta asignatura se requieren conocimientos de organización de computadoras y de informática general a un nivel elemental. También es preciso un dominio básico de las técnicas de programación estructurada. Por otro lado, el estudiante tendrá que manejar inevitablemente documentación técnica en inglés, por lo que es importante tener un nivel intermedio (B1) de comprensión lectora en este idioma.
  • 5. Guía de la asignatura - 3 2. Contenidos teóricos Las clases teóricas comprenderán las siguientes unidades temáticas, que se impartirán en este orden: 1. Conceptos sobre sistemas operativos 2. Procesos 3. Concurrencia 4. Memoria 5. Archivos Al final de esta guía se muestra el temario detallado de la asignatura. Los textos por los que se seguirá la parte teórica son: • Fundamentos de Sistemas Operativos: Teoría y ejercicios resueltos, de S. Candela, R. García, A. Quesada, F. Santana, J.M. Santos. • Sistemas Operativos, de A. Silberschatz y P. Galvin. 3. Contenidos prácticos Las explicaciones teóricas se apoyarán en una serie de actividades prácticas que pretenden afianzar los conocimientos recibidos y que irán dirigidas a consolidar las competencias de la asignatura mediante estos cuatro enfoques: • Uso del SO. Adquirir competencia en programación de sistemas mediante la utilización de la API del sistema operativo y el software del sistema. • Simulaciones. Entender las políticas de gestión de recursos propias del sistema operativo a través de simulaciones. • Diseño del SO. Desarrollar componentes de software análogos. • Estudiar el mercado. Profundizar en el conocimiento aplicado de los conceptos de la asignatura a través de trabajos de investigación sobre las tecnologías, sistemas y productos que ofrece el mercado. Los tres primeros enfoques se materializarán en actividades tutorizadas que el estudiante realizará en el laboratorio y/o en su casa. Se procurará que los requisitos técnicos del puesto de trabajo y del software permitan la ejecución de los trabajos desde el domicilio del estudiante y con un equipo informático convencional. En este sentido se favorecerá el empleo de software libre y contenidos abiertos. El cuarto enfoque, estudios de mercado, se desarrollará como trabajos tutorizados a partir del material que se trate en las clases teóricas. Las actividades se desarrollarán en equipos de trabajo de entre dos y ocho estudiantes dependiendo de las características de la actividad. En el caso general se evitará la realización de actividades individuales aunque para atender adecuadamente a los estudiantes con requisitos especiales se dará la posibilidad del trabajo individual con alguna penalización. En todos los casos las actividades requerirán sesiones tutorizadas para que el profesor pueda conocer, guiar y evaluar el trabajo en curso.
  • 6. 4 - Sistemas Operativos 3.1 Actividades prácticas previstas Las prácticas consistirán en actividades tutorizadas en el laboratorio más algunas tareas que se propondrán para que el alumno las resuelva por su cuenta, a modo de autoevaluación. Las actividades prácticas previstas abarcarán estos tópicos: • Operación en un entorno multiprogramado y multisuario. • Uso de herramientas de desarrollo para lenguaje C. • Uso de las llamadas del sistema operativo. • Manejo de procesos e hilos. • Mecanismos de sincronización y comunicación entre procesos. • Resolución de problemas básicos de concurrencia. • Análisis e implementación de políticas de gestión de memoria. • Manejo de archivos. Este conjunto de tópicos no constituyen una lista exhaustiva de trabajos. De esta lista se extraerá un subconjunto para cada grupo de trabajo. Las actividades prácticas propuestas como obligatorias deben superarse para aprobar la asignatura. Adicionalmente se pueden proponer trabajos prácticos de carácter opcional. Los trabajos se presentarán a lo largo del semestre en sucesivas entregas, en los plazos que se establezcan. Las entregas se harán a través de Moodle, y deberán incluir, al menos, el código fuente y una pequeña memoria/informe. Estas entregas deberán ser defendidas ante el profesor. En el caso de que las entregas no se presenten en los plazos establecidos, los estudiantes tendrán la opción de entregarlas al final del semestre, en el plazo que se indicará en su momento. Si el estudiante opta por la entrega de final de semestre, además de superar las prácticas entregadas, deberá realizar un examen práctico en el laboratorio. 3.2 Prácticas en grupo Las actividades que tienen como fin el adiestramiento con las herramientas (Linux, lenguaje C y compilación) se pueden desarrollar de forma individual. Sin embargo, los trabajos obligatorios se realizarán en grupos de dos o tres personas, ya que uno de los objetivos de las actividades prácticas es la de fomentar el trabajo en equipo. Los grupos se configurarán a voluntad de los propios estudiantes, siempre que pertenezcan al mismo turno de prácticas. Piénsenlo bien antes de elegir a su compañero, puesto que no se permiten separaciones ni fusiones de grupos una vez que están formados. 3.3 Repetidores De acuerdo con la normativa de la ULPGC, los estudiantes que repiten la asignatura no tendrán que volver a realizar los trabajos prácticos que ya hubieran superado con éxito en cursos anteriores. Cada uno de estos trabajos se considerará aprobado con idéntica nota a la que se obtuvo en su momento.
  • 7. Guía de la asignatura - 5 3.4 Turnos de prácticas De acuerdo con los procedimientos de la ULPGC, cada estudiante es asignado a un turno de asistencia a prácticas en el momento de la matriculación. En caso de que deseen cambiar de turno una vez comenzada la actividad docente, tendrán que solicitarlo formalmente en la Administración del Edificio de Informática y Matemáticas. 4. Evaluación La evaluación se realizará mediante tres sistemas básicos: 1. Habrá exámenes escritos y también la posibilidad de celebrar pruebas prácticas para evaluar la adquisición de habilidades prácticas. 2. Las actividades prácticas se evaluarán por el proceso y por el resultado. El resultado de cada trabajo debe materializarse en un entregable escrito (código fuente más informe/memoria) y además debe ser expuesto de forma oral. Se evaluará la expresión escrita y oral de estos entregables y exposiciones. En cuanto al proceso se evaluará la capacidad para buscar, sintetizar y producir información y conocimiento; la capacidad para marcar objetivos de trabajo y cumplirlos en tiempo y forma; y las habilidades de trabajo en equipo tanto con los compañeros como con el tutor. 3. La calificación del alumno también abarcará elementos de evaluación continua del estudiante tales como: • Participación en las preguntas y ejercicios planteados en las sesiones presenciales o en el Campus Virtual. • Sugerencias de corrección o mejora en el material didáctico de la asignatura. • Aportaciones críticas a los contenidos de la asignatura y a la metodología de trabajo. • Participación en las discusiones en el aula y en laboratorio, en especial como iniciador de la discusión o como solucionador. • Aportaciones positivas al proceso de aprendizaje de otros compañeros. 4.1 Exámenes teóricos Cuando se haya impartido en torno a la mitad de la materia de teoría se celebrará un examen parcial, cuyo peso en la nota de teoría será del 50%. Habrá un examen de convocatoria en junio, según lo dispuesto oficialmente. El examen de junio se dividirá en dos partes: la primera para aquellas personas que no hayan aprobado el parcial y la segunda, constituida por la materia que no pertenezca al primer parcial. Para poder aprobar la teoría en junio es necesario aprobar las dos partes. Las calificaciones obtenidas en junio en cada una de las partes teóricas NO se guardan para posteriores convocatorias. 4.2 Trabajos prácticos Los trabajos prácticos obligatorios serán evaluados mediante la revisión de las memorias y defensas. Los integrantes de un grupo de prácticas habrán de
  • 8. 6 - Sistemas Operativos completar con éxito todos los trabajos obligatorios en las fechas que los profesores determinen. La asignatura prevé la realización de trabajos optativos para subir nota (hasta un 10% adicional). 4.3 Calificación final La calificación final se calculará según la siguiente tabla: Ponderación Exámenes teóricos 70% Trabajos prácticos obligatorios 30% Trabajos prácticos optativos 10% Evaluación continua y otros 10% La calificación final resultará de aplicar estos porcentajes a la nota obtenida en exámenes, trabajos prácticos y en su caso, a la evaluación continua. Para aprobar la asignatura habrá que obtener más del 50% de la nota máxima de cada uno de los trabajos obligatorios y de los dos exámenes de teoría. La nota de teoría será la media aritmética de las notas de los exámenes de teoría, una vez que se hayan aprobado cada una de las partes. Aunque los porcentajes suman un 120%, nunca se podrá obtener más de un 10 en la nota final. El 20 % adicional está concebido para que el estudiante pueda mejorar su calificación una vez que ha alcanzado la nota mínima para aprobar. A continuación se muestra el algoritmo detallado de cálculo de la calificación en la asignatura. En caso de discrepancia de interpretación entre la especificación algorítmica y lo expresado en los párrafos anteriores prevalecerá el algoritmo. NT = nota de teoría NP = nota de prácticas obligatorias NPV = nota de práctica/s optativa/s NA = nota adicional (evaluación continua y otros) NFSA = nota final sin ajustar = ( 70!NT + 30!NP + 10!NPV + 10!NA ) / 100 NFA = nota final ajustada (la que va al acta) que se obtiene así: si NT >= 5 y NP >= 5: NFA = MIN(10, NFSA) si NT <= 3 o NP <= 3: NFA = MIN(3, NFSA) en otro caso: NFA = MIN(4, NFSA) 4.4 Criterios de evaluación. Tipo de exámenes Se pretende evaluar en el alumno la consecución de los objetivos docentes de la asignatura, principalmente el dominio de los conceptos fundamentales sobre sistemas operativos. Los exámenes estarán diseñados de tal forma que se abarque la mayor cantidad posible de material temático, a fin de explorar los conocimientos
  • 9. Guía de la asignatura - 7 globales que tenga el alumno. Muchas preguntas tratarán de relacionar conceptos de temas diferentes. La costumbre de los últimos años ha sido que la duración de un examen está en torno a las tres horas y media. En los pasados cursos casi siempre los exámenes contuvieron varias preguntas de desarrollo, preguntas de respuesta corta, algún desarrollo algorítmico y un test con cuestiones generales. Los trabajos prácticos se evaluarán de acuerdo con criterios de calidad del programa, tanto de su diseño general como de su implementación y documentación; además, se valorarán parámetros como la creatividad y la calidad de la defensa que el grupo haga de su trabajo. Los criterios de evaluación de prácticas se adjuntarán a la documentación que se entregará en su momento. No está de más remarcar que a cualquier alumno universitario se le presupone un adiestramiento previo en varias disciplinas, como son: la capacidad para comprender un texto escrito; expresarse con corrección, precisión y claridad; y en general un bagaje formativo cuya carencia repercutirá en la calificación definitiva en la asignatura. 5. Instalaciones Las clases teóricas se impartirán en las aulas correspondientes del Edificio de Informática y Matemáticas. Para realizar los trabajos prácticos, se dispone del Laboratorio de Sistemas Operativos (2-2). El laboratorio cuenta con un servidor de altas prestaciones y una red local de una veintena de PC que tienen instalado el sistema Linux (distribución CentOS). La naturaleza de los trabajos prácticos permite que éstos se realicen en cualquier equipo con Linux, así que quien lo desee podrá implementarlos en equipos ajenos al laboratorio 2-2. En cualquier caso, la revisión de los trabajos se hará en las máquinas del Departamento de Informática y Sistemas. Cada estudiante dispondrá de una cuenta de usuario exclusiva del Laboratorio de Sistemas Operativos. A comienzos del semestre se comunicará cómo pueden obtener su usuario y contraseña. Con su cuenta de usuario, el estudiante podrá si lo desea acceder de forma remota al servidor del Laboratorio de SO (sopa.dis.ulpgc.es), con un cliente SSH.
  • 10. 8 - Sistemas Operativos 6. Profesorado Alexis Quesada Arencibia Coordinador Despacho 1-8 Tlfs. 928 454 572 / 928 457 108 Correo: aquesada@dis.ulpgc.es Francisco J. Santana Pérez Responsable de prácticas Despacho S-5 Tlf. 928 458 745 Correo: fsantana@dis.ulpgc.es José Miguel Santos Espino Profesor de teoría/prácticas Despacho 3-2 Tlf. 928 458 742 Correo: josemiguel.santos@ulpgc.es Eduardo Rodríguez Barrera Profesor de teoría/prácticas Despacho seminario-10 Tlf. 928 459 862 Correo: erodriguez@dis.ulpgc.es Los horarios de tutoría y atención al alumnado estarán publicados en los despachos respectivos de los profesores, en Moodle y en la página web de la asignatura. Es recomendable acordar previamente una cita con el profesor. Los profesores atenderán gustosamente consultas por correo electrónico. 7. Material didáctico En la asignatura de Fundamentos de los Sistemas Operativos se cuenta con fuentes documentales de todo tipo, que podemos clasificar en: Bibliografía básica y complementaria Guías teóricas y prácticas Material para las prácticas Servicios de información en línea Seguidamente se explicará cada una de estas fuentes, aunque a la bibliografía se la tratará con más detenimiento en posteriores secciones. 7.1 Bibliografía básica y complementaria La bibliografía básica de una asignatura son aquellos textos fundamentales que bastan para que el alumno tenga una visión completa de los contenidos de aquélla. En la sección de bibliografía básica se incluyen libros sobre sistemas operativos en general y literatura conveniente para los objetivos prácticos de la asignatura (programación y operación en Unix, programación en C). Véase a partir de la página 10. La bibliografía complementaria es el conjunto de textos accesorios, no imprescindibles, que sin embargo son útiles para profundizar en aspectos particulares de la asignatura. En la página 11 comienza una relación de títulos que se pueden considerar bibliografía complementaria. 7.2 Guías teóricas y prácticas Durante el curso los profesores entregarán material diverso para seguir las clases teóricas y prácticas. Por ejemplo, hay disponibles transparencias para cada unidad
  • 11. Guía de la asignatura - 9 teórica. Para las prácticas se suministrará material variado, p.ej. trípticos con las órdenes comunes de UNIX, etc. También pueden encontrar material multimedia, por ejemplo tutoriales en vídeo de determinados tópicos de la asignatura. 7.3 Material para el laboratorio La documentación que se suministra para las actividades prácticas y el uso del laboratorio incluye, entre otras cosas: • Fichas de prácticas • Manuales de operación y programación en entorno Unix • Manuales de programación en C • Textos de los trabajos prácticos 7.4 Servicios en línea Desde 1994, la asignatura dispone de servicios online para apoyar al estudiante. El actual servicio web está accesible en http://sopa.dis.ulpgc.es/fso/. En él se puede encontrar material didáctico de todo tipo, como las guías de la asignatura, las presentaciones utilizadas en las sesiones teóricas, material de prácticas, textos y soluciones de exámenes (ya celebrados, por supuesto) y videotutoriales sobre algunos tópicos de la asignatura. Toda esta información es de acceso público. A través del Campus Virtual de la ULPGC también se podrá acceder a algunos de esos contenidos, así como utilizar los recursos para la participación del estudiante y la evaluación de los trabajos. Por ejemplo, los trabajos prácticos se entregarán mediante una tarea Moodle. El servidor web sopa.dis.ulpgc.es, por tanto, servirá de «biblioteca» de la asignatura, mientras que el Moodle será el «aula virtual» en la que estudiantes y profesores participarán en el desarrollo de la asignatura. Para acceder al Moodle deberán ir a http://mi.ulpgc.es, introducir su usuario (DNI sin letra) y contraseña (la misma que emplean para el correo institucional) y dentro del apartado «Mi Campus Virtual», «Enseñanzas de grado y posgrado. Curso 2013/2014» deberán encontrar una entrada para la asignatura de Fundamentos de los Sistemas Operativos. Si no es así, es posible que aún no figuren matriculados en la asignatura en el Campus Virtual: contacten con la Administración del Edificio. 7.5 Comunicaciones oficiales Los comunicados oficiales de la asignatura se enviarán siempre a través del Moodle, por ejemplo los anuncios de fechas de entrega, las calificaciones, eventos, imprevistos, etc. El correo electrónico y el Moodle serán los medios de comunicación preferentes para esta clase de comunicados. Esto quiere decir que los estudiantes deberán visitar el Moodle con frecuencia, y consultar habitualmente su cuenta de correo de estudiante en la ULPGC (la que tiene el dominio @alu.ulpgc.es o @estudiantes.ulpgc.es).
  • 12. 10 - Sistemas Operativos 8. Bibliografía básica La bibliografía básica es el conjunto de libros que bastan para el aprendizaje completo de la asignatura, según los temarios teórico y práctico; a continuación se presentarán indicando para cada una su título, autor y editorial, más un breve comentario. De todas estas obras existen ejemplares suficientes en la Biblioteca del Edificio de Informática y Matemáticas. 8.1 Sistemas operativos Los siguientes libros engloban la práctica totalidad del temario de la asignatura. Aunque existen suficientes ejemplares en biblioteca, no es mala inversión adquirir uno de ellos para que engrose las estanterías del estudiante. FUNDAMENTOS DE SISTEMAS OPERATIVOS: TEORÍA Y EJERCICIOS RESUELTOS S. Candela, R. García, A. Quesada, F. Santana, J.M. Santos Thomson Paraninfo, 2007 Este libro es fruto de la experiencia acumulada por los profesores del Departamento de Informática y Sistemas de la ULPGC, que durante más de dos décadas han impartido las asignaturas de Sistemas Operativos en las ingenierías en Informática. Esta obra contiene, además del contenido teórico, una selección de preguntas y ejercicios resueltos que abarcan todo el temario de la asignatura y que pueden ser utilizadas por los estudiantes para afianzar sus conocimientos a través de la autoevaluación. SISTEMAS OPERATIVOS (SÉPTIMA EDICIÓN) A. Silberschatz, P. Galvin McGraw-Hill, 2006 El llamado libro de los dinosaurios es un texto esencial en Sistemas Operativos, que cubre la mayor parte de los temas de la asignatura. Imprescindible como libro de texto. Aunque ponemos como referencia la séptima edición, ediciones anteriores a partir de la cuarta sirven perfectamente para seguir la asignatura. 8.2 Operación en el sistema UNIX Como complemento al adiestramiento que se recibirá en las clases prácticas, se recomiendan estas obras: GUÍA DE OPERACIÓN EN UNIX J. M. Santos Servicio de publicaciones EUI, 1996 Trata a un nivel introductorio-medio la operación en el entorno UNIX, llegando a nociones sobre la programación de shell scripts. El libro se complementa con los trípticos o chuletas que se entregarán en las clases prácticas.
  • 13. Guía de la asignatura - 11 EDICIÓN ESPECIAL LINUX (CUARTA EDICIÓN) J. Tackett y S. Burnett Prentice-Hall, 2000 Un libro que cubre la instalación, la administración y el uso cotidiano de sistemas Linux. 8.3 Programación en C Este es un título válido para el aprendizaje del lenguaje C que es necesario en la asignatura: C: MANUAL DE REFERENCIA H. Schildt McGraw-Hill, 2001 Ideal para el aprendizaje del lenguaje C, explica tanto las características del mismo como bastantes funciones de biblioteca. 9. Bibliografía complementaria En esta sección se incluyen textos que, o bien sirven para profundizar en materias de la asignatura, o bien son referencias concretas para algunos temas no suficientemente cubiertos por la bibliografía básica. 9.1 Fundamentos de sistemas operativos Los siguientes títulos abarcan todo el temario de la asignatura y se podrían emplear como libros de texto alternativos al recomendado. SISTEMAS OPERATIVOS: ASPECTOS INTERNOS Y PRINCIPIOS DE DISEÑO (QUINTA EDICIÓN) W. Stallings Prentice Hall, 2005 SISTEMAS OPERATIVOS: TEORÍA Y PROBLEMAS Joaquín Aranda Almansa... [et al.] Sanz y Torres, 2002 SISTEMAS OPERATIVOS. UNA VISIÓN APLICADA (SEGUNDA EDICIÓN) J. Carretero, P. De Miguel, F. García y F. Pérez McGraw-Hill, 2007 9.2 Programación concurrente PROGRAMACIÓN CONCURRENTE José Tomás Palma Méndez, María del Carmen Garrido Carrera, Fernando Sánchez Figueroa, Alexis Quesada Arencibia Thomson, 2003 Un texto básico para entender los aspectos de la concurrencia que se explican en la asignatura.
  • 14. 12 - Sistemas Operativos CONCURRENT PROGRAMMING A.Burns, G. Davies Addison-Wesley, 1993 Un texto básico para entender los aspectos de la concurrencia que se explican en la asignatura, en particular los capítulos 1, 2, 3, 6 y 7. PRINCIPLES OF CONCURRENT AND DISTRIBUTED PROGRAMMING M. Ben-Ari Prentice-Hall, 1990 Un texto clásico sobre concurrencia. Los primeros capítulos cubren el área temática de concurrencia de la asignatura.
  • 15. Guía de la asignatura - 13 10. Temario detallado Este es el temario teórico de la asignatura, con un mayor nivel de detalle en sus contenidos. 1. Conceptos sobre sistemas operativos • El sistema operativo como interfaz: API, llamadas al sistema, CLI, GUI, recursos virtuales. • El sistema operativo como administrador de recursos: procesos y recursos; políticas de gestión; objetivos de eficiencia, seguridad y equidad; interbloqueo e inanición. • Tipos de sistemas informáticos. • Arquitectura del hardware para el SO: sistema de interrupciones, excepciones, modo dual de operación, jerarquía de memorias. • Componentes del sistema operativo: programas del sistema, núcleo, shell; arquitecturas de núcleos; máquinas virtuales. 2. Procesos • Sistemas multitarea: estados de un proceso; colas; cambio de contexto; niveles de planificación. • Servicios: procesos pesados e hilos; llamadas al sistema usuales. • Planificación del procesador: políticas básicas (FCFS, SJF, Round Robin, prioridades); evaluación de las políticas; métodos multicolas; multiprocesadores. 3. Concurrencia • Programación concurrente: especificación algorítmica; beneficios para el programador. • Propiedades de los sistemas concurrentes: no determinismo; necesidad de sincronización; acciones atómicas. • El problema de la sección crítica. • Sincronización: problemas clásicos; semáforos; técnicas de solución de problemas de sincronización.
  • 16. 14 - Sistemas Operativos 4. Memoria • Elementos comunes: fragmentación; gestión del espacio libre; protección; espacios de direcciones lógicos y físicos; traducción de direcciones y MMU. • Gestión de memoria contigua: enlace dinámico; políticas de gestión del espacio libre; intercambio (swapping). • Gestión de memoria no contigua: segmentación; paginación; TLB; compartición y protección de zonas de memoria. • Memoria virtual: paginación por demanda; algoritmos de reemplazo; modelo del área activa (working set). 5. Archivos • Interfaz del sistema: estructura y atributos de los ficheros; operaciones sobre ficheros; métodos de acceso; organización en directorios. • Implementación del sistema: estructura de un sistema de ficheros; políticas de asignación de espacio a archivos; implementación de directorios; cachés; planificación de operaciones de E/S. 11. ¡No olvidar! • Consultar el buzón de correo institucional (@estudiantes.ulpgc.es) • Visitar frecuentemente el Moodle de la asignatura. • Actualizar el perfil de usuario de Moodle con una foto «reconocible».