Introducción a los Sistemas Operativos Este documento ofrece una aproximación a los sistemas operativos en lo que se reere a su estructura y funcionamiento interno. Se dará un enfoque general a las funciones que realizan los sistemas operativos dentro de un sistema informático y nalmente se verán un re resu sume men n co con n la lass ca cara ract cter erís ísti tica cass ge gene nera rale less de lo loss si sist stem emas as operativos más utilizados.
Introducc Introducción ión a los Sistemas Sistemas Operativos Operativos by Rafae Rafaell Loza Lozano no is lice licens nsed ed under under a Cre Creative ative Comm Commons ons
Reconocimiento-NoComerc Recon ocimiento-NoComercial-CompartirIgual ial-CompartirIgual 3.0 Espaa License. License .
!abla !abla de contenidos
Tabla de contenido
1 Introducción........................................................................................................................................1 1.1 Evolución istórica de los sistemas operativos........................................... operativos................................................................................... ........................................ ! 1.1.1 "rimera generación #1$%&'......................................................................................................................! 1.1.! Segunda generación #1$&& aprox.'........................................................................................... aprox.'........................................................................................................ ............. ( 1.1.( )ercera generación #1$*& aprox.'...................................................................... aprox.'.......................................................................................................... .................................... ( 1.1.% +uarta generación #1$,- aprox.'......................................................................... aprox.'............................................................................................................ ...................................(( 1.1.& uinta generación #1$$-'........................................................................................................................% 1.1.* Sexta generación #en la actualidad'.................................................................................. actualidad'....................................................................................................... ..................... %
! +lasicación de los sistemas operativos.......................................................................................% !.1 )iempo de respuesta............................. respuesta................................................ ..................................... ..................................... ..................................... .............................................% ...........................% !.! /0mero de usuarios................................... usuarios...................................................... ..................................... ..................................... ...................................... ........................................ .....................&& !.( /0mero de procesos............................. procesos................................................ ..................................... ..................................... ..................................... .............................................& ...........................& !.% /0mero de procesadores.......................... procesadores............................................. ..................................... ..................................... ..................................... ....................................... ..................... &
( Estructura de un Sistema perativo.............................................................................................. perativo.............................................................................................. & (.1 Sistema monolítico............................. monolítico................................................ ...................................... ..................................... ..................................... ................................................. ..............................** (.! Sistemas micron0cleo #micro2ernel'.......................................... #micro2ernel'............................................................. ............................................................ ......................................... 3 (.( Sistema por capas................................... capas..................................................... ..................................... ...................................... ..................................... ......................................... .......................... ...,, (.% Sistema por módulos................................. módulos.................................................... ..................................... ..................................... ..................................... .........................................$ .......................$
% 4unciones de un sistema operativo...............................................................................................$ %.1 5dministrador de procesos.............................. procesos................................................. ..................................... ..................................... ................................................. ..............................11%.! 5dministrador de la memoria principal.............................................. principal................................................................. ..................................... ..............................1............1%.( 5dministrador del almacenamiento secundario.................................. secundario..................................................... ..................................... ..........................1........1%.% 6estión de ceros y directorios.......................... directorios............................................. ...................................... ..................................... ......................................... ........................11 .11 %.& 5dministrador de la E7S.................................... E7S....................................................... ...................................... ..................................... ................................................. ...............................11 11 %.* "rotección.......................... "rotección............................................. ..................................... ..................................... ...................................... ..................................... ......................................... ............................ .....1! 1!
& Interfaces de usuario en un S....................................................................................................1! &.1 Int8rprete de comandos................................. comandos................................................... ..................................... ...................................... ..................................... .................................1! ...............1! &.! 69I.................................. 69I..................................................... ..................................... ..................................... ..................................... ..................................... .............................................. ................................. ......1% 1%
* Sistemas operativos actuales........................................................................................................1& *.1 S para "+.................................... "+....................................................... ..................................... ..................................... ...................................... ...................................................... ...................................1& 1& *.1.1 :indo;s.............................................................. :indo;s.......................................................................................................... ....................................................................................... ........................................... 1& *.1.!
inux............................................ 6/97>inux....................................................................................... ................................................................................................... ............................................................ 1* *.! S para dispositivos móviles................................ móviles................................................... ...................................... ..................................... ..................................... .......................... .......1* 1* *.!.1 5ndroid................................................................................................ 5ndroid........................................................................................................................................... ....................................................... ............ 13 *.!.! iS................................................................................ iS........................................................................................................................... .................................................................. ................................ ............. .... 13 *.!.( :indo;s :indo;s "one............................................. "one......................................................................................... .............................................................................. ........................................... ............ ... 13
3 ?i@liografía.........................................................................................................................................1$
"ndice I
Rafael Lozano
Introducci#n a los $istemas %perativos
Introducción a los Sistemas Operativos
1 Introducción En capítulos anteriores vimos que un sistema informático lo forma el ard;areA el soft;are y los usuarios. El ard;are por si solo no tiene capacidad para funcionar. /ecesita del soft;are para acerlo y el sistema operativo es el soft;are que toma el control del ordenador cuando se enciende y que permite al usuario su uso. Un Sistema Operativo (SO) es el conjunto de programas que controlan, coordinan y dirigen el uso de los recursos hardware de un sistema inorm!tico"
El S es el encargado de eBercer el control y coordinar el uso del ard;are entre diferentes programas de aplicación y los diferentes usuarios. Es un administrador de los recursos de ard;are del sistema. >os sistemas operativos realizan dos funciones diferentesC ✔
✔
"roveer un entorno amiga@le en el cual el usuario pueda eBecutar programas de manera convenienteA protegi8ndolo de los detalles y compleBidades del ard;are. 5dministrar ecientemente los recursos del sistema informático.
El o@Betivo principal de un S esA entoncesA lograr que el sistema informático se use de manera cómodaA y el o@Betivo secundario es que el ard;are del computador se emplee de manera eciente. Doy día es a@itual que en un ordenador se eBecuten m0ltiples aplicaciones de usuarioC procesadores de textoA navegadores de InternetA reproducción de vídeoA etc. Estas aplicaciones necesitan el uso de los recursos ard;areA como espacio en memoriaA ciclos de eBecución en la +"9A acceso a datos en los dispositivos de almacenamiento. Es decirA diferentes aplicaciones compiten por el acceso a los recursos ard;are del sistema y el S se encarga de ofrecer una distri@ución &'gina (
Rafael Lozano
Introducci#n a los sistemas operativos
ordenada y controlada a estos recursos ard;are entre las diversos aplicaciones que compiten por ellos. e lo anterior se deduce que las aplicaciones de usuario no interact0an directamente con el ard;areA sino que de@en acerlo a trav8s del sistema operativo. "or tantoA las aplicaciones an de estar programadas especícamente para el sistema operativo que se eBecuta en el ordenador. 9n S tiene los siguientes o@BetivosC ✔
✔
✔
+omodidad.F El S ace que el ordenador sea más cómodo de utilizar por los usuarios. Eciencia.F 9n S permite que los recursos de un sistema informático se aprovecen de una manera más eciente. +apacidad de evolución.F 9n S de@e construirse de modo que permita el desarrollo efectivoA la vericación y la introducción de nuevas funciones en el sistema yA a la vezA no interferir en los servicios que @rinda.
1"1 #volución histórica de los sistemas operativos En el inicio del desarrollo de los ordenadoresA estos no tenían un sistema operativo. Estos primeros ordenadores se diseGa@an especícamente para realizar un tipo de tarea muy concreto y las aplicaciones que eBecuta@an era codicadas por los usuarios en lenguaBe máquina e introducirlas dentro del ordenador. )odo este tra@aBo esta@a encuadrado en proyectos cientícos y militares que tenían un control a@soluto so@re todo el tra@aBo. Sin em@argoA aGos despu8sA la evolución de la informática permitió a algunas empresas producir ordenadores de propósito general para su venta a otras empresas. 4ue aquí donde surgió la necesidad de dotar al ordenador de un soft;are @ásico que permitiera su uso. Este primer soft;are @ásico supuso el primer sistema operativo. 5 lo largo de la istoria los S an evolucionado para adaptarse a los cam@ios tecnológicos que se i@an produciendo en los ordenadores y así poder aprovecar estos avances tecnológicos. 1"1"1 $rimera generación (1%&')
>os sistemas operativos de los aGos cincuenta fueron diseGados para acer más Huida la transición entre tra@aBos. 5ntes de que los sistemas fueran diseGadosA se perdía un tiempo considera@le entre la terminación de un tra@aBo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotesA donde los tra@aBos se reunían por grupos o lotes. +uando el tra@aBo esta@a en eBecuciónA este tenía control total de la maquina. 5l terminar cada tra@aBoA el control era devuelto al SA el cual leía e inicia@a el tra@aBo siguiente. 5demás el la@oratorio de investigación 6eneral os sistemas de los &-s generalmente eBecuta@an una sola tareaA y la transición entre tareas se suaviza@a para lograr la máxima utilización del sistema. Esto se conoce como sistemas de procesamiento por lotes de un sólo HuBoA ya que los programas y los datos eran sometidos en grupos o lotes.
&'gina )
Rafael Lozano
Introducci#n a los $istemas %perativos
1"1" Segunda generación (1%'' apro")
>a característica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramaciónA y los principios del multiprocesamiento. En los sistemas de multiprogramaciónA varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principalA y el procesador se cam@ia rápidamente de un tra@aBo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacionalA con la nalidad de incrementar el poder de procesamiento de la maquina. "osteriormente se consiguió la independencia de dispositivos de almacenamiento. 9n usuario que desea escri@ir datos en una cinta en sistemas de la primera generación tenía que acer referencia especíca a una unidad de cinta particular. En la segundaA generaciónA el programa del usuario especica@a tan solo que un arcivo i@a a ser escrito en una unidad de cinta con cierto n0mero de pistas y cierta densidad. Se desarrolló el concepto de sistemas compartidosA en la que los usuarios podían conectarse directamente al ordenador a trav8s de terminales. Surgieron sistemas de tiempo realA en que los ordenadores fueron utilizados en el control de procesos industriales. >os sistemas de tiempo real se caracterizan por proveer una respuesta dentro de un periodo de tiempo esta@lecido. 1"1"* +ercera generación (1%' apro")
Se inicia con la introducción de la familia de ordenadores Sistema7(*- de I?<. >os ordenadores de esta generación fueron diseGados como sistemas de propósito generalA es decirA podían eBecutar diversos tipos de aplicaciones. En 1$*$ en )ompsonA ennis Jitcie y ouglas <+Ilroy crean el sistema operativo 9/I= en los >a@oratorios ?ell. )am@i8n aparece un ordenador personalA el =erox 5lto que tenía su propio sistema operativo. 1"1"& -uarta generación (1%./ apro")
En 1$3$ )im "aterson crea su sistema operativo ,*FSA que posteriormente pasó a llamarse S #Quick and Dirty Operative System '. os aGos despu8s ?ill 6ates compra S y lo re@autiza dos vecesC en primer lugar como "+FSA el cual vende como sistema operativo a I?< para su I?isa System 1 y un aGo despu8s el inus )orvalds para la creación del /0cleo >inux. 9n interesante desarrollo que comenzó a llevarse a ca@o a mediados de la d8cada de los ocenta a sido el crecimiento de las redes de ordenadoresA con sistemas operativos de red y sistemas operativos distri@uidos. En los sistemas operativos de redA los usuarios conectan sus "+s con otros remotos y copiar arcivos de una maquina a otra. +ada maquina eBecuta su propio sistema &'gina 3
Rafael Lozano
Introducci#n a los sistemas operativos
operativo local y tiene su propio usuario. "or el contrarioA un sistema operativo distri@uido es aquel que aparece ante sus usuarios como un sistema tradicional de un solo procesadorA aun cuando esta compuesto por varios procesadores. En un sistema distri@uido verdaderoA los usuarios no de@en ser conscientes del lugar donde su programa se eBecute o de lugar donde se encuentren sus arcivosK eso de@e ser maneBado en forma automática y ecaz por el sistema operativo. 1"1"' 0uinta generación (1%%/)
En esta generación aparecen los sistemas operativos con interfaces grácas de usuarios #69I'. En 1$$- aparece :indo;s v( y en 1$$& :indo;s $& de inus )orvalds crearía un aGo despu8s el n0cleo >inux. En 1$$!A el sistema 6/9 y el /0cleo >inux se unen formalmente para crear 6/97>inux. 1"1" Seta generación (en la actualidad)
>os sistemas operativos evolucionan con nuevas interfaces de usuarioA como la pantalla táctilA para nuevos dispositivosC "+LsA portátilesA ta@letsA smartpones. 5parecen los sistemas operativos en la nu@e o sistemas operativos en la ;e@ #:e@S'. +onsisten en un escritorio virtual con aplicaciones integradas que permiten al usuario administrar sus datos sin necesidad de instalar aplicaciones. )odo ello mediante una conexión a Internet.
-lasicación de los sistemas operativos >os sistemas operativos pueden clasicarse en función de diferentes criterios. >os más relevantes son los siguientesC
"1 +iempo de respuesta El tiempo de respuesta es la cantidad de tiempo que transcurre desde que el usuario lanza el proceso asta que o@tiene los resultados. Seg0n estoA el sistema operativo puede serC ✔
✔
✔
"roceso por lotes.FEl sistema operativo eBecuta un conBunto de tra@aBosA denominado loteA uno detrás de otro. El resultado se presenta al usuario cuando termina todos los tra@aBos. El usuario no interviene ya que los datos para realizar los tra@aBos están en el propio tra@aBo. Interactivo.F Existen interacción con el usuario. El S eBecuta un tra@aBo y cuando necesita un dato interrumpe su eBecución para solicitarlo al usuario. Este se lo suministra por un dispositivo de E7S y el S contin0a con su eBecución asta que necesite otro dato o naliza. "ara optimizar el uso de recursos el S utiliza el tiempo compartidoA de forma que puede repartir su tiempo entre varios tra@aBos. )iempo real.F El S de@e ofrecer un tiempo de respuesta dentro de un plazo denido de antemano que generalmente suele ser @aBo. Este tipo de S se suele utilizar donde el tiempo de respuesta es críticoA como en procesos industriales o tráco a8reo. &'gina *
Rafael Lozano
Introducci#n a los $istemas %perativos
" 23mero de usuarios ependiendo del n0mero de usuarios que pueden utilizar simultáneamente el sistema informáticoA los sistemas operativos pueden serC ✔
✔
"* 23mero de procesos Este criterio indica el n0mero de proceso simultáneos que puede gestionar un S. En función de esto los sistemas operativos pueden serC ✔
✔
a +"9 eBecuta un programa y asta que no aca@a o eBecuta otro. Estos sistemas operativos están en desusoA como por eBemplo el os procesos en eBecución de@erán permanecer en memoria principal mientras se eBecuten.
"& 23mero de procesadores Indica el n0mero de +"9 que tenga el sistema informático. En función de este criterio existen los siguientes tipos de sistemas operativosC ✔
✔
* #structura de un Sistema Operativo >a siguiente ta@la muestra una clasicación de los programas que forman un S Nombre
Descripción
/0cleo o 2ernel
Se encarga de interactuar con el ard;are. Es la 0nica parte del S que tiene acceso directo al ard;are.
>lamadas al sistema o primitivas
4unciones que invocan las aplicaciones de usuario para solicitar alg0n servicio al S. +ada S implementa un conBunto propio de llamadas al sistema. Ese conBunto de llamadas es la interfaz del S frente a las aplicaciones. +onstituyen
&'gina +
Rafael Lozano
Introducci#n a los sistemas operativos
el lenguaBe que de@en usar las aplicaciones para comunicarse con el S. Servidor
"rograma que utiliza el 2ernel para suministrar alg0n servicio a las aplicaciones de usuario. >os servidores se emplean en estructuras micro2ernel que se verá a continuación.
Interrupciones y excepciones
El S ocupa una posición intermedia entre los programas de aplicación y el ard;are. /o se limita a utilizar el ard;are a petición de las aplicaciones ya que ay situaciones en las que es el ard;are el que necesita que se eBecute código del S. En tales situaciones el ard;are de@e poder llamar al SA pudiendo de@erse estas llamadas a dos condicionesC •
•
5lg0n dispositivo de E7S necesita atención. Se a producido una situación de error al intentar eBecutar una instrucción del programa #normalmente de la aplicación'.
En am@os casosA la acción realizada no está ordenada por el programa de aplicaciónA es decirA no gura en el programa. Seg0n los dos casos anteriores tenemos las interrupciones y la excepcionesC •
•
9tilidades
InterrupciónC seGal que envía un dispositivo de E7S a la +"9 para indicar que la operación de la que se esta@a ocupandoA ya a terminado. ExcepciónC una situación de error detectada por la +"9 mientras eBecuta@a una instrucciónA que requiere tratamiento por parte del S.
)odos los S incluyen un conBunto de programas para resolver pequeGas tareas de los usuariosA como el navegador de InternetA el explorador de arcivosA accesoriosA y tam@i8n un conBunto de programas de ayuda a la programaciónA como editoresA compiladoresA enlazadoresA etc.
El o@Betivo de la estructuración de un S es @uscar una organización interna que facilite la comprensiónA incremente la porta@ilidadA extensión y favorecer su mantenimiento. 5 continuación se descri@en las distintas estructuras que presentan los actuales sistemas operativos para satisfacer las necesidades que de ellos se quieren o@tener. Mstas no son de ninguna manera las 0nicas posi@lesA pero nos darán una idea de algunos diseGos que se an llevado a la práctica.
*"1 Sistema monol4tico >os sistemas monolíticos son la estructura más simple para un S. )am@i8n llamados de estructura modularA fue escrito para proporcionar una máxima funcionalidad dentro del menor espacio posi@le. Se caracteriza porque no tienen una estructura totalmente claraA con esto nos referimos a que sus rutinas y funcionalidades #maneBo de driversA sistemas de arcivosA gestión de memoriaA etc.'A se encuentran agrupados en un solo programa.
&'gina ,
Rafael Lozano
Introducci#n a los $istemas %perativos
igura (.- $istema monol/tico
Este sistema está descrito como un conBunto de procedimientos o rutinas entrelazadas de tal forma que cada una tiene la posi@ilidad de llamar a las otras rutinas cada vez que así lo requiera. Sin em@argoA ca@e destacar los defectos en este tipo de estructura que radica principalmente en la poca a@ilidad otorgadaA ya que todo el sistemaA al no tener una estructura denidaA se eBecuta todo en el mismo nivel del n0cleo #2ernel' lo que lo ace altamente vulnera@leA por esta razón cuando falla un programa se produce un error en todo el sistema. 5demásA otro pro@lema inerente al sistema monolítico es que si se modica el ard;are por lo general es necesario recompilar el 2ernel para poder disponer de las funcionalidades. Esto consume tiempo y recursos porque la compilación de un nuevo 2ernel puede durar varias oras y necesita de una gran cantidad de memoria. +ada vez que alguien aGade una nueva característica o corrige un errorA signica que se necesitará acer una recompilación del 2ernel enteroA un eBemplo de esto podemos verlo en >inux. )am@i8n el eco de que en el espacio del 2ernel están incluidos todos los servicios @ásicosA tiene tres grandes inconvenientesC el tamaGo del n0cleoA la falta de extensi@ilidad y la dicultad de mantenimiento. EBemplos de este tipo de estructura son 9nixA inuxA :indo;s $&A $,A $,SEA
*" Sistemas micron3cleo (micro5ernel) El micro2ernel es un enfoque que dene un 2ernel muy simple que tra@aBa so@re el ard;are. >a esencia consiste en que solo las funciones a@solutamente esenciales del 2ernel del sistema operativo de@en permanecer en el micro2ernel. >os servicios y las aplicaciones menos esenciales se construyen so@re el micro2ernel y se eBecutan en modo usuario. Este micro2ernel tiene un conBunto de primitivas y llamadas al sistema para implementar unos servicios mínimos del S como comunicación entre procesosA gestión de memoria y planicación de la +"9. >os demás servicios que solían ser suministrados por el 2ernelA como por eBemplo el servicio de redA se implementan como programas de usuario conocidos como servidores. En teoría este enfoque aGade más esta@ilidad al sistema por que un fallo de un servidor &'gina
Rafael Lozano
Introducci#n a los sistemas operativos
solamente pararía un programa simpleA en lugar de provocar la parada del S completo. >a siguiente gura muestra las diferencias entre un enfoque monolítico y el micro2ernel.
igura ).- Comparativa 1ernel monol/tico y micro1ernel
En la gura anterior se aprecia que el 2ernel de un sistema monolítico es mayor. )odos los servicios que ofrece el S a las aplicaciones de usuario se eBecutan dentro del n0cleo. Sin em@argo el 2ernel de un sistema micron0cleo solamente incluye funciones @ásicas de intercomunicación de procesosA asignación de memoria y planicación de procesos. El resto de servicios se implementan con programas servidores. 9n eBemplo de sistema operativo con esta estructura es
*"* Sistema por capas En esta estructura el S se divide en capas o nivelesA cuya organización está dada como una Berarquía de capas donde cada una de ellas ofrece una interfaz clara y @ien denidaA la capa superior solamente utiliza los servicios y funciones que ofrece la capa inferiorA es decirA la capa n sólo se comunica para o@tener lo requerido con la capa nF1A donde la capa inferior es la más privilegiada. El encargado de que solamente aya comunicación entre capas adyacentes es el procesador.
igura 3.- Estructura por capas
>a capa más interna o inferior #capa -' corresponde al ard;areA mientras que la más alta o externa corresponde a la interfaz de usuario. El sistema original consta de * capasC ✔
+apa &C Se encuentra la interfaz de usuario. &'gina
Rafael Lozano
Introducci#n a los $istemas %perativos
✔
+apa %C 5loBa los programas de usuario.
✔
+apa (C Se controlan los dispositivos E7S #entrada y salida'.
✔
+apa !C Se administra la comunicación entre procesos y la consola del operador.
✔
+apa 1C 5dministración de memoria y discos.
✔
+apa -C +orrespondiente al ard;areA realizando asignación del procesadorA tam@i8n alterna entre procesos cuando ocurren interrupciones o se an expirado y proporciona multiprogramación @ásica de la +"9.
+omo ventaBas de este sistema podemos mencionar que al tener una organización por módulosA otorga facilidad en construcción y depuración del sistema. >a facilidad de construcción se consigue al existir esta división en módulos #capas' se produce una a@stracción del pro@lemaA simplicándose solamente a la función que realiza el módulo correspondiente a una capa /. )am@i8n al lograr esta a@stracciónA no es necesario sa@er detalles de implementación de las capas inferioresA sólo se utilizan. >a facilidad de depuraciónA quiere decirA que sea más simple la tarea de encontrar errores en el código y corregirlos. tro aspecto positivo relacionado con la modularidad existenteA cuando ocurre un error en una de las capasA no se compromete a todo el sistemaA sólo a la capa relacionada con el error. +on respecto a las desventaBas de esta organizaciónA al realizar la construcción de las capasA la pro@lemática es la forma de realizar la división y denición de las funcionalidadesA ya que se tiene considerar que las capas superiores solamente pueden utilizar los servicios de la capa que se encuentra inferiorA por lo tantoA se de@e tener muco cuidado en la planicación del sistema para que exista un óptimo funcionamiento. tra desventaBa que podemos mencionar es el gasto de tiempo que se genera en ir de una capa a otra.
*"& Sistema por módulos >a mayoría de los sistemas operativos modernos implementan este enfoque. >o que caracteriza este tipo de estructura es que el 2ernel se compone de módulosA y cada uno de estos módulos se encuentra separado de forma independienteA tal queA si alguno falla no afecta a los otrosA ni al n0cleo. >os módulos se pueden cargar dinámicamente en el n0cleo cuando se necesitenA ya seaA en tiempo de eBecución o durante el arranque del sistema. El 2ernel dispone de los componentes fundamentales y se conectan directamente con servicios adicionales. 5demás otros componentes pueden cargarse dinámicamente al n0cleo. En generalA esta estructura se parece @astante a la de capasA pero es muco más Hexi@le de@ido a que cualquier módulo de esta estructura puede llamar a otro. EBemplos de este tipo de estructura son 9nix modernosA SolarisA >inuxA
& 6unciones de un sistema operativo 9n S multiusuario proporciona un entorno dentro del cual se eBecutan las aplicaciones. "ara construir este entorno se divide lógicamente al S en pequeGos módulos y se crea una interfaz @ien denida entre estos módulos y las aplicaciones que se eBecutan. +ada uno de estos módulos se encarga de realizar una función especíca. Entre estas estánC &'gina 2
Rafael Lozano
Introducci#n a los sistemas operativos
&"1 7dministrador de procesos >a +"9 eBecuta un gran n0mero de aplicacionesA y aunque su preocupación principal es la eBecución de aplicaciones de usuarioA ay otras aplicaciones que se denominan procesos cuya eBecución tam@i8n es necesaria para otras actividades del sistema. 9n proceso es un programa en eBecución con su entorno asociado. Suponemos que el proceso se eBecuta secuencialmente en tiempo compartido y un programa puede generar varios procesos activos. En generalA un proceso necesita determinados recursosA incluyendo tiempo de la +"9A memoriaA arcivos y dispositivos de E7SA para cumplir con su tarea. Estos recursos se proporcionan al crear el procesoA o se le asignan mientras se eBecuta. "otencialmenteA todos estos procesos pueden eBecutarse en forma concurrenteA multiplexando la +"9 entre ellos. El S es responsa@le de las actividades relacionadas con la administración de procesosC ✔
+rear y eliminar procesos.
✔
Suspender y reanudar la eBecución de procesos.
✔
Sincronización de procesos.
✔
+omunicación entre procesos.
✔
5nálisis de inter@loqueos.
&" 7dministrador de la memoria principal >a memoria es el dispositivo de almacenamiento principal en un sistema informático. Está formada por un conBunto de pala@ras o @ytes cada uno con su propia direcciónA siendo por tanto un sistema de almacenamiento de datos de acceso rápido que es compartido por la +"9 y la E7S. El procesador lee las instrucciones y lee o escri@e datos de la memoria principal. "or otra parteA la E7S necesita acceso a memoria para lectura y escritura de datos. "ara meBorar la utilización de la +"9 y la velocidad de respuesta del ordenador a los usuariosA se de@e conservar varios programas en memoria. Existen diferentes esquemas para la administración de memoriaA y la ecacia de los distintos algoritmos depende de la situación particular. >as actividades relacionadas con la administración de memoria son las siguientesC ✔
>levar el control de las zonas de memoria usadas y quien las usa.
✔
ecidir que procesos se cargan en memoria a@iendo espacio li@re.
✔
5signar y recuperar espacio de memoria.
&"* 7dministrador del almacenamiento secundario +uando la memoria principal sea pequeGa para almacenar todos los programas y los datosA el sistema informático de@e ofrecer almacenamiento secundario que la respaldeA es lo que llamamos memoria secundaria. Este almacenamiento se ace en general mediante disco donde se sit0an a@itualmente mucas aplicaciones que no se usan frecuentemente por el sistema y que se cargan en memoria principal solo cuando los usuarios lo demanden. Jespecto a la memoria secundaria las funciones van a serC
&'gina (0
Rafael Lozano
Introducci#n a los $istemas %perativos
✔
5dministración del espacio li@re en dispositivos de almacenamiento.
✔
5signación del almacenamiento.
✔
"lanicación de las operaciones so@re el disco.
9na de las operaciones principales del sistema será resolver las operaciones de carga y descarga de información desde el almacenamiento secundario a la memoria principal.
&"& 8estión de cheros y directorios Es una de las partes más visi@les del S por parte del usuario. >os ordenadores pueden almacenar información en varios dispositivos físicosA siendo los más comunes el disco duroA el disco óptico y las memorias Has. +ada uno de estos dispositivos tiene sus propias características y organización física. "ara usar cómodamente un sistema informáticoA el S ofrece una perspectiva lógica uniforme del almacenamiento de información. El S se vale de las propiedades físicas de sus dispositivos de almacenamiento para denir una unidad de almacenamiento lógicoA el arcivo o cero. "or medio del SA los arcivos se relacionan con el dispositivo físico. 9n arcivo es un conBunto de información relacionada y que se almacena y manipula por el sistema operativo como una entidad 0nica. +om0nmente los arcivos representan programas y datos. 5 @aBo nivelA un arcivo es una secuencia de @itsA @ytesA líneas o registrosA cuyo signicado a sido denido por la aplicación que lo crea . >os arcivos se organizan en directorios para facilitar su uso. +omo varios usuarios tienen acceso a ellosA es desea@le controlar qui8n tiene acceso a los arcivos y cómo puede acerlo. El S es responsa@le de las siguientes actividades relacionadas con la administración de arcivosC ✔
+rear y eliminar arcivos.
✔
+rear y eliminar directorios.
✔
+ontrol de operaciones para manipular arcivos y directorios.
✔
+orrespondencia entre arcivos y almacenamiento secundario.
✔
+opia de seguridad de arcivos en medios de almacenamiento esta@les.
&"' 7dministrador de la #9S 9n sistema informático tiene una diversidad de dispositivos perif8ricos conectados. 9no de los o@Betivos del S es ocultar al usuario las particularidades que estos dispositivos ard;are y por tanto sus funciones @ásicas sonC ✔
✔
9n sistema de memoria cac8 mediante @uNer. 9na interfaz general con los controladores de dispositivo y unos controladores para dispositivos ard;are especícos. Sólo el controlador de dispositivo conoce las particularidades del dispositivo al cual está &'gina ((
Rafael Lozano
Introducci#n a los sistemas operativos
asignado.
&" $rotección >a protección se reere al control del acceso de los programasA procesos o usuarios a los recursos de un sistema informático. El S tiene la responsa@ilidad de proteger un proceso de los otros. "or tanto de@e asegurar que los cerosA segmentos de memoriaA +"9 y otros recursos de E7S puedan ser 0nicamente usados por aquellos procesos que ayan reci@ido la correspondiente autorización del sistema. "or eBemploA el direccionamiento de memoria asegura que un proceso sólo puede tra@aBar dentro del espacio de direcciones asignado a ese proceso. Day que asegurar que ning0n proceso pueda o@tener el control de la +"9 sin que lo acapare indenidamente. "or 0ltimoA no se permite que los usuarios realicen por su cuenta sus operaciones de E7SA para proteger así la integridad de los dispositivos perif8ricos.
' Interaces de usuario en un SO 5ctualmenteA ay dos paradigmas fundamentales en el uso del SC modo comando o int8rprete de la línea de comando y modo gráco o la interfaz gráca de usuario #69I'A aunque la tendencia actual es com@inar am@os paradigmas. Esto quiere decir que los sistemas operativos para usuario ofrecen una interfaz gráca para que el usuario profano en informática pueda interactuar con el S y además la posi@ilidad de utilizar una interfaz solo texto para introducir comandos eBecuta@les. Oeamos con más detalle am@os paradigmas.
'"1 Int:rprete de comandos 5ntes de la aparición de las interfaces grácasA los usuarios se comunica@an con el S a trav8s de comandos. 9n comando #traducción literal del ingl8s command A PordenA instrucciónQ' es una instrucción u orden que el usuario proporciona al SA desde la línea de comandos # shell ' o desde una llamada de programación. Estos comandos pueden serC ✔
Iinterno.F El código del comando está contenido en el propio int8rprete
✔
Externo.F +uando el código del comando está en en un arcivo eBecuta@le.
Suele admitir parámetros #argumentos' de entradaA lo que permite modicar su comportamiento predeterminado. Suelen indicarse tras una @arra R7R #en sistemas operativos :indo;s' o un guión simple RFR o do@le RFFR #en sistemas operativos 9nix7>inux'.
&'gina ()
Rafael Lozano
Introducci#n a los $istemas %perativos
igura *.- Intrprete de comandos en 4indo5s
Esta interacción la lleva a ca@o un programa que se suele llamar int8rprete de comandos. El int8rprete de comandos o consola permite al usuario escri@ir comandos del sistema operativoA de tal modo queA despu8s de pulsar la tecla Intro en el tecladoA se eBecuten procesos internos al propio int8rprete de órdenes o se lancen programas externos al mismo. 5lgunas de estas consolas sonC ✔
✔
command.com para los sistemas @asados en S #
✔
"o;erSell para :indo;s , y Server !-1!.
✔
@asA sA csA 2sA etc. para los sistemas @asados en 9nix #6/97>inuxA ?SA SolarisA etc.'.
igura +.- !erminal de Linu6
Este programa tiene dos formas de implementarse. En primer lugarA el int8rprete de comandos contiene en sí el código para eBecutar el comando que se desea eBecutar. "or eBemploA un comando para @orrar un cero puede acer que el int8rprete salte a una sección de su código que esta@lece los parámetros necesarios y realiza la operación. En este casoA el n0mero de comandos que pueden darse determina el tamaGo del int8rprete de comandosA puesto que cada comando requiere su propio código de implementación. 9n enfoque alternativo implementa todos los comandos mediante programas de sistema especiales y se almacenan cada uno en un arcivo. En este casoA el int8rprete de comandos no &'gina (3
Rafael Lozano
Introducci#n a los sistemas operativos
TcomprendeU el comandoK simplemente utiliza el comando para identicar un cero a cargar en memoria y eBecutar. "or eBemploA un comando delete 6 @uscaría un cero llamado deleteA el cual contiene el código para @orrar al cero 6A lo cargaría en memoria y le pasaría el parámetro 6. >a función asociada con el comando delete estaría completamente denida por el código del cero delete. e esta manera pueden aGadirse fácilmente nuevos comandos al sistemaA creando nuevos ceros con el nom@re adecuado. El programa int8rprete de comandosA que en este caso puede ser @astante pequeGoA no necesita ser modicado para aGadir comandos nuevos.
'" 8UI >a interfaz gráca de usuarioA conocida tam@i8n como 69I # Graphical User Interface ' es un programa informático que act0a de interfaz de usuarioA utilizando un conBunto de imágenes y o@Betos grácos para representar la información y acciones disponi@les en la interfaz. Su principal usoA consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador.
igura ,.- 78I del 9ac %$:
Da@itualmente las acciones se realizan mediante manipulación directaA para facilitar la interacción del usuario con el ordenador. Surge como evolución de las interfaces de línea de comandos que se usa@an para operar los primeros sistemas operativos y es pieza fundamental en un entorno gráco. +omo eBemplos de interfaz gráca de usuarioA ca@e citar los entornos de escritorio :indo;sA el =F:indo; de 6/97>inux o el de
Rafael Lozano
Introducci#n a los $istemas %perativos
"ara los autores de aplicacionesA las interfaces grácas de usuario ofrecen un entorno que se encarga de la comunicación con el ordenador. Esto ace que el programador pueda concentrarse en la funcionalidadA ya que no esta suBeto a los detalles de la visualización ni a la entrada a trav8s del ratón o el teclado. )am@i8n permite a los programadores crear programas que realicen de la misma forma las tareas más frecuentesA como guardar un arcivoA porque la interfaz proporciona mecanismos estándar de control como ventanas y cuadros de diálogo. tra ventaBa es que las aplicaciones escritas para una interfaz gráca de usuario son independientes de los dispositivosC a medida que la interfaz cam@ia para permitir el uso de nuevos dispositivos de entrada y salidaA como un monitor de pantalla grande o un dispositivo óptico de almacenamientoA las aplicaciones pueden utilizarlos sin necesidad de cam@ios.
Sistemas operativos actuales >os sistemas operativos an sido el soft;are que más a evolucionado en los 0ltimos aGos. Esta evolución a ido pareBa a los avances tecnológicos que se an ido produciendo en el ard;are y su mayor transformación a venido de la mano de las nuevas interfaces grácas de usuario que an aparecido recientemente en dispositivos como ta@lets y smartpones.
"1 SO para $El siguiente gráco muestra el ran2ing de los sistemas operativos más utilizados en ordenadores personales en al aGo !-1%.
igura .- Ran1ing de los $%s m's usados
+omo se puede apreciarA :indo;s de
Rafael Lozano
Introducci#n a los sistemas operativos
no sería asta la versión :indo;s $, que se consideró un sistema operativo. Sin em@argoA
ion. "1"* 82U9>inu
6/97>inux es el nom@re de un proyecto impulsado por Jicard Stallman de un sistema operativo de código a@ierto que pueda ser li@erado Bunto con el código fuente para su estudio y modicación sin las tra@as impuestas por el soft;are propietario y los derecos de autor. urante la d8cada de los 3- a@ía mucas universidades que utiliza@an el sistema operativo 9nix. >os estudiantes no podían permitirse el luBo de comprar una licencia para 9nix por lo que el profesor 5ndre; )anen@aum construyó inus )orvalds creó un nuevo 2ernelA >inuxA que amplia@a la funcionalidad de inux para com@inarse con 6/9 y formar 6/97>inux. e este proyecto an surgido mucas distri@uciones. 9na distri@ución 6/97>inux consiste en un n0cleo >inux #que es com0n a todas las distri@uciones' y un conBunto de programas que incluyen un gestor de escritorio. 5sí tenemos distri@uciones como 9@untuA e@ianA 4edoraA pen SuSeA
" SO para dispositivos móviles El siguiente gráco muestra los sistemas operativos para smartpones más usados &'gina (,
Rafael Lozano
Introducci#n a los $istemas %perativos
igura .- Ran1ing de $%s para smartp;ones
>os siguientes operativos para dispositivos móviles son los más relevantes sonC ""1 7ndroid
5ndroid es el sistema operativo @asado en el 2ernel de >inux diseGado principalmente para dispositivos móviles con pantalla táctilA como tel8fonos inteligentes o ta@letas. 6oogle es el encargado de desarrollar 5ndroid y lo a li@erado @aBo licencia li@re y de código a@ierto. En pocos aGos se a situado en los primeros lugares de los sistemas operativos para móviles más utilizado. El consorcio D5 #Open Handset Alliance' está formado por fa@ricantes de ard;areA desarrolladores de soft;are y operadores de telefonía móvil cuyo o@Betivo es desarrollar estándares a@iertos para dispositivos móviles. Este consorcio cola@ora en el desarrollo de 5ndroid. "" iOS
IS es un sistema operativo móvil de 5pple que deriva de
:indo;s "one es un sistema operativo móvil desarrollado por ive en el sistema operativo. Su cuota de mercado es muy @aBa ya que sufre la competencia directa de 5ndroid e iS. :indo;s "one cuenta con nueva interfaz de usuario. En ellaA la pantalla de inicio se compone de mosaicos dinámicos que son enlaces a aplicaciones o o@Betos individuales #como contactosA &'gina (
Rafael Lozano
Introducci#n a los sistemas operativos
páginas ;e@ o arcivos multimedia'. Estos mosaicos actualizan frecuentemente manteniendo informado de cualquier cam@io al usuario. >a información que se muestra en los mosaicos dinámicos puede ser desde llamadasA mensaBes reci@idosA correos electrónicos pendientesA citas previstasA Buegos o enlaces rápidos a aplicaciones.
&'gina (
Rafael Lozano
Introducci#n a los $istemas %perativos
? @iAliogra4a :II"EI5A Historia de los sistemas operativos Xacceso septiem@re !-1%Y. isponi@le en ZttpC77es.;i2ipedia.org7;i2i7Distoria[de[los[sistemas[operativos\ :II"EI5A Estructura de los sistemas operativos Xacceso septiem@re !-1%Y. isponi@le en ZttpC77;i2i.inf.utfsm.cl7index.pp]title^Estructura[de[un[sistema[operativo\ :II"EI5A Sistema Operativo Xacceso septiem@re !-1%Y. isponi@le en ZttpC77es.;i2ipedia.org7;i2i7Sistema[operativo\ :II?SA Operating System Design!ernel Architecture"icrokernel Xacceso septiem@re !-1%Y. isponi@le en ZttpC77en.;[email protected];i2i7perating[System[esign7ernel[5rcitecture7
&'gina (2