Publicado el 27 de Noviembre del 2019
1.164 visualizaciones desde el 27 de Noviembre del 2019
63,9 KB
12 paginas
Creado hace 32a (05/10/1992)
FIB Primavera 03
Introducción a los Sistemas Operativos
El intérprete de comandos
1. Proceso de boot del sistema: inicialización
2. Intérprete de comandos
Bibliografía
Sebastián Sánchez
UNIX y LINUX guía práctica
Tanembaum
Operating Systems. Design and implementation.
Chap. 1: Introduction
Chap. 2.1: Introduction to processes
Vahalia
UNIX Internals: the New Frontiers
Chap. 4.9: Process Groups and Terminal Management
Introducció als Sistemes Operatius
Marisa Gil
1
FIB Primavera 03
INTRODUCCIÓN
Proceso de boot del sistema
disco de sistema
lee el 1er sector
del disco del
drive 0 y lo copia
en memoria
(bootstrap)
ejecuta la rutina main():
inicializa el sistema
(hardware,vars,config...)
“construye” el 1er proceso
y lo pone a ejecutar
MEMORIA
bootstrap
carga el SO
y salta a él
SO
init
lanza un programa
getty por terminal
getty
...
getty
...
Introducció als Sistemes Operatius
Marisa Gil
2
FIB Primavera 03
INTRODUCCIÓN
Inicio de la sesión
INT
K
SO
Poner en marcha
el terminal
despierta
getty
ejecuta
login
comprueba
/etc/passwd
ejecuta
shell
al acabar la
sesión, se
vuelve a la
espera
$
sale el “prompt”:
ya se puede trabajar
Introducció als Sistemes Operatius
Marisa Gil
3
FIB Primavera 03
INTRODUCCIÓN
El intérprete de comandos
• Actúa de interlocutor entre el SO y el usuario interpretando los comandos:
(dibujo extraído de “An overview of shells”, HP-UX)
docum.doc
línea de
comando
shell
comando
interpretado
El usuario
teclea el comando
El shell
interpreta
el comando
SO
El SO
ejecuta el
comando
print docum.doc
imprimir (“\docum.doc”)
Introducció als Sistemes Operatius
Marisa Gil
4
FIB Primavera 03
INTRODUCCIÓN
El intérprete de comandos
• Actúa de interlocutor entre el SO y el usuario interpretando los comandos:
(dibujo extraído de “An overview of shells”, HP-UX)
línea de
comando
ls chap*
El usuario
teclea el comando
comando
interpretado
lschap1
chap2
chap3
chap4
chap5
shell
El shell
interpreta
el comando
SO
El SO
ejecuta el
comando
Introducció als Sistemes Operatius
Marisa Gil
5
FIB Primavera 03
INTRODUCCIÓN
Características del intérprete de comandos
• Interactivo
• Amigable (iconos lenguaje natural,...)
• Informativo
> cp
usage: cp [-fhip] [--] source_file destination_file
or: cp [-fhip] [--] source_file ... destination_directory
or: cp [-fhip] [-R | -r] [--]
[source_file | source_directory] ... destin
• Lenguaje regular (mantener la sintaxis entre comandos)
cp [ -fip ] source_file target_file
ln [ -fns ] source_file [ target ]
Introducció als Sistemes Operatius
Marisa Gil
6
FIB Primavera 03
INTRODUCCIÓN
Clasificación de comandos
• Acceso y manejo de ficheros: edit, print, backup, type, sort, dir, del, cd, ...
• Ejecución de programas: run, compiladores, ensambladores, cargadores, ...
• Informativos y modificativos de datos de sistema: date, who, show, id, ...
• Utilidades (ayudas): mail, talk, write, ...
Introducció als Sistemes Operatius
Marisa Gil
7
FIB Primavera 03
INTRODUCCIÓN
Ejecución de comandos
esperar
comando
comando
externo
comando
interno
cd
ejecutar
comando
/usr/bin/ls
ejecutar
programa
esperar
ejecutar
comando
exit
Introducció als Sistemes Operatius
Marisa Gil
8
FIB Primavera 03
INTRODUCCIÓN
El intérprete de comandos en UNIX
• Se llama genéricamente shell (recubre el SO como una “cáscara”)
• Hay diferentes programas shell en UNIX, que se distinguen en algunas opciones,
características, lenguaje de programación que interpretan, etc.
• Los más clásicos y conocidos:
- sh (Bourne shell) que fue el primero
- csh (C shell, porque utiliza un lenguaje muy similar a C)
• Otros shells: ksh (Korn shell), zsh (intenta adivinar un comando cuando nos
equivocamos en el nombre), bash (Basic shell, de Linux).
• Nosotros trabajaremos con tcsh que es una versión de csh.
Introducció als Sistemes Operatius
Marisa Gil
9
FIB Primavera 03
EL SHELL
El tcsh
Siempre que se crea un nuevo tcsh se ejecuta el programa .tcshrc (o .cshrc)
Para acabar la ejecución de cualquier shell (tcsh, csh, sh, ksh...): exit o ^D
Si se trata del inicio de una sesión, además se ejecuta el fichero .login
INICIO SESIÓN
.login
.(t)cshrc
Lanzamiento de
nuevos shells
.(t)cshrc
...
FIN SESIÓN
logout/exit/^D
fin shell
exit/^D
Introducció als Sistemes Operatius
Marisa Gil
10
FIB Primavera 03
INTRODUCCIÓN
Variables del shell
• Variables de entorno
• Tienen nombres conocidos por el sistema
• mantienen el control del entorno
• se heredan en la sesión
>printenv
HOME=/home2/users/professors/marisa
SHELL=/usr/local/bin/tcsh
USER=marisa
LOGNAME=marisa
PATH=/usr/bin:/usr/local/bin:...:/home2/users/p
rofessors/marisa:.
...
• Variables locales
• Definidas por el usuario
• no se heredan
>set nombre=mio
>set
.....
nombre mio
.....
>csh
$ set nombre=tuyo
$ set
...
nombre tuyo
....
$exit
>set
.....
nombre mio
....
>
Introducció als Sistemes Operatius
Marisa Gil
11
FIB Primavera 03
EL SHELL
Algunas variables de interés
• Para personalizar tu propio entorno de trabajo has de tener en cuenta:
- Las modificaciones en el fichero .login sólo se ejecutarán en el inicio de
sesión
- Las modificaciones en el fichero .(t)cshrc se ejecutarán en cada nuevo
tcsh
- Las modificaciones hechas on-line, se pierden al salir del shell
Actualiza tu fichero .cshrc
• history
• alias: cambia el nombre de algún comando para que te sea más familiar, o
acorta la ejecución de comandos con opciones largas
• prompt
• path: incluye en el path el directorio actual (.) y otros directorios que quieras
(por ejemplo, si tienes tu propio directorio bin con los ejecutables que constru-
yas).
• Haz otras pruebas con los comandos que quieras.
Introducció als Sistemes Operatius
Marisa Gil
12
Comentarios de: El intérprete de comandos - Introducción a los Sistemas Operativos (0)
No hay comentarios