Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sistema binario
Inicialmente el sistema decimal era usado para representar datos dentro de la computadora. p p Las computadoras hacen uso de componentes electrnicos Los componentes electrnicos son esencialmente interruptores, los cuales podan estar en uno de dos estados: apagado o encendido. t d d did
Sistema binario
Se define y establece el uso del sistema binario para almacenamiento de datos. Entonces Entonces 0 se considera apagado o ausencia de corriente 1 encendido o presencia de corriente. A cada uno de estos dgitos se les conoce como bit (bi (binary di it) digit)
Representacin de datos
Un bit solamente puede representar dos smbolos nicos, un 0 un 1. Es necesario, contar con una unidad ms grande E i t id d d para representar los datos. Se utiliza una coleccin de bits para representar nmeros, l t letras y i imgenes, sonidos y otros id t smbolos, como caracteres y signos de puntuacin, todo dentro en forma numrica (lenguaje mquina).
Copyright Cenfotec S.A. 2001-2010
Representacin de datos
Coleccin de bits para p representar datos en el computador Para una computadora todo son nmeros nmeros.
Representacin de datos
Un conjunto de 8 bits (un BYTE) representa todo el conjunto de smbolos para las letras del alfabeto, signos de puntuacin, etc. Un BYTE es la cantidad de bits necesarios para representar un elemento de un juego de caracteres.
BIT
Byte
Copyright Cenfotec S.A. 2001-2010
Representacin de datos
Se disea un cdigo en el que se asigne a los distintos smbolos, patrones nicos de bits. Se almacena la informacin en forma de frases codificadas en la memoria principal o en los medios de almacenamiento masivo. Cdigos smblicos: g EBCDIC ASCII Unicode.
Copyright Cenfotec S.A. 2001-2010
El EBCDIC
Acrnimo de Extended Binary Coded Decimal Interchange Code (cdigo de intercambio de decimales codificados en binarios extendidos). Su ancestro fue BCD (Cdigo decimal binario), el cual usaba 6 bits para 64 convinaciones posibles, solo representaba maysculas y muy pocos otros smbolos. Solo para mquinas IBM.
El EBCDIC
El EBCDIC consiste en un cdigo de 8 bits que define 256 smbolos smbolos. Todava es utilizado en mainframes y sistemas de mediana escala de IBM, pero muy raro en las co putado as personales. computadoras pe so a es
El ASCII
ASCII (Cdigo Estndar Estaunidense para el Intercambio de Informacin) Informacin). Cdigo de ocho bits: 7 representa datos + octavo bit de paridad. cdigo de siete bits que defina 128 smbolos smbolos.
El ASCII
ASCII (Cdigo Estndar Estaunidense para el Intercambio de Informacin) Informacin). Cdigo de ocho bits: 7 representa datos + octavo bit de paridad. cdigo de siete bits que defina 128 smbolos smbolos. Luego se modifica a ocho bits para representar datos, permitiendo que se describieran 256 smbolos. No se cambiaron los anteriores sino que se hizo una extensin. e tensin
Copyright Cenfotec S.A. 2001-2010
El ASCII
Actualmente est constituido en 8 bits para representar 256 smbolos. :
0 31 32 64 65 97 97 127 9 - 12 128 - 255 Caracters de Control Caracteres especiales y p nmeros Letras maysculas y smbolos Letras minsculas y otros smbolos comunes Otros juegos de caracteres de Europa Occidental
Copyright Cenfotec S.A. 2001-2010
http://en.wikipedia.org/wiki/ASCII
El UNICODE
UNICODE (Norma de Cdigo Unico para Caracteres Mundiales) Cada smbolo se representa con dos bytes, es decir 16 bits. Se representa 65 536 caracteres o smbolos diferentes, suficiente para representar juegos de caracteres chinos, coreanos, japoneses y otros.
El UNICODE
Slabas aborgenes canadienses Cheroqui Copto Cirlico Devangar Esperanto Ge'ez Georgiano Griego Guyarat Gurmukhi Hangul (Coreano) Han (Kanji, Hanja y Hanzi) Japons (Kanji Hiragana y (Kanji, Katakana) Hebreo Jmer (Camboyano) Kannada (Canars) Lao Latino Malayalam Mongol Burmese Oriya Syriac Tailands (Thai) Tamil Tibetano Yi Zhuyin (Bopomofo)
Unicode cubre la mayor parte de las escrituras usadas actualmente, incluyendo: rabe Armenio Bengal Braille Unicode ha ido aadiendo escrituras y cubrir an ms, incluyendo escrituras histricas menos utilizadas, incluso aquellas extinguidas para propsitos acadmicos: q g p p p Cuneiforme Griego antiguo Linear B Fenicio Rnico Sumerio Ugartico U i No hay planes inmediatos para incorporar jeroglficos egipcios o escritura Copyright Cenfotec S.A. 2001-2010 Maya.
Antes se pensaba Si estuviese disponible un j g de p juego caracteres comn en el mundo, los programas y datos de las computadoras seran intercambiables hoy es el UNICODE
Copyright Cenfotec S.A. 2001-2010
Algunas unidades
Para calcular las unidades de medidas se utiliza el uso de potencias. Sin embargo dado que en el sistema binario la base es dos y no diez, estos valores no son exactos.
Algunas unidades Hacer la lectura de la red, que se encuentra en material complementario: - Doa Peta y sus Hermanas -
Conceptos de software C t d ft f
El sistema operativo
Es el software fundamental del software del sistema. El hardware proporciona la capacidad bruta de cmputo; el sistema operativo pone dicha capacidad al alcance de los usuarios
El sistema operativo
Sistema operativo: Conjunto de C j t d programas que relacionados entre s l i d t dan coherencia a las acciones que lleva a cabo la computadora. computadora Importancia: Optimiza el uso del sistema de cmputo mediante un aprovechamiento eficaz de todos sus recursos y una adecuada comunicacin con el usuario.
Recursos de cmputo
La capa superior comprende el software de aplicacin. Las dos subsiguientes comprenden el software del sistema
Copyright Cenfotec S.A. 2001-2010
Vista simplificada
Objetivo de Seguridad
El SO debe actuar contra cualquier manipulacin extraa: accidental premeditada Estas aciones pueden daar la informacin, perjudicar a otros usuarios o provocar un funcionamiento indeseado del sistema.
Objetivo de Seguridad
Estados del sistema operativo: Estado protegido (modo supervisor o kernel) en kernel), el cual se ejecuta el sistema operativo. Estado no protegido (o modo usuario) que es el usuario), destinado a la ejecucin de los programas de aplicacin. De esta manera se impide q los p g p que programas de los usuarios puedan tener un contacto directo con el hardware, o puedan forzar un incorrecto funcionamiento del sistema.
Copyright Cenfotec S.A. 2001-2010
Objetivo de Abstraccin
Ocultar cuanto sea posible los detalles de ms bajo nivel. nivel Se intenta dar a los niveles superiores una visin ms sencilla, global y abstracta, ofreciendo operaciones pa a a pu a estructuras ocultas, desconociendo para manipular est uctu as ocu tas, desco oc e do por completo la gestin interna de las mismas. Sobre estas estructuras se construyen otras que abstraen a las anteriores y as sucesivamente.
Copyright Cenfotec S.A. 2001-2010
Objetivo de Abstraccin
Los SO enmascaran los recursos fsicos, permitiendo su manejo con funciones ms generales que ocultan las bsicas, constituyendo verdaderos recursos ficticios o virtuales, que mejoran y son ms p ,q j potentes que los fsicos. Desde el punto de vista de un programa o usuario, la mquina fsica se convierte, gracias al sistema operativo, en una mquina virtual, tambin conocida como mquina extendida
Copyright Cenfotec S.A. 2001-2010
Objetivo de Abstraccin
Esta mquina virtual presenta la ventaja respecto a la fsica que ofrece ms funciones de las que normalmente soporta esta ltima. Proporciona servicios que incluyen las facilidades de carga y ejecucin de programas, interaccin con el usuario y los programas, permitiendo que se ejecuten varios concurrentemente, etc.
Mquina fsica
Sistema Operativo
Estudiar la presentacin:
5.1 Evolucin de los SO. pdf
Programacin de Aplicaciones P i d A li i
Programacin de Aplicaciones
Una computadora es una mquina que puede resolver problemas ejecutando i t l bl j t d instrucciones d d i dadas. Un programa es una secuencia de instrucciones que describe como ejecutar cierta tarea. Cualquier programa que se desee ejecutar en una computadora deben convertirse previamente en una t d d b ti i t secuencia de estas instrucciones simples.
Lenguaje de mquina
Unico lenguaje que comprende el computador. S expresaban en l Se b largas cadenas d 1 y 0 d de 1s 0s S intentan hacer las i t Se i t t h l instrucciones l ms simple i lo i l posible.
Grupo para la transferencia de datos Grupo aritmtico Grupo lgico y de desplazamientos Grupo de manejo de cadenas Grupo de flujo de control Grupo de control del sistema
Copyright Cenfotec S.A. 2001-2010
Ejecucin de un programa
Una computadora solamente interpreta las instrucciones que se encuentran en el lenguaje que ella entiende: el lenguaje de mquina.
Mquina multinivel
Los lenguajes de mquina son demasiado elementales, es difcil y tedioso utilizarlos. El lenguaje ensamblador es una variante del lenguaje de mquina. En ensamblador, se manejan identificadores en lugar de cdigos reales p g g para las operaciones, los p , valores y las localidades de almacenamiento de mquina.
Copyright Cenfotec S.A. 2001-2010
Mquina multinivel
Ni el programa en lenguaje de mquina:
00000010101111001010 00000010111111001000 00000011001110101000
ni el fragmento:
LOAD ADD STORE I J K
Mquina multinivel
Cmo expresar de modo simple para el ser humano y comprensible para la mquina?
Se debe de crear un conjunto de instrucciones
Este nuevo conjunto de instrucciones forman un nuevo lenguaje denominado L2, de manera semejante al que forman las instrucciones propias de la mquina, que llamaremos L1. Las dos aproximaciones solo difieren en el modo en que los programas escritos en L2 son ejecutados por l computadora, ya que d la t d despus d t d slo de todo, l puede ejecutar programas escritos en L1.
Mquina multinivel
Primer mtodo de ejecusin: Para ejecutar un programa escrito en L2, se sustituye primero cada i t tit i d instruccin por una i secuencia equivalente de instrucciones L1. El resultado es un nuevo programa totalmente escrito en instrucciones en L1. La computadora ejecutar el nuevo programa en L1 y no el anterior en L2. Esta tcnica se denomina traduccin o compilacin.
Copyright Cenfotec S.A. 2001-2010
Mquina multinivel
Segundo mtodo de ejecusin: Un programa en L1 toma programas escritos en L2 como datos de entrada examina una entrada, instruccin a la vez y se ejecuta directamente la secue c a equivalente secuencia equ a e te de instrucciones e L1. st ucc o es en Esta tcnica se denomina interpretacin y el p g programa q la lleva a cabo, intrprete. que , p
Mquina multinivel
Caso hipottico Mquina virtual cuyo lenguaje de mquina sea L2 L2, por tanto no existe compilacin e interpretacin.
Si la fabricacin de tal mquina fuese suficientemente barata, no habra necesidad de tener L1 ni de una mquina que ejecutara L1, programas en L1.
Mquina multinivel
L1 y L2 no difieren mucho para q la traduccin o p que interpretacin sea prctica, conviene inventar otro conjunto de instrucciones, ms orientado a las personas que a l mquina. la i j g j que Este tercer conjunto tambin forma un lenguaje q llamaremos L3. La gente puede escribir programas en L3 como si existiera una mquina virtual cuyo lenguaje mquina fuese L3. q
Copyright Cenfotec S.A. 2001-2010
Mquina multinivel
Se puede continuar indefinidamente creando lenguajes h t que se consiga uno ms adecuado l j hasta i d d para el hombre. El lenguaje de ms bajo nivel es el ms simple, y el de ms alto nivel el ms complejo para el computador.
Mquina multinivel
Instrucciones en lenguaje de la mquina M4 (L4) Mquina virtual M4 Instrucciones en lenguaje de la mquina M3 (L3)
Mquina virtual M3
Mquina virtual M2
Mquina real M1
Copyright Cenfotec S.A. 2001-2010
Lenguajes de programacin
Un lenguaje de programacin sirve para dos propsitos que se encuentran relacionados:
Proporcionar un vehculo para que el programador especifique las acciones por ejecutar. Proporcionar un conjunto de conceptos que le sirven al programador para pensar en lo que es factible hacer.
Lenguajes de programacin
Primer propsito: P Proporcionar un vehculo para que el i h l l programador especifique las acciones por ejecutar. ejecutar El lenguaje es el medio de expresin nos debe proveer los elementos necesarios para comunicar a la mquina las diferentes acciones que deseamos ejecutar.
Lenguajes de programacin
Segundo propsito: P Proporcionar un conjunto de conceptos que i j t d t le sirven al programador para pensar en lo que es factible hacer hacer. Se requiere idealmente un lenguaje cercano al cercano problema por resolver para poder expresar directa y concisamente los conceptos de una solucin.
Lenguajes de programacin
La conexin entre el lenguaje en q g j que pensamos/programamos y los problemas y soluciones que podemos imaginar es muy ntima. El lenguaje proporciona al programador un conjunto de herramientas conceptuales que pueden favorecer o dificultar la solucin de diversos tipos de problemas. problemas
M Mayor comprensin d l i t i de las instrucciones l cual i lo l permite reducir el tiempo y costo de programacin.
Programacin Estructurada P i E t t d
Programacin estructurada
Dado por Edsger Dijkstra en una p g j monografa, que creo escuela, llamada Notas sobre la programacin estructurada. estructurada
Su trabajo se enfoc en el proceso intelectual de la construccin de programas. Su enfoque parte de la identificacin de abstracciones adecuadas y contina con un refinamiento sistemtico sistemtico, de tal modo que persuade de la correccin resultante del programa
Cdigo espagueti
Estos programas son muy difciles de y rastrear pues su organizacin y estructura resulta t t lt muy complicada.
Instruccin 1 Instruccin 2 vaya a Instruccin 7 Instruccin 3 Instruccin 4 vaya a Instruccin 11 Instruccin 5 Instruccin 6 vaya a Instruccin 9 Instruccin 7 Instruccin 8 vaya a Instruccin 5 Instruccin 9 Instruccin 10 vaya a I t Instruccin 3 i Instruccin 11
Copyright Cenfotec S.A. 2001-2010
Programacin estructurada
Direccionado a la eliminacin o menor uso posible de la instruccin vaya a (goto) vaya (goto) U programa con una gran cantidad d i t Un tid d de instrucciones i goto puede ser muy difcil de entender. Estos se debe a los saltos que un programador debe realizar para entender lo que un programa hace hace.
Programa estructurado
1 Leer A,B,C,D 2 Si A>B vaya a la lnea 5 3 Mayor =B 4 Vaya a la lnea 6 5 Mayor=A 6 Si Mayor > C vaya a la lnea 8 y 7 Mayor=C 8 Si Mayor > D vaya a la lnea 10 9 Mayor = D 10 Imprima Mayor
Programa para calcular el mayor de 4 nmeros
Programacin estructurada
Qu no solo es la programacin estructurada? No es slo un tratamiento para los gotos y dems goto s sntomas de un software poco fiable. A qu se dirige la programacin estructurada? Se dirige a cmo construimos programas y cmo pensamos acerca de la programacin - Hoare la define como: El uso sistemtico de la abstraccin para El controlar una masa de detalles
Copyright Cenfotec S.A. 2001-2010
Programas estructurados
Dijkstra argumentaba que la probabilidad de establecer la correccin de un programa mediante pruebas era muy baja, a menos que se tomara en cuenta su estructura interna. La est uctu a y o ga ac so la c a e pa a a estructura organizacin son a clave para manejar programas muy grandes. La legibilidad de un programa puede mejorarse organizndolo de tal manera que cada parte pueda entenderse en forma relativamente independiente del resto.
Copyright Cenfotec S.A. 2001-2010
Programas estructurados
Un programa estructurado debe fundamentarse en el uso de tres tipos de estructuras bsicas denominadas estructuras de control.
Estructura secuencial Estructura de seleccin Estructura de repeticin
Estas estructuras de control se pueden combinar de dos maneras: por apilamiento y anidamiento, pero no por traslape, y pueden tener un nico punto de entrada y un nico punto de salida salida.
Copyright Cenfotec S.A. 2001-2010
Estructura secuencial
Accin 1
Accin A i 2
Estructura de seleccin
Ejs. de Expresin Booleana
Accin 1 -N>0? - Residuo(K / 2) = 0 ? - A> 2 y A< 10 ? si no
Exp. B
Accin A i 2
Accin A i 3
Estructura de repeticin
no
Exp. B
si Accin 1
Accin 3
Accin 2
Programa no estructurado
Inicio
Accin 1
Exp. B1
Exp. B2
Fin
Accin 2
Programacin estructurada
Las estructuras de control se pueden combinar apilndolas anidndolas anidndolas. N se permite t l No it traslapar estructuras t t E t restricciones permiten construir programas Estas ti i it t i mejor estructurados Resultan ser ms fcil de rastrear y comprender.
Copyright Cenfotec S.A. 2001-2010
Estructuras apiladas
Las estructuras se colocan en secuencia una despus de otra, de tal forma que el punto de salida de una sirve de punto de entrada a la siguiente.
Estructuras anidadas
Las estructuras se colocan unas dentro de otras, de tal forma que aunque existen dos o ms puntos de entrada, primero se tiene que salir de las estructuras ms internas para poder salir de las estructuras ms externas. externas
Estructuras traslapadas
Se deben evitar las estructuras traslapadas, porque complican la organizacin de los programas, y como se mencion anteriormente resulta dif il el rastreo y i t i t lt difcil l t comprensin de los mismos.
Material Adicional
Norton, Peter. Introduccin a la computacin . Pginas: 42 a 46 Representacin de datos Noticia de La Nacin Unidades de Nacin. Medidas. 15 de Abril del 2002. Doa Peta y sus Hermanas Presentacin de la Evolucin de los SO
Copyright Cenfotec S.A. 2001-2010
Debes leer Qu es el software de sistemas? , g , g , Ensambladores, cargadores, ligadores, compiladores e intrpretes. p g g http://www.monografias.com/cgibin/jump.cgi?ID=38759
http://images.google.co.cr/imgres?imgurl=http://www.bloginformatico.com/w p-content/uploads/2007/03/software-yprogramacion.jpg&imgrefurl=http://www.bloginformatico.com/concepto-yprogramacion jpg&imgrefurl=http://www bloginformatico com/concepto y tipos-desoftware.php&usg=__teFpmAF413VE83RlUcaLs7bDxJY=&h=259&w=350& sz 25&hl es&start 12&tbnid BlFqyAODR5spgM:&tbnh 89&tbnw 120&pre sz=25&hl=es&start=12&tbnid=BlFqyAODR5spgM:&tbnh=89&tbnw=120&pre v=/images%3Fq%3Dsoftware%26gbv%3D2%26hl%3Des%26sa%3DG
Copyright Cenfotec S.A. 2001-2010