miércoles, 6 de mayo de 2015

Portada


Aprendizaje adquirido

Bueno aprendimos un poco sobre lo que son los Sistemas Operativos ya que son importantes para el despeño de los que usan computadoras, ya que sin Sistemas Operativos las computadoras no podrían funcionar, conocemos las ventajas y desventajas y como selección un Sistema Operativo para el trabajo que nosotros realizados y el de las empresas también, conocimos los Sistemas Operativos Libres y Propietarios.

Nos dieron a conocer la Seguridad y Pruebas del Software como podemos evitar los riesgos y amenazas, los tipos de Hackers, la vulnerabilidad, características de la información,seguridad informática entre otras.

Jornalizacion



CICLO ACADÉMICO     :          I-2015.            
Carrera :          Técnico en Ing. de Sistemas y Redes Inf.                           
Asignatura                    :           Sistemas Operativos.
N° de orden en Pensum                        :           4.
Código                                                :           712.
Número de horas por ciclo                   :           80 Horas.
Duración del ciclo en semanas  :                 20 Semanas.              
Unidades Valorativas                           :           4 U.V.
Ciclo en el Plan de Estudio                   :           I.
Pre-requisito                                                    :            Bachiller.
Carga Académica normal simultánea     :           Fundamentos de Programación, Sociedad y Tecnología, Matemática Computacional, Ética Profesional.
Prerrequisito para         :           Redes, Taller Mantto. Reparación y Ensamble de PC.
Horario de Clase                                              :           Miércoles y Jueves  10:40 am a 12:20 md.
Aula                                                                :           3A.

                       



II. PERSONAL ACADÉMICO RESPONSABLE
Decano/a: Licda. Azucena Edelmira Guevara.
            
Vice-Decano /a: Lic. Ms. Salvador Ernesto Manzanares.

Profesor Titular: Licda. Carla Milagro López Vásquez.

III. DESCRIPCION DE LA ASIGNATURA
La asignatura estudia las características de funcionamiento de los sistemas operativos, considerándolos como el software principal de la computadora. Se examinan las capas que los componen, la funcionalidad de las mismas y la lógica de funcionamiento de procesos, cómo se maneja el sistema de archivos y la arquitectura de seguridad que implementan. Como valor agregado, se examinan las características de los sistemas operativos más conocidos.
IV. OBJETIVO DEL AREA DE COMPETENCIA
Adquirir las competencias para utilizar y comprender el funcionamiento de tecnologías de información, comunicación, ofimática y sistemas operativos disponibles.
V. COMPETENCIAS ESPERADAS DE LA  ASIGNATURA
Aplica y comprende los aspectos de funcionamiento interno de un software de sistema operativo.
IV. CONTENIDO DE LA ASIGNATURA

Unidad 01  Introducción a los sistemas  operativos.
1.1 ¿Qué es un sistema operativo?
1.2 Historia de los sistemas operativos.
1.3 Clasificación de los sistemas operativos.
1.4 Funciones de los sistemas operativos.
1.5 Capas de un sistema operativo.

Unidad 02  Fundamentos de programación en C.
 Historia del lenguaje de programación C.
Lenguaje de programación C y Sistemas Operativos.
Variables y tipos de datos en C.


Unidad 03 Conceptos introductorios de arquitectura del computador.
 Definición de computadora.
3.2 Estructura del computador (Arquitectura Von Newman).

Unidad 04 Sistemas operativos libres y propietarios.
4.1 Definiciones.
4.2 Ventajas y desventajas.
4.3 Sistemas operativos y empresas: Inversión.
4.4 Sistemas operativos de las empresas usulutecas (investigación).

Unidad 05  Procesos de sistemas operativos.
5.1 Concepto de proceso.
5.2 Componentes de los procesos.
5.3 Jerarquía de procesos.
5.4 Hilos.
5.5 Servicios POSIX relacionados con el trabajo de procesos.

Unidad 06  Comunicación y Sincronización de Procesos.
6.1 Problemas clásicos de comunicación y sincronización.
6.2 Mecanismos de comunicación y sincronización de procesos.

6.3 Servicios POSIX relacionados con la comunicación y sincronización de procesos

Actividades

Tareas:
UNIVERDIDAD GERARDO BARRIOS DE USULUTAN

MATERIA: Sistemas Operativos

TAREA: Arquitectura de Von Neumann

DOCENTE: Carla Milagro López Vásquez

ESPECIALIDAD: Técnico e Ingeniería en Sistemas y Redes Informáticas

ESTUDIANTE: Magno Eliseo Pozo Polío

CODIGO: USTS032015
Arquitectura de Von Neumann
Esta arquitectura de computadoras fue creada por un matemático y físico John Von Neumann y otros que aportaron algunas ideas; basada en el primer borrador de un informe sobre el EDVAC o computadoras electrónicas. Neumann diseño esta arquitectura para un computador digital electrónico y este consta de una unidad de procesamiento que consiste en una unidad de aritmética lógica y registro de procesador, unidad de control que tiene un registro de instrucción y un contador de programas, una memoria para almacenar tantos datos como instrucciones almacenamiento masivo externo, y mecanismo de entrada y salida. 
El significado ha evolucionado hasta ser cualquier computador de programa almacenado en el cual no pueden ocurrir una extracción de instrucción y una operación de datos al mismo tiempo, ya que comparten un bus en común.
El diseño de Neumann es más sencillo que la arquitectura de Harvard que es más moderna, pero tiene un conjunto dedicado de direcciones y buses de datos para leer datos desde memoria y escribir datos en la misma, y otro conjunto de direcciones y buses de datos para ir a buscar instrucciones.
HISTORIA
Las primeras computadoras tenían programas fijos. Algunos siguen utilizando este diseño por ejemplo una calculadora de escritorio; en ellas se pueden hacer matemática básica, pero no se puede utilizar como procesador de texto; cambiar el programa de una máquina de programa fijo requiere cablear, reestructurar o rediseñar la máquina.
Las primeras computadoras no eran tanto programadas, solo se podría programar cuando era posible. Esta situación cambio con la computadora con programa almacenado que incluye un conjunto de instrucciones.
Von Neumann descripto a continuación, las modificaciones del programa pueden ser muy perjudiciales, ya sea por accidente o por diseño. En algunos diseños simples de computadora con programa almacenado, un programa que no funcione correctamente puede dañarse, dañar a otros programas, o inclusive al sistema operativo, lo que puede dar lugar a un desplome o cash de la computadora. Normalmente, la protección de memoria y de otras formas de control de acceso puede proteger tanto de modificaciones accidentales como de programas maliciosos.
ESTRUCTURA CLASICA DE LAS MAQUINAS VON NEUMANN
Una máquina Von Neumann, consta de cuatro componentes principales:
ü  Dispositivo de Operación: Este dispositivo ejecuta instrucciones de un conjunto específico, llamado sistema de instrucciones, separa de la menoría del dispositivo operativo.
ü  Unidad de Control: Este componente consiste en la implementación de algoritmos de decodificación de instrucciones que provienen de la memoria del dispositivo. El DO y UC conforman la estructura llamada CPU.
ü  Memoria del Dispositivo: Contiene instrucciones y datos.
ü Dispositivo de Entrada/Salida: Reciben los resultados y que le transmiten la información al computador para su procesamiento.
EVOLUCION
1960 y 1970, las computadoras  hicieron, en general, tanto más pequeñas como rápidas, lo que llevó algunas evoluciones en su arquitectura. Por ejemplo, el mapeado en memoria de E/S permitió que los dispositivos de entrada y salida sean tratados de la misma como la memoria. Un único bus de sistema podría ser utilizado para proporcionar un sistema modular con un menor costo. En las décadas siguientes, los microcontroladores sencillos serían algunas veces omitir características del modelo a menor costo y tamaño. Las computadoras más grandes añaden características para un mayor rendimiento.



DISEÑO DE LA ARQUITECTURA DE VON NEUMANN









CONCLUSIÓN
Puedo concluir que Neumann dio un gran aporte al avance de la tecnología al crear esta arquitectura ya que con ella se podían obtener información de diferentes fuentes.
Una computadora que tiene la arquitectura de Von Neumann puede obtener instrucciones de la menoría para guardarla en el registro de instrucciones de codificar las instrucciones y ejecutar las instrucciones.

A través del tiempo esta arquitectura ha tenido que ir evolucionando ya que la tecnología ha ido avanzando.


Link del mapa mental:
              http://www.spiderscribe.net/app/?e1e1662c70e2499dd0a9c5b3cf57af85


Seguridad

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.

Características de la información:
  • Bajo la perspectiva de seguridad de la información, las características básicas son:
  • Autenticación
  • Confidencialidad
  • No Repudio
  • Integridad
  • Disponibilidad


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.
Según la jerga de la seguridad informática una vulnerabilidad también es conocida como un agujero de seguridad.
Amenaza.
               
  Circunstancia  o  Evento  que  puede  causar  daño comprometiendo la confidencialidad, integridad o disponibilidad de la información.
                El termino hace referencia a un evento:
  • Infección por un virus de computadora.
  • Robo de información.
  • Terremoto.
  • 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
Cuando existen riesgos las acciones a tomar frente a estos son:
  • Mitigarlos.
  • Transferirlos.
  • Aceptarlos.
  • Ignorarlos.

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.
Clasificación.
  • HACKER.

Experto en un sistema o temas.
  • CRIMINAL HACKER.

Entra en sistemas sin permisos, rompe protecciones.
  • PHREAKERS.

Usa y abusa de los servicios de telefonía a su antojo.
  • CARDERS/COPYHACKERS.

Especialista en robo y uso fraudulento de tarjetas de crédito.
  • SPAMMER.

Capaz de usar sistemas para enviar e-mails no deseados.
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
  • 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.
CLASIFICACIÓN DE HACKERS FBI.
  • White hat
  •        Black hat
  •        Grey HatLA

LA CULTURA DEL HACKEREl 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.
                               Desafío.
                               Ideales.
                               Lucro.
                               Ganar respeto en la comunidad.
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

Móviles

Sistemas Operativos Para Dispositivos Móviles.

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.

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.
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 wifi 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 IOs de la compañía Apple, el sistema de Microsoft para móviles que es Windows phone, el sistema propio de Black Berry y el sistema operativo que fue adquirido por la empresa de google llamado Android.
Sistema operativo Android.

Android” fue una creación de Andy Rubin, quien comenzó con la propuesta de crear un sistema desde que se encontraba en la Universidad de Utica, Nueva York.
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 Magic, y aquí empezó con lo importante, ya que participó en el desarrollo de Magic Cup, lo que pretendía ser un sistema operativo para teléfonos.
Sin embargo General Magic fracasó y se fue a la ruina, momento en el cual Andy se unió a Artemis Research, que fue comprada por Microsoft.

Después de un lapso ambicionó hacer algo por cuenta propia, y fundó Danger Inc., que finalmente sería también comprada por Microsoft. En Danger 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ó 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 – Petit Four.
  • 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 – Jelly Bean.
10 Razones Para Elejir 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 Smarthphone Android son más baratos.
8. Cuenta con una mayor comunidad.
9. No es Apple.
10. Android es de Google

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 Star Wars).

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

  • 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, Android Market (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 “over the air” que hasta ese momento ninguna plataforma estaba haciendo.
  • Android Cupcake-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.
  • Android Eclair-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, 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.
  • Android Froyo-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, hotspot WiFi 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.
  • Android Gingerbread-Versión 2.3

Versión de Android que se lanza en el mes de Diciembre de 2010 cuya aceptación en el mercado 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.
  • Android Honey Comb-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.
  • Android Icecream Sandwich-Versión 4.0

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 widgets redimensionables, 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.
  • 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. 

martes, 5 de mayo de 2015

Programación

UNIDAD 2
            Fundamentos de Programación en C.
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 Kernighan y Dennis Ritchie 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.
En 1978 Kernighan y Ritchie publican el libro “The C Programming Language”, 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 Bjarne Stroustrup 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.
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 America (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++.
Borland C++ Builder.
Algunos de los C existentes.
Quick C.
C++.
Turbo C.
Turbo C++.
Borland C.
Borland C++.
Microsoft C.
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];
Tipos De Datos C:

Tipos de Datos
Descripción
Char
Carácter o entero pequeño.
Int
Entero.
Float
Punto flotable.
Doublé
Punto flotable (mayor rango que float)
void
Sin tipo (uso especial)

UNIDAS 4
           SISTEMAS OPERATIVOS: PROPIETARIO Y LIBRE.

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.
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.

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.

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
  • Se encuentra disponible el código fuente del software, por lo que puede modificarse el software sin ningún límite.
  • Libertad de estudiarlo y adaptarlo.
  • Libertad de distribuir copias.
  • Libertad de mejora y publicación de cambios.
  • Libertad de usar el programa con cualquier propósito.


VENTAJAS
  • El usuario no comete delito por tenerlo o usarlo.
  • Amplísima gama y variedad de herramientas libres.
  • Actualizaciones periódicas con frecuencia.
  • 100% libre de virus.
  • Altísimo nivel de estabilidad comprobada.
  • Tiene una gran comunidad de apoyo y soporte.
  • Diversidad de soluciones informáticas.
  • Costo.
  • Flexibilidad de las soluciones informáticas.

NOMBRES DE SISTEMAS OPERATIVOS
  1. Linux.
  2. Open suse.
  3. Mandriva.
  4. Debian.
  5. Ubuntu.
  6. Solaris.
  7. Symbian.
  8. Windows 95.
  9. Windows vista.
  10. Windows NT.
  11. Mac.

Clasificación

Clasificación De Los Sistemas Operativos
Tipos de Sistemas Operativos:
  • Primeros Sistemas.
  • Sistemas por Lotes.
  • Multiprogramacion.
  • Sistema 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: Gran tamaño y ejecución desde panel de control.

  • Organización del Trabajo: Un solo usuario en cada momento. Operaciones: establecer inicio activar ejecución, vigiar ejecución.

  • Mejoras: Físicas lectores de tarjetas, impresas y cintas magnéticas. Reutilización de código: Bibliotecas de funciones comunes. Desarrollo de ensambladores, copiladores y cargadores para facilitar las tareas de programación. Divers o subrutinas especiales para cada dispositivo de E/S.
Sistemas Por Lotes.
Organización del Trabajo:
  • Operador especialista, minimiza tiempos de preparación.
  • Recaduccion de tiempos por agrupamiento en lotes que se pueden ejecutar a la vez.
Monitor Residente:
  • Reaiza automáticamente las acciones.
  • Tratamiento de errores.
  • Carga y ejecución automática de la siguiente tarea.
Tarjetas de Control:
  • Para que el monitor residente sepa que programa ejecutar.
Organización de la Memoria para  un Monitor Residente.
  • Cargador, secuenciado de trabajos.
  • Drivers para cargador e interprete.
  • Ventajas: eliminación del tiempo de preparación y del secuenciado manual de trabajos.
Multiprogramacion. 
Debido al Spooling (reserva de trabajos en el disco), el sistema operativo escoge que trabajo ejecutar a continuación, con el criterio de mejorar el aprovechamiento de la CPU.
El aspecto mas importante de la planificación es la Multiprogramacion, aumentando el aprovechamiento de la CPU.
Siempre habrán varios trabajos en memoria, el sistema operativo escogerá de entre ellos y lo ejecutara, 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, finalizacion de los trabajadores en menos tiempo.

Sistemas De Tiempo Compartido
¿Por que surgen? El usuario no puede interactuar con el trabajo durante su ejecucion.
Solución: Sistemas multitarea, apropiados para tareas cortas, tiempos de respuestas cortas.
Desventajas: Perdemos productividad de la CPU.
Ventajas: Interacción usuario-sistema e ilusión de que cada usuario tiene su ordenador particular.

Sistemas De Ordenadores Personales.
Aparición a finales de los 70: 
  • Abaramiento del costo.
  • Reducción de tamaño.
Destinados a:
  • Uso individual.
  • No experto.
Interfaces de Usuario:
  • Amigables
  • Ventanas, iconos, menús.
Prescinden de Funciones:
  • Protección de la CPU
  • No multiusuario, no multitarea.
Objetivos:
  • Facilidad y comodidad de uso.
  • Rapidez de respuesta.
Sistemas Paralelos-Multiprocesadores.
Definición: Varios procesadores en comunicación, compartiendo el bus, la memoria y los periféricos.
Ventajas: Pueden ejecutar varias instrucciones simultáneamente., Aumento del rendimiento, Tolerancia a fallos.
Desventajas: Soncronizacion entre procesos.
Tipos de Multiprocesamiento: Simétrico: cad procesador ejecuta una copia identica del sistema.
Asimétrico: a cada procesador se le asigna una tarea especifica.

Sistemas Distribuidos:
Características:
  • El computo 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 lineas de comunicación, buses de alta velocidad o lineas telefónicas.
  • Procesadores de distintos tamaños y funciones.
  • Escalable hasta millones de procesadores (Internet).
Ventajas:
  1. Recursos compartidos: accesos remotos, compartimentar de archivos, BD distribuidos.
  2. Computación mas rápida, carga de trabajo compartida.
  3. Fiabilidad:tolerancia a fallos por redundancia.
  4. Comunicación: redes.
Desventajas:
  1. Comunicación compleja al compartir al no compartir memoria.
  2. Redes de comunicaciones no fiables.
  3. Heterogeneidad de los nodos.
Para ejecución de tareas que han de completarse en un plazo determinado
Críticos: tareas que exigen cumplimiento de plazos de finalización, tienen pocos recursos disponibles en memoria de corto plazo. Incompatible con sistemas de tiempo compartido. Ideales para robótica
No críticos: ejecutan por prioridades. No cumplimiento estricto de plazos. Adecuados en multimedia, realidad virtual y proyectos de exploración submarina y planetaria
Tendencias actuales y futuras en sistemas operativos.
Paralelismo
Interfaces amigables
Incremento de multiprocesadores.
Personalidades múltiples
Realidad virtual 3D.
Sistemas abiertos.
Funciones de los sistemas operativos.


Para ejecución de tareas que han de completarse en un plazo determinado
Críticos: tareas que exigen cumplimiento de plazos de finalización, tienen pocos recursos disponibles en memoria de corto plazo. Incompatible con sistemas de tiempo compartido. Ideales para robótica
No críticos: ejecutan por prioridades. No cumplimiento estricto de plazos. Adecuados en multimedia, realidad virtual y proyectos de exploración submarina y planetaria
Tendencias actuales y futuras en sistemas operativos.
Paralelismo
Interfaces amigables
Incremento de multiprocesadores.
Personalidades múltiples
Realidad virtual 3D.
Sistemas abiertos.
Funciones de los sistemas operativos.

Como Gestor De Recursos:
Gestiona: el tiempo de la CPU, espacio de memoria, almacenamiento de archivos, E/S.
Actúa: Decide que solicitudes atender cuando no pueden satisfacerse todas simultáneamente, asignando recursos eficientemente.

Como Programa De Control:
Controla: Ejecución de programas de usuario para evitar errores o usos incorrectos.

Capas De Un Sistema Operativo.
Estratificacion de THE (Thechnische Hogeschool Eindhoven) fue el primer sistema operativo diseñado en capas.

Nivel 5                            Programas de Usuarios.
Nivel 4                            Gestor de Entrada/Salida.
Nivel 3                            Consola de Operador.
Nivel 2                            Gestión de Memoria.
Nivel 1                            Planificación de la CPU y Sincronozacion.
Nivel 0                            Hardware. 

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.
       Estructura De Un Sistema Monolítico 

                            Sistemas de Capas.
El primer sistema en capas fue el THE (Technische Hogeschool Eindhoven) en Holanda.

Capa
Función
5
El Operador
4
Programas de Usuarios
3
Administración de E/S
2
Comunicación Operador-Proceso
1
Administración de Memoria
0
Asignación del Procesador y multiprogramación

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 kernel y el resto se ejecuta como procesos de usuario ordinarios, sin poder relativamente.
Modelo cliente-servidor.
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.
La esencia es la presencia de procesos cliente y procesos servidor.
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.
                      Máquinas virtuales.
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
Introducción a los Sistemas Operativos.
¿Que es un Sistema Operativo?
Es un conjunto de ordenes y programas que controlan los programas básicos de una computadora y permite el optimo 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.


¿Como 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 gran medidas las aplicaciones que puedes usar.
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.

La Primera Generación (1945-1955) corresponde a los primeros equipos, construidos con válvulas de vació.
La Segunda Generación (1955-1965) corresponde a la etapa a los equipos que estaban basados en el uso de los transistores.
Tercera Generación (1965-1980) se caracterizo por la utilización de circuitos integrados. En esta etapa no pueden dejar de mencionarse los sistemas de operación OS/360 y Multics.
Cuarta Generación (1980-1990) surge con los circuitos integrados de alta integración de alta integración y por ello aparecen en el mercado las computadoras personales.
Quinta Generación el actual desarrollo de los Sistemas Operativos basados en GUI (Graphic User Interface) y la incorporación de orientación a objetos así como el soporte multimedia, es suficiente fuerte para hablar de la quinta generación de los Sistemas Operativos.

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.

Familia Macintosh: Mac OS 7, Mac OS 8, Mac OS 9, Mac OS X.

Familia Unix: AIX, AMIX, GNU/Linux, GNU/Hurd, HP-UX, Irix, Minix, System V, Solaris, UnixWare.

Clasificación de los Sistemas Operativos.
Multiusuario. Permite que dos o más 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.

Multitramo. Permite que diversas partes de un solo programa funcionen al mismo tiempo.

Tiempo real. Responde a las entradas inmediatamente.

GLOSARIO
1.-Acumulador: Registro usado en programación, donde se almacenan temporalmente los datos que serán tratados por la Unidad aritmético-lógica.
2.-Administrador de base de datos: Persona encargada de velar por la integridad de los datos y sus asociaciones, así como de autorizar las modificaciones que se desee hacer.
3.-Administrador de archivos: Aplicación utilizada para facilitar distintas tareas con archivos como la copia, eliminación, movimiento entre otras. Algunos administradores de archivos permiten la asociación de las extensiones de los archivos con las aplicaciones preparados para trabajar con los mismos, permitiendo abrir, reproducir, modificar, etc. cada archivo con la aplicación asociada.
4.-ADSL: Tecnología  aplicada a la red telefónica conmutada que permite transmitir mucha más información que las técnicas tradicionales.
5.-Alfanumérico: Característica que indica un conjunto de caracteres que incluye letras, números y signos de puntuación.
6.-Algoritmo: Procedimiento lógico-matemático, aplicado para resolver un problema.
7.-Almacenamiento aleatorio: Método de almacenamiento que permite el acceso directo a los datos sin pasar por los anteriores, lo cual reporta una mayor rapidez.
8.-Análisis de sistemas: Estudio de una tarea o función para comprenderla y encontrar mejores maneras de realizarla.
9.-Ancho de banda: Medida de la cantidad de información que puede pasar por una vía, expresada en bits/segundo (o algún múltiplo).
10.-Aplicación: Programa diseñado para una determinada función.
11.-Apple: Primera compañía fabricante de computadoras personales y creadora de la computadora Macintosh, cuyo sistema operativo incorporó la GUI de mayor éxito hasta la aparición de Microsoft Windows.
12.-ARPANET: Red creada por la Agencia de Proyectos de Investigación Avanzados para estudiar la seguridad de las redes de computadoras en caso de guerra nuclear. Posteriormente, abandonados sus propósitos defensivos, adquirió un carácter académico y comercial, evolucionando en la actual Internet.
13.-ASCII (American Standard Code for Information Interchange): Código estándar estadounidense para el intercambio de información. Código de siete bits adoptado como un estándar mundial para facilitar el intercambio de datos entre distintos sistemas y máquinas en ambientes conectados en red.
14.-Automatización: Realización de una combinación específica de acciones por una máquina, sin la ayuda de personas.
15.-Backup: Copias de archivos, equipos de reemplazo o procedimientos alternativos disponibles para ser usados en caso de emergencias producidas por fallas totales o parciales de un sistema computacional.
16.-Banco de datos: Colección de archivos de datos, de tipo histórico, utilizados para consultas específicas de algún tema en particular.
17.-Banda ancha: Sistema de transmisión de datos de gran capacidad. Permite transmitir millones de bits e integrar servicios de telefonía, Internet y datos en general y televisión
18.-Base de datos relacional: Colección de datos organizada y relacionada, para evitar duplicaciones y permitir la obtención de datos combinados, satisfaciendo la necesidad de usuarios con diferentes necesidades de información.
19.-BASIC: Código de instrucciones simbólicas multipropósito para usuarios novatos. Es un lenguaje de programación de alto nivel diseñado originalmente para ser usado por ingenieros, científicos y otras personas que no son programadores profesionales.
20.-Baudio: Número de veces por segundo que una señal transmitida puede cambiar su valor (de 0 a 1 y viceversa). Utilizada para medir la velocidad de transmisión (bits/segundo).
21.-BIOS (Basic Input/Output System): Sistema de entrada/salida básico. Código contenido por una computadora que proporciona un nexo entre el hardware y el sistema operativo. Generalmente contenido en un chip insertado en el motherboard. (O placa madre)
22.-Bit: Digito binarioi. Unitad básica de información utilizada en un sistema de numeración binario. Un bit sólo puede ser cero o uno.
23.-Buffer: Área de memoria en que se almacenan datos para compensar las diferencias de tiempo, al transmitir datos a través de canales deficientes o entre dispositivos que trabajan a diferentes velocidades.
24.-Bus: Caminos eléctricos internos de la computadora por los que transitan señales o datos entre los componentes de la computadora y la CPU
25.-Byte: Conjunto de 8 bits usado para designar un carácter, letra o número.
26.-C: Lenguaje de programación usado principalmente para la programación de sistemas o sofisticadas aplicaciones.
27.-C++: Lenguaje de programación orientado a objetos, basado en el lenguaje C.
28.-Canal de E/S (entrada/salida): Línea física (hardware) que permite la comunicación independiente y simultánea entre la memoria principal y uno de los dispositivos de entrada/salida.
29.-CD-ROM: Tecnología de almacenamiento óptico sólo de lectura, utilizada por los discos compactos.
30.-Ciclo de máquina: Tiempo requerido por el computador para realizar completamente una operación.
31.-Cilindro: Todas las pistas de un disco con el mismo número.
32.-Circuito integrado: Circuito electrónico miniaturizado, capaz de realizar todas las funciones de uno convencional. Puede contener numerosos transistores, diodos, condensadores y resistencias que se fabrican y colocan en un simple chip.
33.-Cliente: Programa que demanda servicios de otra computadora llamada servidor, y se hace cargo de la interacción necesaria con el usuario.
34.-Codec: Programa que implementa el algoritmo de compresión para poder acceder al sonido o video digital.
35.-Código de barras: Representación de datos impresos, consistente en líneas que pueden identificarse con un lector óptico.
36.-Código fuente: Programa escrito en un lenguaje de programación de alto nivel por un programador. Es solo un archivo de texto simple que contiene la secuencia de operaciones que la computadora deberá ejecutar, en una forma simple de entender por una persona que sepa programar en dicho lenguaje.
37.-Código objeto: Programa expresado en lenguaje de máquina (ceros y unos), de manera que pueda ser ejecutado por una computadora.
38.-Computadora: Una computadora  es un sistema digital con tecnología microelectrónica capaz de procesar datos a partir de un grupo de instrucciones denominado programa. La estructura básica de una computadora incluye microprocesador (CPU), memoria y dispositivos de entrada/salida (E/S), junto a los buses que permiten la comunicación entre ellos.
39.-Correo electrónico: Servicio de intercambio de mensajes entre usuarios, que puede incluir texto y elementos multimedia.
40.-Dato: Representación de un hecho o idea que puede ser manipulado y al cual se le puede asignar un significado.
41.-Demodulación: Proceso consistente en recuperar información contenida en una onda transmisora modulada.
42.-Depuración: Detección, localización y eliminación de errores en un programa. También llamado debugging.
43.-Diagrama de flujo: Representación gráfica de los tipos y secuencia de operaciones de un programa o proceso.
44.-Dirección IP: Número que identifica cada una de las computadoras que se encuentran conectadas a Internet.
45.-Emulación: Proceso mediante el cual una computadora se hace funcionar como si fuera otra, para aceptar el mismo tipo de datos, ejecutar los mismos programas y obtener iguales resultados.
46.-Frecuencia: Magnitud que refleja el número de repeticiones de una señal por segundo.
47.-Instalar: Grabar un programa en el disco rígido y configurarlo de forma que funcione correctamente.
48.-Instalar: Grabar un programa en el disco rígido y configurarlo de forma que funcione correctamente.
49.-Internet: Red mundial de computadoras conectadas a través del protocolo TCP/IP.
50.-Intranet: Denominación utilizada para referirse a la red interna de una empresa o institución.
51.-Servidor: Computadora o programa que proporciona recursos y servicios a las computadoras conectadas a una red y al mismo tiempo gestiona el uso de esa red..
52.-Shareware: Software cedido por su creador con objeto de que sea utilizado en régimen de prueba y pagado si el usuario lo encuentra de utilidad.
53.-Sistema de manejo de base de datos: Software que maneja la organización, localización, catalogación, almacenamiento, recuperación y mantención de datos en una base de datos.
54.-Sistema numérico binario: Sistema de numeración de base 2, es decir, que sólo usa dos dígitos. Por lo general los dígitos utilizados son 0 y 1.
55.-Sistema numérico hexadecimal: Sistema numérico de base 16, generalmente usando los dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
56.-Sistema operativo: Programa de control que dirige el hardware de una computadora. Por lo general es, en realidad, una colección de programas que interactúan juntos.
57.-Software: Programas escritos en un lenguaje que la computadora entiende y puede ejecutar para realizar una tarea.
58.-Software de aplicación: Programas que realizan las tareas específicas de procesamiento de datos.
60.-Software libre: Es el que respeta la libertad del usuario, ateniéndose a las 4 libertades que plantea la Free Software Fundation: De usarlo para el fin que se quiera; De realizar copias; De modificarlo para ajustarlo a nuestro gusto; De distribuir las mejoras. Adicionalmente se suele decir que la única restricción es que cada uno que reciba ese software, debe heredar esas libertades.