Historia y Sistemas UNIX

Slides:



Advertisements
Presentaciones similares
Algunos Sistemas Operativos
Advertisements

Introducción a Linux Lic. Gonzalo Pastor.
SISTEMA OPERATIVO LINUX
DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Memoria Compartida Llave de acceso Segmento Compartido 1234 estructura
INSTITUTO TECNOLOGICO SUPERIOR DE SANTIAGO PAPASQUIARO
MAC OS.... CONCEPTOS GENERALES
UNIX COMP 240.
GESTION DE DISPOSITIVOS
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
INICIALIZACION Y APAGADO
Programación II Ing. Diego J. Arcusin 3 – Uso del Shell.
Historia La base del C proviene del BCPL (lógica programable en codigo binario), escrito por Martin Richards, y del B escrito por Ken Thompson en 1970.
Instalacion de paquetes
INSTALACIÓN Y MANTENIMIENTO SO ADMINISTRACIÓN SO LINUX.
Brevísima introducción al Linux
Comunicación y sincronización de procesos Comunicación por tuberías.
Sistema de Ficheros, Permisos de archivos y Propietarios de los Mismos.
Date | Place Programación de Computadores Utilidades para la realización de las prácticas.
Funciones en lenguaje C

Raúl García Cortés ( Noviembre de 2013.
Multiprogramación Procesos Cecilia Hernández
Sistemas Operativos Oscar Bedoya
Direcciones físicas y direcciones virtuales (lógicas)
FHS: organización de directorios en Linux
Sistema Operativo. ¿Qué es el Sistema Operativo? Un sistema operativo (SO) es el conjunto de programas y utilidades software que permiten al usuario interactuar.
Administración de Archivos
Sebastián Sánchez Prieto
Archivos.
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
Sistema de archivos Sistemas operativos.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
1 - Introducción a UNIX Programación II Ing. Diego J. Arcusin
Asignación de Espacio No Contiguo
Estructura del sistema de Archivos de
Contenido Estructura del computador Ejecución de instrucciones
Arquitectura NFS El servidor NFS exporta uno o más directorios
Comandos Linux CentOS.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 5: Comandos de manipulación de Directorios y.
Solución de los ejercicios
Modulo 2. Filesystem Bàsico
Ing. Elmer Raúl Aro Valderrama
Sistemas de ficheros MS-DOS.
Introducción a los SOs.
Teoría de Sistemas Operativos Administración de Archivos.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Integrante: Yohandry Cueto Carnet: # Contenido Kernel Linux Limitaciones del Kernel Linux Kernel Mach Que es Hurd Arquitectura Ventajas Distribuciones.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Teoría de Sistemas Operativos
Kernel de Linux.
Propiedades de Archivos regulares y Permisos  Linux es un entorno multiusuario  Varias personas pueden estar trabajando al mismo tiempo ◦ Ejemplo 
Comandos de manipulación de Archivos
El árbol de directorios
INTRODUCCION A SISTEMAS OPERATIVOS
LINUX Algunos Datos Básicos... Algunos Datos Básicos...
Tema 4: Sistema de Archivos Miguel Ramos Soto IES Serra Perenxisa 2008.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Sistema de archivos Kepa Bengoetxea Kortazar
INSTRUCCIONES. El alumno, seguirá los pasos que se le va indicando a continuación. En el recuadro en blanco, debe ir añadiendo un pantallazo con la.
Comandos internos y externos
Leandro Doctors UI15 - Linux: Conceptos Básicos Una introducción a Linux por y para usuarios de Windows Leandro Doctors
VII. IMPLANTACIÓN DE SISTEMAS OPERATIVOS.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 2: El sistema de archivos de LINUX Nombre unidad.
Por: Viridiana Fernández Carreón
Programación II Ing. Diego J. Arcusin 1 - Introducción a UNIX.
El Sistema Operativo es el software básico necesario para el funcionamiento de cualquier ordenador Los Sistemas Operativos están en continua evolución.
Sistema de Ficheros Bloque: unidad básica de almacenamiento del sistema de ficheros Un fichero está compuesto por un número entero de bloques. Es importante.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
Transcripción de la presentación:

Historia y Sistemas UNIX Dra. Karina Figueroa

Contenido Historia Evolución de los S.O. Ambiente del sistema UNIX Ambiente grafico Ambiente de texto Compilando y debug en UNIX/LINUX

Evolución de los S.O. Antes de los S.O. Solo Hardware y aplicaciones Sistemas Batch Operación off-line Buffering Simultaneous Peripheral Operation On-line: Spooling Sistemas de multiprogramación Máquinas o procesadores virtuales Sistemas de tiempo compartido Computadoras personales Redes de computadoras personales Sistemas distribuídos o redes de estación de trabajo Sistemas multiprocesadores El presente

Ambiente de LINUX Estructura del núcleo Archivos Interfaz del usuario Terminales de texto Aplicaciones instaladas por defecto

Núcleo Linux

Tipos de archivos Archivos para el filesystem Archivo regular Directorio Link simbólico Hard link (directorio) Soft link (archivos) Dispositivos de entrada y salida o drivers Archivos de dispositivos Block-oriented Transfiere datos en bloques (DD) Archivos de dispositivos Character-oriented Transferencia byte por byte (modem) Para la intercomunicación de procesos Pipe Socket

Directorios / raíz /bin /usr/bin /sbin /lib /usr/lib /tmp /home /etc utilidades de sistema de bajo nivel /usr/bin utilidades de sistema de alto nivel /sbin uitlidades como super usuario /lib Librerías de programas /usr/lib Librerías de programas de alto nivel /tmp Temporal /home Directorios personales /etc Archivos de configuración /dev Dispositivos de hardware /proc Un pseudo-filesystem usado como una interfaz con el kernel

Descriptores de archivos Unix hace una clara distinción entre el contenido de un archivo y la información acerca de un archivo. Los archivos no tiene ninguna información de control (longuitud, fin de archivo, delimitador). Cada archivo consiste de una secuencia de bytes. Con la excepción de dispositivo de un archivo y los archivos especiales del filesystem Toda la información necesaria por el filesystem se mantiene en un archivo llamado inodo. Cada archivo tiene su propio inodo con el que el filesystem lo identifica.

archivos Al menos deben tener Tipo de archivo Núm de hard links asociados al archivo Longitud en bytes del archivo ID dispositivo (i.e., un identificador del dispositivo que contienen al archivo) Núm de inodo que identifica al archivo UID del propietario del archivo ID del grupo del archivo Timestamps que especifican el estatus del inodo en el tiempo Fecha de modificación Permisos de acceso al archivo

Sistema de archivos El sistema de archivos Unix se sitúa dentro del núcleo del S.O. Se encarga de darle estructura en archivos a una partición del disco Implementa el sistema jerárquico de nombres y directorios

Superbloque Almacena Tamaño de los bloques Número de inodos Número de bloques Etc Por ejemplo ver: en Linux (/usr/include/linux/ext2_fs.h) Definición de superbloque ext2_sb Definición de inodo, ext2_inode

Inodo Es la estructura de datos que representa un archivo. Existe un inodo por cada archivo Almacena: El largo del archivo Permisos (12 bits) Número de usuario Número de grupo Fecha y hora de creación, modificación y consulta Núm de enlaces duros El tipo: archivo normal, directorio, link simbólico, dispositivo 12 punteros a bloques en disco que contienen los datos del archivo Un puntero de indirección simple Un puntero de indirección doble Un puntero de indirección triple

inodo

Inodos Los inodos se enumeran como 0,1,2,… El inodo 0 es el directorio raíz de la petición Cómo se busca un nombre? Por ejem /usr/bin/X11/xfig Ubicar partición /, /usr, /home y /tmp Buscamos el archivo bin Buscamos X11 en el inodo donde se encuentra bin Buscar xfig en el inodo donde se encuentra X11

i-nodo

Acceso a archivos El usuario propietario del archivo Los usuarios que pertenecen al grupo El resto de los usarios Chmod comando

Comandos de Linux Abrir una terminal Comandos “clásicos” mkdir <directorio> cd <directorio> mv <origen> <destino> Comandos Linux man top ls –l echo cat <archivo> more <archivo> cp <origen> <destino> history last w ps talk write wall

Comandos sobre archivos chmod ugo+rwx <archivo> chown <user>:<group> <archivo> grep “<expreg>” <archivo> awk “codigo” <archivo> diff <archivo1> <archivo2> wc <archivo> head <archivo> tail <archivo> sed “<expreg>” <archivo> Redireccionamiento < entrada > salida | pipe

Compilando y debug Compilar en C Debug en C

Llamada de sistema Qué son? Como se usan? Ejemplos Son llamados a procedimientos del kernel Necesitan un cambio de privilegios Básicamente Se realiza almacenando el num de llamada al sistema en el registo EAX Almacena los argumentos de la llamada Ejecuta una excepción (código en ensamblador) Se usa el num de llamada al sistema como índice para una tabla de apuntadores de código Obtener la dirección de comienzo del código Se ejecuta con privilegios de kernel Como se usan? Se enumeran en /usr/src/linux-2.x/include/asm-i386/unistd.h Ejemplos Close, corresponde a close() Hay una lista de descriptores entry.S

Modos y llamada de sistema usuario Programa 2 del usuario Programa 1 del usuario 1 4 Tabla de despacho Procedimiento de servicio Modo Kernel 3 2

Llamada de Sistema En su mayoría regresan dos tipos de valores: menor a cero: hubo un error en la ejecución cero o mayor a cero: todo salió bien Si hubo error es posible ver la naturaleza del error a través de la página del manual de la llamada y de la variable errno del archivo de encabezado errno.h

Código escritura en archivo if ( read(fd,fd,sizeof(frase)) < 0 ) { perror("Error en read"); exit(2); } printf("Se leyo: %s \n",frase); close(fd); printf("Fin del ejemplo \n"); #include <strings.h> #include <fcntl.h> #include <stdio.h> #include <errno.h> main() { int fd; char frase[80]; printf(“Leyendo de un archivo \n"); if ( (fd = open(”archivo", O_RDONLY)) < 0) printf("Error no. %d en open \n",errno); exit(1); }

Compilando y ejecutando karina@~> gcc prueba.c karina@~>a.out Escribiendo en un archivo Error no. 2 en open karina@~>grep 2 /usr/include/sys/errno.h #define ENOENT 2 /* No such file or directory */ #define E2BIG 7 /* Arg list too long */ #define ENOMEM 12 /* Not enough core */ #define ENOTDIR 20 /* Not a directory */ :

Una opción más completa if ( (fd = open(”archivo", O_RDONLY)) < 0) { printf("Error %d en open\n",errno); perror("Mensaje"); exit(1); } if ( read(fd, fd ,sizeof(frase)) < 0 ) printf("Error %d en read\n",errno); exit(2);

Tarea Investigar el sistema de archivos FAT Comparar la estructura con la de Linux Ventajas y desventajas Investigar el sistema de archivos vFAT

Compilar un kernel /usr/src/linux make xconfig make dep make bzImage Añada una entra en lilo y grub Lilo.conf Image=/boot/bzImage.myKernel Label=myKernel root=/dev/hda5 read-only