Sistemas Operativos:

Unidad 1 - Introducción

Gustavo Andrés Uribe Gómez

guribe@unicomfacauca.edu.co

+572 8220517 Ext. 130

Introducción a los Sistemas Operativos

¿Qué son? o ¿Qué hace?

Fuente: Wikipedia

Modo Kernel

Modo usuario 

 

Controladores

Aplicaciones de usuario, GUI y Shell

  • Ofrecen una capa de abstracción para el programador
  • Administra los limitados recursos hardware

Características Principales

  • Grandes (~cinco millones de líneas de código)
  • Complejos 
  • De larga duración
  • Protegidos contra la modificación del usuario
  • Tienen privilegios de ejecución

Algo de Historia

Primera Generación (1945-1955)

Fuente: wikipedia.org

Primera Generación (1945-1955)

Fuente: wikipedia.org

Segunda Generación (1955 a 1965)

Fuente: Sistemas Operativos Modernos, Tanenbaum, 3 edicion, 2009

Fuente: Sistemas Operativos Modernos,

Tanenbaum, 3 edicion, 2009

Segunda Generación (1955 a 1965)

Tercera Generación (1965-1980)

Fuente: Sistemas Operativos Modernos, Tanenbaum, 3 edicion, 2009

Tercera Generación (1965-1980)

  1. MULTICS (MULTiplexed Information and Computing Service; Servicio de Información y Cómputo MULTiplexado)
  2. UNIX, multics para un solo usuario (desarrollado en PDP-7, IEEE implementó el estándar POSIX)
    1. System V
    2. BSD
    3. MINIX (1987)

Cuarta Generación (1980 - hoy)

  1. CP/M 1974 (Control Program for Microcomputers; Programa de Control para
    Microcomputadoras)
  2. DOS (1980) -> MS-DOS
  3. Windows 3.1 (1985) - Windows Vista (2007)
  4. MINIX -> Linux (1991)

Tipos de Sistemas Operativos

  • Para mainframe
  • De servidores (Solaris, FreeBSD, Linux, Windows Server 200x)
  • De multiprocesadores
  • De computadores personales
  • De bolsillo
  • Embebidos
  • En tiempo real

Exposición Partes del Computador

  • Procesadores y arquitecturas
  • Memoria (jerarquía, tipos, ...)
  • Discos
  • Buses
  • Dispositivos de entrada y salida
  • Sistema de arranque (BIOS)

Conceptos Básicos de los S.O.

Procesos

  • Programa en ejecución
  • Tiene asociado:
    • Espacio de direcciones
    • Lista de ubicaciones en memoria
      • Programa ejecutable
      • Datos del programa (ej. variables)
      • Pila
    • Ubicaciones de escritura y lectura

Procesos

  • Tiene asociado recursos como:
    • Contador del programa
    • Apuntador de pila
    • Lista de archivos abiertos
    • Alarmas pendientes
    • Procesos relacionados
  • La información de los procesos se almacena en la "tabla de procesos" del S.O.
  • En determinadas ocasiones el S.O. puede enviar señales de alarma a los procesos

Procesos

  • Son identificados con
    • UID  (User Identification, Identifica-
      ción de usuario)
    • GID (Group Identification, Identificación de grupo)
  • Los procesos ejecutados por el superusuario tiene privilegios

Procesos

Fuente: Sistemas Operativos Modernos, Tanenbaum, 3 edicion, 2009

Archivos

  • Es la abstracción de los discos duros y en algunos de los S.O. de todos los elementos de E/S
  • En  la mayoría de S.O. los archivos se agrupan en directorios
  • El directorio padre se conoce como directorio raíz
  • El nombre de ruta, describe la ubicación del archivo
    • /Documentos/Unicomfacauca/SO/Unidad1.pdf
    • C:\Documentos\Unicomfacauca\SO\Unidad1.pdf

Archivos

Shell

  • Principal interfaz con el sistema operativo
  • Ejemplos: sh, csh, ksh y bash
  • Los comandos se ingresan en un prompt
  • Todos los comandos se crean como procesos hijos del shell
  • Ejemplos de comandos:
    • date >archivo
    • sort <archivo1 >archivo2
    • cat archivo1 archivo2 archivo3 | sort >/dev/lp &

Llamados al Sistema

Fuente: Sistemas Operativos Modernos, Tanenbaum, 3 edicion, 2009

Llamados al Sistema

Llamados al Sistema

Llamados al Sistema

Ejemplo Llamados al Sistema

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h> //Librería que contiene los llamados al sistema relacionados con los procesos



int main(void) {
	puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */

	char* param[]={"mkdir","prueba",NULL};
	execv("/bin/mkdir",param);
	return EXIT_SUCCESS;
}

Comandos Linux

Descubre que hace

  • find /home/usuario -cmin -60
  • find . -type f -name "*.mp3" -exec rm -f {} \;
  • find ~ -type f -name *.log -size +10M -exec rm -f {} \;
  • factor 512121566
  • for i in {1..9}; do for j in $(seq 1 $i); do echo -ne $i×$j=$((i*j))\\t;done; echo;done
  •  espeak -v es-la "Yo hablo español"
  • bb
Made with Slides.com