lunes, 14 de mayo de 2012

 **Arreglos**
Un arreglo permite almacenar vectores y matrices.
Los arreglos unidimensionales sirven para manejar vectores y los arreglos bidimencionales para matrices, sin embargo, las matrices tambien se pueden almacenar madiante arreglos unidimencionales y por medio de apuntadores.
La palabra unidimensional no indica que se trata de vectores en espacios de dimensi´on uno; indica
que su manejo se hace mediante un sub´ındice. El manejo de los arreglos bidimensionales se hace mediante dos sub´ındices.

arreglo unidimencional arreglo bidimencional











domingo, 13 de mayo de 2012

**SISTEMAS OPERATIVOS**


Un sistema operativo  es muy complejo y no tiene una definición especifica por lo que pongo las definiciones que mas se parecen.
    [1]
  • Un sistema operativo es un interfaz entre el hardware de una computadora y el usuario.
  • Un sistema aperativo es un programa (o uns serie de programas) que facilita la ejecucion de otros programas.
  • Un sistema operativo actua como un gerente que supervisa la actividad de cada componente en el sistema de computacion, como gerente general, el sistema operativo es el que revisa que los recursos del hardware y del software se utilice  de manera eficiente y cuando existe un conflicto al usar un recurso, este actúa como mediador para resolverlo.
Tiene dos objetivos:
  1. el uso eficiente del hardware
  2. Facilidad para usar los recursos
Sistemas por lotes: fue diseñado en la década de 1950, para controlar a las computadoras mainframe. Cada programa a ejecutarse se llamaba tarea, este se usaba, de manera de que un programador que deseaba ajecutar una tarea enviava una solicitud a la sala de enviaba a la sala de operaciones  junto con la targetas perforadas para el programa y los datos, el programador no tenia ningún control o interaccion con el sistema. Este sistema operativo era muy simple ya que solo se aseguraban de todos los recursos se transfirieran de una tarea a la siguiente.
Sistemas de tiempo compartido: este sistema de computación  utiliza la multiprogramacion, con la finalidad de tener varias tareas en la memoria y solo asignar un recurso a una tarea que lo necesite con la condición de que el recurso este disponible. 
La multiprogramacion trajo la idea del tiempo compartido  ya que los recursos pueden compartirse a diferentes tareas, a cada tarea se le puede asignar una parte del tiempo para poder usar el recurso, ya que la computadora es mas rápida que una persona, el tiempo compartido es transparente para el usuario ( cada usuario tiene la mentalidad de que todo el sistema esta trabajando para el o ella).
La programación y el tiempo compartido mejoran en gran medida la eficiencia de un sistema, no obstante esta requería de un sistema operativo mas complejo, dicha operación tenia que realizar la planificación ; esto significa asignación de los recursos a loas distintos programas y decir cual programa debería utilizar, cual recurso y cuando.
En esta época la relación entre una computadora y un usuario también cambio ya que el usuario tenia la facilidad de interactuar directamente con el sistema (sin pasar por un operador).De donde salio este nuevo termino Proceso. Una tarea es un programa a ejecutar, un proceso es un programa que ya esta en la memoria en espera de recursos.
Sistemas personales: este surgió cuando las computadoras personales se introdujeron ya que tenia la necesidad de un sistema operativo de este tipo: Durante la época, se introdujeron los sistemas operativos Monousuario tales como DOS (disk operating system, sistema operativo de disco).
Sistemas paralelos: estos fueron para obtener una mayor velocidad y eficacia (varios CPU en la misma maquina), cada CPU podía utilizarse para servir a una programa o a una parte del programa, lo cual significa que podían formarse muchas tareas en paralelo en vez de en forma de serie.
Sistemas distribuidos: combinan características con nuevos servicios como el control de la seguridad, Un programa puede ejecutarse parcialmente en una computadora y parcialmente en otra si esta conectado mediante un conjunto de redes interconectadas como internet.
Componentes:

  • Administrador de memoria

  1. Monoprogramacion
  2. Multiprogramacion
  3. Memoria Virtual



[2]



  • Administrador de procesos
  1. Programa, tarea y proceso
  2. Diagrama de estado
  3. Planificadores
  4. Colas de espera
  5. Proceso de  sincronizacion
  • Administrado de dispositivos
  • administrador de archivos
  • Interfaz de usuario


Administrar la memoria.
Gestionar el uso de la CPU (planificación).
Administrar el uso de los dispositivos de E/S.
Cuando desempeña esas tareas, el monitor residente se transforma en un sistema operativo multiprogramado.
Definición breve: llamadas que ejecutan los programas de aplicación para pedir algún servicio al SO.
Gestión de procesos
Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. El SO es el responsable de:
Crear y destruir los procesos.
Parar y reanudar los procesos.
Ofrecer mecanismos para que se comuniquen y sincronicen.
La gestión de procesos podría ser similar al trabajo de oficina. Se puede tener una lista de tareas a realizar y a estas fijarles prioridades alta, media, baja por ejemplo. Debemos comenzar haciendo las tareas de prioridad alta primero y cuando se terminen seguir con las de prioridad media y después las de baja. Una vez realizada la tarea se tacha. Esto puede traer un problema que las tareas de baja prioridad pueden que nunca lleguen a ejecutarse. y permanezcan en la lista para siempre. Para solucionar esto, se puede asignar alta prioridad a las tareas más antiguas.
Sistema de archivos
Artículo principal: Sistema de archivos.
Los archivos son colecciones de información relacionada, definidas por sus creadores. Éstos almacenan programas (en código fuente y objeto) y datos tales como imágenes, textos, información de bases de datos, etc. El SO es responsable de:
Construir y eliminar archivos y directorios.
Ofrecer funciones para manipular archivos y directorios.
Establecer la correspondencia entre archivos y unidades de almacenamiento.
Realizar copias de seguridad de archivos.
Sistemas de protección
Mecanismo que controla el acceso de los programas o los usuarios a los recursos del sistema. El SO se encarga de:
Distinguir entre uso autorizado y no autorizado.
Especificar los controles de seguridad a realizar.
Forzar el uso de estos mecanismos de protección.
Sistema de comunicaciones
Para mantener las comunicaciones con otros sistemas es necesario poder controlar el envío y recepción de información a través de las interfaces de red. También hay que crear y mantener puntos de comunicación que sirvan a las aplicaciones para enviar y recibir información, y crear y mantener conexiones virtuales entre aplicaciones que están ejecutándose localmente y otras que lo hacen remotamente.
Clasificación
Administración de tareas
Monotarea: Solamente permite ejecutar un proceso (aparte de los procesos del propio SO) en un momento dado. Una vez que empieza a ejecutar un proceso, continuará haciéndolo hasta su finalización y/o interrupción.
Multitarea: Es capaz de ejecutar varios procesos al mismo tiempo. Este tipo de SO. normalmente asigna los recursos disponibles (CPU, memoria, periféricos) de forma alternada a los procesos que los solicitan, de manera que el usuario percibe que todos funcionan a la vez, de forma concurrente.
Administración de usuarios
Monousuario: Si sólo permite ejecutar los programas de un usuario al mismo tiempo.
Multiusuario: Si permite que varios usuarios ejecuten simultáneamente sus programas, accediendo a la vez a los recursos de la computadora. Normalmente estos sistemas operativos utilizan métodos de protección de datos, de manera que un programa no pueda usar o cambiar los datos de otro usuario.
Manejo de recursos
Centralizado: Si permite usar los recursos de una sola computadora.
Distribuido: Si permite utilizar los recursos (memoria, CPU, disco, periféricos...) de más de una computadora al mismo tiempo.


Ejemplos de sistemas operativos para PC


  1. Microsoft Windows
  2. Mac OS
  3. GNU/Linux
  4. Unix
  5. Solaris
  6. Google Chrome OS
  7. Debian
  8. Ubuntu
  9. Mandriva
  10. Sabayon






  1. Cfr., entre otros: Tanenbaum, A. (1992) Modern Operating Systems, Englewood Cliffs: Prentice-Hall; Haldar, S. y Aravind, A. A. (2010) Operating Systems, Pearson Education India, pp. 12 y ss.; Turner, R. W. (1986) Operating Systems: design and imnplementation, MacMillan.
  2. Washington Post - Debut de Windows 95» (en inglés).
  3. Toastytech.com (ed.): «BeOS 5.0 Personal Edition» (en inglés) (2010). Consultado el 10 de febrero de 2010.
  4. O´brien, James A. (2006). Sistemas de Información Gerencial. México DF.
  5. Silberschatz, Abraham (2006). Sistemas Operativos. México. ISBN 968-18-6168-X.
  6. Introducción a las ciencias computacionales [1] [2]
  7. haciendoweb.cult.cu [3]
  8. eq2-sistemasoperativos.blogspot.com [4]
  9. http://youtu.be/o_gEkCuKn5Q

viernes, 11 de mayo de 2012

** INGENIERÍA DE SOFTWARE**

La ingeniería de software es el establecimiento y uso de métodos y principios de ingeniería  sólidos para obtener software confiable que trabaje en maquinas reales, esta definición tomada de la primera conferencia internacional sobre la ingeniería de software en 1969, se propuso 30 años después de que salio la primera computadora, durante ese periodo el software fue mas un arte que una ciencia.
La ingeniería de software es un ciclo de vida del software El software igual que muchos otros productos pasan por un ciclo de fases repetitivas.
                                   Ing. de Software[1]
Procesos de desarrollo
Fase de análisis:es la que muestra lo que debe de hacer el paquete, define los requisitos que especifica lo que el sistema opuesto va a lograr, estos requisitos establecen los términos que el usuario comprende.
  • Definición de usuario
  • Definición de las necesidades
  • Definición de requisitos
  • Definición de los métodos
Fase de diseño: es la que define como lograr el sistema lo que se define como la fase de análisis. En la fase de diseño, se determinan los sistemas y el diseño de archivos y/o base de datos se completa.
  • Modularidad
  • Herramientas
Fase de implementacion: en esta fase se crean los programas reales.

  • Herramientas
  • CodificacionFase de prueba
Fase de prueba: una vez que el programa se ha escrito, debe probarse. La fase de prueba puede ser muy tediosa y consumir parte del tiempo del programa.
  • Prueba de caja negra
  • Prueba de caja blanca
                                  Procesos[2]








Introduccion a las ciencias comtupacionales
https://encrypted-tbn2.google.com/images?q=tbn:ANd9GcQBdXzHgjHIq_KD3c3Fue9Iw8o2sOkTRLcPhbRzKzaskuEiMBOnUg [1]
https://encrypted-tbn3.google.com/images?q=tbn:ANd9GcQhy544Mc3nwTCBiezeH2wZYVBfq53SeRm4s0sVb4yL_rsrZcUYZrh0LQ3g [2]

jueves, 10 de mayo de 2012

 **REPRESENTACIÓN DE DATOS**


Los datos se representan de diferente manera: textos, números, imágenes, audio, y vídeo.

Un programa de ingeniería utiliza una computadora principalmente para procesar números: hacer aritmética, resolver ecuaciones  algebraicas o trigonométricas, encontrar las raíces de una ecuación diferencial.
Un programa de procesamiento de palabras, por otra parte, utiliza un computadora mas que nada para procesar texto: justificarlo; mover lo; eliminarlo; etc.:

un programa de procesamiento de imágenes usa una computadora para manipular imágenes: crearlas, reducirlas, ampliarlas, rotarlas, etc.

Una computadora también puede manejar datos de audio, usted reproducir música en una computadora e introducir su voz como datos.
                  código de representación de datos [1]

Finalmente una computadora puede usarse no solo para mostrar películas, sino también para crear los efectos especiales que se ven en ellas.

  •  Representación de Datos en un Sistema Computacional Conocer la representación binaria dentro del computador. Conocer los sistemas de numeración que se utilizan en los computadores para representar datos. Conocer la forma como se representan los datos en un Sistema Computacional.
  • Representación de Datos en un Sistema Computacional Bits y Bytes Conocer la forma en que los datos están representados usando dígitos binarios de 0’s y 1’s Sistemas numéricos Conocer los sistemas numéricos para representar datos.
  • Representación de Datos en un Sistema Computacional El computador representa información en ceros y unos (0 –1). Esta notación se llama “Código Binario” Cada dígito es representado por un voltaje diferente en sus circuitos. ( prendido y apagado) Es más fácil construir circuitos que discriminen entre 2 voltajes que entre 10 diferentes.
  •  Representación de Datos en un Sistema Computacional Bits y Bytes Bit: Unidad más pequeña de almacenamiento, o unidad mínima de información. Puede almacenar el valor 1 o el cero. Byte: Unidad que puede almacenar 8 bits. En un byte se puede almacenar un carácter.
  •  Representación de Datos en un Sistema Computacional Bits y Bytes Capacidades de Almacenamiento T G M K Abreviación Tera Giga Mega Kilo Prefijo Trillones Billones Millones Miles Capacidad de almacenamiento 2000s 1990s 1980s 1970s Década.
  • Representación de Datos en un Sistema Computacional Bits y Bytes 1 Byte = 8 Bits 1, 048, 576 1 Mega Byte 2 20 1, 073, 741, 824 1 Giga byte 2 30 1,099,511,627,776 1 Tera byte 2 40 1,024 1 Kilo Byte 2 10 Prefijo Cantidad.
  • Representación de Datos en un Sistema Computacional Código ASCII ( America Standard Code for Information Interchange).
  •  Representación de Datos en un Sistema Computacional Tipos de Sistemas Numéricos Sistema Decimal utilizado día a día. Sistema Binario (Base 2) Sistema hexadecimal (Base 16) Sistema Octal ( Base 8) Base = número de dígitos que existe en el sistema de numeración.
  • Representación de Datos en un Sistema Computacional Sistema Decimal Base 10 Dígitos 0,1,2,3,4,5,6,7,8,9 Para traspasar un número en cualquier base a decimal se utiliza el Teorema fundamental de la numeración ( T.F.N).
  • Representación de Datos en un Sistema Computacional Sistema Binario Base 2. Dígitos 0 y 1.
  •  Representación de Datos en un Sistema Computacional Sistema Hexadecimal Base 16 Dígitos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. El sistema hexadecimal se ha adoptado para representar números binarios de forma corta o abreviada. 99 Decimal = 1100011 Binario = 63 Hexadecimal.






Introducción a las ciencias computacionales [2] [3] 
https://encrypted-tbn3.google.com/imagesq=tbn:ANd9GcSmB8sPARTFmATFiIgJ5dWReeNW7ZaLR014qX4yQgRevNoWQYxQ  [1]