Antologia Informatica IV
Antologia Informatica IV
Antologia Informatica IV
PAG
I. Introducción a los sistemas operativos 5
I.1. Definición y concepto de sistema operativo 5
I.2. Características de los sistemas operativos 6
I.3. Clasificación de los sistemas operativos 7
I.4. Historia y desarrollo de los sistemas operativos 8
II. Estructura del sistema 11
II.1. Metodologías de diseño 13
II.2. Núcleo (kernel) y niveles de un sistema operativo 13
II.3. Programación de entrada/salida 14
II.4. Interrupciones del procesador 14
III. Administración de los procesos 21
III.1. Concepto de proceso, Concurrencia y secuenciabilidad 23
III.2. Regiones criticas, Exclusión mutua, Sincronización 26
IV. Interbloqueo (Dead Lock) 29
IV.1. Análisis, Prevención 32
IV.2. Detección y recuperación 32
IV.3. Mecanismos para evitarlo 34
IV.4. Nivel de implantación de estrategias 34
V. Control de procesos y recursos 36
VI. Introducción a los lenguajes y autómatas 38
VI.1. Conjuntos finitos e infinitos 39
VI.1.1. Alfabeto 39
VI.1.2. Propiedades de string (Longitud y concatenación) 40
VI.1.3. Lenguaje y su representacion finita. 41
VII. Gramáticas 41
VII.1. Introducción y estructuras de las gramáticas 42
VII.2. Clasificación de las gramáticas (CHOMSKG) 43
VII.3. Representación de gramáticas 44
VII.3.1. Notación de BNF, Diagramas sintácticos 45
VIII. Lenguajes regulares 47
IX. Autómatas finitos 48
IX.1. Autómatas finitos determinísticos (AFD) 49
IX.2. Autómatas finitos no deterministicos AFND) 50
IX.3. Equivalencias AFND y AFD 50
IX.4. Propiedades de los lenguajes aceptados por un autómata 51
finito
IX.5. Autómatas finito y expresiones regulares 52
IX.6. Determinación de lenguajes regulares y no regulares 52
X. Autómatas de Push-Down 53
XI. Maquinas de Turing 53
XI.1. Definición de maquina de Turing 54
XI.2. Funcionamiento de la maquina de Turing 55
XI.3. Ejemplo de mayor fuerza de la maquina de Turing 55
XI.4. Extensiones de la maquina deTuring 56
XI.5. Maquina de Turing no deterministica 57
XI.6. El problema HALFING para las maquinas de Turing 57
XII. Gramáticas autómatas 58
XII.1. Lenguajes regulares 59
XII.1.1. Teorema de Kleene, Las aplicaciones del lema 59
Pumping
XII.1.2. El teorema MCHILL nerode 60
XII.2. Lenguajes de contexto libre 60
XII.2.1. Forma normal EHUMSKG, Lema de BARHILL el 61
Pumping
XII.2.2. Autómata de Pushdawn, Compilador de lenguajes 61
formales
XII.2.3. Lenguajes Brackat 61
XII.3. Lenguajes de contexto sensitivo 62
XII.3.1. Autómata lineal Bounded, Aspectos prácticos 62
Ejemplificación con un lenguaje conocido 62
XIII. Aplicaciones a lenguajes 63
XIII.1. Objetivos y filosofía de diseño de lenguajes de 63
programación
XIII.1.1. Comunicación humana 63
XIII.1.2. Prevención y detección 64
XIII.1.3. Utilidad, Eficiencia 65
XIII.1.4. Independencia de a maquina 65
XIII.1.5. Simplicidad, uniformidad 66
XIII.1.6. otras filosofias de diseño 66
XIV. Diseño detallado 68
XIV.1.1. Microestructuras 68
XIV.1.2. Estructuras d expresión 69
XIV.1.3. Estructuras de datos 70
XIV.1.4. Estructuras de control 70
XIV.1.5. Estructuras del compilador 71
XIV.1.6. Estructura I/O 71
XV. Otras aplicaciones
XVI. Unidad integradora (proyecto final) 73
INTRODUCCCION
En este apartado se desarrollaran temas relacionados a la informática, que se
explicaran en dieciséis unidades cada una con sus subtemas correspondientes.
Aquí se dará a conocer los conceptos más importantes del cálculo mercantil como
son: Sistemas operativos, Administración de los procesos, gramáticas, Lenguajes
regulares, Autómatas finitos, entre otros.
Se habla sobre como esta clasificados los sistemas operativos: tenemos el
Multiusuario: ya que Permite que dos o más usuarios utilicen sus programas al
mismo tiempo. Multiprocesador: soporta el abrir un mismo programa en más de
una CPU. 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. Los sistemas
operativos como DOS y UNIX, no funcionan en tiempo real.
INFORMATICA IV Página 5
Introducción a los Sistemas Operativos
o Gobierna el Sistema.
o Asigna los recursos.
o Administra y controlar la ejecución de los programas.
6
Introducción a los Sistemas Operativos
El software de aplicación son programas que se utilizan para diseñar, tal como el
procesador de palabras, lenguajes de programación, hojas de cálculo, etc.
7
Introducción a los Sistemas Operativos
o Cargadores.
o Compiladores.
o Ensambladores.
o Macros.
8
Introducción a los Sistemas Operativos
por lotes de un sólo flujo, ya que los programas y los datos eran sometidos en
grupos o lotes.
La introducción del transistor a mediados de los 50's cambió la imagen
radicalmente.
Se crearon máquinas suficientemente confiables las cuales se instalaban en
lugares especialmente acondicionados, aunque sólo las grandes universidades y
las grandes corporaciones o bien las oficinas del gobierno se podían dar el lujo de
tenerlas.
Para poder correr un trabajo (programa), tenían que escribirlo en papel (en
Fortran o en lenguaje ensamblador) y después se perforaría en tarjetas.
Enseguida se llevaría la pila de tarjetas al cuarto de introducción al sistema y la
entregaría a uno de los operadores. Cuando la computadora terminara el trabajo,
un operador se dirigiría a la impresora y desprendería la salida y la llevaría al
cuarto de salida, para que la recogiera el programador.
Segunda Generacion (a mitad de la década de 1960)
La característica de los sistemas operativos fue el desarrollo de los sistemas
compartidos con multiprogramación, y los principios del multiprocesamiento. En
los sistemas de multiprogramación, varios programas de usuario se encuentran al
mismo tiempo en el almacenamiento principal, y el procesador se cambia
rápidamente de un trabajo a otro. En los sistemas de multiprocesamiento se
utilizan varios procesadores en un solo sistema computacional, con la finalidad de
incrementar el poder de procesamiento de la maquina.
La independencia de dispositivos aparece después. Un usuario que desea escribir
datos en una cinta en sistemas de la primera generación tenia que hacer
referencia especifica a una unidad de cinta particular. En la segunda generación,
el programa del usuario especificaba tan solo que un archivo iba a ser escrito en
una unidad de cinta con cierto número de pistas y cierta densidad.
Se desarrollo sistemas compartidos, en la que los usuarios podían acoplarse
directamente con el computador a través de terminales. Surgieron sistemas de
tiempo real, en que los computadores fueron utilizados en el control de procesos
industriales. Los sistemas de tiempo real se caracterizan por proveer una
respuesta inmediata.
Tercera Generacion (mitad de década 1960 a mitad década de 1970)
Se inicia en 1964, con la introducción de la familia de computadores Sistema/360
de IBM. Los computadores de esta generación fueron diseñados como sistemas
para usos generales . Casi siempre eran sistemas grandes, voluminosos, con el
propósito de serlo todo para toda la gente. Eran sistemas de modos múltiples,
algunos de ellos soportaban simultáneamente procesos por lotes, tiempo
compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y
costosos, nunca antes se había construido algo similar, y muchos de los
esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho
después de lo que el planificador marcaba como fecha de terminación.
9
Introducción a los Sistemas Operativos
10
Introducción a los Sistemas Operativos
Gestor de archivos.
Gestiona la asignación de espacio en la memoria del disco y
de las estructuras de datos usadas para representar información.
Procesador de consultas.
Traduce las proposiciones en lenguajes de consulta a
instrucciones de bajo nivel. Además convierte la solicitud del
usuario en una forma más eficiente.
Compilador de DDL.
Convierte las proposiciones DDL en un conjunto de tablas
que contienen metadatos, estas se almacenan en el diccionario
de datos.
Archivo de datos.
En él se encuentran almacenados físicamente los datos de una
organización.
Diccionario de datos.
Contiene la información referente a la estructura de la base
de datos.
Indices.
Permiten un rápido acceso a registros que contienen valores
específicos.
11
Introducción a los Sistemas Operativos
12
Introducción a los Sistemas Operativos
13
Introducción a los Sistemas Operativos
En este apartado y los siguientes vamos a ver algunas de las funciones más
importantes que nos proporcionan las librerías definidas por ANSI y su utilización.
Como hemos visto hasta ahora, el lenguaje C no proporciona ningún mecanismo
de comunicación ni con el usuario ni con el sistema operativo. Ello es realizado a
través de las funciones de librería proporcionadas por el compilador.
Una función que ya hemos utilizado y que, ella y sus variantes, es la más
utilizadas para la salida de información es printf. Esta permite dar formato y enviar
datos a la salida estándar del sistema operativo.
#include <stdio.h>
Tipo Descripción
d, i Entero decimal con signo
o Entero octal sin signo
u Entero decimal sin signo
x Entero hexadecimal sin signo (en minúsculas)
X Entero hexadecimal sin signo (en mayúsculas)
f Coma flotante en la forma [-]dddd.dddd
e Coma flotante en la forma [-]d.dddd e[+/-]ddd
g Coma flotante según el valor
14
Introducción a los Sistemas Operativos
Modificador Descripción
+ Siempre se imprime el signo, tanto + como -
- Justifica a la izquierda el resultado, añadiendo espacios al final
blank Si es positivo, imprime un espacio en lugar de un signo +
# Especifica la forma alternativa
Modificador Descripción
N Se imprimen al menos n caracteres.
Se imprimen al menos n caracteres y si la salida es menor, se
0n
anteponen ceros
* La lista de parámetros proporciona el valor
Modificador Descripción
L Imprime un entero long
H Imprime un entero short
Otra función similar a printf pero para la entrada de datos es scanf. Esta toma los
datos de la entrada estándar del sistema operativo. En este caso, la lista de
argumentos debe estar formada por punteros, que indican dónde depositar los
valores.
#include <stdio.h>
Hay dos funciones que trabajan con strings. La primera lee un string de la entrada
estándar y la segunda lo imprime en el dispositivo de salida estándar.
#include <stdio.h>
15
Introducción a los Sistemas Operativos
#include <stdio.h>
#include <stdio.h>
main()
{
int c;
while ( (c = getchar()) != EOF )
putchar(c);
}
16
Introducción a los Sistemas Operativos
17
Introducción a los Sistemas Operativos
18
PRACTICAS PROFESIONALES INFORMATICA IV
Interrupciones Múltiples
Existen dos enfoques:
1°) Se inhabilitan las interrupciones mientras se esté procesando una. El
procesador ignora la señal de interrupción quedando pendiente dicha interrupción.
Una vez finalizada la rutina de tratamiento de interrupción se habilitan las
interrupciones antes de comenzar el programa y el procesador comprueba si se
produjo alguna interrupción adicional, por lo que las interrupciones son tratadas
en forma secuencial.
La limitación es que no tiene en cuenta las prioridades relativas o necesidades
críticas de tiempo. Si el primer lote de entrada no se proceso, cuando llega el
segundo pueden perderse datos porque el buffer de dispositivos de E/S puede
estar lleno y producirse un desbordamiento.
2°) Se definen las prioridades para las interrupciones, permitiendo que una
interrupción más alta interrumpa a la rutina de tratamiento de una interrupción de
prioridad más baja.
19
PRACTICAS PROFESIONALES INFORMATICA IV
Multiprogramación
Es la técnica por medio de la cual el procesador puede soportar la ejecución de
varios trabajos activos (que se están ejecutando) al mismo tiempo.
Puede ocurrir que aún utilizando interrupciones el procesador no sea
eficientemente aprovechado.
Cuando el procesador tiene que ocuparse de varios programas, el orden de
ejecución de éstos dependerá de la prioridad relativa de cada uno y de si están
esperando una E/S.
Cuando un programa es interrumpido, el control se transfiere a la rutina de
tratamiento de la interrupción, luego de que ésta haya terminado, puede que no
se devuelva el control inmediatamente al programa de usuario que estaba
ejecutándose en el momento de la interrupción. Puede ser que el control se
transfiera a otro programa pendiente con mayor prioridad. Y por último, cuando
una prioridad más alta, se reanudará el programa de usuario que fue
interrumpido.
20
PRACTICAS PROFESIONALES INFORMATICA IV
Puede haber proceso sin litigio, porque se lleva la diferencia de común acuerdo.
Ejemplo: divorcio y procesos de jurisdicción voluntaria, en donde no hay litigio.
Los fines del proceso son varios: defienden un interés común que afecta a toda la
comunidad y su fin es la actuación de la Ley. Es aplicar la norma sustancial al
caso concreto.
El objeto del proceso es la relación jurídica o los hechos a los cuales debe
aplicarse una norma para decidir sus efectos en derecho. En el plano penal,
consiste en la investigación de conductas punibles y la responsabilidad de las
personas sindicadas.
En el aspecto ético, que va muy de la mano con el proceso penal por la gravedad
de los actos allí evaluados, investiga si hubo o no violación de norma ética.
Determina autores materiales, intelectuales, cómplices, circunstancias y
responsabilidades respectivas. Protege el orden jurídico y así la paz y armonía
comunitarias al castigar a quien quebrante la confianza social.
Derecho de acción es el derecho subjetivo que tienen las personas para movilizar
el aparato jurisdiccional del Estado. Sus elementos son los denominados sujetos.
El sujeto activo es cualquier persona natural por el solo acto de voluntad al
plantear el comienzo del proceso o de oficio, en caso de tratarse de autoridades
legítimamente investidas de ciertos poderes. El sujeto pasivo en el campo penal
21
PRACTI CAS PROFESIONALES INFORMATICA IV
22
PRACTI CAS PROFESIONALES INFORMATICA IV
23
PRACTI CAS PROFESIONALES INFORMATICA IV
• Acelera los cálculos. Si se quiere que una tarea se ejecute con mayor rapidez, lo
que se puede hacer es dividirla en procesos, cada uno de los cuales se ejecuta en
paralelo con los demás.
• Ocurrencia de bloqueos
Procesos son cooperantes: Son aquellos que están diseñados para trabajar
conjuntamente en alguna actividad, para lo que deben ser capaces de
comunicarse e interactuar entre ellos. En ambos tipos de procesos
(independientes y cooperantes), puede producirse una serie de interacciones
entre ellos y pueden ser de dos tipos:
24
PRACTI CAS PROFESIONALES INFORMATICA IV
1. El sistema operativo debe ser capaz de seguir la pista de los distintos procesos
activos. Esto lo hace por medio de PBC‟s (Bloque de Control de Procesos)
2. El sistema operativo debe asignar y quitar los distintos recursos a cada proceso
activo. Entre estos recursos se incluyen:
• Archivos:
• Dispositivos de E/S:
3. El sistema operativo debe proteger los datos y los recursos físicos de cada
proceso contra injerencias no intencionadas de otros procesos.
Cuando dos o mas procesos llegan al mismo tiempo a ejecutarse, se dice que se
ha presentado una concurrencia de procesos. Es importante mencionar que para
que dos o mas procesos sean concurrentes , es necesario que tengan alguna
relaciones entre ellos como puede ser la cooperaciion para un determinado
trabajo o el uso de informacion y recursos compartidos, por ejemplo: en un
sistema de un procesador , la multiprogramaciion es una condicion necesaria pero
no suficiente para que exista concurrencia, ya que los procesos pueden
ejecutarse de forma totalmente independiente.
25
PRACTI CAS PROFESIONALES INFORMATICA IV
De algúna manera se identifica que algún bloque de código se debe tratar como
región crítica (así funciona Java con sus bloques sincronizados):
V is shared variable
region V do
code of critical region
Adicionalmente es posible que dentro de la región crítica se llame a otra parte del
programa (por ejemplo, un procedimiento o función) que a su vez contenga una
región crítica. Si esta región está controlada por la misma variable V el proceso
obtiene automáticamente también acceso a dicha región.
Los regiones críticas no son lo mismo que los semáforos, porque no se tiene
acceso directo a las operaciones init(), wait() y signal().
26
PRACTI CAS PROFESIONALES INFORMATICA IV
La mayor parte de estos recursos son las señales, contadores, colas y otros datos
que se emplean en la comunicación entre el código que se ejecuta cuando se da
servicio a una interrupción y el código que se ejecuta el resto del tiempo. Se trata
de un problema de vital importancia porque, si no se toman las precauciones
debidas, una interrupción puede ocurrir entre dos instrucciones cualesquiera del
código normal y esto puede provocar graves fallos.
El algoritmo de Dekker.
El algoritmo de Peterson.
27
PRACTI CAS PROFESIONALES INFORMATICA IV
La sincronización
Los usuarios pueden insertar puntos de sincronización (PdS) durante una sesión.
Cada PdS lleva un número identificativo. Cuando un extremo pide un PdS el otro
recibe una indicación. Igualmente cuando un extremo pide resincronizar el otro
recibe una indicación.
En ningún caso se recupera el error a nivel de sesión. A este nivel se dan las
primitivas para poder resincronizar pero ésta se debe llevar a cabo en niveles
superiores. Existen dos tipos de puntos de sincronización. Cada tipo de punto
tiene su conjunto de primitivas asociadas.
Dos puntos de sincronización mayor delimitan una UNIDAD DE DIÁLOGO.
28
PRACTI CAS PROFESIONALES INFORMATICA IV
Tipos de recursos
Reutilizables
Un recurso reutilizable es aquél que puede ser usado con seguridad por un
proceso y no se agota con el uso. Los procesos obtienen unidades de recursos
que liberan posteriormente para que otros procesos las reutilicen. Como ejemplos
de recursos reutilizables se tienen los procesadores, canales de E/S, memoria
principal y secundaria, dispositivos y estructuras de datos tales como archivos,
bases de datos y semáforos.
Consumibles
Coffman (1971) demostró que deben cumplirse cuatro condiciones para que haya
un bloqueo mutuo:
29
PRACTICAS PROFESIONALES INFORMATICA IV
Deben estar presentes estas cuatro condiciones para que ocurra un bloqueo
mutuo. Si una o más de estas condiciones está ausente, no puede haber bloqueo
mutuo.
IV.1.- ANÁLISIS, PREVENCIÓN
Exclusión Mutua
30
PRACTICAS PROFESIONALES INFORMATICA IV
Análisis
Tipos de recursos
Reutilizables
Un recurso reutilizable es aquél que puede ser usado con seguridad por un
proceso y no se agota con el uso. Los procesos obtienen unidades de recursos
que liberan posteriormente para que otros procesos las reutilicen. Como ejemplos
de recursos reutilizables se tienen los procesadores, canales de E/S, memoria
principal y secundaria, dispositivos y estructuras de datos tales como archivos,
bases de datos y semáforos.
Consumibles
Coffman (1971) demostró que deben cumplirse cuatro condiciones para que haya
un bloqueo mutuo:
31
PRACTICAS PROFESIONALES INFORMATICA IV
- Segundo tipo. Usará una matriz de asignados, un vector disponibles y una matriz
de solicitudes.
Interbloqueo
32
PRACTICAS PROFESIONALES INFORMATICA IV
33
PRACTICAS PROFESIONALES INFORMATICA IV
34
PRACTICAS PROFESIONALES INFORMATICA IV
35
PRACTICAS PROFESIONALES INFORMATICA IV
36
PRACTICAS PROFESIONALES INFORMATICA IV
37
PRACTICAS PROFESIONALES INFORMATICA IV
VI.1.1.-ALFABETO
A) LONGITUD
38
PRACTICAS PROFESIONALES INFORMATICA IV
VI.1.3.-LENGUAJE
39
PRACTICAS PROFESIONALES INFORMATICA IV
40
PRACTICAS PROFESIONALES INFORMATICA IV
VII Gramática
Gramática es el estudio de las reglas y principios que regulan el uso del lenguaje
a nivel intraoracional (dentro de la oración). También se denomina así al conjunto
de reglas y principios que gobiernan el uso de un lenguaje determinado, por lo
que puede decirse que cada lenguaje tiene su propia gramática.
Nivel fonético-fonológico.
Nivel sintáctico-morfológico.
Nivel léxico-semántico.
Nivel pragmático.
A veces se restringe el uso del término gramática a las reglas y principios que
definen el segundo de estos niveles. Sin embargo, la separación de los niveles no
es totalmente nítida porque ciertas reglas gramaticales se realizan en el nivel
fonético-fonológico e igualmente existen parámetros o criterios semánticos que
sirven para decidir cuando una determinada construcción es agramatical.
41
PRACTICAS PROFESIONALES INFORMATICA IV
42
PRACTICAS PROFESIONALES INFORMATICA IV
P: S → asa
S → Ma
aS → b
Es una gramática tipo 0 pues la longitud del extremo izquierdo en la ultima regla
es 2 y del derecho es 1.
43
PRACTICAS PROFESIONALES INFORMATICA IV
αAβ → αγβ
S→λ
Definición alternativa
Ejemplo [editar]
S → abc | aSBc
cB → Bc
bB → bb
Obtenido de
"http://es.wikipedia.org/wiki/Gram%C3%A1ticas_sensibles_al_contexto"
44
PRACTICAS PROFESIONALES INFORMATICA IV
V→w
45
PRACTICAS PROFESIONALES INFORMATICA IV
EF_1: [ PRED = „aprobar < OBJ) SUJ) ((>‟ TPO = +PAS SUJ = [
PRED = „alumno‟
DEF = +
NÚM = –PL
GÉN = –FEM
PERS = 3
]
OBJ= [
PRED = „examen‟
DEF = +
NÚM = +PL
GÉN = –FEM
46
PRACTICAS PROFESIONALES INFORMATICA IV
PERS = 3
NOTACIÓN BNF, DIAGRAMAS SINTÁCTICOS
Las gramáticas de tipo 2 (que incluyen a las gramáticas de tipo 3) tienen métodos
alternativos útiles para desplegar las producciones. Una alternativa que se
encuentra con frecuencia es la notación BNF (forma Backus-Naur). Se sabe que
los lados izquierdos de todas las producciones en una gramática de tipo 2 son
símbolos no terminales únicos. Para cada uno de tales símbolos w, se combina
todas las producciones que tienen a w como lado izquierdo. El símbolo w
permanece a la izquierda, y todos los lados derechos asociados con w son
enumerados juntos, separados por el símbolo |. El símbolo relacional se
reemplaza por el símbolo ::=. Por último, los símbolos no terminales, cuando
aparezcan, serán encerrados entre paréntesis agudos < >. Esto tiene la ventaja
adicional de que los símbolos no terminales pueden tener espacios dentro de
ellos. Así, <palabra1 palabra2> muestra que la cadena entre paréntesis debe
considerarse como una "palabra", no como dos palabras. Es decir, se puede
utilizar el espacio como una "letra" conveniente y legítima en una palabra,
mientras que se utilice los paréntesis agudos para delimitar las palabras.
Es generado por:
Es descrito por:
47
PRACTICAS PROFESIONALES INFORMATICA IV
IX AUTÓMATA FINITO
Un autómata finito o máquina de estado finito es un modelo matemático de un
sistema que recibe una cadena constituida por símbolos de un alfabeto y
determina si esa cadena pertenece al lenguaje que el autómata reconoce.
- Definiciones:
fin de cadena.
AFD: M(S,,,i,F)
. : alfabeto de entrada.
. i: estado inicial.
48
PRACTICAS PROFESIONALES INFORMATICA IV
- AFND: M(S,Σ,ρ,i,F)
. Σ: alfabeto de entrada.
. ρ: subconjunto de S x Σ x S.
. i: estado inicial.
49
PRACTICAS PROFESIONALES INFORMATICA IV
Existe una equivalencia en entre los AFD y AFND, de forma que un autómata M
es equivalente a un autómata M‟ si L(M) = L (M‟).
v Ya que una función es un caso especial de relación (es decir, las funciones
son relaciones que poseen requerimientos adicionales), las funciones de
los AFD se consideran como relaciones en los AFND
v Por lo tanto, los AFND no son más potentes que los AFD con respecto a
los lenguajes que aceptan.
1. es un lenguaje regular
50
PRACTICAS PROFESIONALES INFORMATICA IV
x, y є C (x y) є C
x є C x є C”
EXPRESIÓN REGULAR
Una, a menudo llamada también patrón, es una expresión que describe un conjunto de
cadenas sin enumerar sus elementos. Por ejemplo, el grupo formado por las cadenas
Handel, Händel y Haendel se describe mediante el patrón "H(a|ä|ae)ndel". La mayoría de
las formalizaciones proporcionan los siguientes constructores: una expresión regular es
una forma de representar a los lenguajes regulares (finitos o infinitos) y se construye
utilizando caracteres del alfabeto sobre el cual se define el lenguaje. Específicamente, las
expresiones regulares se construyen utilizando los operadores unión concatenación y
clausura de Kleene.
51
PRACTICAS PROFESIONALES INFORMATICA IV
Lenguaje regular
Un lenguaje regular es un tipo de lenguaje formal que satisface las siguientes
propiedades:
Es generado por:
52
PRACTICAS PROFESIONALES INFORMATICA IV
53
PRACTICAS PROFESIONALES INFORMATICA IV
54
PRACTICAS PROFESIONALES INFORMATICA IV
Hay otras definiciones de las máquinas de Turing que son equivalentes. Algunos
de esos modelos alternativos son mucho más complicados aunque todos tienen la
misma potencia computacional (o de cálculo). Muchas de ellas dotan de mayor
flexibilidad al diseño de una máquina de Turing que resuelva un problema en
particular. Ejemplos [Kelley Dean]:
55
PRACTICAS PROFESIONALES INFORMATICA IV
Es una Máquina de Turing con cinta limitada a la izquierda, que se caracteriza por
que a partir de un estado y un símbolo puede haber diferentes transiciones,
Demostración:(Idea Intuitiva)
56
PRACTICAS PROFESIONALES INFORMATICA IV
Ejemplo : 25.3E-18
57
PRACTICAS PROFESIONALES INFORMATICA IV
G = { NT, T, S, P }
donde
58
PRACTICAS PROFESIONALES INFORMATICA IV
conjunto .
Observación 4.2 :
1.
.
2.
.
Por tanto, se tiene la igualdad conjuntista
59
PRACTICAS PROFESIONALES INFORMATICA IV
60
PRACTICAS PROFESIONALES INFORMATICA IV
Los lenguajes libres del contexto tienen una gran importancia en la definición de
lenguajes de programación, interpretación del lenguaje natural, construcción de
compiladores, etc.
61
PRACTICAS PROFESIONALES INFORMATICA IV
62
PRACTICAS PROFESIONALES INFORMATICA IV
El Lenguaje C fue creado en 1971 por Deniss Ritchie. Este lenguaje incluye una
sintaxis simplificada, aritmética de direcciones de memoria (permitiendo al
programador la manipulación de bites, bytes y direcciones de memoria) y el
concepto de apuntador, sus códigos son eficientes y tiene portabilidad para poder
correr en cualquier maquina.
63
PRACTICAS PROFESIONALES INFORMATICA IV
IMPOSIBILIDAD DE NO COMUNICAR
Se deriva de una propiedad básica del comportamiento, esto es, no hay algo que
sea lo contrario de comportamiento, no existe el no-comportamiento y, por lo
tanto, es imposible no comportarse.
que está guiado por reglas, así como el lenguaje lo está por su gramática.
la vida.
64
PRACTICAS PROFESIONALES INFORMATICA IV
a) a) Prever la redundancia
65
PRACTICAS PROFESIONALES INFORMATICA IV
Utilidad
En Economía:
o Es un criterio para encontrar el punto óptimo de eficiencia de Pareto,
en el cual no es posible beneficiar a más elementos de un sistema sin
perjudicar a otros
o La función de utilidad, cuya derivada es la utilidad marginal.
Aplicación web
66
PRACTICAS PROFESIONALES INFORMATICA IV
La simplicidad tiene algunas ventajas notables, que Mullet y Sano (ver artículo
anterior) en el libro "Visual Design" resumen en
67
PRACTICAS PROFESIONALES INFORMATICA IV
La principal diferencia con otras filosofías del diseño de interfaz es que el diseño
centrado en el usuario intenta optimizar la interfaz del usuario alrededor de cómo
la gente puede, desea o necesita trabajar, más que forzando a los usuarios a
cambiar cómo trabajan para acomodarse a la función del sistema.
Descripción
En esta etapa se adecúa el análisis a las características específicas del ambiente
de implementación y se completan las
distintas aplicaciones del sistema con los modelos de control, interfaz o
comunicaciones, según sea el caso.
68
PRACTICAS PROFESIONALES INFORMATICA IV
XIV.1.1.- MICROESTRUCTURAS
No queremos decir con ésto que los polímeros de agua sean una copia de las
moléculas de soluto. No solamente es innecesario que las microestructuras
acuosas "copien" a las moléculas de soluto, sino que –si se piensa bien- esta
hipótesis resulta ser absurda. Es tan absurdo como pretender que la palabra
"vino" tenga una propiedad embriagadora. Ni un dibujo ni siquiera una fotografía
pueden pretender ser, no ya idénticos, sino que ni tan sólo realmente semejantes
al objeto que se supone representan. Piénsese en que todo lo más expresan una
faz de las innumerables –quizás, infinitas- faces que posee verdaderamente el
objeto real.
69
PRACTICAS PROFESIONALES INFORMATICA IV
70
PRACTICAS PROFESIONALES INFORMATICA IV
Otros lenguajes ofrecen estructuras diferentes, como por ejemplo los comandos
guardados.
71
PRACTICAS PROFESIONALES INFORMATICA IV
72
PRACTICAS PROFESIONALES INFORMATICA IV
73
PRACTICAS PROFESIONALES INFORMATICA IV
El mergin ocurre cuando una petición de e/s emitida es adyacente a una petición
ya pendiente o es la misma, las dos peticiones pueden ser mezcladas y formar
una sola petición. Esto minimiza la gestión de las peticiones, al reducir el número
y además la resolución de la petición se realizará de una sola operación, sin
necesidad de posicionamientos adicionales del cabezal.
74
BIBLIOGRAFIA
www.monografias.com/trabajos11/oper/oper.shtml -
www.eumed.net/tesis/alhc/13.htm -
www.cnep.org.mx/Informacion/resenas/admonprocesos.htm
delta.cs.cinvestav.mx/~mcintosh/comun/summer2006/algebraPablo_html/node10.html
www.itculiacan.edu.mx/
www.exa.unicen.edu.ar/catedras/ccomp1/ApunteAF.pdf
es.wikipedia.org/wiki/Autómata_finito
www.mitecnologico.com/Main/AutomatasPushDown
es.wikipedia.org/wiki/Máquina_de_Turing
www.dirinfo.unsl.edu.
es.encarta.msn.com/media_461532737/aplicación_de_lenguajes_de_programación.html –
www.cs.ualberta.ca/~pfiguero/soo/metod/dis_detallado.html
http://www.monografias.com/trabajos/html
http://www.cca.org.mx/cca/cursos/htm
http://www.una.ac.cr.html
http://www.gestiopolis.com/