arquitectuera software apuntes

25
 Programador de aplicacións informáticas [ARQUITECTURA DE ORDENADORES] Software

Upload: m-esther-ferreiro-fdez

Post on 06-Jul-2015

79 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 1/25

 

 

Programador de

aplicaciónsinformáticas 

[ARQUITECTURA DE

ORDENADORES] Software

Page 2: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 2/25

 

 

Software de un ordenador Arquitectura de Ordenadores1

1.  SOFTWARE DE UN ORDENADOR 

INTRODUCCIÓN

El término software fue utilizado y relacionado con la informática por primera vez porJohn W. Tukey en 1957. En las ciencias de la computación y la ingeniería del software,el software es toda la información procesada por los sistemas informáticos: programas ydatos. Sin el software el ordenador sería un conjunto demedios sin utilizar. Al cargar los programas en unordenador, la máquina actuará como si recibiera unaeducación instantánea; de pronto "sabe" cómo pensar ycómo operar.

El hardware por sí solo no puede hacer nada, pues esnecesario que exista el software para indicarle lasinstrucciones a realizar.

El software se puede clasificar según distintos parámetros y puntos de vista. En estetema veremos la clasificación según la utilidad del software o servicio prestado y segúnel tipo de licencia que posee o método de distribución en el mercado.

CLASIFICACIÓN DEL SOFTWARE SEGÚN ELSERVICIO PRESTADO

El software se pude clasificar según su utilidad en tres grandes tipos

•  SOFTWARE DE APLICACIÓN: El software de aplicación es aquel que hace que el ordenadorcoopere con el usuario en la realización de tareas típicamente humanas, tales como gestionaruna contabilidad o escribir un texto.

o  Aplicaciones ofimáticaso  Software educativoo  Software empresarialo  Bases de datoso  Hojas de cálculoo  Telecomunicacioneso  Programas de esparcimiento y vídeojuegoso  etc.

•  SOFTWARE DE DESARROLLO O PROGRAMACIÓN: Los lenguajes de programación osoftware de programación son herramientas que permiten crear programas y software. Entreellos tenemos Visual Studio (C#, Visual Basic), Java, C++, etc.

o  Editores de texto. Los editores de texto son programas que permitencrear y modificar archivos de texto. El programa puede leer el archivo einterpretar los bytes leídos según el código de caracteres que usa eleditor. Es común utilizar el código ASCII de 8 bits en el que cadacarácter es representado por una combinación de 8 bits, permitiendoutilizar 256 caracteres (28)

Page 3: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 3/25

 

 

Software de un ordenador Arquitectura de Ordenadores2

o  Compiladores. Se denomina compilador al software que tiene comofunción traducir un lenguaje de programación escrito en código fuente aotro lenguaje que pueda ser interpretado y ejecutado por el sistemaoperativo. Este proceso de traducción se conoce como compilación. Elcompilador permite traducir código fuente de un programa escrito en un

lenguaje de alto nivel a otro de nivel inferior y que comprendedirectamente el ordenador denominado   código objeto que  da lugar alcódigo ejecutable. De esta manera el programador puede diseñar unprograma en un lenguaje mucho más cercano al utilizado por el serhumano, para luego compilarlo a un lenguaje que comprendedirectamente el ordenador.

o  Intérpretes. Un interprete es un software capaz de analizar y ejecutarotros programas. Los intérpretes se diferencian de los compiladores enque mientras estos traducen un programa creado por un programador(código fuente) a un código objeto, los intérpretes realizan la traducciónmientras el fichero está ejecutándose y normalmente no crean un ficheroobjeto.

o  Enlazadores. Los programas enlazadores o linkers reúnen los ficheroscon el código objeto necesarios para ejecutar un programa junto con laslibrerías añadidas que puedan necesitar y crea un fichero ejecutable o una

biblioteca. En el caso de los programas enlazados dinámicamente, elenlace entre el programa ejecutable y las bibliotecas se realiza en tiempode carga o ejecución del programa.

o  Depuradores. Un depurador (debugger ) es un programa que permitedepurar o identificar los errores de los programas antes de sercompilados o interpretados para que su ejecución sea correcta.

o  Entornos de desarrollo integrado. También denominados IDE(  Integrated Development Environment ) son programas que reúnen todaslas herramientas necesarias para crear un programa informático. Un IDEes un entorno de programación que ha sido empaquetado como un

Page 4: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 4/25

 

 

Software de un ordenador Arquitectura de Ordenadores3

programa de aplicación, es decir, consiste en un editor de código, uncompilador, un depurador y un constructor de interfaz gráfica (GUI). Esposible que un mismo IDE pueda funcionar con varios lenguajes deprogramación. Este es el caso de Visual Studio, que permite programasen C# y Visual Basic.

•  SOFTWARE DE SISTEMA: Está formado por todos aquellos programas cuyafinalidad es servir al desarrollo o al funcionamiento de otros programas. Estosprogramas se caracterizan por estar muy próximos al hardware y tienen comoobjetivo desvincular al usuario y al programador de los detalles de internos defuncionamiento del ordenador. El software del sistema le aporta al usuarioherramientas que incluye, entre otras:

o  Sistema operativo: es el software imprescindible del ordenador, sin elno podría funcionar ningún equipo informático, tiene la máximaresponsabilidad en el buen funcionamiento del hardware y software delordenador. Todos los otros tipos de software necesitan de un sistemaoperativo para poder ejecutarse.

o  Utilidades: ejecutan tareas relacionadas con el mantenimiento delrendimiento del ordenador. Algunos están incluidos con el software delsistema operativo: compresores, antivirus, programas de copias deseguridad, etc.

o  Controladores de dispositivos: También llamados dirvers, sonprogramas que permiten al S.O. interactuar con un periférico haciendouna abstracción del hardware y proporcionando una interfaz para usarlo.Se puede decir que hacen la función de manuales que le indican alsistema operativo como debe controlar y comunicarse con un dispositivoen particular.

o  Herramientas de diagnóstico: Una herramienta de diagnóstico es unsoftware que permite monitorear y en algunos casos controlar lafuncionalidad del hardware como: ordenadores, servidores y periféricossegún el tipo y sus funciones. El software permite monitorizar latemperatura, el rendimiento, la transferencia de datos, etc.

o  Herramientas de corrección y optimización: Sin herramientas quepermiten corregir errores u optimizar el funcionamiento de algúnelemento hardware, por ejemplo, las utilidades para desfragmentardiscos.

o  Servidores: software que provee de servicios a otros usuarios uordenadores, por ejemplo, servidores de red, servidores web, servidores

ftp, etc. Los sistemas que utilizan los servicios de un servidor sedenominan clientes. El modelo cliente-servidor no implicanecesariamente tener dos ordenadores ya que un proceso cliente puedesolicitar algo como una impresión a un proceso de servidor en un mismoordenador, por ello, un equipo puede ser a la vez cliente y servidor.

El gráfico que se muestra a continuación muestra la cercanía al hardware de los distintostipos de software analizados:

Page 5: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 5/25

 

 

Software de un ordenador Arquitectura de Ordenadores4

CLASIFICACIÓN DEL SOFTWARE SEGÚN EL MÉTODODE DISTRIBUCIÓN

Además de estas categorías basadas en tareas, varios tipos de software se describenbasándose en su método de distribución. Para comprender los términos utilizados en lacomercialización de software es necesario comprender los siguientes términos:

• Licencia: contrato entre el desarrollador de un software sometido apropiedad intelectual y a derechos de autor y el usuario, en el cual sedefinen con precisión los derechos y deberes de ambas partes. Es eldesarrollador, o aquél a quien éste haya cedido los derechos de explotación,quien elige la licencia según la cual distribuye el software.

•  Patente: conjunto de derechos exclusivos garantizados por un gobierno oautoridad al inventor de un nuevo producto (material o inmaterial)susceptible de ser explotado industrialmente para el bien del solicitante porun periodo de tiempo limitado .

•  Derecho de autor o copyright: forma de protección proporcionada por lasleyes vigentes en la mayoría de los países para los autores de obrasoriginales incluyendo obras literarias, dramáticas, musicales, artísticas eintelectuales, tanto publicadas como pendientes de publicar.

En función del tipo de licencia podemos clasificar el software en:

•  Software con dominio público. El SOFTWARE CON DOMINIO PÚBLICO essoftware sin copyright. Algunos tipos de copia o versiones modificadaspueden no ser libres si el autor impone restricciones adicionales en laredistribución del original o de trabajos derivados.

•  Software semi-libre. El SOFTWARE SEMI-LIBRE es un software que tienecopyright pero permite que otros individuos lo usen, lo copien, lo

distribuyan y hasta lo modifiquen. Ejemplos de software semi-libre son lasprimeras versiones de Internet Explorer de Microsoft, o algunas versionesde browsers de Netscape, y StarOffice.

•  Software libre: El SOFTWARE LIBRE proporciona libertar de ejecución delprograma para cualquier propósito y la redistribución de copias, tambiénpermite modificar el programa y publicar las modificaciones. No se debeconfundir este software con el software gratuito porque la libertar asociadaal software libre de copiar, modificar y redistribuir, no significaobligatoriamente gratuidad.

Page 6: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 6/25

 

 

Software de un ordenador Arquitectura de Ordenadores5

•  Software con  copyleft: El SOFTWARE CON COPYLEFT es un software librecuyos términos de distribución no permiten a los redistribuidores agregarninguna restricción adicional cuando lo redistribuyen o modifican, o sea, laversión modificada debe ser también libre.

•  Freeware. El término FREEWARE no posee una definición ampliamente

aceptada, pero es utilizada para programas que permiten la redistribuciónpero no la modificación, y que incluyen su código fuente.

•  Shareware. SHAREWARE es el software disponible con el permiso para quesea redistribuido, pero su utilización implica el pago. Generalmente, elcódigo fuente no se encuentra disponible, y por lo tanto es imposiblerealizar modificaciones.

•  Software Propietario. El SOFTWARE PROPIETARIO es aquel cuya copia,redistribución o modificación están, en alguna medida, prohibidos por supropietario. Para usar, copiar o redistribuir, se debe solicitar permiso alpropietario o pagar.

•  Software Comercial. El SOFTWARE COMERCIAL es el software desarrolladopor una empresa con el objetivo de lucrar con su utilización. Nótese que"comercial" y "propietario" no son lo mismo. La mayor parte del softwarecomercial es propietario, pero existe software libre que es comercial, yexiste software no-libre que no es comercial.

•  Open source  software  (software de código abierto, también llamado de

  fuentes abiertas). CÓDIGO ABIERTO es el término con el que se conoce alsoftware distribuido y desarrollado libremente. El código abierto tiene unpunto de vista más orientado a los beneficios prácticos de compartir elcódigo que a las cuestiones morales y/o filosóficas las cuales destacan en el

llamado software libre. Actualmente una serie de administraciones públicashan mostrado su apoyo al Software libre, migrando total o parcialmente suservidores y sistemas de escritorio. (por ejemplo España, Brasil oAlemania).

En España distintas administraciones han desarrollado sus propias distribuciones OpenSource no sólo para uso administrativo sino también académico. Así tenemos LinEx enExtremadura, Augustux en Aragón, GuadaLinex en Andalucía, LliureX en LaComunidad Valenciana, Molinux en Castilla-La Mancha, MAX en La Comunidad deMadrid, Linkat en Cataluña, Trisquel en Galicia, LinuxGlobal en Cantabria, EHUX enel País Vasco, mEDUXa en la comunidad Canaria, Bardinux en la Provincia de Santa

Cruz de Tenerife en Canarias como proyecto de la ULL, Silu en la Provincia de LasPalmas en Canarias como proyecto de la ULPGC y Melinux en la Ciudad Autónoma deMelilla. Algunas de estas distribuciones están basadas en Debian, otras en Ubuntu yotras en OpenSuSE. Así como diversas distribuciones mantenidas por universidadespúblicas.

Page 7: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 7/25

 

 

Software de un ordenador Arquitectura de Ordenadores6

Page 8: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 8/25

 

 

Sistemas operativos Arquitectura de Ordenadores

7

2.  SISTEMAS OPERATIVOS

DEFINICIÓN

La evolución continua de los ordenadores supuso, ya desde las primeras generacionesde los mismos, un aumento de la complejidad en la lógica de su funcionamiento. Con elfin de conseguir un uso más racional y un mejor aprovechamiento de la capacidad de losordenadores, se desarrollaron una serie de programas, intermediarios entre hombre ymáquina, que constituyen el software funcional o sistema operativo (SO) delordenador.

Existen distintas definiciones de SO, aquí presentamos la de   Auerbach EDO Reports:“Un sistema operativo es una colección ordenada de programas y procedimientos queacompañan al ordenador y que, normalmente, realizan todas o algunas de las siguientesfunciones:

•  Planificación, carga, iniciación y supervisión de la ejecución de programas.

•  Gestión de memoria interna, de las unidades de e/s y de otros dispositivos.

•  Inicio y control de todas las operaciones de e/s

•  Coordinación de las comunicaciones entre el operador/usuario y sistema.

•  Mantenimiento de un registro de estado con las operaciones, y situacióndel sistema.

•  Control de las operaciones en los trabajos por lotes (batch), demultiprogramación, tiempo compartido (time sharing) y multiproceso.”

Resumiendo, un sistema operativo es un conjunto de programas que gestionan losrecursos del sistema, optimizan su uso y resuelven conflictos.

Generalmente, se entiende por sistema operativo, al conjunto de dos grupos deprogramas: los programas de control y los programas de proceso.

Los programas de control son aquellos que, de forma transparente para eloperador/usuario, facilitan, automatizan y mejoran el rendimiento de la explotación delos ordenadores, tales como los que se encargan de encadenar los trabajos y programas,asignación de recursos, etc.

Los progamas de proceso son aquellos que facilitan el trabajo de los usuarios, talescomo ejecución de un programa, manejo de ficheros, compiladores, editores, etc.

HISTORIA DE LOS SISTEMAS OPERATIVOS

Durante la 1ª generación de ordenadores no existían los sistemas operativos, la gestiónse hacía de forma manual. La máquina consistía en una CPU, una memoria principal yun dispositivo de entrada (lectora de fichas) y un dispositivo de salida (impresora ograbadora de fichas). Se introducía un trabajo de cada vez, si el trabajo tenía algún error

Page 9: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 9/25

 

 

Sistemas operativos Arquitectura de Ordenadores

8

había que perforar las fichas de nuevo e introducirlas otra vez en el ordenador, esteproceso se repetía hasta que no hubiese ningún error. La CPU se ocupaba de controlarlas entradas y salidas, mientras se producía una operación de este tipo no podía ocuparsede otras cosas.

En la 2ª generación, se trabaja en batch por lotes. Aparecen los primeros sistemasoperativos. Este sistema introduce por primera vez el uso de cinta magnética y losminiordenadores, lo que permite que un mini pase las fichas a una cinta magnética y losordenadores tomen los datos y programas de la cinta, y de aquí, otro mini saca losresultados en impresora o fichas. Solo ejecuta un programa de cada vezmonoprogramación. Se consigue optimizar un poco la CPU ya que mientras la CPUestá leyendo una cinta el mini puede estar pasando los datos a otra.

En la 3ª generación se generaliza el uso de los sistemas operativos y aumentan lasprestaciones de éstos. Entre las funciones más innovadoras de los sistemas operativosestán: la multiprogramación, entrada de trabajos en tiempo compartido ymultiproceso. Estos mecanismos de reparto de los trabajos fueron posible por la

aparición de los canales. Los canales son coprocesadores1

Desde la 4ª generación a la actualidad se le ha dado más importancia a la productividaddel usuario que al rendimiento de la máquina. Adquiere más importancia toda lafuncionalidad relacionada con la conexión a red, tanto locales (LAN) como de largoalcance (WAN). En concreto, la disminución del coste del hardware hace que se difundael proceso distribuido, en contra, de la tendencia centralizadora anterior. La difusiónde las ordenadores personales ha traído una humanización en los sistemas informáticos.Aparecen los sistemas «amistosos» o ergonómicos, en los que se evita que el usuario

tenga que aprenderse complejos lenguajes de control, sustituyéndose éstos por lossistemas con interfaz gráfica, en los que la selección puede incluso hacerse mediante unmanejador de cursor.

que tiene la capacidad deejecutar operaciones de e/s, gracias a este mecanismo el procesador puede seguirejecutando instrucciones mientras el canal se ocupa de las operaciones de e/s.

MODOS DE EXPLOTACIÓN DEL SISTEMA 

Los sistemas operativos utilizan distintas técnicas para distribuir el hardware entre losvariados requerimientos que solicitan los programas en ejecución. A continuaciónvernos algunas de estas técnicas.

MONOPROGRAMACIONLos sistemas de monoprogramación atienden un trabajo de cada vez. Cuando elprograma entra en proceso se apodera de la CPU y de los dispositivos de entrada ysalida hasta que termina. La monoprogramación es el modo de trabajo en el quesolamente un programa utiliza el procesador, siendo además el único existente en la

1 Un coprocesador es un microprocesador de un ordenador utilizado como suplemento de las funcionesdel procesador principal (la CPU)

Page 10: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 10/25

 

 

Sistemas operativos Arquitectura de Ordenadores

9

memoria principal, de tal forma que hasta que éste no termine su trabajo no cederá elcontrol al siguiente programa que será cargado en memoria, sustituyendo al anterior.

MULTIPROGRAMACIÓN

La multiprogramación es el tratamiento simultáneo por un sistema informático de másde un programa. Realmente, la multiprogración es una distribución del tiempo de launidad central de proceso y la memoria entre varios usuarios conectados por terminalesa un mismo computador, de esta operación se ocupa el elemento del kernel del sistemaoperativo denominado dispatcher . La ejecución de los programas puede no sertotalmente simultánea sino que el procesador divide su tiempo de ejecución entrevarios programas, no teniendo que finalizar la ejecución de un programa paracomenzar otro.

La compartición de la CPU por varios programas se produce de la siguiente manera:cuando se produce una interrupción por una operación de e/s en el programa que está enejecución, el sistema operativo almacena el trabajo en curso mientras el dispositivo de

e/s no esté disponible, entonces toma otro trabajo de la cola (donde están esperando losprogramas) y se inicia su ejecución en la CPU. El programa que estaba realizando la e/sse sitúa en la cola de espera de la CPU para ejecutarse cuando le corresponda.

Ejemplo: Esto se ilustra en la figura siguiente, en ella P1, P2 y P3 representanprogramas que residen en la memoria principal. Los rectángulos representan si elrecurso está siendo utilizado, salvo para P1, P2 y P3 que representan si el programaocupa la CPU. Al principio se está ejecutando P1, cuando inicia una operación de E/Scon la impresora se cede la CPU a P2. P2 se ejecuta hasta que comienza una operacióncon el scanner , entonces se cede la CPU a P3, éste se ejecuta hasta que utiliza laimpresora, momento en el cual se reanuda P1. Obsérvese que en este ejemplo la CPU

siempre está activa. No obstante, podría suceder que todos los programas que residen enla memoria inicien una operación de E/S y en un momento dado todos estén esperandola finalización de su operación, esto conllevaría la no utilización de la CPU hasta queacabe la operación de E/S de cualquiera de los programas.

Page 11: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 11/25

 

 

Sistemas operativos Arquitectura de Ordenadores

10

TIEMPO COMPARTIDO

El sistema de tiempo compartido (time sharing) divide el tiempo de la CPU (quantum) y

la memoria en “rodajas” para cada usuario, de forma que cada uno de ellos recibe laimpresión de disponer en exclusiva del ordenador, y establece con él una relación detipo conversacional (operación y respuesta inmediata).

En este sistema cada usuario dispone de un tiempo determinado de utilización de laCPU y la memoria, transcurrido éste, el sistema operativo pasa el control al programa deotro usuario, y al terminar con el último de ellos, vuelve a tomar el programa delprimero en el punto exacto donde lo dejó, y así, sucesivamente.

En condiciones normales, y dada la rapidez de la CPU, todo transcurre como si cadausuario fuese el único interactuando con el computador.

MULTIPROCESOSe define como multiproceso el tratamiento de los datos por más de una CPUcompartiendo memoria principal. Cada CPY puede dedicarse a ejecutar procesosindependientes. Normalmente, los computadores están interconectados por medio decanales de datos, que permiten a un computador leer/escribir en la memoria del otro,también puede darse el caso de que sólo exista una memoria principal para todos losterminales. Puede utilizarse con multiprogramación.

SISTEMAS DISTRIBUIDOS

La principal diferencia entre los sistemas de multiprocesadores y distribuidos, es queestos últimos no comparten memoria. Cada procesador tiene su propia memoria local.Los procesadores se comunican entre si a través de varias líneas de comunicación, talescomo líneas telefónicas o buses de alta velocidad. Dicho de otra forma, se trata de redesde computadores donde los procesadores pueden variar en tamaño y función.

Page 12: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 12/25

 

 

Sistemas operativos Arquitectura de Ordenadores

11

TRABAJO POR LOTES (BATCH)

En el trabajo por lotes implica que los programas se ejecutan sin necesitar ningunaintervención del usuario. A menudo se utilizan para la ejecución de tareas repetitivasque implican un gran volumen de información, por ejemplo, el renderizado de los

fotogramas de una película.El trabajo por lotes consiste en ir asignando recursos a los programas que lo solicitan yque previamente se encuentran en una cola de trabajo que determina la prioridad. Nohay restricciones temporales, no se necesita un tiempo de respuesta rápido. El sistemalos que hace es maximizar el uso de los recursos. Trabajan en monoprogramación.

TIEMPO REAL

El proceso en tiempo real, como su nombre indica, es un modo de explotación en el quela respuesta se obtiene al momento. No es necesario esperar más que lo que el

procesador tarde en cargar la información, procesarla e imprimirla.En la actualidad la mayoría de los ordenadores trabajan en tiempo real debido a que elhardware que los compone está físicamente integrado en el mismo espacio y conectadodirectamente a la unidad central de proceso. De esta forma, la carga de informaciónprocesada se visualizará o imprimirá dentro del mismo sistema informático, ya que, losperiféricos de salida también están conectados a la CPU.

MEMORIA VIRTUAL

Este tipo de sistema asume las responsabilidades de la gestión de la MP. Pudiendosimular que el sistema tiene más memoria de la que realmente dispone, bien utilizando

memoria secundaria como memoria interna o bien gestionando la forma en que losdatos y programas se almacenan en la memoria de tan manera que se pueda ejecutar unprograma que no cabe físicamente en la memoria, cargando éste por páginas osegmentos.

ESTRUCTURA DE UN SISTEMA OPERATIVO

El SO es el software que comunica al ordenador con el usuario y gestiona todas lasoperaciones que se producen en el interior de la computadora. Debe encargarse de lagestión del procesador, de la memoria principal, de los ficheros y de las órdenes que el

usuario introduzca en el sistema.

La estructura de un sistema operativo se puede dividir por capas concéntricas. Lassuperiores contienen a las interiores y de dentro a fuera se aleja del hardware.Describimos las capas de dentro a fuera.

 

•  Núcleo o Monitor o Kernel.

•  Gestión de procesador.

•  Gestión de memoria principal.

Page 13: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 13/25

 

 

Sistemas operativos Arquitectura de Ordenadores

12

•  Gestión de entrada/salida.

•  Gestión de ficheros.

•  Sentencias de comandos.

•  Aplicaciones de usuarios.

Cada capa contiene un conjunto de funciones definidas para un objetivo común. Unavez diseñadas todas las capas se deben ensamblar los programas que forman losdistintos niveles.

Los denominados programas de control comprende las cinco primeras capas y las dosúltimas a los programas de proceso.

NÚCLEO

Se denomina también monitor o kernel. Es la parte del SO más relacionado con elhardware del ordenador, cuyo objetivo es dar un entorno adecuado para la gestión de

procesos. Es la primera capa del sistema operativo.Sus funciones son:

•  Manejo de interrupciones.

•  Planificación y asignación de recursos a los procesos.

•  Mecanismo básico de la comunicación entre procesos.

•  Comunicación con los periféricos.

•  Protección de memoria frente al uso de la misma por parte de distintosprogramas (multiprogramación).

GESTIÓN DEL PROCESADORLos objetivos de esta capa son:

•  Establecer los criterios por los cuales se regula el uso de la CPU por losdistintos procesos.

•  Obtener un alto rendimiento de la CPU.

Planificación de la CPUSi un sistema está trabajando en monoprogamación, la CPU ejecuta un trabajo detrás

de otro con sus cálculos y operaciones de e/s. Todo lo hace la CPU.Pero, si un sistema está trabajando en multiprogramación, los períodos de e/s no losejecuta la CPU sino los canales de e/s. Cuando se produce una operación de e/s en unprograma, toma el control de ésta el canal, liberando al procesador de este trabajo, elcual pasa a ejecutar otro programa de la cola.

Page 14: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 14/25

 

 

Sistemas operativos Arquitectura de Ordenadores

13

GESTIÓN DE MEMORIA PRINCIPAL

Esta capa se ocupa de la planificación de la memoria para optimizar la ejecución de losprocesos. Esta capa es muy importante pues todo proceso necesita de la MP (memoria

 principal) para ejecutarse y la e/s siempre se realiza a través de la MP.

Los métodos más utilizados en la planificación de la MP son:

•  Particiones estáticas. La memoria se divide en un número de determinadode particiones de diferente dimensión. A cada programa se le asigna lapartición de menor tamaño que lo pueda contener. El número de particioneses fija.

•  Segmentación. Consiste en la división de la memoria en segmentos delmismo tamaño. A cada trabajo se le asigna un segmento pudiendo haberalgunos trabajos que necesiten más de un segmento y otros que ocupandomenos de un segmento no aprovechen todo el espacio asignados.

• Paginación. Consiste en la división de la memoria en páginas de tamañofijo y dimensiones relativamente pequeñas (1/2 A 4 KB), que se mantienenen un montón. Los programas se dividen en páginas, y sólo residen en lamemoria central las páginas que se están ejecutando cada vez. Este métodorequiere el uso de memorias secundarias de acceso rápido, al ser frecuenteslas transferencias de páginas desde la memorias secundaria a la memoriaprincipal.

Tanto la paginación como la segmentación utilizan memoria virtual, que consiste en eluso de memorias secundarias para contener el programa que se está ejecutando y,aunque éste no quepa en la memoria principal en su totalidad, se tomará de la memoriassecundaria las páginas o segmentos que se necesiten ejecutar en un determinadomomento hacia la memoria principal. De esta manera se pueden ejecutar trabajos que nocaben en su totalidad en la MP y de esta manera la MP parece más grande de lo que es.

GESTIÓN DE ENTRADA Y SALIDA

Es la capa del sistema operativo que se encarga de gestionar la e/s de/hacia losperiféricos. Entre sus funciones están:

•  Direccionamiento de periféricos

•  Transferencia de la información desde/hacia los periféricos.

• Sincronización y coordinación de la operaciones de e/s

Direccionamiento de periféricosLos periféricos se direccionan a través del bus de e/s. El bus va de la CPU hacia la e/s.El bus de e/s contiene:

 

•  líneas de dirección: direcciona el periférico de e/s a utilizar se llama bus dedirecciones,

•  líneas de datos: por ellas se envían los datos, se llama bus de datos y

Page 15: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 15/25

 

 

Sistemas operativos Arquitectura de Ordenadores

14

•  líneas de control: controla las operaciones, se llama bus de control. 

Los datos a transferir desde/hacia la MP hacia/desde los periféricos se hace por mediode buffers que son áreas de la memoria que sirven de almacenamiento intermedio entrela unidad de e/s y la MP. El tamaño de cada buffer depende del periférico que lo utiliza.Así, un buffer de salida a impresora tendrá, normalmente, la dimensión necesaria paraalmacenar una línea; un buffer asignado a un monitor requerirá un mínimo de memoriasuficiente para almacenar una página de pantalla.

GESTIÓN DE FICHEROS

Esta capa comprende la gestión de ficheros, el soporte de entrada/salida y el sistema degestión de datos. Para explicar el funcionamiento de esta capa tomaremos como ejemplola gestión de ficheros en un disco magnético.

Planificación del uso del disco duro

Deben existir algoritmos de planificación que gestionen la cola de procesos que esperenacceder al disco. Entre ellos destacamos:

•  Planificación FCFS (First-Come, First Served ). El primero que llega es elprimero en ser servido.

•  Planificación SSTF (Shortest-Seek-Time-First ). El brazo del disco se sitúaen la siguiente posición que minimice el tiempo de búsqueda. Este métodoes útil en sistemas de procesamiento por lotes en los que la capacidad deejecución es la más importante.

•  Planificación scan. El brazo del disco se mueve de un lado a otro sobre lasuperficie del disco, sirviendo todas las peticiones que encuentra a su paso.

Sistema de ficherosEl sistema de ficheros es la parte del sistema operativo que se encarga de laadministración de archivos de almacenamiento secundario. El sistema de ficheros debepermitir:

•  Crear directorios, cambiar de directorio...

•  Crear, modificar y borrar archivos.

•  Los usuarios deben poder compartir archivos.

•  Proporciona accesos controlados a los archivos.

•  Referenciar los fichero con nombres simbólicos.

•  Debe proporcionar al usuario una visión lógica de sus datos, no una visiónfísica.

Un sistema de archivos se suele organizar en directorios y subdirectorios. Cadadirectorio o subdirectorio contiene la información básica de los archivos ysubdirectorios que hay en él (nombre, tipo de fichero, situación, tamaño, fecha y hora decreación, etc.) En sistemas de archivos de estructura jerárquica, el nombre del sistema

Page 16: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 16/25

 

 

Sistemas operativos Arquitectura de Ordenadores

15

para un archivo suele estar formado como el nombre de todos los directorios por los quehay que pasar para llegar a él.

Eliminar un fichero significa borrar su entrada en el directorio, es decir, no se borra elfichero físicamente, sino que se elimina la capacidad de acceder a él. El espacio queocupa el fichero borrado en el disco es considerado como vacío quedando libre parapoder escribir sobre él. Antes de que esto ocurra es posible recuperar la información deun fichero borrado.

Los sistemas de ficheros más utilizados en la actualidad son:

•  FAT (File Allocation Table): Son los sistemas de fichero utilizados en DOSy primeras versiones Windows. La característica principal (a la que debensu nombre), es que el estado de cada unidad de información del dispositivo,está reflejado en una tabla. Esta tabla es muy importante porque es el índicedel contenido del disco. Cualquier error aquí puede convertir la unidad eninutilizable, razón por la que está duplicada. Ambas copias ocupan lugaresconsecutivos en los primeros sectores del disco. Actualmente se utilizan elsistema FAT 32 evolucionados que permiten administrar unidades lógicasde mayor tamaño (2 TB) y optimiza mejor el espacio del disco.

•  NTFS (  New Technology File System) : Se utilice por primera vez en elsistema operative Windows NT. Este sistema permite la compresión y larestricción de acceso de ficheros uno a uno y entre otras mejoras otrasmejoras. La estructura central de este sistema es la MFT (  Master File

Table), de la que se guardan varias copias de su parte más critica a fin deprotegerla contra posibles corrupciones.

SENTENCIAS DE COMANDOS

Son rutinas que ejecutan operaciones que el usuario puede necesitar realizar en elsistema. Entre las operaciones que pueden ejecutar están:

•  Manipulación de directorios (crear, borrar...).

•  Manipulación de ficheros (leer, escribir, borrar...).

•  Manipulación de dispositivo (rebobinar una cinta, obtención de estado dedispositivo...).

•  Conocer la ocupación de recursos.

•  Cancelar procesos y ponerlos en marcha.

•  Etc.

APLICACIONES DE USUARIO

Son programas que pueden incluirse en el sistema operativo o no. Realizan funcionesque el usuario puede necesitar en un determinado momento. A este grupo pertenecen loscompiladores, intérpretes, ensambladores, editores...

Page 17: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 17/25

 

 

Sistemas operativos Arquitectura de Ordenadores

16

SISTEMAS OPERATIVOS ACTUALES

Los sistemas operativos más generales son:

-  MS-DOS. El MS-DOS fue el sistema operativo más extendido hasta la aparición

de Windows. Sistema para un único usuario desarrollado para microordenadoresde 16 bits es monousuario y monotarea. Fue soporte de Windows hasta suversión Windows ME.

-  UNIX. UNIX es sistema operativo pensado para tecnologías de 16 o 32 bits,muy utilizado en servidores. El sistema operativo UNIX tiene diversas variantesy se considera potente, más transportable e independiente de equipos concretosque otros sistemas operativos porque está escrito en lenguaje C.. Se utilizamucho como servidor de Internet.

-  Windows 98, NT, XP, Vista. Los sistemas operativos de Microsoft son los demás alta distribución en la actualidad. La interfaz se basa en una interfaz gráficaen la que los elementos con los que interactúa el usuario o se presentan losresultados se basa en la utilización de elementos gráficos como iconos, menús,botones, barras de desplazamiento, etc. Tras la primera versión (Windows 3.1)han ido apareciendo versiones mejoradas (95, 98, ME, XP, Vista, etc.). La másreciente versión de Microsoft Windows es el Windows 7.

-  Mac OS. Sistema operativo de los ordenadores Apple Macintosh. Muy similaren cuanto apariencia a Windows. Utilizado principalmente por diseñadores

Page 18: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 18/25

 

 

Sistemas operativos Arquitectura de Ordenadores

17

gráficos. Macintosh® desde sus inicios, no aceptó la estandarización de PC-IBM®, y comenzó a desarrollar sus propio harware, sistemas operativos yaplicaciones de manera independiente a las PC´s). Por ello no era posibleejecutar programas para Mac® en PC, a menos que se utilizara un programaemulador para ello. Actualmente Macintosh® se esta integrando al estándar PC

para mayor compatibilidad.

-  Linux. Es un sistema operativo basado en UNIX pero de software libre, todo sucódigo fuente puede ser utilizado, modificado y redistribuido libremente por

cualquiera bajo los términos de la licencia pública general de GNU (GeneralPublic License) y otras licencias libres. Numerosas administraciones hanapostado por el uso de este sistema operativo dada su adaptabilidad y la ausenciade costos iniciales. Actualmente existen una gran gama de versiones: Linspire®,Debian, Knoppix, Red Hat, SuSe, Slackware, Mandrake, Ubuntu, todos ellos detipo gráfico.

-  Android. Android es un sistema operativo basado en Linux y orientado adispositivos móviles, como teléfono inteligente y tablets. Fue desarrolladoinicialmente por Android Inc, una firma comprada por Google en el 2005..Google liberó la mayoría del código de Android bajo la licencia Apache, unalicencia libre y de código abierto. La estructura del sistema operativo Android secompone de aplicaciones que se ejecutan en un framework Java.

- -  iOS. Es el sistema operativo de IPhone (Apple) que se utiliza los equipos

móviles iPhone y iPod. Es un derivado de Mac OS.

Page 19: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 19/25

 

 

Lenguajes de programación Arquitectura de Ordenadores

18

3.  LENGUAJES DE PROGRAMACIÓN

INTRODUCCIÓN

Cuando se plantea la resolución de un problema y se requiere el uso del ordenador esnecesario, en primer lugar, definir los pasos necesarios para resolverlo, si el número depasos es finito decimos que se ha construido un algoritmo. Para que un algoritmo puedaser ejecutado por el ordenador, debemos escribirlo de tal manera que la máquina puedacomprenderlo, para ello debe estar ordenado en una unidad denominada PROGRAMAy escrito en un LENGUAJE que el ordenador pueda reconocer. Para que el ordenadorpueda ejecutar las órdenes o instrucciones de un programa, éste debe estar almacenadoen la MP, entonces la CPU lee el programa instrucción por instrucción y ejecuta cadauna de ellas. Cuando un programa se está ejecutando se denomina PROCESO.

CLASIFICACIÓN DE LOS LENGUAJES

Se pueden clasificar los lenguajes en función de múltiples parámetros, a continuación severán distintos sistemas de clasificación

CLASIFICACIÓN SEGÚN SU CERCANÍA AL HARDWARE

Clasificaremos los lenguajes de programación en función de su relación máquina-usuario.

 

•  Lenguaje Máquina: El

programador debe conocer muybien la máquina y programarutilizando su repertorio deinstrucciones. El ordenador ejecutalos programas escritos en estoslenguajes sin necesidad detraducción.

•  Lenguaje Ensamblador (de bajonivel): Es un lenguajenemotécnico, Cada orden en este

lenguaje puede generar variasinstrucciones en lenguaje máquina.Es necesario el conocimiento de lamáquina.

•  Lenguaje de Alto Nivel: Ellenguaje utilizado se parece más alnatural. Cada instrucción en lenguaje de alto nivel da lugar a muchasinstrucciones máquina. Es necesario por parte del ordenador un proceso detraducción para que pueda ser interpretado por la máquina.

Page 20: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 20/25

 

 

Lenguajes de programación Arquitectura de Ordenadores

19

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓNSEGÚN SU PROPÓSITO

Según el propósito, es decir, el tipo de problemas a tratar con ellos:

•  Lenguajes de propósito general: Aptos para todo tipo de tareas: Ejemplo: C,Java, C#, Visual Basic, etc.

•  Lenguajes de propósito específico: Hechos para un objetivo muy concreto. Porejemplo, SQL (para acceder a bases de datos).

•  Lenguajes de programación de sistemas: Diseñados para realizar sistemasoperativos o drivers. Por ejemplo, C. 

•  Lenguajes de script: Para realizar tareas varias de control y auxiliares. Sesubdividen en varias clases. Por ejemplo, JavaScript (programación web).

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN

SEGÚN LA FORMA DE ABORDAR LA TAREASegún el método utilizado por sus instrucciones para reclamar una tarea:

•  Lenguajes imperativos: Indican cómo hay que hacer la tarea, es decir, expresanlos pasos a realizar. Ejemplo: C.

•  Lenguajes declarativos: Indican qué hay que hacer. Ejemplos: Lisp, Prolog.Otros ejemplos de lenguajes declarativos, pero que no son lenguajes deprogramación, son HTML (para describir páginas web) o SQL (para consultarbases de datos).

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓNSEGÚN SU PROCESO DE EJECUCIÓN

•  Lenguajes compilados: Un programa traductor traduce el código del programa(código fuente) en código máquina (código objeto). Otro programa, el enlazador,unirá los ficheros de código objeto del programa principal con los de las libreríaspara producir el programa ejecutable. Ejemplo: C, Pascal, etc.

•  Lenguajes interpretados: Un programa (intérprete), ejecuta las instruccionesdel programa de manera directa. Ejemplo: Lisp, Basic, etc.

•  Lenguajes mixtos: También los hay mixtos, como Java, que primero pasan por

una fase de compilación en la que el código fuente se transforma en “bytecode”,y este “bytecode” puede ser ejecutado luego (interpretado) en ordenadores condistintas arquitecturas (procesadores) que tengan todos instalados la misma“máquina virtual” Java. Un mecanismo equivalente utiliza .NET donde elcódigo de sus lenguajes (C# o Visual Basic) se traduce a un mismo lenguajedenominado MSIL ( Microsoft Intermedial Language), este lenguaje es el queejecuta la Common Runtime Languaje (CRL) que es el motor de ejecucióncomún.

Page 21: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 21/25

 

 

Lenguajes de programación Arquitectura de Ordenadores

20

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓNSEGÚN SU PARADIGMA

El paradigma de programación es el estilo de programación empleado. Algunoslenguajes soportan varios paradigmas, y otros sólo uno. Se puede decir que

históricamente han ido apareciendo para facilitar la tarea de programar según el tipo deproblema a abordar, o para facilitar el mantenimiento del software, o por otra cuestiónsimilar, por lo que todos corresponden a lenguajes de alto nivel (o nivel medio), estandolos lenguajes ensambladores “atados” a la arquitectura de su procesadorcorrespondiente. Los principales son:

•  Lenguajes de programación procedural: Divide el problema en partes máspequeñas, que serán realizadas por subprogramas (subrutinas, funciones,procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos: C,Pascal. 

•  Lenguajes de programación orientada a objetos: Crean un sistema de clases yobjetos siguiendo el ejemplo del mundo real, en el que unos objetos realizanacciones y se comunican con otros objetos. Ejemplos: C++, Java, C#, VisualBasic.

•  Lenguajes de programación funcional: La tarea se realiza evaluandofunciones, (como en Matemáticas), de manera recursiva. Ejemplo: Lisp.

•  Lenguajes de programación lógica: La tarea a realizar se expresa empleandológica formal matemática. Expresa qué computar. Ejemplo: Prolog.

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓNSEGÚN SU LUGAR DE EJECUCIÓN

En sistemas distribuidos, según dónde se ejecute:

•  Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP, ASPASP.NET, Java son lenguajes utilizados en servidores Web.

•  Lenguajes de cliente: Se ejecutan en el cliente. Ejemplo: JavaScript ennavegadores web.

EVOLUCIÓN HISTÓRICA 

Con el paso del tiempo, se va incrementando el nivel de abstracción, pero en lapráctica, los de una generación no terminan de sustituir a los de la anterior:

•  Lenguajes de primera generación: Código máquina.

•  Lenguajes de segunda generación: Lenguajes ensamblador.

•  Lenguajes de tercera generación: La mayoría de los lenguajes modernos,diseñados para facilitar la programación a los humanos. Ejemplos: C, Java.

Page 22: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 22/25

 

 

Lenguajes de programación Arquitectura de Ordenadores

21

•  Lenguajes de cuarta generación: Diseñados con un propósito concreto, osea, para abordar un tipo concreto de problemas. Ejemplos: NATURAL, Mathematica. 

•  Lenguajes de quinta generación: La intención es que el programadorestablezca el qué problema ha de ser resuelto y las condiciones a reunir, y la

máquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog. 

PASOS PARA LA EJECUCIÓN DE UN PROGRAMA DE ALTO NIVEL

La compilación es el proceso de traducción de programas fuente a programas objeto. Elprograma objeto obtenido de la compilación ha sido traducido normalmente al códigocomún del lenguaje de máquina.

Para conseguir el programa máquina real se debe utilizar un programa llamado

montador o enlazador (linker). El proceso de montaje conduce a un programa enlenguaje máquina directamente ejecutable.

Existen diversas fases de compilación o también llamadas etapas de la compilación que se ilustrarán en la siguiente imagen:

Page 23: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 23/25

 

 

Lenguajes de programación Arquitectura de Ordenadores

22

El proceso de creación de un programa ejecutable de un programa escrito en unlenguaje de programación y mediante un compilador tiene los siguientes pasos:

1. Escritura del programa fuente con un editor (programa que permite a unacomputadora actuar de modo similar a una máquina de escribir electrónica) y

guardarlo en un dispositivo de almacenamiento (por ejemplo, un disco).

3. Compilar el programa con el compilador.

4. Verificar y corregir errores de compilación, mientras existan errores no sepuede pasar a la siguiente fase.

5. Obtención del programa objeto.

6. El enlazador (linker) obtiene el programa ejecutable.

Si ya tenemos un programa ejecutable codificado en lenguaje máquina para poderloejecutar hay que introducirlo en la memoria. El usuario sólo tienen que activar el ficheroejecutable (con el ratón o el teclado) y el sistema entonces ejecuta las siguientesoperaciones:

1.  Una utilidad del S.O. llamada cargador colocará el programa, y sus datos deentrada, en memoria principal, preparándolo para su ejecución.

2.  El S.O. le pasa el control a la C.P.U. para que comience la ejecución delprograma, realizando la Unidad de Control los siguientes pasos (fases):

o  Captación de la instrucción: Lee de la Memoria Principal la instruccióna ejecutar.

o   Ejecución de la instrucción: Interpreta la instrucción leída y envíaseñales de control a las unidades que deban intervenir en su ejecución.Tras dicha ejecución se establece cuál será la siguiente instrucción aejecutar.

Page 24: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 24/25

 

 

23

4.  ÍNDICE

1.  SOFTWARE DE UN ORDENADOR ..................................................................... 1 

INTRODUCCIÓN ........................................................................................................ 1 

CLASIFICACIÓN DEL SOFTWARE SEGÚN EL SERVICIO PRESTADO ........... 1 

CLASIFICACIÓN DEL SOFTWARE SEGÚN EL MÉTODO DE DISTRIBUCIÓN4 

2.  SISTEMAS OPERATIVOS ..................................................................................... 7 

DEFINICIÓN ............................................................................................................... 7 

HISTORIA DE LOS SISTEMAS OPERATIVOS ...................................................... 7 

MODOS DE EXPLOTACIÓN DEL SISTEMA ......................................................... 8 

MONOPROGRAMACION...................................................................................... 8 

MULTIPROGRAMACIÓN ..................................................................................... 9 

TIEMPO COMPARTIDO ...................................................................................... 10 

MULTIPROCESO ................................................................................................. 10 

SISTEMAS DISTRIBUIDOS ................................................................................ 10 

TRABAJO POR LOTES (BATCH) ....................................................................... 11 

TIEMPO REAL ...................................................................................................... 11 

MEMORIA VIRTUAL .......................................................................................... 11 

ESTRUCTURA DE UN SISTEMA OPERATIVO ................................................... 11 

NÚCLEO ................................................................................................................ 12 

GESTIÓN DEL PROCESADOR ........................................................................... 12 

GESTIÓN DE MEMORIA PRINCIPAL ............................................................... 13 

GESTIÓN DE ENTRADA Y SALIDA ................................................................. 13 

GESTIÓN DE FICHEROS .................................................................................... 14 

SENTENCIAS DE COMANDOS ......................................................................... 15 

APLICACIONES DE USUARIO .......................................................................... 15 

SISTEMAS OPERATIVOS ACTUALES ................................................................. 16 

3.  LENGUAJES DE PROGRAMACIÓN .................................................................. 18 

INTRODUCCIÓN ...................................................................................................... 18 

CLASIFICACIÓN DE LOS LENGUAJES ............................................................... 18 

CLASIFICACIÓN SEGÚN SU CERCANÍA AL HARDWARE ......................... 18 

Page 25: Arquitectuera Software Apuntes

5/7/2018 Arquitectuera Software Apuntes - slidepdf.com

http://slidepdf.com/reader/full/arquitectuera-software-apuntes 25/25

 

 

24

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN SEGÚN SUPROPÓSITO .......................................................................................................... 19 

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN SEGÚN LAFORMA DE ABORDAR LA TAREA .................................................................. 19 

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN SEGÚN SUPROCESO DE EJECUCIÓN ................................................................................. 19 

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN SEGÚN SUPARADIGMA ........................................................................................................ 20 

CLASIFICACIÓN DE LOS LENGUAJES DE PROGRAMACIÓN SEGÚN SULUGAR DE EJECUCIÓN ..................................................................................... 20 

EVOLUCIÓN HISTÓRICA ...................................................................................... 20 

PASOS PARA LA EJECUCIÓN DE UN PROGRAMA DE ALTO NIVEL ........... 21