SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
UNIVERSIDAD DEL CENTRO DE VERACRUZ
Calle Papaloapan S/N Esq. Independencia.
Col. Centro Tres Valles, Veracruz.
Clave: 30MSU0267P

SISTEMAS OPERATIVOS
DOCENTE:

M.S.C. JOSE ANTONIO BARRALES ROSALES

INTEGRANTES DEL EQUIPO:

L.I.S.C GUADALUPE RAMIREZ VAZQUEZ
L.C JUAN CARLOS MARTINEZ OVANDO
L.I.S.C ROSA ISELA SOLANO ANDRADE

MAESTRIA EN SISTEMAS COMPUTACIONALES

19 DE FEBRERO DEL 2014.
MAESTRIA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERATIVOS

1.- ¿QUIÉN CREO GNU?
El desarrollo de GNU fue iniciado por Richard Stallman en 1983 y fue el
objetivo original de la Free Software Foundation (FSF), pero a fecha de
diciembre de 2013 todavía no hay versión estable de GNU. Otros núcleos como
Linux también pueden usarse junto con GNU.
2.- DIFERENCIA ENTRE KERNEL Y NUCLEO.
El kernel inicia un proceso planificador (para permitir multitarea) y se ejecuta
primero el modo usuario (es decir, fuera del espacio del núcleo), luego el
programa init (que establece el entorno del usuario, permite la interacción del
usuario y acceso), momento en el que el kernel se inactiva.
Las llamadas al sistema las cuales le señalan al núcleo que tareas debe realizar
(abrir, escribir en un archivo, ejecutar un programa, finalizar y obtener hora y
fecha). La manipulación del hardware se realiza por medio de controladores que
conocen como comunicarse directamente con el hardware.
El núcleo o micronucleo de Windows es el enlace entre el kernel y el
procesador, es el intérprete de los procesos que se efectúan por los interesados
ya sea que los realicen en modo usuario o en modo kernel, a los cuales el
núcleo otorga prioridades de ejecución.
El núcleo de linux es de código abierto, esto nos da la pauta para decir que
núcleo y kernel son estados diferenciados del sistema operativo linux. Mientras
que en el núcleo se escriben nuevas líneas de código para adaptarse a las
necesidades de los usuarios, en el kernel se realizan las rutinas de ejecución de
programas y control de procesos.
3.- PROCESOS EN LINUX
Creación de procesos: fork y clone. A la hora de crear procesos linux provee de
dos funciones para dicho cometido, la función clone() y la función fork(). Ambas
crean un nuevo proceso a partir del proceso padre pero de una manera distinta.
Cuando utilizamos la llamada al sistema fork, el proceso hijo creado es una
copia exacta del padre (salvo por el PID y la memoria que ocupa). Al proceso
hijo se le facilita una copia de las variables del proceso padre y de los
descriptores de fichero. Es importante destacar que las variables del proceso
hijo son una copia de las del padre (no se refieren físicamente a la misma
variable), por lo que modificar una variable en uno de los procesos no se refleja
en el otro.
La llamada al sistema clone es mucho más genérica y flexible que el fork, ya
que nos permite definir qué van a compartir los procesos padre e hijo. La tabla 2
resume las diferencias entre las llamadas al sistema fork y clone. Las llamadas
al sistema fork y clone tienen la misma funcionalidad, pero distintas
características:

2
MAESTRIA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERATIVOS

FORK: En el momento de la llamada a fork el proceso hijo:





Es una copia exacta del padre excepto el PID.
Tiene las mismas variables y ficheros abiertos.
Las variables son independientes (padre e hijo tienen distintas
memorias).
Los ficheros son compartidos (heredan el descriptor).

CLONE: permite especificar qué queremos que compartan padre e hijo.





Espacio de direccionamiento
Información de control del sistema de archivos (file system)
Descriptores de archivos abiertos.
Gestores de señales o PID.

http://sopa.dis.ulpgc.es/ii-dso/leclinux/procesos/fork/LEC7_FORK.pdf
3
MAESTRIA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERATIVOS

GLOSARIO
1.- APLICACIÓN DE PRIMER PLANO
Aplicación con la cual se está trabajando. La aplicación de primer plano aparece en la
ventana activa. La comunicación entre el usuario y el shell sucede interactivamente, de
a una tarea a la vez. Por ejemplo, cuando el alumno introduce un comando en una
ventana de Terminal, el shell procesa el comando y muestra el resultado. El alumno
debe esperar hasta que el shell complete la tarea antes de requerir otra. Esto se
considera procesamiento en primer plano.
2.- KERNEL
Es un programa informático que gestiona la entrada /
salida de las solicitudes de los programas y las traduce
en procesamiento de datos instrucciones de la unidad
central de procesamiento y otros componentes
electrónicos de un ordenador.
El núcleo es una parte fundamental de un ordenador
moderno
sistema
operativo.
3.- NUCLEO
Un procesador es un dispositivo electrónico que incluye varios bloques entre
ellos se encuentran unos muy interesantes que se denominan núcleos los
cuales se encargan de ejecutar las instrucciones y pueden ser vistos como unos
micros en miniatura.
Los procesadores con varios núcleos han ganado popularidad a lo largo de los
años tanto que ahora es casi imposible encontrarte con alguno que no tenga
más de uno de ellos en su interior. Esto ha sido posible gracias a las mejoras de
las tecnologías de fabricación que ha permitido reducir
enormemente el tamaño de los micros dando más espacio
libre a los ingenieros pudiendo por tanto duplicar o incluso
triplicar sus bloques internos. De esta forma pasamos de
poder ejecutar una sola tarea a trabajar con varias al mismo
tiempo.
4.- MULTIPROGRAMACIÓN
Se denomina multiprogramación a una técnica por la que dos o más procesos
pueden alojarse en la memoria principal y ser ejecutados concurrentemente por
el procesador o CPU.
Con la multiprogramación, la ejecución de los procesos (o hilos) se va
solapando en el tiempo a tal velocidad, que causa la impresión de realizarse en
paralelo (simultáneamente). Se trata de un paralelismo simulado, dado
que el CPU sólo puede trabajar con un proceso cada vez (el proceso activo). De
ahí que, en rigor, se diga que el CPU ejecuta «concurrentemente» (no
simultáneamente) varios procesos; en un lapso de tiempo determinado, se
ejecutarán alternativamente partes de múltiples procesos cargados en la
memoria principal.

4
MAESTRIA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERATIVOS

5.- SPOOLING
El spooling (Simultaneous Peripheral Operations On-Line) se refiere al proceso
mediante el cual la computadora introduce trabajos en un buffer (un área
especial en memoria o en un disco), de manera que un dispositivo pueda
acceder a ellos cuando esté listo.
El spooling es útil en caso de dispositivos que acceden a los datos a distintas
velocidades. El buffer proporciona un lugar de espera donde los datos pueden
estar hasta que el dispositivo (generalmente más lento) los procesa. Esto
permite que la CPU pueda trabajar en otras tareas mientras que espera que el
dispositivo más lento acabe de procesar el trabajo.
La aplicación más común del spooling es la impresión. En este caso, los
documentos son cargados en un buffer, que habitualmente es un área en un
disco, y la impresora los saca de éste a su propia velocidad. El usuario puede
entonces realizar otras operaciones en el ordenador mientras la impresión tiene
lugar en segundo plano. El spooling permite también que los usuarios coloquen
varios trabajos de impresión en una cola de una vez, en lugar de esperar a que
cada uno acabe para enviar el siguiente.
6.- TIMESAHRING (Tiempo compartido)
En computación, el uso del tiempo compartido se refiere a compartir de
forma concurrente un recurso computacional (tiempo de ejecución en el CPU,
uso de la memoria, etc.) entre muchos usuarios por medio de las tecnologías
de multiprogramación y la inclusión de interrupciones de reloj por parte del
sistema operativo, permitiendo a este último acotar el tiempo de respuesta del
computador y limitar el uso del CPU por parte de un proceso dado.
7.- SHELL
Es el término usado en informática para referirse a un intérprete de comandos,
el cual consiste en la interfaz de usuario tradicional de los sistemas operativos
basados en Unix y similares como GNU/Linux.
Mediante las instrucciones que aporta el intérprete, el usuario puede
comunicarse con el núcleo o kernel y por extensión, ejecutar dichas órdenes,
así como herramientas que le permiten controlar el funcionamiento de la
computadora.
8.- APT
Advanced Packaging Tool (Herramienta
Avanzada
de
Empaquetado),
abreviado APT, es un sistema de gestión de paquetes creado por el
proyecto Debian. APT simplifica en gran medida la instalación y eliminación de
programas en los sistemas GNU/Linux.
No existe un programa apt en sí mismo, sino que APT es una biblioteca de
funciones C++ que se emplea por varios programas de línea de comandos para
distribuir paquetes. En especial, apt-get y apt-cache.
APT fue rápidamente utilizado para funcionar con paquetes .deb, en los
sistemas Debian y distribuciones derivadas, pero desde entonces ha
sido modificado para trabajar con paquetes RPM, con la herramienta apt-rpm, y
para funcionar en otros sistemas operativos, como Mac OS X (Fink)
y OpenSolaris (distribución Nexenta OS).

5
MAESTRIA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERATIVOS

COMANDO PS (OPCIONES)
El comando ps (process status - estado del proceso) se utiliza para presentar una lista
de los procesos que se están ejecutando actualmente en el sistema. Esto se lleva a
cabo normalmente si un proceso está llevando demasiado tiempo o parece haberse
detenido, como lo indica una ventana de Terminal que no responde.
ps: el comando ps sin opciones muestra la PID, el TTY (terminal type - tipo de
terminal), TIME (CPU time - tiempo de la CPU), y CMD (comando que inició el
proceso) sólo para los procesos del alumno que se están ejecutando en el shell
actual.
ps -e: el comando ps con la opción -e (every - cada uno) muestra la PID, el TTY,
TIME, y CMD de todos los procesos que se están ejecutando en el sistema.
ps -f: el comando ps con la opción -f (full - completo) muestra un listado de toda
la información: UID, PID, PPID, C, STIME, TTY, TIME, y CMD. No obstante,
esto es sólo para aquellos procesos que se están ejecutando bajo el shell o
ventana de Terminal actuales.
ps -u: el comando ps con la opción -u (user ID - ID del usuario) muestra PID,
TTY TIME, y CMD de cada proceso que se está ejecutando en el sistema para
un usuario en particular
Ver todos los procesos en el sistema utilizando la sintaxis estándar:
ps -e
ps -ef
ps -eF
ps –ely
Imprimir un árbol de procesos:
ps -ejH
ps axjf
Obtener información de hilos:
ps -eLf
ps axms
Obtener información de seguridad:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps –Em

Ver todos los procesos ejecutando como root (ID efectivo y real) en formato de
usuario:
ps -U root -u root u

Entre muchas opciones que tiene ps, es posible ordenar la salida de acuerdo a una
columna, para esto se debe utilizar la opción gnu larga "--sort", por ejemplo para
ordenar por tiempo de CPU (si deseamos determinar qué proceso ha utilizado más
CPU) seleccionamos el código "cputime", correspondiente a la columna TIME:
ps aux --sort cputime
6
MAESTRIA EN SISTEMAS COMPUTACIONALES

SISTEMAS OPERATIVOS

ANDREW S. TANENBAUM
SISTEMAS OPERATIVOS
s.o
FUNCIONES INDEPENDIENTES

ADMINSTRADORES DE
RECURSOS

MAQUINAS EXTENDIDAS O
VIRTUAL

La tarea del sistema operativo es
administrar con eficiencia las diferentes
partes del sistema

La tarea del sistema operativo es
proporcionar a los usuarios una
máquina virtual que sea más cómoda
de usar que la máquina real.

7

Más contenido relacionado

La actualidad más candente

Transcripcion (jackeline chillogalli
Transcripcion (jackeline chillogalliTranscripcion (jackeline chillogalli
Transcripcion (jackeline chillogallijackeline_chillogalli
 
Servicios de impresión de gnu linux
Servicios de impresión de gnu linuxServicios de impresión de gnu linux
Servicios de impresión de gnu linuxXavierBeltran7
 
Como instalar unix ...lili
Como instalar unix ...liliComo instalar unix ...lili
Como instalar unix ...lilijassley 2000
 
Como instalar unix erazo gloria
Como instalar unix erazo gloriaComo instalar unix erazo gloria
Como instalar unix erazo gloriaErazoGloria16
 
Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Euller108BB72
 
Sandra saldaña instalarunix
Sandra saldaña instalarunixSandra saldaña instalarunix
Sandra saldaña instalarunixsandrasal23
 
Como instalar Unix(Johanna)
Como instalar Unix(Johanna)Como instalar Unix(Johanna)
Como instalar Unix(Johanna)JohannaCamila
 

La actualidad más candente (14)

Transcripcion (jackeline chillogalli
Transcripcion (jackeline chillogalliTranscripcion (jackeline chillogalli
Transcripcion (jackeline chillogalli
 
Servicios de impresión de gnu linux
Servicios de impresión de gnu linuxServicios de impresión de gnu linux
Servicios de impresión de gnu linux
 
Como instalar unix ...lili
Como instalar unix ...liliComo instalar unix ...lili
Como instalar unix ...lili
 
Como instalar unix erazo gloria
Como instalar unix erazo gloriaComo instalar unix erazo gloria
Como instalar unix erazo gloria
 
Jadira palta
Jadira paltaJadira palta
Jadira palta
 
Julissa
JulissaJulissa
Julissa
 
Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72Instalar unix Euller Yugsan 108 bb72
Instalar unix Euller Yugsan 108 bb72
 
Mary cervantes
Mary cervantesMary cervantes
Mary cervantes
 
Sandra saldaña instalarunix
Sandra saldaña instalarunixSandra saldaña instalarunix
Sandra saldaña instalarunix
 
Instalar unixElvis Urquizo
Instalar unixElvis UrquizoInstalar unixElvis Urquizo
Instalar unixElvis Urquizo
 
Como instalar Unix(Johanna)
Como instalar Unix(Johanna)Como instalar Unix(Johanna)
Como instalar Unix(Johanna)
 
Ronald
RonaldRonald
Ronald
 
Viviana medina MATERIA
Viviana medina MATERIAViviana medina MATERIA
Viviana medina MATERIA
 
Curso básico linux
Curso básico linuxCurso básico linux
Curso básico linux
 

Similar a Tarea s.o

Cap i sistemas operativos (1)
Cap i sistemas operativos (1)Cap i sistemas operativos (1)
Cap i sistemas operativos (1)informatico tic
 
Programación de servicios y procesos
Programación de servicios y procesosProgramación de servicios y procesos
Programación de servicios y procesosAnuska González
 
Informatica basica 4. sistemas operativos
Informatica basica 4. sistemas operativosInformatica basica 4. sistemas operativos
Informatica basica 4. sistemas operativosEdward Ropero
 
Trabajo sistemas operativos ;
Trabajo sistemas operativos ;Trabajo sistemas operativos ;
Trabajo sistemas operativos ;LEduardorinconz
 
Informática y telemática
Informática y telemáticaInformática y telemática
Informática y telemáticaOmarDavids
 
Aporte , sistemas operativos mas comunes(historia)
Aporte , sistemas operativos mas comunes(historia)Aporte , sistemas operativos mas comunes(historia)
Aporte , sistemas operativos mas comunes(historia)LEduardorinconz
 
Conseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas OperativosConseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas Operativosjuan3469
 
Trabajo practico n 2 sistema operativo
Trabajo practico n 2 sistema operativoTrabajo practico n 2 sistema operativo
Trabajo practico n 2 sistema operativoagpmuvi
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativomanuelsuarez001
 
Inf 324 01 01 Historia y Evolución de los Sistemas Operativos
Inf 324 01 01 Historia y Evolución de los Sistemas OperativosInf 324 01 01 Historia y Evolución de los Sistemas Operativos
Inf 324 01 01 Historia y Evolución de los Sistemas Operativoseladiareyes
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo LinuxDiana
 

Similar a Tarea s.o (20)

Cap i sistemas operativos (1)
Cap i sistemas operativos (1)Cap i sistemas operativos (1)
Cap i sistemas operativos (1)
 
Actividad no 1
Actividad no 1Actividad no 1
Actividad no 1
 
Programación de servicios y procesos
Programación de servicios y procesosProgramación de servicios y procesos
Programación de servicios y procesos
 
Informatica basica 4. sistemas operativos
Informatica basica 4. sistemas operativosInformatica basica 4. sistemas operativos
Informatica basica 4. sistemas operativos
 
Trabajo sistemas operativos ;
Trabajo sistemas operativos ;Trabajo sistemas operativos ;
Trabajo sistemas operativos ;
 
Informática y telemática
Informática y telemáticaInformática y telemática
Informática y telemática
 
Vicente
VicenteVicente
Vicente
 
Vicente
VicenteVicente
Vicente
 
Aporte , sistemas operativos mas comunes(historia)
Aporte , sistemas operativos mas comunes(historia)Aporte , sistemas operativos mas comunes(historia)
Aporte , sistemas operativos mas comunes(historia)
 
Conseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas OperativosConseptos BáSicos De Sistemas Operativos
Conseptos BáSicos De Sistemas Operativos
 
Trabajo practico n 2 sistema operativo
Trabajo practico n 2 sistema operativoTrabajo practico n 2 sistema operativo
Trabajo practico n 2 sistema operativo
 
Maritza
MaritzaMaritza
Maritza
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativo
 
Word excel
Word excelWord excel
Word excel
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Inf 324 01 01 Historia y Evolución de los Sistemas Operativos
Inf 324 01 01 Historia y Evolución de los Sistemas OperativosInf 324 01 01 Historia y Evolución de los Sistemas Operativos
Inf 324 01 01 Historia y Evolución de los Sistemas Operativos
 
Sistema Operativo Linux
Sistema Operativo LinuxSistema Operativo Linux
Sistema Operativo Linux
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 

Tarea s.o

  • 1. UNIVERSIDAD DEL CENTRO DE VERACRUZ Calle Papaloapan S/N Esq. Independencia. Col. Centro Tres Valles, Veracruz. Clave: 30MSU0267P SISTEMAS OPERATIVOS DOCENTE: M.S.C. JOSE ANTONIO BARRALES ROSALES INTEGRANTES DEL EQUIPO: L.I.S.C GUADALUPE RAMIREZ VAZQUEZ L.C JUAN CARLOS MARTINEZ OVANDO L.I.S.C ROSA ISELA SOLANO ANDRADE MAESTRIA EN SISTEMAS COMPUTACIONALES 19 DE FEBRERO DEL 2014.
  • 2. MAESTRIA EN SISTEMAS COMPUTACIONALES SISTEMAS OPERATIVOS 1.- ¿QUIÉN CREO GNU? El desarrollo de GNU fue iniciado por Richard Stallman en 1983 y fue el objetivo original de la Free Software Foundation (FSF), pero a fecha de diciembre de 2013 todavía no hay versión estable de GNU. Otros núcleos como Linux también pueden usarse junto con GNU. 2.- DIFERENCIA ENTRE KERNEL Y NUCLEO. El kernel inicia un proceso planificador (para permitir multitarea) y se ejecuta primero el modo usuario (es decir, fuera del espacio del núcleo), luego el programa init (que establece el entorno del usuario, permite la interacción del usuario y acceso), momento en el que el kernel se inactiva. Las llamadas al sistema las cuales le señalan al núcleo que tareas debe realizar (abrir, escribir en un archivo, ejecutar un programa, finalizar y obtener hora y fecha). La manipulación del hardware se realiza por medio de controladores que conocen como comunicarse directamente con el hardware. El núcleo o micronucleo de Windows es el enlace entre el kernel y el procesador, es el intérprete de los procesos que se efectúan por los interesados ya sea que los realicen en modo usuario o en modo kernel, a los cuales el núcleo otorga prioridades de ejecución. El núcleo de linux es de código abierto, esto nos da la pauta para decir que núcleo y kernel son estados diferenciados del sistema operativo linux. Mientras que en el núcleo se escriben nuevas líneas de código para adaptarse a las necesidades de los usuarios, en el kernel se realizan las rutinas de ejecución de programas y control de procesos. 3.- PROCESOS EN LINUX Creación de procesos: fork y clone. A la hora de crear procesos linux provee de dos funciones para dicho cometido, la función clone() y la función fork(). Ambas crean un nuevo proceso a partir del proceso padre pero de una manera distinta. Cuando utilizamos la llamada al sistema fork, el proceso hijo creado es una copia exacta del padre (salvo por el PID y la memoria que ocupa). Al proceso hijo se le facilita una copia de las variables del proceso padre y de los descriptores de fichero. Es importante destacar que las variables del proceso hijo son una copia de las del padre (no se refieren físicamente a la misma variable), por lo que modificar una variable en uno de los procesos no se refleja en el otro. La llamada al sistema clone es mucho más genérica y flexible que el fork, ya que nos permite definir qué van a compartir los procesos padre e hijo. La tabla 2 resume las diferencias entre las llamadas al sistema fork y clone. Las llamadas al sistema fork y clone tienen la misma funcionalidad, pero distintas características: 2
  • 3. MAESTRIA EN SISTEMAS COMPUTACIONALES SISTEMAS OPERATIVOS FORK: En el momento de la llamada a fork el proceso hijo:     Es una copia exacta del padre excepto el PID. Tiene las mismas variables y ficheros abiertos. Las variables son independientes (padre e hijo tienen distintas memorias). Los ficheros son compartidos (heredan el descriptor). CLONE: permite especificar qué queremos que compartan padre e hijo.     Espacio de direccionamiento Información de control del sistema de archivos (file system) Descriptores de archivos abiertos. Gestores de señales o PID. http://sopa.dis.ulpgc.es/ii-dso/leclinux/procesos/fork/LEC7_FORK.pdf 3
  • 4. MAESTRIA EN SISTEMAS COMPUTACIONALES SISTEMAS OPERATIVOS GLOSARIO 1.- APLICACIÓN DE PRIMER PLANO Aplicación con la cual se está trabajando. La aplicación de primer plano aparece en la ventana activa. La comunicación entre el usuario y el shell sucede interactivamente, de a una tarea a la vez. Por ejemplo, cuando el alumno introduce un comando en una ventana de Terminal, el shell procesa el comando y muestra el resultado. El alumno debe esperar hasta que el shell complete la tarea antes de requerir otra. Esto se considera procesamiento en primer plano. 2.- KERNEL Es un programa informático que gestiona la entrada / salida de las solicitudes de los programas y las traduce en procesamiento de datos instrucciones de la unidad central de procesamiento y otros componentes electrónicos de un ordenador. El núcleo es una parte fundamental de un ordenador moderno sistema operativo. 3.- NUCLEO Un procesador es un dispositivo electrónico que incluye varios bloques entre ellos se encuentran unos muy interesantes que se denominan núcleos los cuales se encargan de ejecutar las instrucciones y pueden ser vistos como unos micros en miniatura. Los procesadores con varios núcleos han ganado popularidad a lo largo de los años tanto que ahora es casi imposible encontrarte con alguno que no tenga más de uno de ellos en su interior. Esto ha sido posible gracias a las mejoras de las tecnologías de fabricación que ha permitido reducir enormemente el tamaño de los micros dando más espacio libre a los ingenieros pudiendo por tanto duplicar o incluso triplicar sus bloques internos. De esta forma pasamos de poder ejecutar una sola tarea a trabajar con varias al mismo tiempo. 4.- MULTIPROGRAMACIÓN Se denomina multiprogramación a una técnica por la que dos o más procesos pueden alojarse en la memoria principal y ser ejecutados concurrentemente por el procesador o CPU. Con la multiprogramación, la ejecución de los procesos (o hilos) se va solapando en el tiempo a tal velocidad, que causa la impresión de realizarse en paralelo (simultáneamente). Se trata de un paralelismo simulado, dado que el CPU sólo puede trabajar con un proceso cada vez (el proceso activo). De ahí que, en rigor, se diga que el CPU ejecuta «concurrentemente» (no simultáneamente) varios procesos; en un lapso de tiempo determinado, se ejecutarán alternativamente partes de múltiples procesos cargados en la memoria principal. 4
  • 5. MAESTRIA EN SISTEMAS COMPUTACIONALES SISTEMAS OPERATIVOS 5.- SPOOLING El spooling (Simultaneous Peripheral Operations On-Line) se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un área especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando esté listo. El spooling es útil en caso de dispositivos que acceden a los datos a distintas velocidades. El buffer proporciona un lugar de espera donde los datos pueden estar hasta que el dispositivo (generalmente más lento) los procesa. Esto permite que la CPU pueda trabajar en otras tareas mientras que espera que el dispositivo más lento acabe de procesar el trabajo. La aplicación más común del spooling es la impresión. En este caso, los documentos son cargados en un buffer, que habitualmente es un área en un disco, y la impresora los saca de éste a su propia velocidad. El usuario puede entonces realizar otras operaciones en el ordenador mientras la impresión tiene lugar en segundo plano. El spooling permite también que los usuarios coloquen varios trabajos de impresión en una cola de una vez, en lugar de esperar a que cada uno acabe para enviar el siguiente. 6.- TIMESAHRING (Tiempo compartido) En computación, el uso del tiempo compartido se refiere a compartir de forma concurrente un recurso computacional (tiempo de ejecución en el CPU, uso de la memoria, etc.) entre muchos usuarios por medio de las tecnologías de multiprogramación y la inclusión de interrupciones de reloj por parte del sistema operativo, permitiendo a este último acotar el tiempo de respuesta del computador y limitar el uso del CPU por parte de un proceso dado. 7.- SHELL Es el término usado en informática para referirse a un intérprete de comandos, el cual consiste en la interfaz de usuario tradicional de los sistemas operativos basados en Unix y similares como GNU/Linux. Mediante las instrucciones que aporta el intérprete, el usuario puede comunicarse con el núcleo o kernel y por extensión, ejecutar dichas órdenes, así como herramientas que le permiten controlar el funcionamiento de la computadora. 8.- APT Advanced Packaging Tool (Herramienta Avanzada de Empaquetado), abreviado APT, es un sistema de gestión de paquetes creado por el proyecto Debian. APT simplifica en gran medida la instalación y eliminación de programas en los sistemas GNU/Linux. No existe un programa apt en sí mismo, sino que APT es una biblioteca de funciones C++ que se emplea por varios programas de línea de comandos para distribuir paquetes. En especial, apt-get y apt-cache. APT fue rápidamente utilizado para funcionar con paquetes .deb, en los sistemas Debian y distribuciones derivadas, pero desde entonces ha sido modificado para trabajar con paquetes RPM, con la herramienta apt-rpm, y para funcionar en otros sistemas operativos, como Mac OS X (Fink) y OpenSolaris (distribución Nexenta OS). 5
  • 6. MAESTRIA EN SISTEMAS COMPUTACIONALES SISTEMAS OPERATIVOS COMANDO PS (OPCIONES) El comando ps (process status - estado del proceso) se utiliza para presentar una lista de los procesos que se están ejecutando actualmente en el sistema. Esto se lleva a cabo normalmente si un proceso está llevando demasiado tiempo o parece haberse detenido, como lo indica una ventana de Terminal que no responde. ps: el comando ps sin opciones muestra la PID, el TTY (terminal type - tipo de terminal), TIME (CPU time - tiempo de la CPU), y CMD (comando que inició el proceso) sólo para los procesos del alumno que se están ejecutando en el shell actual. ps -e: el comando ps con la opción -e (every - cada uno) muestra la PID, el TTY, TIME, y CMD de todos los procesos que se están ejecutando en el sistema. ps -f: el comando ps con la opción -f (full - completo) muestra un listado de toda la información: UID, PID, PPID, C, STIME, TTY, TIME, y CMD. No obstante, esto es sólo para aquellos procesos que se están ejecutando bajo el shell o ventana de Terminal actuales. ps -u: el comando ps con la opción -u (user ID - ID del usuario) muestra PID, TTY TIME, y CMD de cada proceso que se está ejecutando en el sistema para un usuario en particular Ver todos los procesos en el sistema utilizando la sintaxis estándar: ps -e ps -ef ps -eF ps –ely Imprimir un árbol de procesos: ps -ejH ps axjf Obtener información de hilos: ps -eLf ps axms Obtener información de seguridad: ps -eo euser,ruser,suser,fuser,f,comm,label ps axZ ps –Em Ver todos los procesos ejecutando como root (ID efectivo y real) en formato de usuario: ps -U root -u root u Entre muchas opciones que tiene ps, es posible ordenar la salida de acuerdo a una columna, para esto se debe utilizar la opción gnu larga "--sort", por ejemplo para ordenar por tiempo de CPU (si deseamos determinar qué proceso ha utilizado más CPU) seleccionamos el código "cputime", correspondiente a la columna TIME: ps aux --sort cputime 6
  • 7. MAESTRIA EN SISTEMAS COMPUTACIONALES SISTEMAS OPERATIVOS ANDREW S. TANENBAUM SISTEMAS OPERATIVOS s.o FUNCIONES INDEPENDIENTES ADMINSTRADORES DE RECURSOS MAQUINAS EXTENDIDAS O VIRTUAL La tarea del sistema operativo es administrar con eficiencia las diferentes partes del sistema La tarea del sistema operativo es proporcionar a los usuarios una máquina virtual que sea más cómoda de usar que la máquina real. 7