ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
Portafolio de so en pdf
1. Universidad Gerardo Barrios
Facultad de Ciencia y Tecnología
Técnico en Ingeniería en Sistemas y Redes Informáticas
Campus Usulután
Estudiante:
Nelson Amílcar Márquez Velásquez.
USTS197615.
Asignatura:
Matemática Computacional
Docente:
Lic.: Carla Milagro López Vásquez.
Actividad:
Elaboración de un portafolio
Fecha de Entrega:
Usulután, 06 de Mayo de 2015.
3. ¿Qué es un sistema operativo?
•Es un conjunto de órdenes y programas que controlan
los procesos básicos de una computadora y permiten el
óptimo funcionamiento de otros programas.
•Es el software básico de una computadora que provee
una interfaz entre el resto de programas, el hardware y
los usuarios.
4. ¿Cómo funciona un sistema operativo?
•Generan una plataforma encima de la cual las
aplicaciones pueden funcionar, por lo tanto, la elección
del sistema operativo determina en grandes medidas las
aplicaciones que puedes usar.
5. Historia de los sistemas operativos.
•Los sistemas operativos fueron creados para facilitar y
ampliar las posibilidades de uso del hardware, pero
estos a su vez pusieron en evidencia la necesidad de
cambios en los equipos para facilitar su actividad y
brindar mayores posibilidades.
6. Primera Generación.
•La primera generación (1945-1955) corresponde a los
primeros equipos, construidos con válvulas de vacío.
•En esta etapa no existieron sistemas operativos.
Segunda Generación.
•La segunda generación (1955-1965) corresponde a la
etapa a los equipos que estaban basados en el uso de los
transistores.
•Eran más confiables y más duraderos.
•Desde el punto de vista de los sistemas operativos se
tiene el uso de monitores simples.
7. •Sistemas de Operación de esta etapa son el FMS
(Fortran Monitor Sistema) y el IBSYS de la 7094.
Transistores.
Tercera Generación.
•La tercera generación (1965-1980) se caracterizó por la
utilización de circuitos integrados. •Los sistemas
operativos vinculados a esta etapa introdujeron los
conceptos de la multiprogramación. •También
8. corresponde a esta etapa la aparición del tiempo
compartido.
Circuitos integrados.
•En esta etapa no pueden dejar de mencionarse los
sistemas de operación OS/360 y Multicas.
•Aquí surgen las primeras versiones del Unix.
Cuarta Generación.
9. •La cuarta generación (1980-1990) surge con los
circuitos integrados de alta integración y por ello
aparecen en el mercado las computadoras personales.
•Esta etapa la dominan sistemas operativos MS-DOS y
el Unix.
Quinta Generación.
•El actual desarrollo de los sistemas operativos basados
en GUI (GraphicUser Interface) y la incorporación de
orientación a objetos así como el soporte multimedia, es
suficientemente fuerte para hablar de la quinta
generación de los sistemas operativos.
10. Sistemas Operativos más comunes.
Familia Windows:
•Windows 95, Windows 98, Windows ME, Windows
NT, Windows 2000, Windows 2000 Server, Windows
XP, Windows Server 2003, Windows CE, Windows
Mobile, Windows Vista, Windows 7, Windows 8,
Windows 8.1, Windows 10.
Sistemas Operativos más
comunes.
Familia Macintosh:
•Mac OS 7, Mac OS 8, Mac OS 9, Mac OS X.
11. Sistemas Operativos más comunes.
Familia Unix:
•AIX, AMIX, GNU/Linux, GNU/Herd, HP-UX, Iris,
Minx, System V, Solaris, UnixWare.
Clasificación de los Sistemas Operativos.
Multiusuario. Permite que dos o mas
usuarios utilicen sus
programas al mismo tiempo
Multiprocesador. Soporta abrir un programa
más de una vez.
Multitarea. Permite que varios
programas se ejecuten al
mismo tiempo.
12. Multigrano. Permite que diversas partes
de un solo programa
funcionen al mismo tiempo
Tiempo real. Responde alas entradas
inmediatas.
Tareas.
•Glosario de términos.
•Investigar la Clasificación de los sistemas operativos.
•Elaborar un esquema de llaves que refleje de forma
ordenada la clasificación de los sistemas operativos.
•Análisis de la película: Los piratas de Silicón Valley.
13. Clasificación de los sistemas operativos.
• Tipos de Sistemas Operativos.
• Primeros Sistemas.
• Sistemas por lotes.
• Multiprogramación.
• Sistemas de tiempo compartido.
• Sistemas de ordenadores personales.
• Sistemas paralelos-multiprocesadores.
• Sistemas distribuidos.
• Sistemas en tiempo real.
• Tendencias actuales y futuras en sistemas
operativos.
PRIMEROS SISTEMAS.
Caracterización. Organización
del trabajo.
Mejoras. Desventajas.
14. Gran tamaño y
ejecución
desde panel de
control.
Un solo
usuario en
cada
momento.
Operaciones:
establecer
inicio, activar
ejecución,
vigilar
ejecución.
*Físicas:
lectores de
tarjetas,
impresoras y
cintas
magnéticas.
*Reutilización
de código:
Bibliotecas de
funciones
comunes.
*Desarrollo de
ensambladores,
compiladores y
cargadores
para facilitar las
tareas de
programación.
*Drivers o
subrutinas
especiales para
cada
dispositivo de
E/S.
*Máquina
parada
mucho
tiempo en el
modo de
trabajo.
*Error podía
implicar
comenzar
de nuevo.
SISTEMAS POR LOTES.
Organización
del trabajo.
Monitor residente. Tarjetas
de
control.
Organización
de la
memoria
para un
monitor
residente.
*Operador
especialista,
minimiza
tiempos de
preparación.
*Reducción de
tiempos por
agrupamiento
en lotes que se
pueden
ejecutar a la
vez.
*Realiza
automáticamente
las acciones.
*tratamiento de
errores.
*Carga y
ejecución
automática de la
siguiente tarea.
Para que
el monitor
residente
sepa qué
programa
ejecutar.
*Cargador,
secuenciado
de trabajos.
*Drivers para
cargador e
intérprete.
*Ventaja:
eliminación
del tiempo de
preparación y
del
secuenciado
manual de
trabajos.
15. El problema de la entrada/salida.
Entrada/Salida muy lenta en comparación con la CPU, lo que indica que la CPU
queda ociosa mucho tiempo esperando la terminación de las operaciones de
entrada/salida.
MULTIPROGRAMACIÓN.
Debido al Spooling (reserva de trabajos en el disco), el sistema
operativo escoge qué trabajo ejecutar a continuación, con el
criterio de mejorar el aprovechamiento de la CPU.
El aspecto más importante de la planificación es la
Multiprogramación, aumentando el aprovechamiento de la CPU.
Siempre habrá varios trabajos en memoria, el sistema operativo
escogerá de entre ellos y lo ejecutará, de tal forma que siempre
haya un trabajo en ejecución.
Si un proceso se bloquea, esperando por la E/S, en la CPU
ejecutamos instrucciones de otro proceso.
Ejecución entrelazada de procesos: concurrencia.
Mayor rendimiento, finalización de los trabajos en menos tiempo.
SISTEMAS DE TIEMPO COMPARTIDO.
¿Por qué surgen?
El usuario no puede interactuar con el
trabajo durante su ejecución.
Solución:
Sistemas multitarea,
apropiados para tareas
cortas, tiempos de respuesta
cortos.
Desventajas:
Perdemos productividad de la
CPU
Ventajas:
Interacción usuario-sistema e
ilusión de que cada usuario tiene
su ordenador particular.
17. SISTEMAS DISTRIBUIDOS.
Características:
El cómputo se reparte entre varios procesadores
conectados en una red.
Cada procesador tiene su propia memoria local,
ahora no comparten memoria ni reloj.
Comunicación entre procesadores a través de líneas
de comunicación, buses de alta velocidad o líneas
telefónicas.
Procesadores de distintos tamaños y funciones.
Escalable hasta millones de procesadores (Internet).
SISTEMAS DISTRIBUIDOS.
18. Ventajas:
Recursos compartidos: accesos remotos,
compartición de archivos, BD distribuidas.
Computación más rápida, carga de trabajo
compartida.
Fiabilidad: tolerancia a fallos por redundancia.
Comunicación: redes.
Desventajas:
Comunicación compleja al no compartir memoria.
Redes de comunicaciones no fiable.
Heterogeneidad de los nodos.
SISTEMA EN TIEMPO REAL.
23. PELÍCULA: LOS PIRATAS DE SILICON VALLEY.
https://vimeo.com/55439991?from=facebook
ESTRUCTURA DE UN SISTEMA OPERATIVO.
Sistemas monolíticos.
• En este modelo, para cada llamada al sistema hay un
procedimiento de servicio que se encarga de la llamada y
la ejecuta.
• Los procedimientos utilitarios hacen cosas que necesitan
varios procedimientos de servicio, como obtener datos de
los programas de usuario.
24. ESTRUCTURA DE UN SISTEMA MONOLÍTICO.
Sistemas de capas.
El primer sistema en capas fue el THE
(TechnischeHogeschoolEindhoven) en Holanda.
25. Microkernels.
La idea básica es lograr una alta confiabilidad al
dividir el sistema operativo en módulos pequeños y
bien definidos, solo uno de los cuales se ejecuta en
modo cerner y el resto se ejecuta como procesos de
usuario ordinarios, sin poder relativamente.
Estructura del sistema minis.
26. Modelo cliente-servidor.
1. Existen dos clases de procesos: los servidores, cada uno
de los cuales proporciona cierto servicio, y los clientes,
que utilizan estos servicios. Este modelo se conoce como
cliente-servidor.
2. La esencia es la presencia de procesos cliente y procesos
servidor.
3. La comunicación entre clientes y servidores se lleva a
cabo comúnmente mediante el paso de mensajes. Para
obtener un servicio, un proceso cliente construye un
mensaje indicando lo que desea y lo envía al servicio
apropiado. Después el servicio hace el trabajo y envía de
vuelta la respuesta. Si el cliente y el servidor se ejecutan
en el mismo equipo se pueden hacer ciertas
optimizaciones, pero en concepto estamos hablando
sobre el paso de mensajes.
Maquinas virtuales.
27. Cada máquina virtual es idéntica al verdadero hardware,
cada una puede ejecutar cualquier sistema operativo que
se ejecute directamente sólo en el hardware.
Distintas máquinas virtuales pueden ejecutar distintos
sistemas operativos.
Unidad 2
Fundamentos de Programación en C.
Historia del Lenguaje C y Otros.
Historia del Lenguaje C.
Nació en los laboratorios Bell de AT&T y ha sido asociado con el sistema
operativo UNIX, ya que fue creado en este sistema.
Fue creado entre los años 1970 y 1972 por Brian Jeringan y Dennis Ricio para
escribir el código del sistema operativo UNIX.
Fue uno de los lenguajes de programación más aceptados por los
programadores, porque hace una combinación del lenguaje de alto nivel y
lenguaje máquina.
C es el resultado de un proceso de desarrollo que inició con un lenguaje
llamado BCPL. Luego apareció B, lo cual llevo al surgimiento del lenguaje C.
28. Historia del Lenguaje C.
En 1978 Jeringan y Ricio publican el libro “Te C
ProgrammingLanguage”, el cual es considerado “La
Biblia del C”.
A mediados de los 80 ya habían compiladores en C, y
muchas aplicaciones lo utilizaban para aprovechar sus
ventajas.
Algunos fabricantes introducen mejoras en C, las cuales
son recogidas por un comité de estandarización ANSI y
establecen las especificaciones de lo que se conoce hoy
en día como “ANSI C”.
En 1980 BjarneStroustrup de los laboratorios Bell de
Murray Hill, New Jersey, adicionó las características de
la programación orientada a objetos (POO) y lo
denominó “C con clases”.
Para 1983 dicha denominación cambió a la de C++.
Con este nuevo enfoque surge la nueva metodología que
aumenta las posibilidades de programación bajo nuevos
conceptos.
29. Lenguaje C y estándares.
Se crearon muchas implementaciones con C, sin
embargo, como no existía ningún estándar, aparecieron
discrepancias.
Para remediar la situación, el Instituto de Estándares
América (ANSI) estableció un comité a mediados de
1983 para crear un estándar que definiera al lenguaje C.
Este comité terminó el proceso de formalización en 1990.
Empresas que se dedican a vender el compilador de C
son:
Microsoft Visual C++.
Borlando C++ Boulder.
Algunos de los C existentes.
Quick C.
C++.
Turbo C.
Turbo C++.
Borlando C.
Borlando C++.
Microsoft C.
30. Variables en C.
En C toda variable antes de ser usada debe ser declarada,
especificando el tipo de dato que almacenará.
Una variable en C se declara así:
<tipo de dato><nombre de variable> [, nombre
de variable];
Tipo de datos en C.
31. SISTEMAS OPERATIVOS: PROPIETARIO Y
LIBRE.
HARDWARE Y SOFTWARE.
HARDWARE: Se refiere a todas las partes
tangibles de un sistema informático, sus
componentes son: Disco duro, memoria, CPU,
teclado, mouse, monitor, etc.
SOFTWARE: Es todo el conjunto intangible
de datos y programas de la computadora.
32. La interacción entre el software y el hardware hace
operativa la computadora, es decir, el software envía
instrucciones al hardware haciendo posible su
funcionamiento.
¿QUÉ ES UN SISTEMA OPERATIVO?
Un Sistema Operativo es el software básico de una
computadora que provee una interfaz entre el resto
de programas del ordenador, los dispositivos
hardware y el usuario.
Las funciones básicas del Sistema Operativo son
administrar los recursos de la máquina, coordinar el
hardware, organizar archivos y directorios en
dispositivos de almacenamiento.
33. SOFTWARE PROPIETARIO.
Software no libre, software privativo, software privado, software
con propietario o software de propiedad. Se refiere a cualquier
programa informático en el que los usuarios tienen limitadas las
posibilidades de usarlo, modificarlo o redistribuirlo con o sin
modificaciones, o cuyo código fuente no está disponible o el
acceso a éste se encuentra restringido.
CARACTERÍSTICAS:
* Este software no te pertenece no puedes hacerle ningún tipo de
modificación al código fuente.
* No puedes distribuirlo sin el permiso del propietario.
* El usuario debe realizar cursos para el manejo del sistema como
tal debido a su alta capacidad de uso.
* Cualquier ayuda en cuanto a los antivirus.
VENTAJAS:
* Mayor mercado laboral actual.
* Mejor protección de las obras con copyright.
* Unificación de productos.
* Facilidad de adquisición (puede venir preinstalado con la compra
del PC, o encontrarlo fácilmente en las tiendas).
* Existencia de programas diseñados específicamente para
desarrollar una tarea.
* Las empresas que desarrollan este tipo de software son por lo
general grandes y pueden dedicar muchos recursos, sobretodo
económicos, en el desarrollo e investigación.
* Interfaces gráficas mejor diseñadas.
34. SOFTWARE LIBRE.
Es un programa o secuencia de instrucciones usada por un
dispositivo de procesamiento digital de datos para llevar a cabo
una tarea específica o resolver un problema determinado, sobre el
cual su dueño renuncia a la posibilidad de obtener utilidades por
las licencias, patentes, o cualquier forma que adopte su derecho
de propiedad sobre él, por lo que puede utilizarse o transferirse
sin pago alguno al licenciante, o a su creador.
CARACTERÍSTICAS:
1. Se encuentra disponible el código fuente del software, por lo que
puede modificarse el software sin ningún límite.
2. Libertad de estudiarlo y adaptarlo.
3. Libertad de distribuir copias.
4. Libertad de mejora y publicación de cambios.
5. Libertad de usar el programa con cualquier propósito.
VENTAJAS:
1. El usuario no comete delito por tenerlo o usarlo.
2. Amplísima gama y variedad de herramientas libres.
3. Actualizaciones periódicas con frecuencia.
4. 100% libre de virus.
5. Altísimo nivel de estabilidad comprobada.
6. Tiene una gran comunidad de apoyo y soporte.
7. Diversidad de soluciones informáticas.
8. Costo.
9. Flexibilidad de las soluciones informáticas.
37. Antecedentes.
En la actualidad son muchos los avances tecnológicos que se
tienen y se esperan aún más, por el momento tenemos los
suficientes para saber qué es lo que está pasando en el mundo
entero, esto gracias a las telecomunicaciones y a los dispositivos
móviles.
Observando el panorama en una ciudad, cualquier persona se da cuenta
que la población está ocupada utilizando un dispositivo móvil,
generando la incógnita de saber cuál es el sistema operativo dentro de
ese dispositivo, y conocer que es lo que ha pasado con el sistema
operativo desde sus inicios, lograr conocer un poco a su creador y
ventajas sobre otro sistemas operativos para dispositivos móviles.
38. Los celulares surgieron por la necesidad de estar comunicados uno con
otros, su evolución ha sido muy grande y muy rápida, los primeros
ejemplares solo servían para hacer llamadas y eran de un gran tamaño y
peso, luego se fueron haciendo más pequeños y con mayores funciones.
39. Hoy en día se pueden enviar mensajes de texto a otros
celulares, incluyeron en ellos la capacidad para reproducir
música y la posibilidad de conectarse vía infrarrojo y
posteriormente vía bluetooth.
Incluyendo en los mismos dispositivos la posibilidad de
tomar fotos y/o videos así como una mayor capacidad de
almacenamiento y una mayor definición, en un corto lapso
se crearon celulares con la capacidad de conectarse a
internet ya sea por la cobertura de la compañía o por medio
de wiki y así facilitar la descarga de diferentes tipos de
archivos.
Cada fabricante de celulares y/o dispositivos móviles tiene
un sistema operativo con un sinfín de aplicaciones, hasta
ahora los sistemas operativos para Smartphone más
conocidos son el Idos de la compañía Apple, el sistema de
Microsoft para móviles que es Windows pone, el sistema
propio de Black Berry y el sistema operativo que fue
adquirido por la empresa de golpe llamado Androide.
SISTEMA OPERATIVO ANDROID.
40. SISTEMA OPERATIVO ANDROID.
“Androide” fue una creación de Andy Rubín, quien comenzó con
la propuesta de crear un sistema desde que se encontraba en la
Universidad de Utica, Nueva York.
41. En la carrera de Ciencias de la computación en el año de 1986
después de haber terminado la carrera comienza a trabajar de una
empresa a otra hasta que logró trabajar como ingeniero Apple,
donde pasó a una empresa que surgió de Apple llamada General
Mágica, y aquí empezó con lo importante, ya que participó en el
desarrollo de Mágica Cup, lo que pretendía ser un sistema
operativo para teléfonos.
Sin embargo General Mágica fracasó y se fue a la ruina,
momento en el cual Andy se unió a Artemis Resecar, que fue
comprada por Microsoft.
Después de un lapso ambicionó hacer algo por cuenta propia, y
fundó Tánger Inc., que finalmente sería también comprada por
Microsoft. En Tánger Inc. suceden cosas muy importantes:
La primera es que desarrollan el Hip-top, lo que es ya un teléfono
que marcaría las primeras líneas de lo que serían los Smartphone,
y la segunda es que se ve tan frustrado que decide abandonar la
compañía de la que era CEO.
Todo ello le llevo a su paso final en esta etapa, fundar en 2003
Android Inc.
En Agosto de 2005, cuando Android Inc. contaba con veintidós
meses de vida, Google adquirió la empresa, pero esta vez se ve
que Andy se mostró satisfecho con esta venta, no como ocurrió
42. con Danger Inc. Andy pasa a formar parte del equipo de Google,
y es donde trabaja como vicepresidente de ingeniería de Google
supervisando el desarrollo de Android.
El 5 de Noviembre de 2007 que se hizo el anuncio oficial de
Android. Pero durante estos dos años Google había estado
trabajando, moviéndose, y una de ella fue llegar a acuerdos con
fabricantes de teléfonos móviles para desarrollar el primer
dispositivo Android de la historia.
VERSIONES DE ANDROID.
Versiones previas de Android, aparecen Astro boy o Bender.
Android 1.0 o Apple Pie.
Android 1.1 – PetitFour.
Android 1.5 – Cup cake.
Android 1.6 – Donut.
Android 2.0 – Éclair.
Android 2.1 – Éclair.
Android 2.2 – Froyo.
Android 2.3 – Ginger bread.
Android 3.0 – Honeycomb.
Android 4.0 – Ice Cream Sándwich.
Android 4.1 – JellyBean.
43. 10AZONES PARA ELEGIR ANDROID.
1. Es el más utilizado del mundo.
2. Es libre.
3. Es muy personalizable.
4. Es legal modificarlo.
5. Cuenta con más aplicaciones.
6. Hay más aplicaciones gratuitas.
7. Los SmarthphoneAndroid son más baratos.
8. Cuenta con una mayor comunidad.
9. No es Apple.
10. Android es de Google.
44. ANDY.
Andy es muñeco verde, logotipo del sistema operativo Android.
Salió por primera vez en el año 2005, cuando Google compró la
empresa Android Inc. Desde entonces, este se ha convertido en la
imagen referencia de Google, en cuanto a Smartphone y tabletas se
refiere.
No se esperaban la buena aceptación y la repercusión que tuvo,
desde el primer momento, el susodicho robot verde.
Aunque existen teorías que dicen que "Andy" está inspirado en
R2D2 (de la ya famosa saga de StarWars).
45. Andy, el muñequito, se parece a un robotito en un videojuego de los
años 90. Entre los personajes de ese juego se haya uno que deja una
clara pista sobre si Andy es una copia o un diseño 100% original. La
verdad es que las similitudes entre ambos son asombrosas. Desde las
antenas y su forma regordeta, hasta llegar a las extremidades. Si no
fuera por esa cinta azul en el torso, además, los dos se llaman igual,
Android.
La diseñadora encargada del proyecto es Irina Blok.
DISEÑADORA DE ANDY.
46. VERSIONES.
Android 1.0 (G1).
El primer dispositivo contaba con GPS y Bluetooth, Multitarea,
Estrecha integración con los servicios de Google como Gmail, Google
Maps (con Street View), y Google Calendar, Aplicaciones: Amazon
MP3 Store, YouTube, AndroidMarket (cerca de 35 aplicaciones en el
lanzamiento), No Microsoft Exchange Server, sin cámara de video.
Android 1.1-Petit Four.
En febrero de 2009 llego la primera actualización para Android, unos
tres meses después del lanzamiento del G1. La versión 1.1 fue dedicada
básicamente a reparar errores e implementar las actualizaciones
47. “overthe air” que hasta ese momento ninguna
plataforma estaba haciendo.
AndroidCupcake-Versión 1.5
Android 1.5 es mejor conocido por su nombre en clave, Cup cake, fue la
primera versión en utilizar nombre de postres. Cada versión después de
Cup cake ha sido nombrada con un nombre de postre continuando el
orden alfabético.
En esta versión se comenzaron a ver algunos cambios en la interfaz de
usuario, como son los cambios en la barra del buscador y en la barra del
menú, también cambió el logo del navegador.
Android Donut-Versión 1.6
El sistema operativo lanza una nueva versión en el
mes de Septiembre del año 2009 que es novedad y muy aceptada entre
todos los usuario Android que en este lapso ya comienza el auge dentro
del mercado.
La versión se destaca por las funciones con las que cuenta entre las que
se destacan son la de navegación en Google Maps paso-a-paso, mejora
en el interfaz de la cámara de foto y video, búsquedas por voz.
AndroidEclair-Versión 2.0
Versión del sistema operativo lanzada al mercado en el
mes de Diciembre de 2009, con zoom digital de la
cámara de fotos y video, mejoras en Google Maps,
48. nuevo navegador de internet con soporte de video e
incluso de Flash, salvapantallas animadas.
Esta es la versión que comienza a demostrar la
robustez y estabilidad como sistema operativo para
dispositivos móviles.
Android 2.1-Eclair 2.
Versión lanzada en Enero de 2010, entre sus características principales
se encuentran las siguientes:
Fondo de pantalla en vivo, cinco pantallas de inicio, Voz a texto
añadido a cualquier campo de texto, icono del
micrófono para el dictado de voz en mensajes
en correo electrónico, los textos, y así
sucesivamente.
AndroidFroyo-Versión 2.2
Fue lanzado en Mayo de 2010, dentro de las funciones del
sistema se encuentran la mejora de memoria, mucho más veloz
que las versiones anteriores, hotspotWiFi incluido, soporte de
correo electrónico Microsoft Exchange y video llamada. Soporta
Flash.
Ya tomando su sitio de honor entre la mayoría de los dispositivos
móviles a nivel mundial. Excelente aceptación por parte de los usuarios.
AndroidGingerbread-Versión 2.3
Versión de Android que se lanza en el mes de
Diciembre de 2010 cuya aceptación en el mercado
49. sigue siendo muy buena, ya que cuenta con mejores características
visuales dentro de las aplicaciones que se muestran en el menú del
dispositivo móvil.
Dentro de las funciones que se encuentran en la versión son la mejora
del soporte de video online, mejora de la gestión de la energía (y
consumo de la batería), mejora del teclado virtual, soporte para pagos.
Posibilidades para usuarios totalmente conectados.
AndroidHoneyComb-Versión 3.0/3.4
Sistema operativo optimizado para tabletas, posee plenas
funcionalidades multitareas multitasking para cambiar de aplicaciones
en uso dejando las demás en espera visibles en
una columna, soporte Flash y DivX, aparte de
los navegadores privados tradicionales integra
Dolphin, home page personalizable y widgets.
Soporte de gráficos 3D, Side-by-side las
pestañas del navegador, navegación privada,
Panel de doble modo de libreta de direcciones, e-mail, Interfaz de
usuario rediseñada incluye miniaturas del programa, Video chat con
Google Talk, Pantalla completa en modo de galería de fotos, Bluetooth
tethering.
AndroidIcecreamSandwich-Versión 4.0
50. Lanzada al mercado a finales del año 2011,
cuenta con las funciones de diseñado para
todos los dispositivos móviles en que se
puede instalar como son Smartphone,
tabletas y notebooks de todas las medidas y
marcas, pantalla principal con imágenes 3D, barras de estado y
widgetsredimensionables, reconocimiento facial, mejora de
reconocimiento de voz; soporte USB para teclados y controles para PS3.
Novedades y mejoras en la navegación e interfaz, con el objetivo de
dinamizar y facilitar la experiencia del usuario.
Android 4.2-Jelly Bean.
Lanzada en 2012, la versión mencionada se destaca
sobre todo que cada vez más el sistema se irá
depurando y solucionado todo, y así también llegará
también a más público alrededor del mundo, que es
su objetivo final.
Para lograrlo se utiliza el proyecto mantequilla que fue como decidieron
nombrarlo los programadores del sistema, o mejor descrito como
Project Butter que es el nombre que se ha escogido para describir
algunos objetivos en esta versión Android.
Entrando a términos de software, la siguiente versión será mucho más
fluida, más rápida y más suave, para el agrado de los usuarios.
51. Android 5.0-Key Lime Pie.
La denominación como ya es una costumbre
vuelve a basarse en la curiosa correlación de
postres ordenados de forma alfabética y en la
imagen se muestra al androide verde comiendo
cada uno de ellos desde que se lanzó la primera versión hace cinco años,
bautizada como Apple Pie.
Google actualmente.
52.
53. SEGURIDAD Y PRUEBAS DEL SOFTWARE.
Seguridad de la información.
Conjunto de políticas, procedimientos, tecnologías y personas que
pretenden minimizar el nivel de riesgo de que sea comprometida alguna
de las características de la información.
Riesgo.
Probabilidad que tiene un activo de ser comprometido por parte de
una amenaza.
54. Características de la información.
SEGURIDAD INFORMÁTICA.
Componente de la seguridad de la información definido como un
conjunto de políticas y mecanismos tecnológicos que pretenden
garantizar la confidencialidad, integridad y disponibilidad de los
recursos de un sistema informático.
INSEGURIDAD INFORMÁTICA.
Es la falta o poca presencia de controles de seguridad en un
sistema operativo, aplicación, red, dispositivo o procedimiento.
VULNERABILIDAD.
Debilidad presente en un sistema informático que permite que sus
componentes y la información que procesa pueda ser comprometida.
55. Según la jerga de la seguridad informática una vulnerabilidad también
es conocida como un agujero de seguridad.
Las vulnerabilidades surgen por:
Mal diseñodel sistema informático.
Ladeficiente implementación del sistema informático.
Pobres procedimientos para operar y administrar el sistema
informático.
Ciclo de vida de una vulnerabilidad.
56. Amenaza.
Circunstancia o Evento que puede causar daño comprometiendo la
confidencialidad, integridad o disponibilidad de la información.
El término hace referencia a un evento:
Infección por un virus de computadora.
Robo de información.
Terremoto.
Aprovechamiento de una vulnerabilidad por parte de una amenaza.
57. Riesgos.
Es la probabilidad de que una amenaza se aproveche de una
vulnerabilidad. Una vulnerabilidad o una amenaza por separado, no
representan un peligro. Pero si se juntan se convierten en un riesgo.
Vulnerabilidad + Amenaza = Riesgo.
“Los riesgos nunca se eliminan… se gestionan”.
Acciones a tomar durante un riesgo.
58. Hackers.
El sustantivo hacker es un neologismo utilizado para referirse a
personas expertas en varias o una rama técnica relacionada con la
informática (programación, redes de computadores, sistemas
operativos, hardware de voz/datos, etc…).
A nivel tecnológico el termino hacking se usa para referirse al
arte informático de descubrir y solucionar problemas que atenten
contra la seguridad de un sistema o aplicación.
El sustantivo cracker (Criminal hacker) hace referencia a
personas que usan las técnicas de hacking con fines ofensivos.
59.
60.
61. Clasificación HACKERS UNDERGROUND.
SAMURAI.
Nivel más alto en la jerarquía, se supone tiene conocimientos y
habilidades superiores.
BUCANERO.
Hacker con conocimientos y habilidades considerables sobre
hacking
Conoce a fondo el funcionamiento de muchas herramientas y
tiene la habilidad de construir las suyas.
62. SCRIPT KIDDIE.
Persona con conocimientos medios, conoce comandos de sistemas
operativos.
Tienen habilidades de crear y correr scripts básicos.
LAMMER.
Persona con conocimientos muy básicos sobre hacking
Usa herramientas de terceros pero NO sabe cómo funcionan.
NEWBIE.
Prospecto de hacker, en proceso de
iniciación en el mundo del hacking.
63. CLASIFICACIÓN DE HACKERS FBI.
LA CULTURA DEL HACKER.
El hacker desea saber cada vez más.
Su obsesión por aprender es enfermiza.
Existen grandes comunidades a nivel mundial:
Grupos.
Foros.
Canales de chat.
Algunas motivaciones para los hackers:
Curiosidad.
65. Ataque informático.
Toda aquella acción que conlleve a poner en riesgo las
propiedades de confidencialidad, integridad y disponibilidad de
un sistema.
También se pueden considerar como la consumación de
una amenaza.
Un ataque no se realiza en un solo paso, es una metodología
estructurada.
Tipos de ataques.
68. Jornalización de la asignatura.
UNIVERSIDAD GERARDO BARRIOS
JORNALIZACIÓN DE LA ASIGNATURA
CICLO I – 2015
FACULTAD: ____CIENCIA Y
TECNOLOGÍA____________________________________
ASIGNATURA: ____SISTEMAS OPERATIVOS__________________
GRUPO:”UNICO”__
DÍAS: ___MIERCOLES Y JUEVES ___ AULA: ___3A_ HORA: _10:40
AM A 12:20 MD_
CARRERA: ___TECNICO EN INGENIERIA EN SISTEMAS Y REDES
INFORMATICAS______
DOCENTE: ___ LICDA. CARLA MILAGRO LOPEZ
VASQUEZ_____________
N
°
FECHA
Contenidos temáticosDí
a
M
e
s
1
28 E
ne
ro
Saludo y Presentación.
Descripción de la Asignatura y Formas de evaluación.
Reglamento de la cátedra durante el presente ciclo.
Diagnóstico general del grupo y Definición de roles por
equipo.
2
29 E
n
e
r
o
Unidad 01 Introducción a los sistemas operativos.
1.1 ¿Qué es un sistema operativo?
1.2 Historia de los sistemas operativos.
Actividad: Foro Virtual.
69. N
°
FECHA
Contenidos temáticosDí
a
M
e
s
3
4 F
e
b
r
e
r
o
Explicación: Esquema de llaves sobre clasificación de los
sistemas operativos y glosario.
1.3 Clasificación de los sistemas operativos.
1.4 Funciones de los sistemas operativos.
1.5 Capas de un sistema operativo.
4
5 F
e
b
r
e
r
o
Revisión Esquema de Llaves sobre Clasificación de
los Sistemas Operativos y glosario. Laboratorio 15%.
5
11 F
e
b
r
e
r
o
Unidad 02 Fundamentos de programación en C.
2.1 Historia del lenguaje de programación C.
2.2 Lenguaje de programación C y Sistemas Operativos.
2.3 Variables y tipos de datos en C.
6
12 F
e
b
r
e
r
o
Unidad 03 Conceptos introductorios de arquitectura del
computador.
3.3 Definición de computadora.
7
18 F
e
b
r
e
Explicación:
3.2 Estructura del computador (Arquitectura Von Newman).
70. N
°
FECHA
Contenidos temáticosDí
a
M
e
s
r
o
8
19 F
e
b
r
e
r
o
Revisión de Infografía sobre Arquitectura de Von
Newman, Laboratorio 15%.
9
25 F
e
b
r
e
r
o
Unidad 04 Sistemas operativos libres y propietarios.
4.1 Definiciones.
4.2 Ventajas y desventajas.
1
0
26 F
e
b
r
e
r
o
4.3 Sistemas operativos y empresas: Inversión.
Explicación:
4.4 Sistemas operativos que utilizan las empresas
usulutecas (investigación).
4.5 Sistemas operativos para dispositivos móviles.
1
1
4 M
a
rz
o
Revisión de Investigación sobre Sistemas Operativos que
utilizan las empresas usulutecas. Laboratorio 30%.
1
2
5 M
a
rz
o
PRIMER EXAMEN PARCIAL 40%.
71. N
°
FECHA
Contenidos temáticosDí
a
M
e
s
1
3
11 M
ar
z
o
Unidad 05 Procesos de sistemas operativos.
5.1 Concepto de proceso.
1
4
12 M
a
rz
o
5.2 Componentes de los procesos.
1
5
18 M
a
rz
o
5.3 Jerarquía de procesos.
1
6
19 M
a
rz
o
5.4 Hilos.
1
7
25 M
a
rz
o
5.5 Servicios POSIX relacionados con el trabajo de procesos.
1
8
26 M
a
rz
o
Control de lectura 10%.
DEL 30 DE MARZO AL 5 DE ABRIL – VACACIONES DE SEMANA SANTA
1
9
8 A
b
ril
Unidad 06 Comunicación y Sincronización de Procesos.
6.1 Problemas clásicos de comunicación y sincronización.
2
0
9 A
b
6.2 Mecanismos de comunicación y sincronización de
72. N
°
FECHA
Contenidos temáticosDí
a
M
e
s
ril procesos.
6.3 Servicios POSIX relacionados con la comunicación y
sincronización de procesos.
Explicación: Guía de trabajo A.
2
1
15 A
b
ril
Revisión Guía de Trabajo A 20%.
2
2
16 A
b
ril
Unidad 07 El sistema operativo y la gestión de recursos.
7.1 Conceptos de arquitectura de memoria.
7.2 Los sistemas operativos y la gestión de memoria.
2
3
22 A
b
ril
7.3 La memoria como mecanismo de comunicación.
7.4 El sistema operativo y el manejo de archivos.
7.5 Servicios POSIX relacionados con memoria compartida.
Explicación: Guía de Trabajo B.
2
4
23 A
b
ril
Unidad 08 Seguridad y protección en los sistemas operativos.
8.1 Definición de seguridad y protección desde el punto de
vista de los Sistemas Operativos.
2
5
29 A
b
ril
Revisión Guía de Trabajo B 15%.
2
6
30 A
b
ril
8.2 Problemáticas de la seguridad
8.3 Riesgos de la seguridad.
Actividad: Blog.
73. N
°
FECHA
Contenidos temáticosDí
a
M
e
s
2
7
6 M
a
y
o
Laboratorio Escrito 15%.
2
8
7 M
a
y
o
SEGUNDO EXAMEN PARCIAL 40%.
2
9
13 M
a
y
o
8.4 Disección de un ataque a la seguridad.
Actividad: Crear diagrama modelo.
3
0
14 M
a
y
o
8.5 Mecanismos de seguridad y protección.
Actividad: Slideshare.
3
1
20 M
a
y
o
Unidad 09 Estudios de casos.
Explicación: Guía de Trabajo C.
9.1 Windows.
3
2
21 M
a
y
o
9.2 Linux.
9.3 Móviles.
3
3
27 M
a
y
o
Proyecto Integrador 30%.
3
4
28 M
a
Revisión Guía de Trabajo C 15%.
74. N
°
FECHA
Contenidos temáticosDí
a
M
e
s
y
o
3
5
3 J
u
ni
o
15% en todas las preparaciones.
Preparación de Máquinas Virtuales.
3
6
4 J
u
ni
o
Preparación de Máquinas Virtuales.
3
7
10 J
u
ni
o
40% en todas las instalaciones.
Defensa de Instalación de SO Windows en máquina virtual.
3
8
11 J
u
ni
o
Defensa de Instalación de SO Windows en máquina virtual.
3
9
11 J
u
ni
o
Defensa de Instalación de Ubuntu en Máquina Virtual.
4
0
11 J
u
ni
o
Defensa de Instalación de Ubuntu en Máquina Virtual.
75. Calendarización.
FECHAS ACTIVIDADES A
EVALUAR
PORCENTAJE DEL
COMPUTO
5/Febrero/2015 Revisión de Esquema
de Llaves sobre
Clasificación de los
SO y Glosario.
15%
19/Febrero/2015 Revisión Infografía
sobre Arquitectura
Von Newmann.
15%
4/Marzo/2015 Investigación sobre
SO que utilizan las
empresas
usulutecas.
30%
5/Marzo/2015 Primer Examen
Parcial.
40%
Total Cómputo I 100%
26/Marzo/2015 Control de Lectura. 10%
15/Abril/2015 Revisión Guía de
Trabajo A.
20%
29/Abril/2015 Revisión Guía de 15%
76. Trabajo B.
6/Mayo/2015 Laboratorio Escrito. 15%
7/Mayo/2015 Segundo Examen
Parcial
40%
Total Cómputo II 100%
27/Mayo/2015 Proyecto Integrador. 30%
28/Mayo/2015 Revisión Guía de
Trabajo C.
15%
3/Junio/2015 Preparación de
Máquina Virtual.
15%
10/Junio/2015 Instalación de SO. 40%
Total Cómputo III 100%
Procesos de Sistemas Operativos – Control de Lectura.
UNIVERSIDAD GERARDO BARRIOS
CENTRO REGIONAL DE USULUTAN
FACULTAD DE CIENCIA Y TECNOLOGIA
SISTEMAS OPERATIVOS
DOCENTE: LICDA. CARLA MILAGRO LOPEZ VASQUEZ, MIW.
CONTROL DE LECTURA
FECHA DE EVALUACION: 9/ABRIL/2015
Unidad 05 - Procesos de sistemas operativos.
Concepto de proceso.
En un sistema multiprogramado o de tiempo compartido, un proceso es la imagen
en memoria de un programa, junto con la información relacionada con el estado de
su ejecución.
Un programa es una entidad pasiva, una lista de instrucciones; un proceso es una
entidad activa, que –empleando al programa– define la actuación que tendrá el
sistema. En contraposición con proceso, en un sistema por lotes se habla de
tareas.
77. Una tarea requiere mucha menos estructura, típicamente basta con guardar la
información relacionada con la contabilidad de los recursos empleados. Una tarea
no es interrumpida en el transcurso de su ejecución. Ahora bien, esta distinción no
es completamente objetiva -y se pueden encontrar muchos textos que emplean
indistintamente una u otra nomenclatura.
Si bien el sistema brinda la ilusión de que muchos procesos se están ejecutando al
mismo tiempo, la mayor parte de ellos típicamente está esperando para continuar
su ejecución- en un momento determinado sólo puede estar ejecutando sus
instrucciones un número de procesos igual o menor al número de procesadores
que tenga el sistema.
Estados de un proceso.
Un proceso, a lo largo de su vida, alterna entre diferentes estados de ejecución.
Éstos son:
Nuevo: Se solicitó al sistema operativo la creación de un proceso, y sus recursos y
estructuras están siendo creadas.
Listo: Está listo para iniciar o continuar su ejecución pero el sistema no le ha
asignado un procesador.
En ejecución: El proceso está siendo ejecutado en este momento. Sus
instrucciones están siendo procesadas en algún procesador.
Bloqueado: En espera de algún evento para poder continuar su ejecución (aun si
hubiera un procesador disponible, no podría avanzar).
Zombie: El proceso ha finalizado su ejecución, pero el sistema operativo debe
realizar ciertas operaciones de limpieza para poder eliminarlo de la lista.
Terminado: El proceso terminó de ejecutarse; sus estructuras están a la espera
de ser limpiadas por el sistema operativo.
Diagrama de transición entre los estados de un proceso.
Componentes de
78. Componentes de los procesos.
La información que debe manipular el sistema operativo relativa a cada uno de los
procesos actuales se suele almacenar en una estructura llamada bloque de control
de proceso (PCB - Process Control Block). El PCB incluye campos como:
Estado del proceso: El estado actual del proceso.
Contador de programa: Cuál es la siguiente instrucción a ser ejecutada por el
proceso.
Registros del CPU: La información específica del estado del CPU mientras el
proceso está en ejecución (debe ser respaldada y restaurada cuando se registra
un cambio de estado).
Información de planificación (scheduling): La prioridad del proceso, la cola en
que está agendado, y demás información que puede ayudar al sistema operativo a
planificar los procesos.
Información de administración de memoria: La información de mapeo de
memoria (páginas o segmentos, dependiendo del sistema operativo), incluyendo la
pila (stack) de llamadas.
Información de contabilidad: Información de la utilización de recursos que ha
tenido este proceso —puede incluir el tiempo total empleado y otros (de usuario,
cuando el procesador va avanzando sobre las instrucciones del programa
propiamente, de sistema cuando el sistema operativo está atendiendo las
solicitudes del proceso), uso acumulado de memoria y dispositivos, etcétera.
Estado de E/S: Listado de dispositivos y archivos asignados que el proceso tiene
abiertos en un momento dado.
Procesos e Hilos.
La cantidad de información que el sistema operativo debe manejar acerca de cada
proceso es bastante significativa. Si cada vez que el planificador elige qué proceso
pasar de Listo a En ejecución debe considerar buena parte de dicha información,
la simple transferencia de todo esto entre la memoria y el procesador podría llevar
a un desperdicio burocrático de recursos. Una respuesta a esta problemática fue la
de utilizar los hilos de ejecución, a veces conocidos como procesos ligeros (LWP,
Lightweight processes).
Cuando se consideran procesos basados en un modelo de hilos, se puede
proyectar en sentido inverso que todo proceso es como un solo hilo de ejecución.
Un sistema operativo que no ofreciera soporte expreso a los hilos los planificaría
exactamente del mismo modo.
Pero visto desde la perspectiva del proceso hay una gran diferencia: si bien el
sistema operativo se encarga de que cada proceso tenga una visión de virtual
exclusividad sobre la computadora, todos los hilos de un proceso comparten un
sólo espacio de direccionamiento en memoria y los archivos y dispositivos
abiertos. Cada uno de los hilos se ejecuta de forma (aparentemente) secuencial y
maneja su propio contador de programa y pila.
Patrones de trabajo con hilos.
Hay tres patrones en los que caen generalmente los modelos de hilos; se puede
emplear más de uno de estos patrones en diferentes áreas de cada aplicación, e
incluso se pueden anidar (esto es, se podría tener una línea de ensamblado dentro
de la cual uno de los pasos sea un equipo de trabajo):
79. a) Jefe/Trabajador: Un hilo tiene una tarea distinta de todos los demás: el hilo jefe
genera o recopila tareas para realizar, las separa y se las entrega a los hilos
trabajadores.
Este modelo es el más común para procesos que implementan servidores (es el
modelo clásico del servidor Web Apache) y para aplicaciones gráficas (GUI), en
que hay una porción del programa (el hilo jefe) esperando a que ocurran eventos
externos. El jefe realiza poco trabajo, se limita a invocar a los trabajadores para
que hagan el trabajo de verdad; como mucho, puede llevar la contabilidad de los
trabajos realizados. Típicamente, los hilos trabajadores realizan su operación,
posiblemente notifican al jefe de su trabajo, y finalizan su ejecución.
Patrón de hilos Jefe/Trabajador
b) Equipo de trabajo: Al iniciar la porción multihilos del proceso, se crean muchos
hilos idénticos, que realizarán las mismas tareas sobre diferentes datos. Este
modelo es frecuentemente utilizado para cálculos matemáticos (p. ej.: criptografía,
render, álgebra lineal). Puede combinarse con un estilo jefe/trabajador para irle
dando al usuario una previsualización del resultado de su cálculo, dado que éste
se irá ensamblando progresivamente, pedazo por pedazo.
Patrón de hilos Equipo de Trabajo.
80. c) Línea de Ensamblado: Si una tarea larga puede dividirse en pasos sobre
bloques de la información total a procesar, cada hilo puede enfocarse a hacer sólo
un paso y pasarle los datos a otro hilo conforme vaya terminando. Una de las
principales ventajas de este modelo es que ayuda a mantener rutinas simples de
comprender, y permite que el procesamiento de datos continúe, incluso si parte del
programa está bloqueado esperando E/S. Un punto importante a tener en cuenta
en una línea de ensamblado es que, si bien los hilos trabajan de forma secuencial,
pueden estar ejecutándose paralelamente sobre bloques consecutivos de
información y eventos.
Patrón de hilos Línea de Ensamblado.
Concurrencia.
Desde un punto de vista formal, la concurrencia no se refiere a dos o más eventos
que ocurren a la vez sino a dos o más eventos cuyo orden es no determinista, esto
es, eventos acerca de los cuales no se puede predecir el orden relativo en que
ocurrirán. Si bien dos procesos (o también dos hilos) completamente
independientes entre sí ejecutándose simultáneamente son concurrentes, los
81. temas que en la presente sección se expondrán se ocupan principalmente de
procesos cuya ejecución está vinculada de alguna manera (p. ej.: dos procesos
que comparten cierta información o que dependen uno del otro).
Aunque una de las tareas principales de los sistemas operativos es dar a cada
proceso la ilusión de que se está ejecutando en una computadora dedicada, de
modo que el programador no tenga que pensar en la competencia por recursos, a
veces un programa requiere interactuar con otros: parte del procesamiento puede
depender de datos obtenidos en fuentes externas, y la cooperación con hilos o
procesos externos es fundamental.
Para presentar la problemática y los conceptos relacionados con la concurrencia
suelen utilizarse algunos problemas clásicos, que presentan casos particulares
muy simplificados, y puede encontrárseles relación con distintas cuestiones que un
programador enfrentará en la vida real. Cada ejemplo presenta uno o más
conceptos. Se recomienda comprender bien el ejemplo, el problema y la solución y
desmenuzar buscando los casos límite como ejercicio antes de pasar al siguiente
caso.
Caso práctico: El Jardín Ornamental.
Planteamiento.
Un gran jardín ornamental se abre al público para que todos puedan apreciar sus
fantásticas rosas, arbustos y plantas acuáticas. Por supuesto, se cobra una
módica suma de dinero a la entrada para lo cual se colocan dos torniquetes, uno
en cada una de sus dos entradas. Se desea conocer cuánta gente ha ingresado al
jardín así que se instala una computadora conectada a ambos torniquetes: estos
envían una señal cuando una persona ingresa al jardín. Se realiza un modelo
simplificado de la situación, así que no se estudiarán los detalles del hardware
utilizado. Aquí es importante notar que los dos torniquetes son objetos que existen
y se comportan en paralelo e independientemente: los eventos que generan no
tienen un orden predecible. Es decir, que cuando se escriba el software no se sabe
en qué momento llegará cada visitante ni qué torniquete utilizará. Se simulará un
experimento en el que 20 visitantes ingresan por cada torniquete. Al final de la
simulación deberá haber 40 visitantes contados.
Nota: Elabore un flujograma o algoritmo que represente la solución para el
problema “El Jardín Ornamental”. Puede utilizar la estructura que mejor se
adapte al caso.
82. En un sistema operativo multitarea cuando un proceso agota su porción de tiempo
de procesador (quantum) o detiene su ejecución por otra razón, los valores
almacenados en registros se preservan (junto con la información sobre el proceso)
para poder restaurarlo cuando la ejecución continúe (de esta forma se provee la
ilusión de la multitarea en sistemas de un solo núcleo). Así, en el problema del
jardín ornamental cada torniquete tiene su propia copia de los valores en los
registros. Sin embargo, se supone que el resto de la memoria es compartida (en
particular, se utiliza ese hecho para llevar la cuenta de personas que ingresan).
Bloqueos mútuos e inanición.
Bloqueo mútuo: Situación que ocurre cuando dos o más procesos poseen
determinados recursos, y cada uno queda detenido, a la espera de alguno de los
que tiene el otro. El sistema puede seguir operando normalmente, pero ninguno de
los procesos involucrados podrán avanzar.
Inanición: Situación en que un proceso no puede avanzar en su ejecución dado
que necesita recursos que están (alternativamente) asignados a otros procesos.
Caso práctico: La cena de los filósofos.
Planteamiento.
Cinco filósofos se dan cita para comer arroz en una mesa redonda. En ella, cada
uno se sienta frente a un plato. A su derecha, tiene un palito chino, y a su izquierda
tiene otro.
Los filósofos sólo saben pensar() y comer(). Cada uno de ellos va a pensar() un
tiempo arbitrario, hasta que le da hambre. El hambre es mala consejera, por lo que
intenta comer(). Los requisitos son:
Sólo un filósofo puede sostener determinado
palito a la vez, esto es, los palitos son recursos
de acceso exclusivo.
83. Debe ser imposible que un filósofo muera de
inanición estando a la espera de un palito.
Debe ser imposible que se presente un bloqueo
mutuo.
Debe ser posible que más de un filósofo pueda
comer al mismo tiempo.
Nota: Elabore un flujograma o algoritmo que represente la solución para el
problema “La cena de los filósofos”. Puede utilizar la estructura que mejor se
adapte al caso.
Ejemplo de Bloqueo Mútuo.
84. Un bloqueo mutuo puede ejemplificarse con la situación que se presenta cuando
cuatro automovilistas llegan al mismo tiempo al cruce de dos avenidas del mismo
rango en que no hay un semáforo, cada uno desde otra dirección.
Los reglamentos de tránsito señalan que la precedencia la tiene el automovilista
que viene más por la derecha. En este caso, cada uno de los cuatro debe ceder el
paso al que tiene a la derecha —y ante la ausencia de un criterio humano que
rompa el bloqueo, deberían todos mantenerse esperando por siempre.
Un bloqueo mutuo se presenta cuando (Condiciones de Coffman):
1. Los procesos reclaman control exclusivo de los recursos que piden (condición
de exclusión mutua).
2. Los procesos mantienen los recursos que ya les han sido asignados mientras
esperan por recursos adicionales (condición de espera por).
3. Los recursos no pueden ser extraídos de los procesos que los tienen hasta su
completa utilización (condición de no apropiatividad).
4. Hay una cadena circular de procesos en la que cada uno mantiene a uno o más
recursos que son requeridos por el siguiente proceso de la cadena (condición de
espera circular).
Servicios POSIX relacionados con el trabajo de procesos.
El término POSIX corresponde a las iniciales de interfase de sistema operativo
portable (Portable Operating System Interface). Es un estándar de interfase de
sistema operativo, basado en el popular sistema operativo UNIX. El estándar
POSIX está actualmente en desarrollo, y su principal objetivo es permitir la
portabilidad de aplicaciones a nivel de código fuente, es decir, que sea posible
portar una aplicación de un computador a otro sin más que recompilar su código.
El POSIX es un estándar de sistema operativo en evolución. Una importante parte
de este estándar está pensada para proporcionar la portabilidad de las
aplicaciones con requerimientos de tiempo real. Junto a las interfases de servicios
del sistema, se estandarizan también perfiles de entornos de aplicaciones que
permitirán a los implementadores desarrollar sistemas operativos POSIX de tiempo
real para una gran variedad de plataformas, desde los sistemas empotrados
pequeños hasta los sistemas de tiempo real grandes. El estándar define interfaces
en diferentes lenguajes de programación. En particular, las interfaces de tiempo
real están siendo definidas para C y Ada, que son los lenguajes estándar de
programación más importantes para los sistemas prácticos de tiempo real.
85. La funcionalidad especificada en el estándar POSIX es similar a la que se encuentra en
la mayoría de los núcleos y sistemas operativos de tiempo real disponibles
comercialmente. Las interfases POSIX se han definido de acuerdo con resultados
recientes de la teoría de planificación con prioridades estáticas. Algunas
implementaciones basadas en borradores iniciales de los estándares POSIX.4 y
POSIX.4a ya han sido desarrolladas y muestran resultados muy prometedores. En
resumen, el estándar POSIX permitirá construir sistemas predecibles y analizables que
cumplen sus requerimientos de tiempo real, y que pueden ser fácilmente portables de
unas plataformas a otras.
Términos básicos a investigar.
1. Programa.
2. Procesos.
3. Hilos.
4. Hebras.
5. Multihilos.
6. POSIX.
7. Servicios del sistema operativo.
8. API.
9. Sincronización.
10. Variable global.
86. CENTRO REGIONAL DE USULUTAN
FACULTAD DE CIENCIA Y TECNOLOGIA
SISTEMAS OPERATIVOS
DOCENTE: LICDA. CARLA MILAGRO LOPEZ VASQUEZ, MIW.
FECHA DE EVALUACION: 22/ABRIL/2015
Indicación general: Resuelva ordenadamente los ítems que se presentan
a continuación. La solución de la guía deberá ser en parejas y presentarla
impresa
El miércoles 22 de abril sin excepciones.
ÍTEMS
1) Investigue ¿Cuáles son los problemas clásicos de comunicación y
sincronización de procesos? Elabore un listado y descríbalos. Ejemplos.
2) Mencione ¿Cuáles son los mecanismos de sincronización entre procesos?
Descríbalos. Ejemplos.
3) Defina ¿Qué es POSIX? Y ¿Cómo se relaciona con la comunicación y
sincronización de procesos? Ejemplos.
4) Agregue información adicional complementaria acerca de la Unidad 06.
Máximo 1 página.
de procesos
87. UNIVERSIDAD GERARDO BARRIOS
CENTRO REGIONAL DE USULUTAN
FACULTAD DE CIENCIA Y TECNOLOGIA
SISTEMAS OPERATIVOS
DOCENTE: LICDA. MIW. CARLA MILAGRO LOPEZ VASQUEZ
FECHA DE REVISION: 29/ABRIL/2015
Indicaciones generales:
Resuelva ordenadamente los ítems que se presentan a continuación.
La solución de la guía deberá ser en equipos de 5 integrantes máximo.
Deberá ser presentada en formato blog o sitio web (1 por equipo).
Fecha de entrega: miércoles 29 de abril sin excepciones.
PUNTOS A RESOLVER
1) Defina el término: Arquitectura de memoria.
2) Explique la diferencia entre memoria RAM, ROM y EPROM.
3) ¿Qué es memoria real?
4) ¿Qué es memoria virtual?
5) Defina ¿Qué es unidad de manejo de memoria?
6) ¿Qué es segmentación de memoria?
7) La memoria como mecanismo de comunicación.
8) El sistema operativo y el manejo de archivos.
9) Servicios POSIX relacionados con memoria compartida.
88. Universidad Gerardo Barrios
Centro Regional de Usulután
Facultad de Ciencia y Tecnología
Sistemas Operativos
“Investigación de los Sistemas Operativos
que utilizan las empresas Usulutecas”.
Carátula
Introducción
Objetivos
o Objetivo general (1)
o Objetivos específicos (2 ó 3)
Contenido
Nombre de las empresas visitadas, pueden incluir el logo de cada una
(1 página).
Descripción de la información obtenida en cada empresa (Las páginas
que sean necesarias. Pueden describir empresa por empresa).
Listado general de los sistemas operativos identificados (Propietarios
y Libres aparte).
Conclusiones.
Recomendaciones.
Anexos
o Cuestionario.
o Guía de entrevista.