From 79e1a51eb55d0df43323c0fe77a7d55b2c2bd17d Mon Sep 17 00:00:00 2001 From: Juan Marín Noguera Date: Mon, 24 Feb 2020 11:22:00 +0100 Subject: POO --- README.md | 4 + fvv1/n.lyx | 205 ++ fvv1/n1.lyx | 1914 +++++++++++++++ fvv1/n2.lyx | 1010 ++++++++ fvv1/n3.lyx | 1046 ++++++++ fvv1/n4.lyx | 592 +++++ fvv2/n.lyx | 218 ++ fvv2/n1.lyx | 3333 ++++++++++++++++++++++++++ fvv2/n3.lyx | 3763 +++++++++++++++++++++++++++++ fvv2/n4.lyx | 688 ++++++ iso/n.lyx | 336 +++ iso/n1.lyx | 997 ++++++++ iso/n2.lyx | 1232 ++++++++++ iso/n3.lyx | 943 ++++++++ iso/n4.lyx | 895 +++++++ iso/n5.lyx | 879 +++++++ iso/n6.lyx | 826 +++++++ iso/na.lyx | 7090 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ iso/nb.lyx | 1092 +++++++++ iso/nc.lyx | 1408 +++++++++++ iso/nd.lyx | 4024 +++++++++++++++++++++++++++++++ iso/ne.lyx | 1997 ++++++++++++++++ iso/nf.lyx | 2949 +++++++++++++++++++++++ iso/pegado1.png | Bin 0 -> 19295 bytes iso/pegado2.png | Bin 0 -> 39707 bytes iso/pegado3.png | Bin 0 -> 21311 bytes iso/pegado4.png | Bin 0 -> 3204 bytes iso/pegado5.png | Bin 0 -> 32237 bytes iso/pegado6.png | Bin 0 -> 32568 bytes license.lyx | 24 + poo/n.lyx | 266 +++ poo/n1.lyx | 235 ++ poo/n2.lyx | 1168 +++++++++ poo/n3.lyx | 959 ++++++++ poo/n4.lyx | 3827 ++++++++++++++++++++++++++++++ poo/n5.lyx | 926 ++++++++ poo/n6.lyx | 771 ++++++ poo/na.lyx | 1500 ++++++++++++ poo/nb.lyx | 743 ++++++ 39 files changed, 47860 insertions(+) create mode 100644 fvv1/n.lyx create mode 100644 fvv1/n1.lyx create mode 100644 fvv1/n2.lyx create mode 100644 fvv1/n3.lyx create mode 100644 fvv1/n4.lyx create mode 100644 fvv2/n.lyx create mode 100644 fvv2/n1.lyx create mode 100644 fvv2/n3.lyx create mode 100644 fvv2/n4.lyx create mode 100644 iso/n.lyx create mode 100644 iso/n1.lyx create mode 100644 iso/n2.lyx create mode 100644 iso/n3.lyx create mode 100644 iso/n4.lyx create mode 100644 iso/n5.lyx create mode 100644 iso/n6.lyx create mode 100644 iso/na.lyx create mode 100644 iso/nb.lyx create mode 100644 iso/nc.lyx create mode 100644 iso/nd.lyx create mode 100644 iso/ne.lyx create mode 100644 iso/nf.lyx create mode 100644 iso/pegado1.png create mode 100644 iso/pegado2.png create mode 100644 iso/pegado3.png create mode 100644 iso/pegado4.png create mode 100644 iso/pegado5.png create mode 100644 iso/pegado6.png create mode 100644 poo/n.lyx create mode 100644 poo/n1.lyx create mode 100644 poo/n2.lyx create mode 100644 poo/n3.lyx create mode 100644 poo/n4.lyx create mode 100644 poo/n5.lyx create mode 100644 poo/n6.lyx create mode 100644 poo/na.lyx create mode 100644 poo/nb.lyx diff --git a/README.md b/README.md index 5325bb1..bdc2b82 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,8 @@ son las siguientes: * `gae`: Geometría Afín y Euclídea. * `tem`: Topología de Espacios Métricos. * `aalg`: Ampliación de Álgebra y Geometría. +* `fvv1`: Funciones de Varias Variables I. +* `fvv2`: Funciones de Varias Variables II. Falta el capítulo 2. Las asignaturas de ingeniería informática que se incluyen son las siguientes: @@ -26,6 +28,8 @@ Las asignaturas de ingeniería informática que se incluyen son las siguientes: * `ffi`: Fundamentos Físicos de la Informática. * `tp`: Tecnología de la Programación. * `aed1`: Algoritmos y Estructuras de Datos I. +* `iso`: Introducción a los Sistemas Operativos. +* `poo`: Programación Orientada a Objetos. Los apuntes están escritos con [LyX](https://www.lyx.org/). En cada directorio, el fichero `n.lyx` es el fichero principal con los apuntes de la asignatura. diff --git a/fvv1/n.lyx b/fvv1/n.lyx new file mode 100644 index 0000000..0e1cf08 --- /dev/null +++ b/fvv1/n.lyx @@ -0,0 +1,205 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\begin_preamble +\input{../defs} +\end_preamble +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize 10 +\spacing single +\use_hyperref false +\papersize a5paper +\use_geometry true +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\leftmargin 0.2cm +\topmargin 0.7cm +\rightmargin 0.2cm +\bottommargin 0.7cm +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style swiss +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle empty +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Title +Funciones de varias variables I +\end_layout + +\begin_layout Date +\begin_inset Note Note +status open + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +def +\backslash +cryear{2018} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "../license.lyx" + +\end_inset + + +\end_layout + +\begin_layout Standard +Bibliografía: +\end_layout + +\begin_layout Itemize +Antonio Avilés. +\end_layout + +\begin_layout Itemize +FVV1, Luis Oncina (2016–17). +\end_layout + +\begin_layout Chapter +Normas y convergencia +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n1.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Derivadas y diferenciales +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n2.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Dobles diferenciales +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n3.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Regiones de +\begin_inset Formula $\mathbb{R}^{n}$ +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n4.lyx" + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/fvv1/n1.lyx b/fvv1/n1.lyx new file mode 100644 index 0000000..41aa455 --- /dev/null +++ b/fvv1/n1.lyx @@ -0,0 +1,1914 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Sea +\begin_inset Formula $E$ +\end_inset + + un +\begin_inset Formula $\mathbb{R}$ +\end_inset + +-espacio vectorial, una +\series bold +norma +\series default + es una aplicación +\begin_inset Formula $\Vert\cdot\Vert:E\rightarrow\mathbb{R}$ +\end_inset + + tal que +\begin_inset Formula $\forall x,y\in E,\lambda\in\mathbb{R}$ +\end_inset + +: +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\Vert x\Vert\geq0\land(\Vert x\Vert=0\iff x=0)$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\Vert x+y\Vert\leq\Vert x\Vert+\Vert y\Vert$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\Vert\lambda x\Vert=|\lambda|\Vert x\Vert$ +\end_inset + +. +\end_layout + +\begin_layout Standard +El par +\begin_inset Formula $(E,\Vert\cdot\Vert)$ +\end_inset + + es un +\series bold +espacio normado +\series default +. + Llamamos +\series bold +distancia asociada a la norma +\series default + a +\begin_inset Formula $d(x,y):=\Vert x-y\Vert$ +\end_inset + +. + Dos normas son equivalentes si sus distancias lo son. +\end_layout + +\begin_layout Standard +Ejemplos de normas en +\begin_inset Formula $\mathbb{R}^{n}$ +\end_inset + + son las dadas por +\begin_inset Formula $\Vert(x_{1},\dots,x_{n})\Vert_{p}:=\sqrt[p]{\sum_{i=1}^{n}|x_{i}|^{p}}$ +\end_inset + + y +\begin_inset Newline newline +\end_inset + + +\begin_inset Formula $\Vert(x_{1},\dots,x_{n})\Vert_{\infty}:=\max\{|x_{i}|\}_{i=1}^{n}$ +\end_inset + +. + Además, +\begin_inset Formula $V:={\cal C}[a,b]:=\{f:[a,b]\rightarrow\mathbb{R}\text{ continua}\}$ +\end_inset + + con +\begin_inset Formula $\Vert f\Vert_{\infty}:=\sup\{|f(x)|\}_{x\in[a,b]}$ +\end_inset + + es un espacio normado. +\end_layout + +\begin_layout Standard +\begin_inset Note Comment +status open + +\begin_layout Enumerate +Dado +\begin_inset Formula $f\in V$ +\end_inset + +, existe al menos un +\begin_inset Formula $x\in[a,b]$ +\end_inset + + y entonces +\begin_inset Formula $\Vert f\Vert_{\infty}\geq|f(x)|\geq0$ +\end_inset + +, y +\begin_inset Formula $\Vert f\Vert_{\infty}=0\iff\forall x\in[a,b],f(x)=0\iff f=0$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\Vert f+g\Vert_{\infty}=\sup\{|f(x)+g(x)|\}_{x\in[a,b]}\leq\sup\{|f(x)|+|g(x)|\}_{x\in[a,b]}\leq\sup\{|f(x)|\}_{x\in[a,b]}+\sup\{|g(x)|\}_{x\in[a,b]}=\Vert f\Vert_{\infty}+\Vert g\Vert_{\infty}$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Dado +\begin_inset Formula $\lambda\in\mathbb{R}$ +\end_inset + +, +\begin_inset Formula $\Vert\lambda f\Vert_{\infty}=\sup\{|\lambda f(x)|\}_{x\in[a,b]}=|\lambda|\sup\{|f(x)|\}_{x\in[a,b]}=|\lambda|\Vert f\Vert_{\infty}$ +\end_inset + +. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +sremember{TEM} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Formula $f:(X,d)\rightarrow(Y,d')$ +\end_inset + + es continua en +\begin_inset Formula $p$ +\end_inset + + [...] si y sólo si +\begin_inset Formula $\forall\varepsilon>0,\exists\delta>0:\forall x\in X,(d(x,p)<\delta\implies d'(f(x),f(p))<\varepsilon)$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Definimos la norma de una aplicación +\begin_inset Formula $L:(E,\Vert\cdot\Vert)\rightarrow(F,\Vert\cdot\Vert')$ +\end_inset + + como +\begin_inset Formula $\Vert L\Vert:=\Vert L\Vert_{\Vert\cdot\Vert}^{\Vert\cdot\Vert'}:=\sup\{\Vert L(x)\Vert'\}_{x\in E,\Vert x\Vert\leq1}$ +\end_inset + +, y tenemos como +\series bold +teorema +\series default + que +\begin_inset Formula $L$ +\end_inset + + es continua si y sólo si +\begin_inset Formula $\Vert L\Vert<+\infty$ +\end_inset + +, y entonces es uniformemente continua. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + +Sea +\begin_inset Formula $L$ +\end_inset + + continua en 0, es decir, +\begin_inset Formula $\forall\varepsilon>0,\exists\delta>0:\forall y\in E,(\Vert y\Vert<\delta\implies\Vert L(y)\Vert'<\varepsilon)$ +\end_inset + +. + Fijado +\begin_inset Formula $\varepsilon$ +\end_inset + +, sea +\begin_inset Formula $\Vert z\Vert\leq1$ +\end_inset + +, entonces +\begin_inset Formula $\Vert\frac{\delta}{2}z\Vert<\delta$ +\end_inset + + y +\begin_inset Formula $\Vert L(\frac{\delta}{2}z)\Vert'<\varepsilon$ +\end_inset + +, luego +\begin_inset Formula $\Vert L(z)\Vert'<\frac{2\varepsilon}{\delta}$ +\end_inset + + y +\begin_inset Formula $\Vert L\Vert<\frac{2\varepsilon}{\delta}$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\impliedby]$ +\end_inset + + +\end_layout + +\end_inset + +Veamos primero que +\begin_inset Formula $\Vert L\Vert<+\infty\implies\forall x\in E,\Vert L(x)\Vert'\leq\Vert L\Vert\Vert x\Vert$ +\end_inset + +. + En efecto, para +\begin_inset Formula $\Vert x\Vert=1$ +\end_inset + +, +\begin_inset Formula $\Vert L(x)\Vert'\leq\sup\{\Vert L(y)\Vert\}_{\Vert y\Vert\leq1}=\Vert L\Vert=\Vert L\Vert\Vert x\Vert$ +\end_inset + +, y para cualquier otra +\begin_inset Formula $x$ +\end_inset + + basta dividir entre la norma. + Ahora bien, dado +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, tomando +\begin_inset Formula $\delta:=\frac{\varepsilon}{\Vert L\Vert+1}$ +\end_inset + + entonces +\begin_inset Formula $\Vert y-x\Vert<\delta\implies\Vert L(y)-L(x)\Vert'=\Vert L(y-x)\Vert'\leq\Vert L\Vert\Vert y-x\Vert<\Vert L\Vert\delta=\frac{\Vert L\Vert\varepsilon}{\Vert L\Vert+1}<\varepsilon$ +\end_inset + +. + Pero como +\begin_inset Formula $\delta$ +\end_inset + + no depende de +\begin_inset Formula $x$ +\end_inset + +, +\begin_inset Formula $L$ +\end_inset + + es uniformemente continua. +\end_layout + +\begin_layout Section +Equivalencia de normas +\end_layout + +\begin_layout Standard +Dos normas +\begin_inset Formula $\Vert\cdot\Vert$ +\end_inset + + y +\begin_inset Formula $\Vert\cdot\Vert'$ +\end_inset + + son equivalentes si y sólo si +\begin_inset Formula $\exists\alpha,\beta>0:\forall x\in E,\alpha\Vert x\Vert\leq\Vert x\Vert'\leq\beta\Vert x\Vert$ +\end_inset + +. + +\series bold +Demostración: +\series default + Sean +\begin_inset Formula $L:=id_{E}:(E,\Vert\cdot\Vert)\rightarrow(E,\Vert\cdot\Vert')$ +\end_inset + + y +\begin_inset Formula $L':=L^{-1}$ +\end_inset + +, entonces +\begin_inset Formula ${\cal T}_{\Vert\cdot\Vert}={\cal T}_{\Vert\cdot\Vert'}$ +\end_inset + + si y sólo si +\begin_inset Formula $L$ +\end_inset + + y +\begin_inset Formula $L'$ +\end_inset + + son continuas, pues +\begin_inset Formula $L\text{ es continua}\iff\forall A\in{\cal T}_{\Vert\cdot\Vert'},A\in{\cal T}_{\Vert\cdot\Vert}\iff{\cal T}_{\Vert\cdot\Vert'}\subseteq{\cal T}_{\Vert\cdot\Vert}$ +\end_inset + +, y el otro contenido es análogo. + Entonces: +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + +Si +\begin_inset Formula $L$ +\end_inset + + es continua +\begin_inset Formula $\Vert L\Vert<+\infty$ +\end_inset + +, luego +\begin_inset Formula $\Vert x\Vert'=\Vert L(x)\Vert'\leq\Vert L\Vert\Vert x\Vert\overset{\beta:=\Vert L\Vert}{=}\beta\Vert x\Vert$ +\end_inset + +. + La otra cota se hace de forma análoga. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\impliedby]$ +\end_inset + + +\end_layout + +\end_inset + +Si existe +\begin_inset Formula $\beta$ +\end_inset + + tal que +\begin_inset Formula $\forall x\in E,\Vert x\Vert'\leq\beta\Vert x\Vert$ +\end_inset + +, en particular se cumple para +\begin_inset Formula $\Vert x\Vert\leq1$ +\end_inset + +, y entonces +\begin_inset Formula $\Vert L(x)\Vert=\Vert x\Vert'\leq\beta\Vert x\Vert$ +\end_inset + +, luego +\begin_inset Formula $\Vert L\Vert=\sup\{\Vert x\Vert'\}_{\Vert x\Vert\leq1}\leq\beta<+\infty$ +\end_inset + + y +\begin_inset Formula $L$ +\end_inset + + es continua. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +sremember{TEM} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Las métricas +\begin_inset Formula $d_{E}$ +\end_inset + +, +\begin_inset Formula $d_{T}$ +\end_inset + + y +\begin_inset Formula $d_{\infty}$ +\end_inset + + [...] son equivalentes, [...]. + +\series bold +Demostración: +\series default + Se deduce de que +\begin_inset Formula $\frac{1}{n}d_{T}(x,y)\leq d_{\infty}(x,y)\leq d_{T}(x,y)$ +\end_inset + + y +\begin_inset Formula $\frac{1}{\sqrt{n}}d_{E}(x,y)\leq d_{\infty}(x,y)\leq d_{E}(x,y)$ +\end_inset + +. + [...] +\end_layout + +\begin_layout Standard +Todo cerrado +\begin_inset Formula $C$ +\end_inset + + de un compacto +\begin_inset Formula $(X,{\cal T})$ +\end_inset + + es compacto. + [...] En [...] +\begin_inset Formula $(\mathbb{R},{\cal T}_{u})$ +\end_inset + + [...] todo subespacio cerrado y acotado es compacto. + [...] Todo subespacio compacto +\begin_inset Formula $K$ +\end_inset + + de un espacio métrico +\begin_inset Formula $(X,d)$ +\end_inset + + es [cerrado y] acotado. + [...]Si +\begin_inset Formula $f:(X,{\cal T})\rightarrow(Y,{\cal T}')$ +\end_inset + + es continua y +\begin_inset Formula $(X,{\cal T})$ +\end_inset + + es compacto entonces +\begin_inset Formula $f(X)$ +\end_inset + + es compacto. + [...] +\begin_inset Formula $(X,{\cal T})$ +\end_inset + + es +\series bold +compacto +\series default +[...] si toda sucesión admite una subsucesión convergente. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Toda norma +\begin_inset Formula $\Vert\cdot\Vert:(E,\Vert\cdot\Vert)\rightarrow\mathbb{R}$ +\end_inset + + es uniformemente continua. + +\series bold +Demostración: +\series default + Fijado +\begin_inset Formula $\varepsilon$ +\end_inset + + y tomando +\begin_inset Formula $\delta:=\varepsilon$ +\end_inset + +, si +\begin_inset Formula $\Vert x-y\Vert<\delta$ +\end_inset + + entonces usando que +\begin_inset Formula $|\Vert x\Vert-\Vert y\Vert|\leq\Vert x-y\Vert$ +\end_inset + +, lo que se deduce de +\begin_inset Formula $\Vert x\Vert\leq\Vert x-y\Vert+\Vert y\Vert$ +\end_inset + + y +\begin_inset Formula $\Vert y\Vert\leq\Vert y-x\Vert+\Vert x\Vert$ +\end_inset + +, obtenemos que +\begin_inset Formula $|\Vert x\Vert-\Vert y\Vert|<\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, en +\begin_inset Formula $\mathbb{R}^{n}$ +\end_inset + +, todas las normas son equivalentes. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 +\begin_inset Formula $\Vert x\Vert\leq C\Vert x\Vert_{1}]$ +\end_inset + + +\begin_inset Formula $\Vert x\Vert=\Vert\sum x_{i}\vec{e}_{i}\Vert\leq\sum|x_{i}|\Vert\vec{e}_{i}\Vert\leq\max\{\Vert\vec{e}_{i}\Vert\}\sum|x_{i}|=\max\{\Vert\vec{e}_{i}\Vert\}\Vert x\Vert_{1}$ +\end_inset + +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 +\begin_inset Formula $\Vert x\Vert_{1}\leq D\Vert x\Vert]$ +\end_inset + + Tomamos +\begin_inset Formula $(\mathbb{R}^{n},\Vert\cdot\Vert_{1})\overset{id}{\rightarrow}(\mathbb{R}^{n},\Vert\cdot\Vert)\overset{\Vert\cdot\Vert}{\rightarrow}\mathbb{R}$ +\end_inset + +, que es continua por ser composición de dos funciones continuas (la identidad + es continua por la otra cota y la demostración del teorema anterior), entonces + +\begin_inset Formula $S:=\{x\in\mathbb{R}^{n}:\Vert x\Vert_{1}=1\}$ +\end_inset + + es cerrado dentro del compacto +\begin_inset Formula $\overline{B}(0,1)$ +\end_inset + +, luego es compacto y como la función dada es continua, +\begin_inset Formula $\Vert\cdot\Vert(S)$ +\end_inset + + es compacto y alcanza su máximo y su mínimo. + Sea ahora +\begin_inset Formula $\mu:=\min\{\Vert x\Vert\}_{x\in S}>0$ +\end_inset + + (pues +\begin_inset Formula $0\notin S$ +\end_inset + +), si +\begin_inset Formula $\Vert x\Vert_{1}=1$ +\end_inset + + para un cierto +\begin_inset Formula $x\in\mathbb{R}^{n}$ +\end_inset + +, entonces +\begin_inset Formula $\Vert x\Vert\geq\mu$ +\end_inset + +, luego +\begin_inset Formula $x\neq0$ +\end_inset + + y +\begin_inset Formula $\left\Vert \frac{x}{\Vert x\Vert_{1}}\right\Vert =1$ +\end_inset + +, con lo que +\begin_inset Formula $\left\Vert \frac{x}{\Vert x\Vert_{1}}\right\Vert \geq\mu$ +\end_inset + + y +\begin_inset Formula $\Vert x\Vert\geq\mu\Vert x\Vert_{1}$ +\end_inset + +, y entonces +\begin_inset Formula $\Vert x\Vert_{1}\leq\frac{1}{\mu}\Vert x\Vert$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Tenemos pues que toda +\begin_inset Formula $T:(\mathbb{R}^{m},\Vert\cdot\Vert)\rightarrow(\mathbb{R}^{n},\Vert\cdot\Vert')$ +\end_inset + + lineal es continua +\begin_inset Note Comment +status open + +\begin_layout Plain Layout +, pues equivale a una multiplicación por una matriz en +\begin_inset Formula $M_{n\times m}(\mathbb{R})$ +\end_inset + +, que es continua con la norma euclídea y por tanto en todas las demás +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Section +Convergencia +\end_layout + +\begin_layout Standard +Sea +\begin_inset Formula $(X,{\cal T})$ +\end_inset + + un espacio topológico e +\begin_inset Formula $(Y,d)$ +\end_inset + + un espacio métrico, una sucesión de funciones +\begin_inset Formula $(f_{n}:(X,{\cal T})\rightarrow(Y,d))_{n}$ +\end_inset + + +\series bold +converge puntualmente +\series default + a +\begin_inset Formula $f:(X,{\cal T})\rightarrow(Y,d)$ +\end_inset + + si para todo +\begin_inset Formula $x\in X$ +\end_inset + +, +\begin_inset Formula $f_{n}(x)\rightarrow f(x)$ +\end_inset + +, y converge +\series bold +uniformemente +\series default + a +\begin_inset Formula $f$ +\end_inset + + si +\begin_inset Formula $d_{\infty}(f_{n},f)\rightarrow0$ +\end_inset + +. + Sea +\begin_inset Formula $x_{0}\in(X,{\cal T})$ +\end_inset + + y +\begin_inset Formula $(f_{n}:X\rightarrow\mathbb{R})_{n}$ +\end_inset + + una sucesión de funciones continuas en +\begin_inset Formula $x_{0}$ +\end_inset + + que converge uniformemente a +\begin_inset Formula $f$ +\end_inset + +, entonces +\begin_inset Formula $f$ +\end_inset + + es continua en +\begin_inset Formula $x_{0}$ +\end_inset + +. + +\series bold +Demostración: +\series default + Fijado un +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, existe un +\begin_inset Formula $n_{0}\in\mathbb{N}$ +\end_inset + + tal que para +\begin_inset Formula $n\geq n_{0}$ +\end_inset + + y +\begin_inset Formula $x\in X$ +\end_inset + + se tiene +\begin_inset Formula $|f_{n}(x)-f(x)|<\frac{\varepsilon}{3}$ +\end_inset + +. + Como +\begin_inset Formula $f_{n}$ +\end_inset + + es continua, existe +\begin_inset Formula ${\cal V}\in{\cal E}(x_{0})$ +\end_inset + + tal que si +\begin_inset Formula $x\in{\cal V}$ +\end_inset + + entonces +\begin_inset Formula $|f_{n}(x)-f_{n}(x_{0})|<\frac{\varepsilon}{3}$ +\end_inset + +, con lo que +\begin_inset Formula $|f(x)-f(x_{0})|\leq|f(x)-f_{n}(x)|+|f_{n}(x)-f_{n}(x_{0})|+|f_{n}(x_{0})-f(x_{0})|<\frac{\varepsilon}{3}+\frac{\varepsilon}{3}+\frac{\varepsilon}{3}=\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset Note Comment +status open + +\begin_layout Plain Layout +El límite puntual de funciones continuas no es necesariamente continua, + ni siquera en funciones de +\begin_inset Formula $(a,b)$ +\end_inset + + a +\begin_inset Formula $\mathbb{R}$ +\end_inset + +, y como contraejemplo tenemos +\begin_inset Formula $(f_{n}:(-1,1)\rightarrow\mathbb{R})_{n}$ +\end_inset + + dada por +\begin_inset Formula $f_{n}(x)=\begin{cases} +0 & \text{si }x\leq0\\ +nx & \text{si }00 +\end{cases}$ +\end_inset + +. + Asimismo, el límite uniforme de funciones derivables no es necesariamente + derivable, y como contraejemplo tenemos +\begin_inset Formula $f_{n}(x)=\sqrt{x^{2}+\frac{1}{n}}$ +\end_inset + +, que converge a +\begin_inset Formula $f(x)=|x|$ +\end_inset + +. +\end_layout + +\begin_layout Plain Layout +La función +\begin_inset Formula $\sum_{n}\frac{\cos(7^{n}\pi x)}{2^{n}}$ +\end_inset + + es continua en todos los puntos ( +\begin_inset Formula $\Vert\frac{\cos(7^{n}\pi x)}{2^{n}}\Vert_{\infty}=\frac{1}{2^{n}}\implies\Vert\sum_{n}\frac{\cos(7^{n}\pi x)}{2^{n}}\Vert<+\infty$ +\end_inset + +, con lo que la función es continua por ser la suma de una sucesión convergente + de funciones continuas) pero no es derivable en ninguno. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +sremember{FUVR1} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $\lim_{n}x_{n}=\pm\infty$ +\end_inset + + entonces +\begin_inset Formula $\lim_{n}\left(1+\frac{1}{x_{n}}\right)^{x_{n}}=e$ +\end_inset + + y +\begin_inset Formula $\lim_{n}\left(1-\frac{1}{x_{n}}\right)^{x_{n}}=e^{-1}$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Si existe +\begin_inset Formula $\lim_{n}\frac{z_{n+1}}{z_{n}}=w\in\mathbb{R}$ +\end_inset + + con +\begin_inset Formula $|w|<1$ +\end_inset + +, entonces +\begin_inset Formula $\lim_{n}z_{n}=0$ +\end_inset + +. + [...] +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $b>0$ +\end_inset + +, +\begin_inset Formula $c>1$ +\end_inset + + y +\begin_inset Formula $d>0$ +\end_inset + +, entonces +\begin_inset Formula +\[ +\log n\ll n^{b}\ll c^{n}\ll n^{dn} +\] + +\end_inset + +Si además +\begin_inset Formula $d\geq1$ +\end_inset + +, entonces +\begin_inset Formula $c^{n}\ll n!\ll n^{dn}$ +\end_inset + +. + [...] +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $\lim_{n}x_{n}=0$ +\end_inset + + con +\begin_inset Formula $0<|x_{n}|<1$ +\end_inset + +, entonces: +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\log(1+x_{n})\sim x_{n}$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $e^{x_{n}}-1\sim x_{n}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $\lim_{n}x_{n}=1$ +\end_inset + + con +\begin_inset Formula $x_{n}\neq1$ +\end_inset + + y +\begin_inset Formula $\lim_{n}y_{n}=\pm\infty$ +\end_inset + +, entonces +\begin_inset Formula +\[ +\lim_{n}x_{n}^{y_{n}}=e^{\lim_{n}y_{n}(x_{n}-1)} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $\lim_{n}x_{n}=0$ +\end_inset + + y +\begin_inset Formula $x_{n}\neq0$ +\end_inset + +, entonces +\begin_inset Formula $\sin x_{n}\sim x_{n}$ +\end_inset + +. +\end_layout + +\begin_layout Standard + +\series bold +Criterios de Stolz: +\series default + Si +\begin_inset Formula $(a_{n})_{n}$ +\end_inset + + y +\begin_inset Formula $(b_{n})_{n}$ +\end_inset + + son sucesiones de reales tales que +\begin_inset Formula $(b_{n})_{n}$ +\end_inset + + es estrictamente creciente o decreciente y bien +\begin_inset Formula $\lim_{n}a_{n}=\lim_{n}b_{n}=0$ +\end_inset + +, bien +\begin_inset Formula $\lim_{n}b_{n}=\infty$ +\end_inset + +, si existe +\begin_inset Formula $\lim_{n}\frac{a_{n+1}-a_{n}}{b_{n+1}-b_{n}}=L\in\overline{\mathbb{R}}$ +\end_inset + +, entonces +\begin_inset Formula $\lim_{n}\frac{a_{n}}{b_{n}}=L$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Como consecuencia: +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $(a_{n})_{n}$ +\end_inset + + converge, entonces +\begin_inset Formula +\[ +\lim_{n}\frac{a_{1}+\dots+a_{n}}{n}=\lim_{n}a_{n} +\] + +\end_inset + + +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $(a_{n})_{n}$ +\end_inset + + converge y +\begin_inset Formula $a_{n}>0$ +\end_inset + +, entonces +\begin_inset Formula +\[ +\lim_{n}\sqrt[n]{a_{1}\cdots a_{n}}=\lim_{n}a_{n} +\] + +\end_inset + + +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $a_{n}>0$ +\end_inset + + y existe +\begin_inset Formula $\lim_{n}\frac{a_{n}}{a_{n-1}}$ +\end_inset + +, entonces +\begin_inset Formula +\[ +\lim_{n}\sqrt[n]{a_{n}}=\lim_{n}\frac{a_{n}}{a_{n-1}} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +sremember{FUVR1} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +La +\series bold +condición de Cauchy +\series default + nos dice que +\begin_inset Formula $\sum_{n}a_{n}$ +\end_inset + + es convergente si y sólo si +\begin_inset Formula $\forall\varepsilon>0,\exists n_{0}\in\mathbb{N}:\forall p,q\in\mathbb{N},(n_{0}\leq p\leq q\implies|a_{p+1}+\dots+a_{q}|<\varepsilon)$ +\end_inset + +. +\end_layout + +\begin_layout Standard +[...] Si +\begin_inset Formula $S_{n}$ +\end_inset + + converge, entonces +\begin_inset Formula $\lim_{n}a_{n}=0$ +\end_inset + +. + [...] La convergencia de una serie no se altera modificando un número finito + de términos de esta. + [...] +\end_layout + +\begin_layout Standard +Dada una serie +\begin_inset Formula $\sum_{n=1}^{\infty}a_{n}$ +\end_inset + + de términos +\begin_inset Formula $a_{n}\geq0$ +\end_inset + +, esta es convergente si y sólo si la sucesión de sumas parciales es acotada + [...]. +\end_layout + +\begin_layout Standard + +\series bold +Criterios de comparación: +\end_layout + +\begin_layout Enumerate +Dadas +\begin_inset Formula $\sum_{n}a_{n}$ +\end_inset + + y +\begin_inset Formula $\sum_{n}b_{n}$ +\end_inset + + con +\begin_inset Formula $a_{n},b_{n}\geq0$ +\end_inset + +, si existe +\begin_inset Formula $M>0$ +\end_inset + + tal que +\begin_inset Formula $a_{n}\leq Mb_{n}\forall n$ +\end_inset + +, entonces la convergencia de +\begin_inset Formula $\sum_{n=1}^{\infty}b_{n}$ +\end_inset + + implica la de +\begin_inset Formula $\sum_{n=1}^{\infty}a_{n}$ +\end_inset + + [...]. +\end_layout + +\begin_layout Enumerate +Dadas +\begin_inset Formula $\sum_{n}a_{n}$ +\end_inset + + y +\begin_inset Formula $\sum_{n}b_{n}$ +\end_inset + + con +\begin_inset Formula $a_{n},b_{n}>0$ +\end_inset + + y existe +\begin_inset Formula $l:=\lim_{n}\frac{a_{n}}{b_{n}}\in\mathbb{R}\cup\{+\infty\}$ +\end_inset + +: +\end_layout + +\begin_deeper +\begin_layout Enumerate +Si +\begin_inset Formula $00$ +\end_inset + + y +\begin_inset Formula $a:=\lim_{n}\sqrt[n]{a_{n}}\in\mathbb{R}$ +\end_inset + +: +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $a<1$ +\end_inset + +, la serie converge. + [...] +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $a>1$ +\end_inset + +, la serie diverge. + [...] +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $a=1$ +\end_inset + + no se puede afirmar nada. +\end_layout + +\begin_layout Standard + +\series bold +Criterio del cociente: +\series default + Sea +\begin_inset Formula $\sum_{n}a_{n}$ +\end_inset + + con +\begin_inset Formula $a_{n}>0$ +\end_inset + + y +\begin_inset Formula $a:=\lim_{n}\frac{a_{n+1}}{a_{n}}\in\mathbb{R}$ +\end_inset + +. + [...] +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $a<1$ +\end_inset + +, la serie converge. +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $a>1$ +\end_inset + +, la serie diverge. +\end_layout + +\begin_layout Standard + +\series bold +Criterio de condensación: +\series default + Dada una sucesión +\begin_inset Formula $(a_{n})_{n}$ +\end_inset + + monótona decreciente con +\begin_inset Formula $a_{n}>0$ +\end_inset + +. + Entonces +\begin_inset Formula +\[ +\sum_{n=1}^{\infty}a_{n}\in\mathbb{R}\iff\sum_{n=1}^{\infty}2^{n}a_{2^{n}}\in\mathbb{R} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Una serie +\begin_inset Formula $\sum_{n}a_{n}$ +\end_inset + + con +\begin_inset Formula $a_{n}\in\mathbb{R}$ +\end_inset + + es +\series bold +absolutamente convergente +\series default + si +\begin_inset Formula $\sum_{n}|a_{n}|$ +\end_inset + + es convergente. + Toda serie absolutamente convergente es convergente. + [...] +\end_layout + +\begin_layout Standard +La +\series bold +serie geométrica +\series default + +\begin_inset Formula $\sum_{n=0}^{\infty}r^{n}$ +\end_inset + + es convergente si +\begin_inset Formula $|r|<1$ +\end_inset + + con suma +\begin_inset Formula $\frac{1}{1-r}$ +\end_inset + + y divergente si +\begin_inset Formula $|r|\geq1$ +\end_inset + +. + La +\series bold +serie armónica +\series default + +\begin_inset Formula $\sum_{n=1}^{\infty}\frac{1}{n^{k}}$ +\end_inset + + es convergente si +\begin_inset Formula $k>1$ +\end_inset + + y divergente si +\begin_inset Formula $k\leq1$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Section +Completitud +\end_layout + +\begin_layout Standard +Una sucesión +\begin_inset Formula $(x_{n})$ +\end_inset + + en un espacio métrico +\begin_inset Formula $(E,d)$ +\end_inset + + es +\series bold +de Cauchy +\series default + si +\begin_inset Formula $\forall\varepsilon>0,\exists n_{\varepsilon}\in\mathbb{N}:\forall n,m\geq n_{\varepsilon},d(x_{n},x_{m})<\varepsilon$ +\end_inset + +. + Un espacio métrico es +\series bold +completo +\series default + si toda sucesión de Cauchy es convergente. + Un +\series bold +espacio de Banach +\series default + es un espacio normado completo. + Dadas dos normas +\begin_inset Formula $\Vert\cdot\Vert$ +\end_inset + + y +\begin_inset Formula $\Vert\cdot\Vert'$ +\end_inset + + equivalentes sobre +\begin_inset Formula $E$ +\end_inset + +, +\begin_inset Formula $(E,\Vert\cdot\Vert)$ +\end_inset + + es completo si y sólo si lo es +\begin_inset Formula $(E,\Vert\cdot\Vert')$ +\end_inset + +. +\begin_inset Note Comment +status open + +\begin_layout Plain Layout + +\series bold +Demostración: +\series default + Existen +\begin_inset Formula $\alpha,\beta>0$ +\end_inset + + tales que +\begin_inset Formula $\alpha\Vert x\Vert\leq\Vert x\Vert'\leq\beta\Vert x\Vert$ +\end_inset + +, luego si +\begin_inset Formula $(x_{n})$ +\end_inset + + es de Cauchy en +\begin_inset Formula $(E,\Vert\cdot\Vert)$ +\end_inset + + también lo es en +\begin_inset Formula $(E,\Vert\cdot\Vert')$ +\end_inset + + sin más que tomar +\begin_inset Formula $n_{\frac{\varepsilon}{\beta}}$ +\end_inset + +, y viceversa, y como +\begin_inset Formula $(x_{n})$ +\end_inset + + converge a +\begin_inset Formula $x$ +\end_inset + + en +\begin_inset Formula $(E,\Vert\cdot\Vert)$ +\end_inset + + si y sólo si converge en +\begin_inset Formula $(E,\Vert\cdot\Vert')$ +\end_inset + +, la completitud de uno implica la del otro. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, +\begin_inset Formula $\mathbb{R}^{n}$ +\end_inset + + es un espacio de Banach con cualquier norma. + +\series bold +Demostración: +\series default + Basta probar que +\begin_inset Formula $(\mathbb{R}^{n},\Vert\cdot\Vert_{\infty})$ +\end_inset + + es completo. + Si +\begin_inset Formula $(x_{m})$ +\end_inset + + es de Cauchy en +\begin_inset Formula $(\mathbb{R}^{n},\Vert\cdot\Vert_{\infty})$ +\end_inset + +, como +\begin_inset Formula $|x_{mi}-x_{ki}|\leq\Vert x_{m}-x_{k}\Vert_{\infty}$ +\end_inset + + para todo +\begin_inset Formula $i\in\{1,\dots,n\}$ +\end_inset + +, entonces +\begin_inset Formula $(x_{mi})_{m}$ +\end_inset + + es de Cauchy en +\begin_inset Formula $\mathbb{R}$ +\end_inset + + y por tanto convergente a un +\begin_inset Formula $x_{0i}$ +\end_inset + +, con lo que +\begin_inset Formula $(x_{m})_{m}$ +\end_inset + + converge a +\begin_inset Formula $(x_{01},\dots,x_{0n})$ +\end_inset + +, y se tiene que +\begin_inset Formula $(\mathbb{R}^{n},\Vert\cdot\Vert)$ +\end_inset + + es completo. +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, +\begin_inset Formula $({\cal C}[a,b],\Vert\cdot\Vert_{\infty})$ +\end_inset + + es un espacio de Banach. + +\series bold +Demostración: +\series default + Sea +\begin_inset Formula $(f_{n})_{n}$ +\end_inset + + una sucesión de Cauchy en +\begin_inset Formula $({\cal C}[a,b],\Vert\cdot\Vert_{\infty})$ +\end_inset + +, fijado un +\begin_inset Formula $\varepsilon>0$ +\end_inset + + existe un +\begin_inset Formula $n_{0}$ +\end_inset + + tal que para +\begin_inset Formula $n,m\geq n_{0}$ +\end_inset + + y +\begin_inset Formula $x\in[a,b]$ +\end_inset + +, +\begin_inset Formula $|f_{n}(x)-f_{m}(x)|<\frac{\varepsilon}{2}$ +\end_inset + +. + Por tanto para cada +\begin_inset Formula $x\in[a,b]$ +\end_inset + +, +\begin_inset Formula $(f_{n}(x))_{n}$ +\end_inset + + es de Cauchy en +\begin_inset Formula $\mathbb{R}$ +\end_inset + + y converge pues a un valor +\begin_inset Formula $f(x)$ +\end_inset + +. + Ahora bien, dado un +\begin_inset Formula $x\in[a,b]$ +\end_inset + +, por la convergencia puntual que acabamos de probar existe +\begin_inset Formula $n_{x}\in\mathbb{N}$ +\end_inset + + tal que para +\begin_inset Formula $n\geq n_{x}$ +\end_inset + + se tiene +\begin_inset Formula $|f_{n}(x)-f(x)|<\frac{\varepsilon}{2}$ +\end_inset + +. + Si +\begin_inset Formula $n>n_{0}$ +\end_inset + +, +\begin_inset Formula $|f_{n}(x)-f(x)|\leq|f_{n}(x)-f_{\max\{n_{0},n_{x}\}}(x)|+|f_{\max\{n_{0},n_{x}\}}(x)-f(x)|<\frac{\varepsilon}{2}+\frac{\varepsilon}{2}=\varepsilon$ +\end_inset + +, y como +\begin_inset Formula $n_{0}$ +\end_inset + + no depende de +\begin_inset Formula $x$ +\end_inset + + (sólo de +\begin_inset Formula $\varepsilon$ +\end_inset + +), queda probada la convergencia uniforme. +\end_layout + +\begin_layout Standard +Sea +\begin_inset Formula $(x_{n})_{n}$ +\end_inset + + una sucesión en el espacio de Banach +\begin_inset Formula $(E,\Vert\cdot\Vert)$ +\end_inset + + con +\begin_inset Formula $\sum_{n}\Vert x_{n}\Vert<+\infty$ +\end_inset + +, entonces +\begin_inset Formula $\sum_{n}x_{n}$ +\end_inset + + converge. +\begin_inset Note Comment +status open + +\begin_layout Plain Layout + +\series bold +Demostración: +\series default + Tenemos que +\begin_inset Formula $\sum_{n}\Vert x_{n}\Vert$ +\end_inset + +, por ser convergente, es de Cachy, por lo que dado +\begin_inset Formula $\varepsilon>0$ +\end_inset + + existe +\begin_inset Formula $n_{\varepsilon}$ +\end_inset + + tal que si +\begin_inset Formula $n,m>n_{\varepsilon}$ +\end_inset + + se tiene +\begin_inset Formula $|\sum_{k=1}^{n}\Vert x_{k}\Vert-\sum_{k=1}^{m}\Vert x_{k}\Vert|<\varepsilon$ +\end_inset + +. + Pero por la desigualdad triangular +\begin_inset Formula $\Vert\sum_{k=1}^{n}x_{k}-\sum_{k=1}^{m}x_{k}\Vert\leq|\sum_{k=1}^{n}\Vert x_{k}\Vert-\sum_{k=1}^{m}\Vert x_{k}\Vert|<\varepsilon$ +\end_inset + +, luego +\begin_inset Formula $\sum_{n}x_{n}$ +\end_inset + + también es de Cauchy y por tanto convergente por estar en un espacio completo. +\end_layout + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/fvv1/n2.lyx b/fvv1/n2.lyx new file mode 100644 index 0000000..c190e9d --- /dev/null +++ b/fvv1/n2.lyx @@ -0,0 +1,1010 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Section +Derivadas +\end_layout + +\begin_layout Standard +Sean +\begin_inset Formula $E$ +\end_inset + + y +\begin_inset Formula $F$ +\end_inset + + normados, +\begin_inset Formula $\Omega\subseteq E$ +\end_inset + + abierto y +\begin_inset Formula $f:\Omega\rightarrow F$ +\end_inset + +, dados +\begin_inset Formula $a\in\Omega$ +\end_inset + + y +\begin_inset Formula $u\in E$ +\end_inset + +, +\begin_inset Formula $f$ +\end_inset + + es +\series bold +derivable +\series default + en +\begin_inset Formula $a$ +\end_inset + + según +\begin_inset Formula $u$ +\end_inset + + si existe la +\series bold +derivada direccional +\series default + de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $x$ +\end_inset + + según +\begin_inset Formula $u$ +\end_inset + +, dada por +\begin_inset Formula +\[ +d_{u}f(x_{0}):=\lim_{t\rightarrow0}\frac{f(a+tu)-f(a)}{t} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $u=\vec{e}_{i}$ +\end_inset + + es el vector +\begin_inset Formula $i$ +\end_inset + +-ésimo de la base canónica hablamos de la +\series bold +derivada parcial +\series default + +\begin_inset Formula $i$ +\end_inset + +-ésima, que denotamos +\begin_inset Formula +\[ +\frac{\partial f}{\partial x_{i}}(a):=d_{i}f(a):=d_{\vec{e}_{i}}f(a) +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $\vec{u}=\lambda\vec{v}$ +\end_inset + + con +\begin_inset Formula $\lambda\in\mathbb{R}$ +\end_inset + +, +\begin_inset Formula $d_{\vec{u}}f(t)$ +\end_inset + + existe si y sólo si existe +\begin_inset Formula $d_{\vec{v}}f(t)$ +\end_inset + + +\begin_inset Note Comment +status open + +\begin_layout Plain Layout +, pues +\begin_inset Formula +\[ +d_{\vec{u}}f(t)=\lim_{t\rightarrow0}\frac{f(a+t\lambda\vec{v})-f(a)}{t}=\lim_{t\rightarrow0}\frac{f(a+t\lambda\vec{v})-f(a)}{t\lambda}\lambda\overset{t\lambda\rightarrow0}{=}\lambda d_{\vec{v}}f(t) +\] + +\end_inset + + +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset Formula $f:(a,b)\rightarrow\mathbb{R}^{n}$ +\end_inset + + es derivable en +\begin_inset Formula $x_{0}$ +\end_inset + + si cada una de sus coordenadas lo es, y entonces +\begin_inset Formula $f'(x_{0})=(f'_{1}(x_{0}),\dots,f'_{n}(x_{0}))$ +\end_inset + +. +\end_layout + +\begin_layout Section +Diferenciales +\end_layout + +\begin_layout Standard +Sea +\begin_inset Formula $\Omega\subseteq E$ +\end_inset + + abierto, +\begin_inset Formula $f:\Omega\rightarrow F$ +\end_inset + + y +\begin_inset Formula $a\in\Omega$ +\end_inset + +, +\begin_inset Formula $f$ +\end_inset + + es +\series bold +diferenciable +\series default + en +\begin_inset Formula $a$ +\end_inset + + si existe una aplicación lineal +\begin_inset Formula $L:E\rightarrow F$ +\end_inset + + tal que +\begin_inset Formula +\[ +\lim_{h\rightarrow0}\frac{f(a+h)-f(a)-L(h)}{\Vert h\Vert}=0 +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Esta aplicación es la +\series bold +diferencial +\series default + de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $a$ +\end_inset + +, denotada por +\begin_inset Formula $df(a)$ +\end_inset + +, y si existe es única. +\begin_inset Note Comment +status open + +\begin_layout Plain Layout + +\series bold +Demostración: +\series default + Sean +\begin_inset Formula $L,M:E\rightarrow F$ +\end_inset + + dos diferenciales de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $a$ +\end_inset + +. + Entonces +\begin_inset Formula $\lim_{h\rightarrow0}\frac{L(h)-M(h)}{\Vert h\Vert}=\lim_{h\rightarrow0}\left(\frac{f(a+h)-f(a)-M(h)}{\Vert h\Vert}-\frac{f(a+h)-f(a)-L(h)}{\Vert h\Vert}\right)=0-0=0$ +\end_inset + +, pero entonces, dado +\begin_inset Formula $v\neq0$ +\end_inset + + arbitrario, +\begin_inset Formula $0=\lim_{t\rightarrow0^{+}}\frac{L(tv)-M(tv)}{\Vert tv\Vert}=\lim_{t\rightarrow0^{+}}\frac{L(v)-M(v)}{\Vert v\Vert}$ +\end_inset + +, con lo que +\begin_inset Formula $L(v)=M(v)$ +\end_inset + + y +\begin_inset Formula $L=M$ +\end_inset + +. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Escribimos +\begin_inset Formula $L\equiv M$ +\end_inset + + si +\begin_inset Formula $M$ +\end_inset + + es la matriz asociada a la aplicación lineal +\begin_inset Formula $L$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset Formula $f:\Omega\subseteq\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}$ +\end_inset + + es diferenciable en +\begin_inset Formula $a\in\Omega$ +\end_inset + + con diferencial +\begin_inset Formula $L$ +\end_inset + + si y sólo si cada +\begin_inset Formula $f_{i}:\mathbb{R}^{m}\rightarrow\mathbb{R}$ +\end_inset + +, +\begin_inset Formula $i\in\{1,\dots,n\}$ +\end_inset + +, es diferenciable con diferencial +\begin_inset Formula $L_{i}$ +\end_inset + + +\begin_inset Note Comment +status open + +\begin_layout Plain Layout +, pues +\begin_inset Formula $\frac{f(a+h)-f(a)-L(h)}{\Vert h\Vert}\rightarrow0\iff\forall i\in\{1,\dots,n\},\left(\frac{f(a+h)-f(a)-L(h)}{\Vert h\Vert}\right)_{i}\rightarrow0\iff\frac{f_{i}(a+h)-f_{i}(a)-L_{i}(h)}{\Vert h\Vert}\rightarrow0$ +\end_inset + + +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $f:\Omega\subseteq E\rightarrow F$ +\end_inset + + es diferenciable en +\begin_inset Formula $a\in\Omega$ +\end_inset + +, también es continua en +\begin_inset Formula $a$ +\end_inset + +. +\begin_inset Note Comment +status open + +\begin_layout Plain Layout + +\series bold +Demostración: +\series default + +\begin_inset Formula $f$ +\end_inset + + es continua en +\begin_inset Formula $a$ +\end_inset + + si y sólo si +\begin_inset Formula $\lim_{x\rightarrow a}f(x)=f(a)$ +\end_inset + +, si y sólo si +\begin_inset Formula $\lim_{h\rightarrow0}f(a+h)-f(a)=0$ +\end_inset + +. + Pero si +\begin_inset Formula $\lim_{h\rightarrow0}\frac{f(a+h)-f(a)-L(h)}{\Vert h\Vert}=0$ +\end_inset + +, multiplicando por +\begin_inset Formula $\Vert h\Vert$ +\end_inset + +, que tiende a 0, tenemos +\begin_inset Formula $\lim_{h\rightarrow0}f(a+h)-f(a)-L(h)=0$ +\end_inset + +, y como +\begin_inset Formula $L(h)$ +\end_inset + + tiende a 0 nos queda la expresión de arriba. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Formula $f:\Omega\subseteq\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}$ +\end_inset + + es diferenciable en +\begin_inset Formula $a\in\Omega$ +\end_inset + + ( +\begin_inset Formula $\Omega$ +\end_inset + + abierto) si para todo +\begin_inset Formula $P\in\Omega$ +\end_inset + + existen todas las derivadas parciales +\begin_inset Formula $\frac{\partial f_{i}}{\partial x_{j}}(P)$ +\end_inset + + y son continuas en +\begin_inset Formula $a$ +\end_inset + +. +\end_layout + +\begin_layout Standard + +\series bold +Demostración: +\series default + Podemos suponer +\begin_inset Formula $n=1$ +\end_inset + +, pues de lo contrario basta probar que cada +\begin_inset Formula $f_{i}$ +\end_inset + + es diferenciable en +\begin_inset Formula $a$ +\end_inset + +. + Se trata pues de probar que +\begin_inset Formula $\lim_{h\rightarrow0}\frac{f(a+h)-f(a)-\sum_{i=1}^{m}\frac{\partial f}{\partial x_{i}}(a)h_{i}}{\Vert h\Vert}=0$ +\end_inset + +, lo que ocurre si y sólo si +\begin_inset Formula +\begin{eqnarray*} +0 & = & \lim_{h\rightarrow0}\frac{|f(a+h)-f(a)-\sum_{i=1}^{m}\frac{\partial f}{\partial x_{i}}(a)h_{i}|}{\Vert h\Vert}=\lim_{h\rightarrow0}\frac{f(a+\sum_{i=1}^{m}h_{i}\vec{e}_{i})-f(a)-\sum_{i=1}^{m}\frac{\partial f}{\partial x_{i}}(a)h_{i}}{\Vert h\Vert}\\ + & = & \lim_{h\rightarrow0}\frac{\left|\sum_{i=1}^{m}\left(f(a+h_{1}\vec{e}_{1}+\dots+h_{i}\vec{e}_{i})-f(a+h_{1}\vec{e}_{1}+\dots+h_{i-1}\vec{e}_{i-1})-\frac{\partial f}{\partial x_{i}}(a)h_{i}\right)\right|}{\Vert h\Vert} +\end{eqnarray*} + +\end_inset + +El último sumatorio con sus dos primeros elementos forma una +\series bold +suma telescópica +\series default +: todos los elementos se anulan salvo el primero y el último. + Sabemos que cada +\begin_inset Formula $a+h_{1}\vec{e}_{1}+\dots+h_{i}\vec{e}_{i}$ +\end_inset + + está en el dominio de +\begin_inset Formula $f$ +\end_inset + + porque +\begin_inset Formula $\Omega$ +\end_inset + + es abierto y +\begin_inset Formula $h$ +\end_inset + + se supone lo suficientemente pequeño. + Ahora llamamos +\begin_inset Formula $\varphi_{i}(t):=f(a+h_{1}\vec{e}_{1}+\dots+h_{i-1}\vec{e}_{i-1}+t\vec{e}_{i})$ +\end_inset + +, con lo que +\begin_inset Formula $\varphi'_{i}(t)=\frac{\partial f}{\partial x_{i}}(a+h_{1}\vec{e}_{1}+\dots+h_{i-1}\vec{e}_{i-1}+t\vec{e}_{i})$ +\end_inset + +, y +\begin_inset Formula $\Delta_{i}:=\varphi_{i}(h_{i})-\varphi_{i}(0)=f(a+h_{1}\vec{e}_{1}+\dots+h_{i}\vec{e}_{i})-f(a+h_{1}\vec{e}_{1}+\dots+h_{i-1}\vec{e}_{i-1})=\varphi'_{i}(\xi_{i})h_{i}$ +\end_inset + + para algún +\begin_inset Formula $\xi_{i}$ +\end_inset + + entre 0 y +\begin_inset Formula $h_{i}$ +\end_inset + +, que tiende a 0. + Sustituyendo nos queda que lo anterior es igual a +\begin_inset Formula +\[ +\lim_{h\rightarrow0}\frac{\left|\sum_{i=1}^{m}\varphi'_{i}(\xi_{i})h_{i}-\frac{\partial f}{\partial x_{i}}(a)h_{i}\right|}{\Vert h\Vert} +\] + +\end_inset + +Entonces, +\begin_inset Formula +\begin{eqnarray*} +0 & \leq & \frac{\left|\sum_{i=1}^{m}\varphi'_{i}(\xi_{i})h_{i}-\frac{\partial f}{\partial x_{i}}(a)h_{i}\right|}{\Vert h\Vert_{\infty}}\\ + & \leq & \left|\sum_{i=1}^{m}\frac{\partial f}{\partial x_{i}}(a+h_{1}\vec{e}_{1}+\dots+h_{i-1}\vec{e}_{i-1}+\xi_{i}\vec{e}_{i})-\frac{\partial f}{\partial x_{i}}(a)\right|\frac{\left|h_{i}\right|}{\Vert h\Vert_{\infty}}\rightarrow0 +\end{eqnarray*} + +\end_inset + +Que esta última expresión tienda a 0 se debe a que +\begin_inset Formula $0\leq\frac{|h_{i}|}{\Vert h\Vert_{\infty}}\leq1$ +\end_inset + + y a que las derivadas parciales de +\begin_inset Formula $f$ +\end_inset + + sean continuas y por tanto +\begin_inset Formula $\lim_{h\rightarrow0}\frac{\partial f}{\partial x_{i}}(a+\dots)=\frac{\partial f}{\partial x_{i}}(\lim_{h\rightarrow0}(a+\dots))$ +\end_inset + +. + Entonces, por la regla del sandwich, el límite inicial tiende a 0. + Hemos utilizado la norma +\begin_inset Formula $\Vert\cdot\Vert_{\infty}$ +\end_inset + +, pero como dada una norma +\begin_inset Formula $\Vert\cdot\Vert$ +\end_inset + + +\begin_inset Formula $\exists\alpha,\beta>0:\forall h,\alpha\leq\frac{\Vert h\Vert_{\infty}}{\Vert h\Vert}\leq\beta$ +\end_inset + +, la convergencia a 0 no depende de la norma que tomemos. +\end_layout + +\begin_layout Section +Regla de la cadena +\end_layout + +\begin_layout Standard +La +\series bold +regla de la cadena +\series default + afirma que si +\begin_inset Formula ${\cal U}\subseteq\mathbb{R}^{m}$ +\end_inset + + y +\begin_inset Formula ${\cal V}\subseteq\mathbb{R}^{n}$ +\end_inset + + son abiertos, +\begin_inset Formula $a\in{\cal U}$ +\end_inset + + y +\begin_inset Formula ${\cal U}\overset{f}{\rightarrow}{\cal V}\overset{g}{\rightarrow}\mathbb{R}^{k}$ +\end_inset + + son diferenciables en +\begin_inset Formula $a$ +\end_inset + + y en +\begin_inset Formula $f(a)$ +\end_inset + +, respectivamente, entonces +\begin_inset Formula $g\circ f$ +\end_inset + + es diferenciable en +\begin_inset Formula $a$ +\end_inset + + y +\begin_inset Formula $d(g\circ f)(a)=dg(f(a))\circ df(a)$ +\end_inset + +. +\end_layout + +\begin_layout Standard + +\series bold +Demostración: +\series default + Sean +\begin_inset Formula $L:=df(a):\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}$ +\end_inset + + y +\begin_inset Formula $S:=dg(f(a)):\mathbb{R}^{n}\rightarrow\mathbb{R}^{k}$ +\end_inset + +, tenemos que +\begin_inset Formula +\[ +\lim_{h\rightarrow0}\frac{f(a+h)-f(a)-L(h)}{\Vert h\Vert}=\lim_{\eta\rightarrow0}\frac{g(f(a)+\eta)-g(f(a))-S(\eta)}{\Vert\eta\Vert}=0 +\] + +\end_inset + +y queremos ver que +\begin_inset Formula +\[ +\lim_{h\rightarrow0}\frac{g(f(a+h))-g(f(a))-S(L(h))}{\Vert h\Vert}=0 +\] + +\end_inset + +Si llamamos +\begin_inset Formula $\eta:=f(a+h)-f(a)$ +\end_inset + +, que tiende a 0 por la continuidad de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $a$ +\end_inset + +, entonces +\begin_inset Formula +\begin{multline*} +\lim_{h\rightarrow0}\frac{g(f(a+h))-g(f(a))-S(L(h))}{\Vert h\Vert}=\lim_{h\rightarrow0}\frac{g(f(a)+\eta)-g(f(a))-S(\eta)}{\Vert h\Vert}+\frac{S(\eta)-S(L(h))}{\Vert h\Vert}\\ +=\lim_{h\rightarrow0}\frac{g(f(a)+\eta)-g(f(a))-S(\eta)}{\Vert\eta\Vert}\frac{\Vert\eta\Vert}{\Vert h\Vert}-S\left(\frac{f(a+h)-f(a)-L(h)}{\Vert h\Vert}\right) +\end{multline*} + +\end_inset + +Como +\begin_inset Formula $S\left(\frac{f(a+h)-f(a)-L(h)}{\Vert h\Vert}\right)\rightarrow0$ +\end_inset + + usando la linealidad de +\begin_inset Formula $S$ +\end_inset + + y su continuidad (que se deduce de su linealidad), y como +\begin_inset Formula $\frac{g(f(a)+\eta)-g(f(a))-S(\eta)}{\Vert\eta\Vert}\rightarrow0$ +\end_inset + +, el límite tenderá a 0 si y sólo si +\begin_inset Formula $\frac{\Vert\eta\Vert}{\Vert h\Vert}$ +\end_inset + + es acotado, pero +\begin_inset Formula +\begin{eqnarray*} +0 & \leq & \frac{\Vert\eta\Vert}{\Vert h\Vert}=\frac{\Vert f(a+h)-f(a)-L(h)+L(h)\Vert}{\Vert h\Vert}\\ + & \leq & \frac{\Vert f(a+h)-f(a)-L(h)\Vert}{\Vert h\Vert}+\frac{\Vert L(h)\Vert}{\Vert h\Vert}\rightarrow0+\frac{\Vert L(h)\Vert}{\Vert h\Vert}\leq\frac{\Vert L\Vert\Vert h\Vert}{\Vert h\Vert}<+\infty +\end{eqnarray*} + +\end_inset + + por la continuidad de +\begin_inset Formula $L$ +\end_inset + +. +\end_layout + +\begin_layout Section +Incremento finito +\end_layout + +\begin_layout Standard +El +\series bold +teorema del incremento finito +\series default + afirma que, sean +\begin_inset Formula $f:\Omega\subseteq\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}$ +\end_inset + +, +\begin_inset Formula $a,b\in\Omega$ +\end_inset + + con el segmento +\begin_inset Formula $[a,b]\subseteq\Omega$ +\end_inset + + y +\begin_inset Formula $L:\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}$ +\end_inset + + lineal, si +\begin_inset Formula $\Vert df(x)\Vert\leq M$ +\end_inset + + para todo +\begin_inset Formula $x\in[a,b]$ +\end_inset + + se tiene +\begin_inset Formula $\Vert f(b)-f(a)\Vert\leq M\Vert b-a\Vert$ +\end_inset + +. +\end_layout + +\begin_layout Standard + +\series bold +Demostración: +\series default + Fijado +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, sabemos que para +\begin_inset Formula $x\in[a,b]$ +\end_inset + +, +\begin_inset Formula $\lim_{h\rightarrow0}\frac{f(x+h)-f(x)-df(x)(h)}{\Vert h\Vert}=0$ +\end_inset + + y por tanto existe +\begin_inset Formula $\delta_{x}>0$ +\end_inset + + tal que para +\begin_inset Formula $\Vert h\Vert<\delta_{x}$ +\end_inset + + se tiene +\begin_inset Formula +\[ +\Vert f(x+h)-f(x)-df(x)(h)\Vert<\varepsilon\Vert h\Vert +\] + +\end_inset + +con lo que +\begin_inset Formula +\[ +\Vert f(x+h)-f(x)\Vert-\Vert df(x)(h)\Vert\leq\Vert f(x+h)-f(x)-df(x)(h)\Vert<\varepsilon\Vert h\Vert +\] + +\end_inset + + y por tanto +\begin_inset Formula +\[ +\Vert f(x+h)-f(x)\Vert<\varepsilon\Vert h\Vert+\Vert df(x)(h)\Vert\leq\varepsilon\Vert h\Vert+\Vert df(x)\Vert\Vert h\Vert\leq(\varepsilon+M)\Vert h\Vert +\] + +\end_inset + +Esta desigualdad depende de +\begin_inset Formula $\delta_{x}$ +\end_inset + + y por tanto de +\begin_inset Formula $x$ +\end_inset + +. + Sea entonces +\begin_inset Formula $\{B(x,\frac{\delta_{x}}{2})\}_{x\in[a,b]}$ +\end_inset + + un re +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +cu +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +bri +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +mien +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +to por abiertos de +\begin_inset Formula $[a,b]$ +\end_inset + + y +\begin_inset Formula $\{B_{i}\}_{i=1}^{k}:=\{B(x_{i},\frac{\delta_{x_{i}}}{2})\}_{i=1}^{k}$ +\end_inset + + un subrecubrimiento finito del que suponemos que no podemos quitar ninguna + bola. + Ahora llamamos +\begin_inset Formula $x_{0}:=a$ +\end_inset + + y +\begin_inset Formula $x_{k+1}:=b$ +\end_inset + + y suponemos +\begin_inset Formula $a=x_{0}x_{i+1}$ +\end_inset + + y entonces +\begin_inset Formula $B_{i+1}\subseteq B_{j}$ +\end_inset + +, pero entonces podríamos quitar una bola del recubrimiento +\begin_inset Formula $\#$ +\end_inset + +. + Por tanto +\begin_inset Formula $\Vert x_{i+1}-x_{i}\Vert<\frac{\delta_{x_{i}}}{2}+\frac{\delta_{x_{i+1}}}{2}\leq\max\{\delta_{x_{i}},\delta_{x_{i+1}}\}$ +\end_inset + +. + Finalmente tenemos que +\begin_inset Formula $\Vert f(b)-f(a)\Vert=\Vert f(x_{k+1})-f(x_{k})+\dots+f(x_{1})-f(x_{0})\Vert\leq\sum_{i=0}^{k}\Vert f(x_{i+1})-f(x_{i})\Vert\leq\sum_{i=0}^{k}\Vert x_{i+1}-x_{i}\Vert(M+\varepsilon)$ +\end_inset + + y, como todos los +\begin_inset Formula $x_{i+1}-x_{i}$ +\end_inset + + tienen la forma +\begin_inset Formula $\lambda(b-a)$ +\end_inset + + con +\begin_inset Formula $\lambda>0$ +\end_inset + +, entonces +\begin_inset Formula $\sum_{i=0}^{k}\Vert x_{i+1}-x_{i}\Vert(M+\varepsilon)=\Vert b-a\Vert(M+\varepsilon)$ +\end_inset + +. + Como esto se da para todo +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, el resultado queda probado. +\end_layout + +\end_body +\end_document diff --git a/fvv1/n3.lyx b/fvv1/n3.lyx new file mode 100644 index 0000000..776351a --- /dev/null +++ b/fvv1/n3.lyx @@ -0,0 +1,1046 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset Formula $f:\Omega\subseteq\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}$ +\end_inset + + es +\series bold +dos veces diferenciable +\series default + o +\series bold +de clase +\series default + +\begin_inset Formula ${\cal C}^{2}$ +\end_inset + + en +\begin_inset Formula $a\in\Omega$ +\end_inset + + si +\begin_inset Formula $f$ +\end_inset + + es diferenciable en +\begin_inset Formula ${\cal U}\in{\cal E}(a)$ +\end_inset + + y +\begin_inset Formula $df:{\cal U}\rightarrow{\cal L}(\mathbb{R}^{m},\mathbb{R}^{n})\equiv M_{n\times m}(\mathbb{R})\equiv\mathbb{R}^{nm}$ +\end_inset + + (la aplicación que a cada elemento de +\begin_inset Formula ${\cal U}$ +\end_inset + + le asigna un vector en +\begin_inset Formula $\mathbb{R}^{nm}$ +\end_inset + + que contiene, en algún orden, los elementos de la matriz asociada a la + diferencial del elemento) es diferenciable en +\begin_inset Formula $a$ +\end_inset + +. + Por inducción se define el ser +\begin_inset Formula $n$ +\end_inset + + veces diferenciable o de clase +\begin_inset Formula ${\cal C}^{n}$ +\end_inset + +, y el ser infinitamente diferenciable o de clase +\begin_inset Formula ${\cal C}^{\infty}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Denotamos la derivada parcial +\begin_inset Formula $k$ +\end_inset + +-ésima de la derivada parcial +\begin_inset Formula $j$ +\end_inset + +-ésima de la +\begin_inset Formula $i$ +\end_inset + +-ésima coordenada de +\begin_inset Formula $f$ +\end_inset + +, o la +\begin_inset Formula $i$ +\end_inset + +-ésima coordenada de la doble derivada parcial respecto a +\begin_inset Formula $x_{j}$ +\end_inset + + y +\begin_inset Formula $x_{k}$ +\end_inset + +, como +\begin_inset Formula $\frac{\partial^{2}f_{i}}{\partial x_{j}\partial x_{k}}$ +\end_inset + +, y si +\begin_inset Formula $j=k$ +\end_inset + +, también escribimos +\begin_inset Formula $\frac{\partial^{2}f_{i}}{\partial x_{j}^{2}}$ +\end_inset + +. + Si +\begin_inset Formula $f$ +\end_inset + + tiene derivadas parciales segundas +\begin_inset Formula $\frac{\partial f_{i}}{\partial x_{k}\partial x_{j}}$ +\end_inset + + todas continuas en +\begin_inset Formula $a$ +\end_inset + + entonces +\begin_inset Formula $f$ +\end_inset + + es dos veces diferenciable en +\begin_inset Formula $a$ +\end_inset + +. +\end_layout + +\begin_layout Section +Matriz hessiana +\end_layout + +\begin_layout Standard +Del mismo modo que podemos pensar en la diferencial de una función diferenciable + como +\begin_inset Formula $df(a):\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}$ +\end_inset + + dada por +\begin_inset Formula $\vec{u}\mapsto d_{\vec{u}}f(a)$ +\end_inset + +, llamamos +\series bold +diferencial segunda +\series default + de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $a$ +\end_inset + + a la aplicación +\begin_inset Formula $d^{2}f(a):\mathbb{R}^{m}\times\mathbb{R}^{m}\rightarrow\mathbb{R}^{n}$ +\end_inset + + con +\begin_inset Formula $(\vec{u},\vec{v})\mapsto d_{\vec{v}}d_{\vec{u}}f(a)$ +\end_inset + +, y vemos que esta es una aplicación bilineal. +\end_layout + +\begin_layout Standard +La matriz de +\begin_inset Formula $d^{2}f(a):\mathbb{R}^{m}\times\mathbb{R}^{m}\rightarrow\mathbb{R}$ +\end_inset + +, dada por +\begin_inset Formula +\[ +\left(\frac{\partial^{2}f}{\partial x_{i}\partial x_{j}}\right)_{ij} +\] + +\end_inset + + se denomina +\series bold +matriz hessiana +\series default +. + Así, si +\begin_inset Formula $M$ +\end_inset + + es la matriz hessiana de +\begin_inset Formula $f$ +\end_inset + +, entonces +\begin_inset Formula +\[ +d^{2}f(a)(\vec{u},\vec{v})=\left(\begin{array}{ccc} +- & \vec{u} & -\end{array}\right)M\left(\begin{array}{c} +|\\ +\vec{v}\\ +| +\end{array}\right) +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, sea +\begin_inset Formula $f:\Omega\subseteq\mathbb{R}^{2}\rightarrow\mathbb{R}$ +\end_inset + + y +\begin_inset Formula $a=(x_{0},y_{0})\in\Omega$ +\end_inset + +, si +\begin_inset Formula $\frac{\partial^{2}f}{\partial x\partial y}$ +\end_inset + + y +\begin_inset Formula $\frac{\partial^{2}f}{\partial y\partial x}$ +\end_inset + + están definidas en +\begin_inset Formula $\Omega$ +\end_inset + + y son continuas en +\begin_inset Formula $a$ +\end_inset + +, entonces su valor en +\begin_inset Formula $a$ +\end_inset + + coincide. + Esto significa que la matriz Hessiana es simétrica. + +\series bold +Demostración: +\series default + Como +\begin_inset Formula $\Omega$ +\end_inset + + es abierto, existe +\begin_inset Formula $\varepsilon$ +\end_inset + + tal que +\begin_inset Formula $B_{\infty}(a,\varepsilon)=(x_{0}-\varepsilon,x_{0}+\varepsilon)\times(y_{0}-\varepsilon,y_{0}+\varepsilon)\subseteq\Omega$ +\end_inset + +. + Fijamos +\begin_inset Formula $t\in(x_{0}-\varepsilon,y_{0}+\varepsilon)$ +\end_inset + + y +\begin_inset Formula $s\in(y_{0}-\varepsilon,y_{0}+\varepsilon)$ +\end_inset + +, y consideramos +\begin_inset Formula $\Delta_{t,s}:=f(t,s)-f(t,y_{0})-f(x_{0},s)+f(x_{0},y_{0})$ +\end_inset + +. + Si ahora llamamos +\begin_inset Formula $F_{\overline{s}}(\overline{t}):=f(\overline{t},\overline{s})-f(\overline{t},y_{0})$ +\end_inset + +, vemos que +\begin_inset Formula $F_{\overline{s}}(\overline{t})$ +\end_inset + + es derivable con +\begin_inset Formula $F'_{\overline{s}}(\overline{t})=\frac{\partial f}{\partial x}(\overline{t},\overline{s})-\frac{\partial f}{\partial x}(\overline{t},y_{0})$ +\end_inset + + y que entonces +\begin_inset Formula $\Delta_{t,s}=F_{s}(t)-F_{s}(x_{0})=F'_{\overline{s}}(\xi_{t,s})(t-x_{0})=\left(\frac{\partial f}{\partial x}(\xi_{t,s},s)-\frac{\partial f}{\partial x}(\xi_{t,s},y_{0})\right)(t-x_{0})\overset{\Phi(\overline{s}):=\frac{\partial f}{\partial x}(\xi_{t,s},\overline{s})}{=}(\Phi(s)-\Phi(y_{0}))(t-x_{0})\overset{\Phi\text{ derivable por hipótesis}}{=}\Phi'(\eta_{t,s})(s-y_{0})(t-x_{0})=\frac{\partial^{2}f}{\partial x\partial y}(\xi_{t,s},\eta_{t,s})(s-y_{0})(t-x_{0})$ +\end_inset + +. + Permutando los papeles de las dos coordenadas (definiendo +\begin_inset Formula $\sigma_{\overline{t}}(\overline{s}):=f(\overline{t},\overline{s})-f(x,\overline{s})$ +\end_inset + +) obtenemos que +\begin_inset Formula $\Delta_{t,s}=\sigma_{\overline{t}}(\overline{s})-\sigma_{\overline{t}}(y_{0})=\frac{\partial^{2}f}{\partial y\partial x}(\hat{\xi}_{t,s},\hat{\eta}_{t,s})(s-y_{0})(t-x_{0})$ +\end_inset + +. + Haciendo ahora tender +\begin_inset Formula $(t,s)$ +\end_inset + + a +\begin_inset Formula $(x_{0},y_{0})$ +\end_inset + +, por la regla del sandwich +\begin_inset Formula $(\xi_{t,s},\eta_{ts})$ +\end_inset + + y +\begin_inset Formula $(\hat{\xi}_{t,s},\hat{\eta}_{t,s})$ +\end_inset + + también tienden a +\begin_inset Formula $(x_{0},y_{0})$ +\end_inset + +, y aplicando la continuidad de las derivadas parciales dobles en +\begin_inset Formula $a$ +\end_inset + +, nos queda finalmente que +\begin_inset Formula $\frac{\partial^{2}f}{\partial x\partial y}(x_{0},y_{0})=\frac{\partial^{2}f}{\partial y\partial x}(x_{0},y_{0})$ +\end_inset + +. +\end_layout + +\begin_layout Section +Desarrollos de Taylor +\end_layout + +\begin_layout Standard +Despejando de la definición de diferencial, nos queda que +\begin_inset Formula $f(a+h)=f(a)+df(a)(h)+o(\Vert h\Vert)$ +\end_inset + +, lo que podemos interpretar como una aproximación de +\begin_inset Formula $f(x)$ +\end_inset + + cerca de +\begin_inset Formula $a$ +\end_inset + + por un polinomio de grado 1. + Como +\series bold +teorema +\series default +, si +\begin_inset Formula $f:\Omega\subseteq\mathbb{R}^{m}\rightarrow\mathbb{R}$ +\end_inset + + es dos veces diferenciable en +\begin_inset Formula $a\in\Omega$ +\end_inset + + entonces +\begin_inset Formula $f(a+h)=f(a)+df(a)(h)+\frac{1}{2}d^{2}f(a)(h,h)+o(\Vert h\Vert^{2})$ +\end_inset + +. + +\end_layout + +\begin_layout Standard + +\series bold +Demostración: +\series default + Sea +\begin_inset Formula $R(h):=f(a+h)-f(a)-df(a)(h)-\frac{1}{2}d^{2}f(a)(h,h)$ +\end_inset + +, y hemos de ver que +\begin_inset Formula $\lim_{h\rightarrow0}\frac{R(h)}{\Vert h\Vert^{2}}=0$ +\end_inset + +. + Como todas las normas en +\begin_inset Formula $\mathbb{R}^{m}$ +\end_inset + + son equivalentes, elegimos +\begin_inset Formula $\Vert\cdot\Vert_{\infty}$ +\end_inset + +. + Usamos el teorema del incremento finito, que afirma que si +\begin_inset Formula $R$ +\end_inset + + es diferenciable y +\begin_inset Formula $\Vert dR(\xi)\Vert\leq M\forall\xi\in[0,h]$ +\end_inset + + entonces +\begin_inset Formula $\Vert R(h)-R(0)\Vert\leq M\cdot\Vert h-0\Vert$ +\end_inset + +. + +\begin_inset Formula $R$ +\end_inset + + es diferenciable al ser la suma de +\begin_inset Formula $f(c+h)$ +\end_inset + + y un polinomio de grado máximo 2. + Para estimar +\begin_inset Formula $\Vert dR\Vert$ +\end_inset + + vemos que +\begin_inset Formula $R(a)=f(a+h)-f(a)-\sum_{i}\frac{\partial f}{\partial x_{i}}(a)h_{i}-\frac{1}{2}\sum_{i,j}\frac{\partial f}{\partial x_{i}\partial x_{j}}(a)h_{i}h_{j}$ +\end_inset + +, y usando la +\begin_inset Formula $\delta$ +\end_inset + + de Kronecker, +\begin_inset Formula +\[ +\frac{\partial}{\partial x_{k}}\frac{1}{2}\sum_{i,j}\frac{\partial f}{\partial x_{i}\partial x_{j}}(a)h_{i}h_{j}=\frac{1}{2}\sum_{i,j}\left(\frac{\partial f}{\partial x_{i}x_{j}}(a)\delta_{ik}+\frac{\partial f}{\partial x_{i}\partial x_{j}}(a)\delta_{jk}\right)=\frac{1}{2}\cdot2d\left(\frac{\partial f}{\partial x_{k}}\right)(a)(h) +\] + +\end_inset + + Por tanto +\begin_inset Formula +\[ +\frac{\partial R}{\partial x_{k}}=\frac{\partial f}{\partial x_{k}}(a+h)-0-\frac{\partial f}{\partial x_{k}}(a)-d\left(\frac{\partial f}{\partial x_{k}}\right)(a)(h)=:\psi_{k}(h)\Vert h\Vert +\] + +\end_inset + +donde +\begin_inset Formula $\lim_{h\rightarrow0}\psi(h)=0$ +\end_inset + +. + Como +\begin_inset Formula $\frac{\partial R}{\partial x_{k}}$ +\end_inset + + es continua, definiendo el compacto +\begin_inset Formula $[0,h]$ +\end_inset + + como +\family roman +\series medium +\shape up +\size normal +\emph off +\bar no +\strikeout off +\xout off +\uuline off +\uwave off +\noun off +\color none + +\begin_inset Formula $\{th\}_{t\in[0,1]}$ +\end_inset + + +\family default +\series default +\shape default +\size default +\emph default +\bar default +\strikeout default +\xout default +\uuline default +\uwave default +\noun default +\color inherit + existe un punto +\begin_inset Formula $t_{k,h}h\in[0,h]$ +\end_inset + + tal que +\begin_inset Formula +\[ +\frac{\partial R}{\partial x_{k}}(t_{k,h}h)=\max\left\{ \frac{\partial R}{\partial x_{k}}(\xi)\right\} _{\xi\in[0,h]} +\] + +\end_inset + +Por esto, y como +\begin_inset Formula $dR(\xi)\equiv\left(\frac{\partial R}{\partial x_{1}}(\xi),\dots,\frac{\partial R}{\partial x_{m}}(\xi)\right)$ +\end_inset + +, existe +\begin_inset Formula $C$ +\end_inset + + tal que +\begin_inset Formula +\[ +\Vert dR(\xi)\Vert\leq C\cdot\Vert dR(a)\Vert_{\infty}=C\cdot\max\left\{ \left|\frac{\partial R}{\partial x_{k}}(a)\right|\right\} _{k=1}^{n} +\] + +\end_inset + +para +\begin_inset Formula $\xi\in[0,h]$ +\end_inset + +, y por el teorema del incremento finito, si +\begin_inset Formula $p$ +\end_inset + + es tal que +\begin_inset Formula +\[ +\left|\frac{\partial R}{\partial x_{p}}(a)\right|=\max\left\{ \left|\frac{\partial R}{\partial x_{k}}(a)\right|\right\} _{k=1}^{n} +\] + +\end_inset + +tenemos +\begin_inset Formula +\[ +\Vert R(h)\Vert=\Vert R(h)-R(0)\Vert\leq C\left|\frac{\partial R}{\partial x_{p}}(t_{p,h})\right|\Vert h\Vert=C\psi_{p}(t_{p,h}h)\Vert h\Vert\Vert h\Vert=C\psi_{p}(t_{p,h}h)\Vert h\Vert^{2} +\] + +\end_inset + + y entonces +\begin_inset Formula $\frac{|R(h)|}{\Vert h\Vert^{2}}\leq C\psi_{p}(t_{p,h}h)\rightarrow0$ +\end_inset + +, lo que prueba el teorema. +\end_layout + +\begin_layout Section +Extremos relativos +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $V$ +\end_inset + + es un +\begin_inset Formula $K$ +\end_inset + +-espacio vectorial con +\begin_inset Formula $k:=\dim_{K}(V)<+\infty$ +\end_inset + + y +\begin_inset Formula $\sigma:V\times V\rightarrow\mathbb{R}$ +\end_inset + + una aplicación bilineal, existe +\begin_inset Formula $A=(a_{ij})\in{\cal M}_{k}(K)$ +\end_inset + + asociado a +\begin_inset Formula $\sigma$ +\end_inset + + y podemos definir +\begin_inset Formula +\[ +\Delta_{1}=\left|a_{11}\right|,\Delta_{2}=\left|\begin{array}{cc} +a_{11} & a_{12}\\ +a_{21} & a_{22} +\end{array}\right|,\dots,\Delta_{k}=\left|\begin{array}{ccc} +a_{11} & \cdots & a_{1k}\\ +\vdots & \ddots & \vdots\\ +a_{k1} & \cdots & a_{kk} +\end{array}\right| +\] + +\end_inset + +Entonces un +\series bold +teorema +\series default + de álgebra nos dice que +\begin_inset Formula $\sigma$ +\end_inset + + es: +\end_layout + +\begin_layout Enumerate +Semidefinida positiva si y sólo si +\begin_inset Formula $\Delta_{i}\geq0\forall i$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Semidefinida negativa si y sólo si +\begin_inset Formula $\Delta_{i}(-1)^{i}\geq0\forall i$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Definida positiva si y sólo si +\begin_inset Formula $\Delta_{i}>0\forall i$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Definida negativa si y sólo si +\begin_inset Formula $\Delta_{i}(-1)^{i}>0\forall i$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, sea +\begin_inset Formula $\Omega\subseteq\mathbb{R}^{m}$ +\end_inset + + abierto, +\begin_inset Formula $f:\Omega\rightarrow\mathbb{R}$ +\end_inset + + y +\begin_inset Formula $a\in\Omega$ +\end_inset + +, +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $f$ +\end_inset + + alcanza en +\begin_inset Formula $a$ +\end_inset + + un extremo relativo entonces +\begin_inset Formula $df(a)=0$ +\end_inset + +. +\begin_inset Newline newline +\end_inset + +Podemos suponer que alcanza un máximo. + Entonces +\begin_inset Formula $\exists{\cal U}\in{\cal E}(a):f(x)\leq f(a)\forall x\in{\cal U}$ +\end_inset + +, luego si para +\begin_inset Formula $i\in\{1,\dots,m\}$ +\end_inset + + definimos +\begin_inset Formula $\varphi_{i}(t):=f(a_{1},\dots,a_{i-1},t,a_{i+1},\dots,a_{m})$ +\end_inset + +, fijado +\begin_inset Formula $i$ +\end_inset + +, +\begin_inset Formula $\exists\varepsilon>0:\forall t\in(a-\varepsilon,a+\varepsilon),\varphi_{i}(t)\leq\varphi_{i}(a_{i})$ +\end_inset + + y +\begin_inset Formula $\frac{\partial f}{\partial x_{i}}(a_{1},\dots,a_{i-1},t,a_{i+1},\dots,a_{m})=\varphi'(t)$ +\end_inset + +, luego +\begin_inset Formula $\frac{\partial f}{\partial x_{i}}(a)=\varphi'(a_{i})=0$ +\end_inset + + y +\begin_inset Formula +\[ +df(a)=\left(\begin{array}{ccc} +\frac{\partial f}{\partial x_{1}}(a) & \cdots & \frac{\partial f}{\partial x_{m}}(a)\end{array}\right)=0 +\] + +\end_inset + + +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $f$ +\end_inset + + es de clase +\begin_inset Formula ${\cal C}^{2}$ +\end_inset + + y +\begin_inset Formula $df(a)=0$ +\end_inset + +, entonces +\begin_inset Formula +\begin{eqnarray*} +d^{2}f(a)\text{ definida positiva} & \implies & f\text{ tiene un mínimo estricto en }a\implies\\ +\implies f\text{ tiene un mínimo en }a & \implies & d^{2}f(a)\text{ semidefinida positiva} +\end{eqnarray*} + +\end_inset + + +\end_layout + +\begin_deeper +\begin_layout Description +\begin_inset Formula $1\implies2]$ +\end_inset + + Consideremos el desarrollo de Taylor de +\begin_inset Formula $f$ +\end_inset + + de orden 2 en +\begin_inset Formula $a$ +\end_inset + +, que como +\begin_inset Formula $df(a)=0$ +\end_inset + +, queda como +\begin_inset Formula +\begin{eqnarray*} +f(x) & = & f(a)+\frac{1}{2}d^{2}f(a)(x-a,x-a)+o(\Vert x-a\Vert^{2})\\ + & = & f(a)+\frac{1}{2}\Vert x-a\Vert^{2}d^{2}f(a)\left(\frac{x-a}{\Vert x-a\Vert},\frac{x-a}{\Vert x-a\Vert}\right)+o(\Vert x-a\Vert^{2})\\ + & = & f(a)+\frac{1}{2}\Vert x-a\Vert^{2}\left(d^{2}f(a)\left(\frac{x-a}{\Vert x-a\Vert},\frac{x-a}{\Vert x-a\Vert}\right)+\frac{2o(\Vert x-a\Vert^{2})}{\Vert x-a\Vert^{2}}\right) +\end{eqnarray*} + +\end_inset + +suponiendo +\begin_inset Formula $x\neq a$ +\end_inset + +. + Pero +\begin_inset Formula $\frac{x-a}{\Vert x-a\Vert}\in\{y\in\mathbb{R}^{m}:\Vert y\Vert=1\}=:K$ +\end_inset + +, que es compacto por ser cerrado y acotado, y +\begin_inset Formula $\Phi:\mathbb{R}^{m}\rightarrow\mathbb{R}$ +\end_inset + + dada por +\begin_inset Formula $\Phi(u):=d^{2}f(a)(u,u)=\sum_{i,j}\frac{\partial f}{\partial x_{i}\partial x_{j}}(a)u_{i}u_{j}$ +\end_inset + + es continua, luego +\begin_inset Formula $\Phi(K)=\left\{ d^{2}f(a)\left(\frac{x-a}{\Vert x-a\Vert},\frac{x-a}{\Vert x-a\Vert}\right)\right\} _{x\in\mathbb{R}^{m}}$ +\end_inset + + es compacto y, por ser además +\begin_inset Formula $d^{2}f(a)$ +\end_inset + + definida positiva, existe +\begin_inset Formula $M>0$ +\end_inset + + tal que +\begin_inset Formula $\Phi(K)\geq M$ +\end_inset + +. +\begin_inset Newline newline +\end_inset + +Como +\begin_inset Formula $\frac{2o(\Vert x-a\Vert^{2})}{\Vert x-a\Vert^{2}}\rightarrow0$ +\end_inset + + cuando +\begin_inset Formula $x\rightarrow a$ +\end_inset + +, existe +\begin_inset Formula ${\cal U}\in{\cal E}(a)$ +\end_inset + + tal que +\begin_inset Formula $\forall x\in{\cal U},\left|\frac{2o(\Vert x-a\Vert)^{2}}{\Vert x-a\Vert^{2}}\right|M-M=0$ +\end_inset + + y +\begin_inset Formula $f(x)>f(a)+\frac{1}{2}\Vert x-a\Vert^{2}\cdot0=f(a)$ +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Formula $2\implies3]$ +\end_inset + + Obvio. +\end_layout + +\begin_layout Description +\begin_inset Formula $3\implies4]$ +\end_inset + + Fijamos +\begin_inset Formula $u\in\mathbb{R}^{m}$ +\end_inset + + y definimos +\begin_inset Formula $\varphi(t):=a+tu$ +\end_inset + + como la función +\begin_inset Formula $\varphi:\mathbb{R}\rightarrow\mathbb{R}^{m}$ +\end_inset + + que parametriza la recta +\begin_inset Formula $a+<\vec{u}>$ +\end_inset + +. + Sea +\begin_inset Formula ${\cal U}\in{\cal E}(a)$ +\end_inset + + con +\begin_inset Formula $f(a)\leq f(x)\forall x\in{\cal U}$ +\end_inset + +, si restringimos +\begin_inset Formula $\varphi$ +\end_inset + + a +\begin_inset Formula $\varphi^{-1}({\cal U})$ +\end_inset + +, un entorno de 0 en +\begin_inset Formula $\mathbb{R}$ +\end_inset + +, entonces +\begin_inset Formula $f\circ\varphi$ +\end_inset + + alcanza un mínimo en 0, pues +\begin_inset Formula $(f\circ\varphi)(0)=f(\varphi(0))=f(a)\leq f(\varphi(t))\forall t\in\varphi^{-1}({\cal U})$ +\end_inset + +, y tenemos que +\begin_inset Formula $f\circ\varphi$ +\end_inset + + es de clase +\begin_inset Formula ${\cal C}^{2}$ +\end_inset + + y semidefinida positiva. + Por la regla de la cadena, al ser +\begin_inset Formula $\varphi$ +\end_inset + + y +\begin_inset Formula $f$ +\end_inset + + diferenciables, +\begin_inset Formula +\begin{multline*} +d(f\circ\varphi)(t)=df(\varphi(t))\circ d\varphi(t)\equiv\\ +\equiv\left(\begin{array}{ccc} +\frac{\partial f}{\partial x_{1}}(a+tu) & \cdots & \frac{\partial f}{\partial x_{m}}(a+tu)\end{array}\right)\left(\begin{array}{c} +u_{1}\\ +\vdots\\ +u_{m} +\end{array}\right)=\sum_{i}\frac{\partial f}{\partial x_{i}}(a+tu)u_{i} +\end{multline*} + +\end_inset + +Entonces +\begin_inset Formula $d^{2}(f\circ\varphi)(t)\equiv\frac{d}{dt}\sum_{i}\frac{\partial f}{\partial x_{i}}(a+tu)u_{i}=\sum_{i}u_{i}\frac{d}{dt}\left(\frac{\partial f}{\partial x_{i}}(a+tu)\right)$ +\end_inset + +. + Como +\begin_inset Formula $\frac{\partial f}{\partial x_{i}}$ +\end_inset + + es diferenciable al ser +\begin_inset Formula $f$ +\end_inset + + de clase +\begin_inset Formula ${\cal C}^{2}$ +\end_inset + +, +\begin_inset Formula +\begin{multline*} +\frac{d}{dt}\left(\frac{\partial f}{\partial x_{i}}(a+tu)\right)=d\left(\frac{\partial f}{\partial x_{i}}\circ\varphi\right)(t)=d\frac{\partial f}{\partial x_{i}}(\varphi(t))\circ d\varphi(t)\equiv\\ +\equiv\left(\begin{array}{ccc} +\frac{\partial^{2}f}{\partial_{i}\partial_{1}}(a+tu) & \cdots & \frac{\partial^{2}f}{\partial_{i}\partial_{m}}(a+tu)\end{array}\right)\left(\begin{array}{c} +u_{1}\\ +\vdots\\ +u_{m} +\end{array}\right)=\sum_{j}\frac{\partial^{2}f}{\partial x_{i}\partial x_{j}}(a+tu)u_{j} +\end{multline*} + +\end_inset + +Sustituyendo, +\begin_inset Formula $d^{2}(f\circ\varphi)(t)\equiv\sum_{i,j}\frac{\partial^{2}f}{\partial x_{i}\partial x_{j}}(a+tu)u_{i}u_{j}=d^{2}f(a+tu)(u,u)$ +\end_inset + +. + Pero al ser +\begin_inset Formula $f\circ\varphi$ +\end_inset + + una función real de una variable real dos veces derivable con su mínimo + en 0, sustituyendo +\begin_inset Formula $0\leq(f\circ\varphi)''(0)=d^{2}f(a)(u,u)$ +\end_inset + +, y como esto se cumple para todo +\begin_inset Formula $u\in\mathbb{R}^{m}$ +\end_inset + +, queda probado que +\begin_inset Formula $d^{2}f(a)$ +\end_inset + + es semidefinida positiva. +\end_layout + +\end_deeper +\end_body +\end_document diff --git a/fvv1/n4.lyx b/fvv1/n4.lyx new file mode 100644 index 0000000..07fa28a --- /dev/null +++ b/fvv1/n4.lyx @@ -0,0 +1,592 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Podemos describir una región de +\begin_inset Formula $\mathbb{R}^{n}$ +\end_inset + +: +\end_layout + +\begin_layout Enumerate +De forma +\series bold +implícita +\series default +, como el conjunto de puntos que cumplen +\begin_inset Formula $f(x)=0$ +\end_inset + + para cierta función +\begin_inset Formula $f:{\cal U}\rightarrow\mathbb{R}^{k}$ +\end_inset + +, siendo +\begin_inset Formula ${\cal U}\subseteq\mathbb{R}^{n}$ +\end_inset + + un abierto. + La región +\begin_inset Formula $A=\{(x_{1},\dots,x_{n})\in{\cal U}:f(x_{1},\dots,x_{n})=0\}$ +\end_inset + + está +\series bold +descrita implícitamente de forma +\begin_inset Formula ${\cal C}^{1}$ +\end_inset + +-regular +\series default + si +\begin_inset Formula $f$ +\end_inset + + es de clase +\begin_inset Formula ${\cal C}^{1}$ +\end_inset + + y +\begin_inset Formula $\forall p\in A,\text{rg}(df(p))=k$ +\end_inset + + (el rango de la diferencial es +\begin_inset Formula $k$ +\end_inset + +). +\end_layout + +\begin_layout Enumerate +De forma +\series bold +paramétrica +\series default +, como la imagen de una función +\begin_inset Formula $\varphi:{\cal U}\rightarrow\mathbb{R}^{n}$ +\end_inset + +, siendo +\begin_inset Formula ${\cal U}\subseteq\mathbb{R}^{m}$ +\end_inset + + un abierto. + La +\series bold +parametrización +\series default + es +\series bold + +\begin_inset Formula ${\cal C}^{1}$ +\end_inset + +-regular +\series default + si +\begin_inset Formula $\varphi$ +\end_inset + + es de clase +\begin_inset Formula ${\cal C}^{1}$ +\end_inset + + y +\begin_inset Formula $\forall p\in{\cal U},\text{rg}(d\varphi(p))=m$ +\end_inset + +. +\end_layout + +\begin_layout Standard +El +\series bold +teorema de la función implícita +\series default + +\begin_inset Foot +status open + +\begin_layout Plain Layout +Esto corresponde a FVV3, pero lo estudiamos por su utilidad práctica. +\end_layout + +\end_inset + + afirma que, para +\begin_inset Formula $A\subseteq\mathbb{R}^{n}$ +\end_inset + + y +\begin_inset Formula $p\in A$ +\end_inset + +, existe un +\begin_inset Formula ${\cal U}\in{\cal E}(p)$ +\end_inset + + tal que +\begin_inset Formula ${\cal U}\cap A$ +\end_inset + + admite una presentación implícita +\begin_inset Formula ${\cal C}^{1}$ +\end_inset + +-regular si y sólo si existe +\begin_inset Formula ${\cal U}'\in{\cal E}(p)$ +\end_inset + + tal que +\begin_inset Formula ${\cal U}\cap A$ +\end_inset + + admite una parametrización +\begin_inset Formula ${\cal C}^{1}$ +\end_inset + +-regular. +\end_layout + +\begin_layout Standard +Sean pues +\begin_inset Formula ${\cal U}\subseteq\mathbb{R}^{m}\overset{\varphi}{\longrightarrow}{\cal V}\subseteq\mathbb{R}^{n}\overset{f}{\longrightarrow}{\cal W}\subseteq\mathbb{R}^{k}$ +\end_inset + + la parametrización y la forma implícita de +\begin_inset Formula $A$ +\end_inset + + y +\begin_inset Formula $q\in{\cal U}$ +\end_inset + + tal que +\begin_inset Formula $\varphi(q)=p\in{\cal V}$ +\end_inset + +, se tiene que +\begin_inset Formula $\text{Im}(d\varphi(q))=\ker(df(p))$ +\end_inset + +. + En efecto, como +\begin_inset Formula $f$ +\end_inset + + es constante en +\begin_inset Formula $A$ +\end_inset + + por ser +\begin_inset Formula $f(A)=\{0\}$ +\end_inset + +, +\begin_inset Formula $f\circ\varphi$ +\end_inset + + también lo es, luego +\begin_inset Formula $0=d(f\circ\varphi)(q)=df(p)\circ d\varphi(q)$ +\end_inset + + y entonces +\begin_inset Formula $\text{Im}(d\varphi(q))\subseteq\ker(df(p))$ +\end_inset + +, pero como ambos subespacios tienen la misma dirección +\begin_inset Note Note +status open + +\begin_layout Plain Layout +(¿por qué?) +\end_layout + +\end_inset + +, se tiene la igualdad. + Esto significa además que este espacio no depende de +\begin_inset Formula $\varphi$ +\end_inset + + o +\begin_inset Formula $f$ +\end_inset + +, y en esta situación llamamos +\series bold +espacio tangente +\series default + al compacto +\begin_inset Note Note +status open + +\begin_layout Plain Layout +¿por qué compacto? +\end_layout + +\end_inset + + +\begin_inset Formula $A$ +\end_inset + + en el punto +\begin_inset Formula $p$ +\end_inset + + al espacio afín que pasa por +\begin_inset Formula $p$ +\end_inset + + y tiene por dirección +\begin_inset Formula $\text{Im}(d\varphi(q))=\ker(df(p))$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Llamamos +\series bold +gradiente +\series default + en +\begin_inset Formula $a\in{\cal U}$ +\end_inset + + de una función +\begin_inset Formula $f:D\subseteq\mathbb{R}^{n}\rightarrow\mathbb{R}$ +\end_inset + + diferenciable en +\begin_inset Formula $a$ +\end_inset + + al vector +\begin_inset Formula $\nabla f(a):=\left(\frac{\partial f}{\partial x_{1}},\dots,\frac{\partial f}{\partial x_{n}}\right)\in\mathbb{R}^{n}$ +\end_inset + +, la matriz de la diferencial de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $a$ +\end_inset + + expresada como vector. + Para encontrar los extremos relativos de una función +\begin_inset Formula $f:D\rightarrow\mathbb{R}^{n}$ +\end_inset + + sobre un subconjunto +\begin_inset Formula $D\subseteq\mathbb{R}^{n}$ +\end_inset + + no abierto: +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $D$ +\end_inset + + está dado en forma paramétrica como +\begin_inset Formula $\varphi({\cal U})$ +\end_inset + +, donde +\begin_inset Formula ${\cal U}$ +\end_inset + + es un abierto de +\begin_inset Formula $\mathbb{R}^{m}$ +\end_inset + + y +\begin_inset Formula $\varphi:{\cal {\cal U}}\rightarrow\mathbb{R}^{n}$ +\end_inset + + es diferenciable, buscamos los extremos relativos de +\begin_inset Formula $f\circ\varphi$ +\end_inset + + en +\begin_inset Formula ${\cal U}$ +\end_inset + +, teniendo en cuenta que +\begin_inset Formula $f\circ\varphi$ +\end_inset + + tiene máximo absoluto en +\begin_inset Formula $a$ +\end_inset + + si y sólo si +\begin_inset Formula $f$ +\end_inset + + tiene un máximo absoluto en +\begin_inset Formula $\varphi(a)$ +\end_inset + +. + Si además +\begin_inset Formula $\varphi$ +\end_inset + + es continua, un máximo relativo de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $\varphi(a)$ +\end_inset + + implica uno de +\begin_inset Formula $f\circ\varphi$ +\end_inset + + en +\begin_inset Formula $a$ +\end_inset + +, y si +\begin_inset Formula $\varphi:({\cal U},{\cal T}_{u}|_{{\cal U}})\rightarrow(\varphi({\cal U}),{\cal T}_{u}|_{\varphi({\cal U})})$ +\end_inset + + es abierta, un máximo relativo de +\begin_inset Formula $f\circ\varphi$ +\end_inset + + en +\begin_inset Formula $a$ +\end_inset + + es uno de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $\varphi(a)$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $D$ +\end_inset + + está dado en forma implícita como +\begin_inset Formula $\{x\in{\cal U}:g(x)=0\}$ +\end_inset + +, donde +\begin_inset Formula ${\cal U}$ +\end_inset + + es un abierto de +\begin_inset Formula $\mathbb{R}^{n}$ +\end_inset + + y +\begin_inset Formula $g:{\cal U}\rightarrow\mathbb{R}^{k}$ +\end_inset + + es de clase +\begin_inset Formula ${\cal C}^{1}$ +\end_inset + +, aplicamos el +\series bold +teorema de los multiplicadores de Lagrange +\series default +, que afirma que si +\begin_inset Formula $f:{\cal U}\rightarrow\mathbb{R}$ +\end_inset + + es diferenciable, alcanza en un punto +\begin_inset Formula $a\in{\cal U}$ +\end_inset + + un extremo relativo y +\begin_inset Formula $\text{rg}(dg(a))=k$ +\end_inset + +, entonces +\begin_inset Formula $\nabla f(a)\in\text{span}(\nabla g_{1}(a),\dots,\nabla g_{k}(a)):=<\nabla g_{1}(a),\dots,\nabla g_{k}(a)>$ +\end_inset + + (el espacio generado por los vectores). + +\series bold +Demostración: +\series default + Por el teorema de la función implícita, existen +\begin_inset Formula ${\cal V}\subseteq\mathbb{R}^{n-k}$ +\end_inset + + abierto, +\begin_inset Formula ${\cal W}\in{\cal E}(a)$ +\end_inset + + y +\begin_inset Formula $\varphi:{\cal V}\rightarrow{\cal W}$ +\end_inset + + de clase +\begin_inset Formula ${\cal C}^{1}$ +\end_inset + + con +\begin_inset Formula $\text{rg}(d\varphi(a))=n-k$ +\end_inset + + tales que +\begin_inset Formula $D\cap{\cal W}=\varphi({\cal V})$ +\end_inset + +, y si +\begin_inset Formula $a$ +\end_inset + + es extremo relativo de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $D$ +\end_inset + +, por la continuidad de +\begin_inset Formula $\varphi$ +\end_inset + +, el punto +\begin_inset Formula $b\in{\cal V}$ +\end_inset + + con +\begin_inset Formula $\varphi(b)=a$ +\end_inset + + es extremo relativo de +\begin_inset Formula $f\circ\varphi$ +\end_inset + + en +\begin_inset Formula ${\cal V}$ +\end_inset + +, luego +\begin_inset Formula $d(f\circ\varphi)(b)=0=df(a)\circ\varphi(b)$ +\end_inset + + y entonces +\begin_inset Formula $\text{Im}(d\varphi(b))=\ker(dg(a))=\ker(dg_{1}(a),\dots,dg_{k}(a))\subseteq\ker(df(a))$ +\end_inset + + y por tanto +\begin_inset Formula $\bigcap_{i=1}^{k}\ker(dg_{i}(a))\subseteq\ker(df(a))$ +\end_inset + +, que por un misterioso lema de álgebra equivale a que +\begin_inset Formula $df(a)\in\text{span}(dg_{1}(a),\dots,dg_{k}(a))$ +\end_inset + +. +\begin_inset Note Note +status open + +\begin_layout Plain Layout +¿Ñandé? +\end_layout + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/fvv2/n.lyx b/fvv2/n.lyx new file mode 100644 index 0000000..be70f72 --- /dev/null +++ b/fvv2/n.lyx @@ -0,0 +1,218 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize 10 +\spacing single +\use_hyperref false +\papersize a5paper +\use_geometry true +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\leftmargin 0.2cm +\topmargin 0.7cm +\rightmargin 0.2cm +\bottommargin 0.7cm +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style swiss +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle empty +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Title +Funciones de varias variables II +\end_layout + +\begin_layout Date +\begin_inset Note Note +status open + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +def +\backslash +cryear{2018} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "../license.lyx" + +\end_inset + + +\end_layout + +\begin_layout Standard +Bibliografía: +\end_layout + +\begin_layout Itemize +Funciones de varias variables II: Integración, Antonio José Pallarés Ruiz, + Universidad de Murcia (Curso 2010–11). +\end_layout + +\begin_layout Itemize +Measure and Integral: An Introduction to Real Analysis, Richard L. + Wheeden & Antoni Zygmund. +\end_layout + +\begin_layout Itemize +Cálculo en variedades, Michael Spivak. +\end_layout + +\begin_layout Itemize +Medida e Integración: Notas de clase para el curso 1998–1999, Antonio José + Pallarés Ruiz, Departamento de Matemáticas, Universidad de Murcia. +\end_layout + +\begin_layout Chapter +Integración Riemann en varias variables +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n1.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Medidas de conjuntos +\end_layout + +\begin_layout Standard +\begin_inset Note Note +status open + +\begin_layout Plain Layout +\begin_inset CommandInset include +LatexCommand input +filename "n2.lyx" + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Chapter +Integración Lebesgue +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n3.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Cambio de variable +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n4.lyx" + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/fvv2/n1.lyx b/fvv2/n1.lyx new file mode 100644 index 0000000..0537932 --- /dev/null +++ b/fvv2/n1.lyx @@ -0,0 +1,3333 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 0 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +sremember{FUVR2} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Una +\series bold +partición +\series default + de +\begin_inset Formula $[a,b]$ +\end_inset + + es una colección de puntos +\begin_inset Formula $a=t_{0}0,\exists P_{\varepsilon}:S(f,P_{\varepsilon})-s(f,P_{\varepsilon})\leq\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{sloppypar} +\end_layout + +\end_inset + +Basta tomar +\begin_inset Formula $P$ +\end_inset + + y +\begin_inset Formula $P'$ +\end_inset + + con +\begin_inset Formula $S(f,P)\leq\int_{R}f(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}+\frac{\varepsilon}{2}$ +\end_inset + + y +\begin_inset Formula $s(f,P')\geq\int_{R}f(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}-\frac{\varepsilon}{2}$ +\end_inset + + y quedarnos con la partición +\begin_inset Formula $P\lor P'$ +\end_inset + + ( +\begin_inset Formula $\{P_{i}\lor P'_{i}\}_{i=1}^{n}$ +\end_inset + +). +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{sloppypar} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\impliedby]$ +\end_inset + + +\end_layout + +\end_inset + +Si se cumple +\begin_inset Formula $0\leq\overline{\int_{R}}f(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}-\underline{\int_{R}}f(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}\leq S(f,P_{\varepsilon})-s(f,P_{\varepsilon})\leq\varepsilon$ +\end_inset + + para todo +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, haciendo tender +\begin_inset Formula $\varepsilon$ +\end_inset + + a 0 obtenemos la igualdad de las integrales superior e inferior. +\end_layout + +\begin_layout Standard +La integral es un operador lineal: sean +\begin_inset Formula $f,g\in{\cal R}(R)$ +\end_inset + + y +\begin_inset Formula $c\in\mathbb{R}$ +\end_inset + +, +\begin_inset Formula $f+g\in{\cal R}(R)$ +\end_inset + + con +\begin_inset Formula $\int_{R}(f+g)(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}=\int_{R}f(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}+\int_{R}g(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}$ +\end_inset + +, y +\begin_inset Formula $cf\in{\cal R}(R)$ +\end_inset + + con +\begin_inset Formula $\int_{R}(cf)(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}=c\int_{R}f(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}$ +\end_inset + +. + +\series bold +Demostración: +\series default + Se deriva de que para +\begin_inset Formula $S\subseteq R$ +\end_inset + +, +\begin_inset Formula $m_{S}(f)+m_{S}(g)\leq m_{S}(f+g)$ +\end_inset + +, +\begin_inset Formula $M_{S}(f+g)\leq M_{S}(f)+M_{S}(g)$ +\end_inset + + y +\begin_inset Formula $M_{S}(cf)=cM_{S}(f)$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset Newpage newpage +\end_inset + + +\end_layout + +\begin_layout Standard +También es un operador positivo. + Sean +\begin_inset Formula $f,g\in{\cal R}(R)$ +\end_inset + +: +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\forall(x_{1},\dots,x_{n})\in R,f(x_{1},\dots,x_{n})\geq0\implies\int_{R}(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}\geq0$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\forall(x_{1},\dots,x_{n})\in R,f(x_{1},\dots,x_{n})\geq g(x_{1},\dots,x_{n})\implies\int_{R}f(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}\geq\int_{R}g(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $|f|\in{\cal R}(R)$ +\end_inset + + y +\begin_inset Formula $\left|\int_{R}f(x_{1},\dots,x_{n})dx_{1}\dots dx_{n}\right|\leq\int_{R}|f(x_{1},\dots,x_{n})|dx_{1}\dots dx_{n}$ +\end_inset + + (desigualdad triangular). +\end_layout + +\begin_layout Standard +Definimos la +\series bold +oscilación +\series default + de +\begin_inset Formula $f:R\rightarrow\mathbb{R}$ +\end_inset + + en +\begin_inset Formula $S\subseteq R$ +\end_inset + + como +\begin_inset Formula +\[ +\text{osc}(f,S):=M_{S}(f)-m_{S}(f)=\sup\{|f(x)-f(y)|\}_{x,y\in S} +\] + +\end_inset + + y la oscilación de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $x\in R$ +\end_inset + + como +\begin_inset Formula +\[ +\text{osc}(f,x):=\inf\{\text{osc}(f,S\cap T)\}_{T\text{ rectángulo abierto centrado en }S} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Vemos que +\begin_inset Formula $f$ +\end_inset + + es continua en +\begin_inset Formula $x$ +\end_inset + + si y sólo si +\begin_inset Formula $\text{osc}(f,x)=0$ +\end_inset + +, y que para cada +\begin_inset Formula $\varepsilon>0$ +\end_inset + + y cada +\begin_inset Formula $x$ +\end_inset + + donde +\begin_inset Formula $f$ +\end_inset + + es continua existe un cubo abierto +\begin_inset Formula $C_{x}(d_{x})$ +\end_inset + + centrado en +\begin_inset Formula $x$ +\end_inset + + con diámetro +\begin_inset Formula $d_{x}$ +\end_inset + + donde la oscilación de +\begin_inset Formula $f$ +\end_inset + + es menor que +\begin_inset Formula $\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +sremember{TEM} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Toda +\begin_inset Formula $f:(X,d)\rightarrow(Y,d')$ +\end_inset + + continua, siendo +\begin_inset Formula $(X,{\cal T}_{d})$ +\end_inset + + compacto, es uniformemente continua. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, toda +\begin_inset Formula $f:R\rightarrow\mathbb{R}$ +\end_inset + + continua definida en un rectángulo cerrado +\begin_inset Formula $n$ +\end_inset + +-dimensional +\begin_inset Formula $R$ +\end_inset + + es integrable Riemann en +\begin_inset Formula $R$ +\end_inset + +. +\end_layout + +\begin_layout Section +Conjuntos de contenido y de medida nula +\end_layout + +\begin_layout Standard +Un subconjunto +\begin_inset Formula $S\subseteq\mathbb{R}^{n}$ +\end_inset + + tiene +\series bold +medida +\series default + ( +\begin_inset Formula $n$ +\end_inset + +-dimensional) +\series bold +nula +\series default + si para cada +\begin_inset Formula $\varepsilon>0$ +\end_inset + + existe una sucesión +\begin_inset Formula $(R_{k})_{k}$ +\end_inset + + de rectángulos +\begin_inset Formula $n$ +\end_inset + +-dimensionales cerrados tal que +\begin_inset Formula $S\subseteq\bigcup_{j=1}^{\infty}R_{j}$ +\end_inset + + y +\begin_inset Formula $\sum_{j=1}^{\infty}v(R_{j})<\varepsilon$ +\end_inset + +. + Sustituyendo los rectángulos cerrados por rectángulos abiertos obtenemos + el mismo concepto. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + +Fijado +\begin_inset Formula $\varepsilon$ +\end_inset + +, sea +\begin_inset Formula $(R_{k})_{k}$ +\end_inset + + la sucesión de cerrados que cumple las propiedades y +\begin_inset Formula $00$ +\end_inset + +, sea +\begin_inset Formula $(R_{k})_{k\in\mathbb{N}}$ +\end_inset + + una sucesión de rectángulos abiertos que cumple las propiedades, vemos + que +\begin_inset Formula $N\subseteq\bigcup_{k\in\mathbb{N}}R_{k}\subseteq\bigcup_{k\in\mathbb{N}}\overline{R_{k}}$ +\end_inset + + y que +\begin_inset Formula $\sum_{j=1}^{\infty}v(\overline{R_{j}})=\sum_{j=1}^{\infty}v(R_{j})<\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, la unión numerable de conjuntos de medida nula tiene medida nula. + +\series bold +Demostración: +\series default + Consideremos +\begin_inset Formula $\bigcup_{i=1}^{\infty}S_{i}$ +\end_inset + +. + Fijado +\begin_inset Formula $\varepsilon$ +\end_inset + +, para cada +\begin_inset Formula $i\in\mathbb{N}$ +\end_inset + + utilizamos que +\begin_inset Formula $S_{i}$ +\end_inset + + es de medida nula para recubrirlo con una sucesión +\begin_inset Formula $\{R_{ij}\}_{j\in\mathbb{N}}$ +\end_inset + + cuyos volúmenes suman menos que +\begin_inset Formula $\frac{\varepsilon}{2^{i}}$ +\end_inset + +. + Vemos que +\begin_inset Formula $\{R_{ij}\}_{i,j\in\mathbb{N}}$ +\end_inset + + es numerable y podemos describirlo como una sucesión que recubre +\begin_inset Formula $N$ +\end_inset + + y cuyos volúmenes suman menos que +\begin_inset Formula $\varepsilon$ +\end_inset + +, pues +\begin_inset Formula $\sum_{i,j=1}^{\infty}v(R_{ij})=\sum_{i=1}^{\infty}(\sum_{j=1}^{\infty}v(R_{ij}))<\sum_{i=1}^{\infty}\frac{\varepsilon}{2^{i}}=\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Un subconjunto +\begin_inset Formula $S\subseteq\mathbb{R}^{n}$ +\end_inset + + tiene +\series bold +contenido +\series default + ( +\begin_inset Formula $n$ +\end_inset + +-dimensional) +\series bold +nulo +\series default + si para cada +\begin_inset Formula $\varepsilon>0$ +\end_inset + + existe una familia finita de rectángulos +\begin_inset Formula $n$ +\end_inset + +-dimensionales cerrados que cumplen las mismas condiciones que los de la + definición de medida nula. + Es claro que todo conjunto de contenido nulo tiene medida nula. + Como +\series bold +teorema +\series default +, todo compacto en +\begin_inset Formula $\mathbb{R}^{n}$ +\end_inset + + de medida nula es de contenido nulo; basta usar un cubrimiento con rectángulos + abiertos en la definición de medida nula y extraer un subrecubrimiento + finito por compacidad. +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $f:R\subseteq\mathbb{R}^{m}\rightarrow\mathbb{R}$ +\end_inset + + es integrable Riemann en el rectángulo cerrado +\begin_inset Formula $R$ +\end_inset + +, entonces +\begin_inset Formula $\text{graf}(f)$ +\end_inset + + tiene contenido +\begin_inset Formula $(m+1)$ +\end_inset + +-dimensional nulo. +\end_layout + +\begin_layout Subsection +El conjunto de Cantor +\end_layout + +\begin_layout Standard +Consideremos el intervalo +\begin_inset Formula $[0,1]$ +\end_inset + +, que dividimos en 3 subintervalos y eliminamos el subintervalo abierto + central, +\begin_inset Formula $(\frac{1}{3},\frac{2}{3})$ +\end_inset + +. + A continuación, de cada subintervalo cerrado restante, eliminamos el subinterva +lo abierto central de longitud la tercera parte del subintervalo original. + Repitiendo este proceso indefinidamente lo que nos queda es el +\series bold +conjunto de Cantor +\series default +, +\begin_inset Formula $C$ +\end_inset + +. + Observamos que un número está en el conjunto de Cantor si y sólo si su + representación en base 3, +\begin_inset Formula $0.c_{1}c_{2}c_{3}\cdots c_{n}\cdots$ +\end_inset + +, contiene sólo los dígitos 0 y 2, teniendo en cuenta que el número puede + también acabar por una secuencia infinita de doses. + Teoremas: +\end_layout + +\begin_layout Itemize +\begin_inset Formula $C$ +\end_inset + + es incontable, con igual cardinalidad que +\begin_inset Formula $[0,1]$ +\end_inset + +. +\begin_inset Newline newline +\end_inset + +La función +\begin_inset Formula $f:C\rightarrow[0,1]$ +\end_inset + + dada por +\begin_inset Formula $f(0.c_{1}c_{2}\cdots c_{n}\cdots_{(3)}):=0.\frac{c_{1}}{2}\frac{c_{2}}{2}\cdots\frac{c_{n}}{2}\cdots_{(2)}$ +\end_inset + + es suprayectiva, luego +\begin_inset Formula $|C|\geq|[0,1]|$ +\end_inset + +, pero es claro que +\begin_inset Formula $|C|\leq|[0,1]|$ +\end_inset + +, luego +\begin_inset Formula $|C|=|[0,1]|$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $C$ +\end_inset + + es de medida nula. +\begin_inset Newline newline +\end_inset + +Al principio +\begin_inset Formula $[0,1]$ +\end_inset + + tiene longitud 1, y es fácil ver que si en un +\begin_inset Quotes fld +\end_inset + +paso +\begin_inset Quotes frd +\end_inset + + de la construcción el conjunto resultante tiene longitud +\begin_inset Formula $n$ +\end_inset + +, en el siguiente tendrá longitud +\begin_inset Formula $\frac{2}{3}n$ +\end_inset + +. + Por tanto la longitud de +\begin_inset Formula $C$ +\end_inset + + es +\begin_inset Formula $\lim_{n}\left(\frac{2}{3}\right)^{n}=0$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $C$ +\end_inset + + no tiene puntos interiores. +\begin_inset Newline newline +\end_inset + +Como es de medida nula no contiene puntos de acumulación, pues para ello + debería contener intervalos, de medida no nula. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $C$ +\end_inset + + está acotado. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $C$ +\end_inset + + es cerrado. +\begin_inset Newline newline +\end_inset + +Es el resultado de quitar a un cerrado ( +\begin_inset Formula $[0,1]$ +\end_inset + +) un abierto (la unión de los abiertos eliminados en su construcción). +\end_layout + +\begin_layout Itemize +\begin_inset Formula $C$ +\end_inset + + no tiene puntos aislados. +\begin_inset Newline newline +\end_inset + +Dado +\begin_inset Formula $x\in C$ +\end_inset + + y +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, sea +\begin_inset Formula $n$ +\end_inset + + tal que +\begin_inset Formula $\frac{2}{3^{n}}<\varepsilon$ +\end_inset + +, existe un punto, el resultado de cambiar la cifra +\begin_inset Formula $n$ +\end_inset + +-ésima de +\begin_inset Formula $x$ +\end_inset + + por un 2 si era un 0 o viceversa, cuya distancia a +\begin_inset Formula $x$ +\end_inset + + es menor que +\begin_inset Formula $\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +Dados +\begin_inset Formula $a,b\in C$ +\end_inset + + distintos, existe una partición +\begin_inset Formula $\{A,B\}$ +\end_inset + + de +\begin_inset Formula $C$ +\end_inset + + con +\begin_inset Formula $A$ +\end_inset + + y +\begin_inset Formula $B$ +\end_inset + + cerrados, +\begin_inset Formula $a\in A$ +\end_inset + + y +\begin_inset Formula $b\in B$ +\end_inset + +. +\begin_inset Newline newline +\end_inset + +Sea +\begin_inset Formula $n$ +\end_inset + + la posición de una cifra (en base 3) en la que +\begin_inset Formula $a$ +\end_inset + + y +\begin_inset Formula $b$ +\end_inset + + difieren, basta hacer la partición según el valor de dicha cifra. +\end_layout + +\begin_layout Subsection +Caracterización +\end_layout + +\begin_layout Standard +Sea +\begin_inset Formula $A\subseteq\mathbb{R}^{n}$ +\end_inset + + cerrado, si +\begin_inset Formula $f:A\rightarrow\mathbb{R}$ +\end_inset + + es acotada y +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, +\begin_inset Formula $B:=\{x\in A:\text{osc}(f,x)\geq\varepsilon\}$ +\end_inset + + es cerrado. + +\series bold +Demostración: +\series default + Sea +\begin_inset Formula $x\in\mathbb{R}^{n}\backslash B$ +\end_inset + +. + Si +\begin_inset Formula $x\notin A$ +\end_inset + +, existe una bola de centro +\begin_inset Formula $x$ +\end_inset + + que no interseca con +\begin_inset Formula $A$ +\end_inset + +. + Si +\begin_inset Formula $x\in A$ +\end_inset + +, existe un rectángulo abierto +\begin_inset Formula $C\ni x$ +\end_inset + + con +\begin_inset Formula $\text{osc}(f,c)<\varepsilon$ +\end_inset + +, y para +\begin_inset Formula $y\in C$ +\end_inset + + existe +\begin_inset Formula $\delta_{y}$ +\end_inset + + tal que si +\begin_inset Formula $\Vert z-y\Vert<\delta_{y}$ +\end_inset + + entonces +\begin_inset Formula $\Vert x-z\Vert<\delta$ +\end_inset + +, con lo que +\begin_inset Formula $\text{osc}(f,y)<\varepsilon$ +\end_inset + + y +\begin_inset Formula $C\subseteq\mathbb{R}^{n}\backslash B$ +\end_inset + +. +\end_layout + +\begin_layout Standard +El +\series bold +teorema de Lebesgue de caracterización de las funciones integrables +\series default + afirma que si +\begin_inset Formula $R$ +\end_inset + + es un rectángulo +\begin_inset Formula $n$ +\end_inset + +-dimensional cerrado y +\begin_inset Formula $f:R\rightarrow\mathbb{R}$ +\end_inset + + es acotada, entonces +\begin_inset Formula $f\in{\cal R}(R)$ +\end_inset + + si y sólo si +\begin_inset Formula $B:=\{x\in R:f\text{ no es continua en }x\}$ +\end_inset + + tiene medida nula. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + +Sea +\begin_inset Formula $B_{k}:=\{x\in R:o(f,x)\geq\frac{1}{k}\}$ +\end_inset + +, basta probar que cada +\begin_inset Formula $B_{k}$ +\end_inset + + tiene medida nula dado que +\begin_inset Formula $B=\bigcup_{k\in\mathbb{N}}B_{k}$ +\end_inset + +. + Dado +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, sean +\begin_inset Formula $P$ +\end_inset + + una partición de +\begin_inset Formula $R$ +\end_inset + + con +\begin_inset Formula $S(f,P)-s(f,P)<\frac{\varepsilon}{k}$ +\end_inset + + y +\begin_inset Formula ${\cal S}$ +\end_inset + + el conjunto de subrectángulos de +\begin_inset Formula $P$ +\end_inset + + que cortan a +\begin_inset Formula $B_{k}$ +\end_inset + + , entonces para +\begin_inset Formula $S\in{\cal S}$ +\end_inset + + se tiene +\begin_inset Formula $M_{S}(f)-m_{S}(f)\geq\frac{1}{k}$ +\end_inset + + y +\begin_inset Formula +\[ +\frac{1}{k}\sum_{S\in{\cal S}}v(S)\leq\sum_{S\in{\cal S}}(M_{S}(f)-m_{S}(f))v(S)\leq S(f,P)-s(f,P)<\frac{\varepsilon}{k} +\] + +\end_inset + +con lo que +\begin_inset Formula $\sum_{S\in{\cal S}}v(S)<\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\impliedby]$ +\end_inset + + +\end_layout + +\end_inset + +Fijado +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, sea +\begin_inset Formula $K$ +\end_inset + + tal que +\begin_inset Formula $|f(x)|\leq K\forall x\in R$ +\end_inset + +, y tenemos que +\begin_inset Formula $M_{N}(f)-m_{N}(f)\leq2K\forall N\subseteq R$ +\end_inset + +. + Consideramos el conjunto de puntos donde +\begin_inset Formula $\text{osc}(f,x)\geq\frac{\varepsilon}{2v(R)}$ +\end_inset + +, un cerrado de medida nula y por tanto un compacto de contenido nulo, que + podemos cubrir con una cantidad finita de abiertos +\begin_inset Formula $N_{k}$ +\end_inset + + tales que +\begin_inset Formula $\sum_{k}v(N_{k})<\frac{\varepsilon}{4K}$ +\end_inset + +, y por tanto +\begin_inset Formula $\sum_{k}\text{osc}(N_{k},f)v(N_{k})<2K\cdot\frac{\varepsilon}{4K}=\frac{\varepsilon}{2}$ +\end_inset + +. + Es claro que +\begin_inset Formula $C:=R\backslash\bigcup_{k}N_{k}$ +\end_inset + + es compacto, y como para cada +\begin_inset Formula $x\in C$ +\end_inset + + podemos tomar un +\begin_inset Formula $S_{x}$ +\end_inset + + abierto tal que +\begin_inset Formula $\text{osc}(f,S_{x})<\frac{\varepsilon}{2v(R)}$ +\end_inset + +, existe un subrecubrimiento finito +\begin_inset Formula $S_{x_{i}}$ +\end_inset + + a partir de este, de modo que +\begin_inset Formula $\sum_{i}\text{osc}(f,S_{x_{i}})v(S_{x_{i}})<\frac{\varepsilon}{2v(R)}\cdot v(R)=\frac{\varepsilon}{2}$ +\end_inset + + La partición +\begin_inset Formula $P$ +\end_inset + + cuyos subintervalos están contenidos bien en un rectángulo +\begin_inset Formula $S_{x_{i}}$ +\end_inset + + o +\begin_inset Formula $N_{k}$ +\end_inset + + cumple que +\begin_inset Formula $S(f,P)-s(f,P)\leq\sum_{k}\text{osc}(f,N_{k})v(N_{k})+\sum_{i}\text{osc}(f,S_{x_{i}})v(S_{x_{i}})<\frac{\varepsilon}{2}+\frac{\varepsilon}{2}=\varepsilon$ +\end_inset + +. +\end_layout + +\begin_layout Subsection +Conjuntos medibles Jordan +\end_layout + +\begin_layout Standard +\begin_inset Formula $A\subseteq\mathbb{R}^{n}$ +\end_inset + + acotado es +\series bold +medible Jordan +\series default + si su +\series bold +función característica +\series default +, +\begin_inset Formula +\[ +\chi_{A}(x):=\begin{cases} +1 & \text{si }x\in A\\ +0 & \text{si }x\notin A +\end{cases} +\] + +\end_inset + + es integrable Riemann en un rectángulo cerrado +\begin_inset Formula $R\supseteq A$ +\end_inset + +, y se define el +\series bold +volumen +\series default + +\begin_inset Formula $n$ +\end_inset + +-dimensional de +\begin_inset Formula $A$ +\end_inset + + como +\begin_inset Formula +\[ +v(A):=\int_{R}\chi_{A}(x_{1},\dots,x_{n})dx_{1}\cdots dx_{n} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Equivalentemente, +\begin_inset Formula $A$ +\end_inset + + es medible Jordan si y sólo si su frontera, +\begin_inset Formula $\partial A=\overline{A}\backslash\mathring{A}$ +\end_inset + +, tiene medida nula. + Se dice que una función acotada +\begin_inset Formula $f:A\rightarrow\mathbb{R}$ +\end_inset + + es integrable Riemann en +\begin_inset Formula $A$ +\end_inset + + si +\begin_inset Formula $f\chi_{A}\in{\cal R}(R)$ +\end_inset + +. + Por ejemplo, si +\begin_inset Formula $N$ +\end_inset + + tiene contenido nulo y +\begin_inset Formula $f:N\rightarrow\mathbb{R}$ +\end_inset + + es acotada, entonces +\begin_inset Formula $f$ +\end_inset + + es integrable Riemann en +\begin_inset Formula $N$ +\end_inset + + y +\begin_inset Formula $\int_{N}f(x)dx=0$ +\end_inset + +. +\end_layout + +\begin_layout Section +Teorema de Fubini +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{sloppypar} +\end_layout + +\end_inset + +Sean +\begin_inset Formula $R_{1}\subseteq\mathbb{R}^{n}$ +\end_inset + + y +\begin_inset Formula $R_{2}\subseteq\mathbb{R}^{m}$ +\end_inset + + rectángulos cerrados de dimensiones respectivas +\begin_inset Formula $n$ +\end_inset + + y +\begin_inset Formula $m$ +\end_inset + +, +\begin_inset Formula $R=R_{1}\times R_{2}\subseteq\mathbb{R}^{n+m}$ +\end_inset + + un rectángulo cerrado +\begin_inset Formula $(n+m)$ +\end_inset + +-dimensional y +\begin_inset Formula $f:R\rightarrow\mathbb{R}$ +\end_inset + + una función acotada. + Para cada +\begin_inset Formula $x\in R_{1}$ +\end_inset + + definimos +\begin_inset Formula $lf_{x}:R_{2}\rightarrow\mathbb{R}$ +\end_inset + + como +\begin_inset Formula $lf_{x}(y):=f(x,y)$ +\end_inset + +, +\begin_inset Formula $s_{lf}(x):=\underline{\int_{R_{2}}}lf_{x}(y_{1},\dots,y_{m})dy_{1}\cdots dy_{m}$ +\end_inset + + y +\begin_inset Formula $S_{lf}(x):=\overline{\int_{R_{2}}}lf_{x}(y_{1},\dots,y_{m})dy_{1}\cdots dy_{m}$ +\end_inset + +, y para cada +\begin_inset Formula $y\in R_{2}$ +\end_inset + + definimos +\begin_inset Formula $rf_{y}(x):=f(x,y)$ +\end_inset + +, +\begin_inset Formula $s_{rf}(y):=\int_{R_{1}}rf_{y}(x_{1},\dots,x_{n})dx_{1}\cdots dx_{m}$ +\end_inset + + y +\begin_inset Formula $S_{rf}(y):=\overline{\int_{R_{1}}}rf_{y}(x_{1},\dots,x_{n})dx_{1}\cdots dx_{m}$ +\end_inset + +. + Si +\begin_inset Formula $f\in{\cal R}(R)$ +\end_inset + + entonces +\begin_inset Formula $s_{lf},S_{lf}\in{\cal R}(R_{1})$ +\end_inset + +, +\begin_inset Formula $s_{rf},S_{rf}\in{\cal R}(R_{2})$ +\end_inset + + y +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{sloppypar} +\end_layout + +\end_inset + + +\begin_inset Formula +\begin{multline*} +\int_{R}f(x_{1},\dots,x_{n},y_{1},\dots,y_{m})dx_{1}\cdots dx_{n}dy_{1}\cdots dy_{m}=\\ +=\int_{R_{1}}s_{lf}(x_{1},\dots,x_{n})dx_{1}\cdots dx_{n}=\int_{R_{1}}S_{lf}(x_{1},\dots,x_{n})dx_{1}\cdots dx_{n}=\\ +=\int_{R_{2}}s_{rf}(y_{1},\dots,y_{m})dy_{1}\cdots dy_{m}=\int_{R_{2}}S_{rf}(y_{1},\dots,y_{m})dy_{1}\cdots dy_{m} +\end{multline*} + +\end_inset + + +\end_layout + +\begin_layout Standard +En la práctica esto significa que +\begin_inset Formula +\[ +\int_{R}f(\vec{x},\vec{y})d\vec{x}d\vec{y}=\int_{R_{1}}\left(\int_{R_{2}}f(\vec{x},\vec{y})d\vec{y}\right)d\vec{x}=\int_{R_{2}}\left(\int_{R_{1}}f(\vec{x},\vec{y})d\vec{x}\right)d\vec{y} +\] + +\end_inset + +donde +\begin_inset Formula $d\vec{x}:=dx_{1}\cdots dx_{n}$ +\end_inset + + y +\begin_inset Formula $d\vec{y}:=dy_{1}\cdots dy_{m}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +sremember{FUVR2} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Section +Cálculo de primitivas +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int u^{n}u'\,dx=\frac{u^{n+1}}{n+1}+C\forall n\neq-1$ +\end_inset + +; +\begin_inset Formula $\int\frac{u'}{u}dx=\ln|u|+C\forall u\neq0$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int e^{u}u'\,dx=e^{u}+C$ +\end_inset + +; +\begin_inset Formula $\int a^{u}u'\,dx=\frac{a^{u}}{\ln a}+C\forall a>0,a\neq1$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\cos u\,u'\,dx=\sin u+C$ +\end_inset + +; +\begin_inset Formula $\int\sin u\,u'\,dx=-\cos u+C$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\cosh u\,u'\,dx=\sinh u+C$ +\end_inset + +; +\begin_inset Formula $\int\sinh u\,u'\,dx=\cosh u+C$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\frac{u'}{\sin^{2}u}dx=\int\frac{u'}{\sinh^{2}u}dx=-\cot u+C$ +\end_inset + +; +\begin_inset Formula $\int\frac{u'}{\cos^{2}u}dx=\int\frac{u'}{\cosh^{2}u}dx=\tan u+C$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\frac{u'}{1+u^{2}}dx=\arctan u+C$ +\end_inset + +; +\begin_inset Formula $\int\frac{u'}{1-u^{2}}dx=\arg\tanh u+C$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\frac{u'}{\sqrt{1-u^{2}}}dx=\arcsin u+C=-\arccos u+C'$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\frac{u'}{\sqrt{u^{2}+1}}dx=\arg\sinh u+C$ +\end_inset + +; +\begin_inset Formula $\int\frac{u'}{\sqrt{u^{2}-1}}dx=\arg\cosh u+C$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\backslash +sremember{FUVR2} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Formula +\begin{eqnarray*} +\cosh(x)=\frac{e^{x}+e^{-x}}{2} & & \arg\cosh(x)=\ln(x+\sqrt{x^{2}-1})\\ +\sinh(x)=\frac{e^{x}-e^{-x}}{2} & & \arg\sinh(x)=\ln(x+\sqrt{x^{2}+1})\\ +\cosh^{2}(x)-\sinh^{2}(x)=1 & & \arg\tanh(x)=\frac{1}{2}\ln\frac{1+x}{1-x} +\end{eqnarray*} + +\end_inset + + +\end_layout + +\begin_layout Subsection +Integración por partes +\end_layout + +\begin_layout Standard +Sean +\begin_inset Formula $f,g\in{\cal R}[a,b]$ +\end_inset + + con primitivas respectivas +\begin_inset Formula $F$ +\end_inset + + y +\begin_inset Formula $G$ +\end_inset + +, +\begin_inset Formula +\[ +\int_{a}^{b}Fg=F(b)G(b)-F(a)G(a)-\int_{a}^{b}fG +\] + +\end_inset + +lo que suele escribirse como +\begin_inset Formula $\int u\,dv=uv-\int v\,du$ +\end_inset + +. +\end_layout + +\begin_layout Subsection +Cambio de variable +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, sea +\begin_inset Formula $\varphi:[c,d]\rightarrow[a,b]\in{\cal C}^{1}[c,d]$ +\end_inset + + con +\begin_inset Formula $\varphi(c)=a$ +\end_inset + + y +\begin_inset Formula $\varphi(d)=b$ +\end_inset + +, sea +\begin_inset Formula $f:[a,b]\rightarrow\mathbb{R}$ +\end_inset + + continua, entonces +\begin_inset Formula +\[ +\int_{a}^{b}f=\int_{c}^{d}(f\circ\varphi)\varphi' +\] + +\end_inset + + +\end_layout + +\begin_layout Subsection +Funciones racionales +\end_layout + +\begin_layout Standard +Sean +\begin_inset Formula $P(x)$ +\end_inset + + y +\begin_inset Formula $Q(x)$ +\end_inset + + polinomios y queremos resolver +\begin_inset Formula $\int_{a}^{b}\frac{P(x)}{Q(x)}dx$ +\end_inset + +. + Si el grado de +\begin_inset Formula $P(x)$ +\end_inset + + es mayor o igual que el de +\begin_inset Formula $Q(x)$ +\end_inset + + hacemos +\begin_inset Formula $\int_{a}^{b}\frac{P(x)}{Q(x)}dx=\int C(x)dx+\int\frac{R(x)}{Q(x)}dx$ +\end_inset + + para que el grado del numerador sea menor que el del denominador. + Entonces descomponemos en fracciones simples. +\end_layout + +\begin_layout Standard +Descomponemos +\begin_inset Formula $Q(x)$ +\end_inset + + como +\begin_inset Formula $Q(x)=\prod_{i=1}^{r}(x-a_{i})^{m_{i}}\prod_{i=1}^{s}(x^{2}+p_{i}x+q_{i})^{n_{i}}$ +\end_inset + +, donde +\begin_inset Formula $q_{i}>\frac{p_{i}^{2}}{4}$ +\end_inset + + para que los factores sean irreducibles. + Entonces (si el grado de +\begin_inset Formula $P(x)$ +\end_inset + + es menor que el de +\begin_inset Formula $Q(x)$ +\end_inset + +) podemos expresar la fracción como +\begin_inset Formula +\[ +\frac{P(x)}{Q(x)}=\sum_{i=1}^{r}\sum_{j=1}^{m_{i}}\frac{A_{ij}}{(x-a_{i})^{j}}+\sum_{i=1}^{M}\sum_{j=1}^{n_{i}}\frac{M_{ij}x+N_{ij}}{(x^{2}+p_{i}x+q_{i})^{j}} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Resolvemos los +\begin_inset Formula $A_{k,i}$ +\end_inset + +, +\begin_inset Formula $M_{k,i}$ +\end_inset + +, +\begin_inset Formula $N_{k,i}$ +\end_inset + + y nos queda hallar la integral de cada sumando como sigue: +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\frac{A}{x-a}dx=A\ln|x-a|+C$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\frac{A}{(x-a)^{n}}dx=-\frac{A}{(n-1)(x-a)^{n-1}}+C$ +\end_inset + +, donde +\begin_inset Formula $n\in2,3,\dots$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\backslash +sremember{FUVR2} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset Formula $\int\frac{Mx+N}{x^{2}+px+q}dx=\frac{M}{2}\ln\left(\left(x+\frac{p}{2}\right)^{2}+c^{2}\right)+\frac{N-\frac{Mp}{2}}{c}\arctan\left(\frac{x+\frac{p}{2}}{c}\right)+C$ +\end_inset + +, donde +\begin_inset Formula $c=\frac{\sqrt{4q-p^{2}}}{2}$ +\end_inset + +. +\end_layout + +\begin_layout Subsection +Funciones que contienen +\begin_inset Formula $\cos x$ +\end_inset + + y +\begin_inset Formula $\sin x$ +\end_inset + + +\end_layout + +\begin_layout Standard +En general, haremos +\begin_inset Formula $t=\tan\frac{x}{2}$ +\end_inset + + y entonces +\begin_inset Formula +\begin{eqnarray*} +\cos x=\frac{\cos(2\frac{x}{2})}{\sin^{2}\frac{x}{2}+\cos^{2}\frac{x}{2}}=\frac{\cos^{2}\frac{x}{2}-\sin^{2}\frac{x}{2}}{\sin^{2}\frac{x}{2}+\cos^{2}\frac{x}{2}} & \overset{\text{div. }\cos^{2}\frac{x}{2}}{=} & \frac{1-\tan^{2}\frac{x}{2}}{\tan^{2}\frac{x}{2}+1}=\frac{1-t^{2}}{1+t^{2}}\\ +\sin x=\frac{\sin(2\frac{x}{2})}{\sin^{2}\frac{x}{2}+\cos^{2}\frac{x}{2}}=\frac{2\sin\frac{x}{2}\cos\frac{x}{2}}{\sin^{2}\frac{x}{2}+\cos^{2}\frac{x}{2}} & \overset{\text{div. }\cos^{2}\frac{x}{2}}{=} & \frac{2\tan\frac{x}{2}}{\tan^{2}\frac{x}{2}+1}=\frac{2t}{1+t^{2}}\\ +x=2\arctan t & \text{ y } & dx=\frac{2}{1+t^{2}}dt +\end{eqnarray*} + +\end_inset + + +\end_layout + +\begin_layout Standard +Si la función es de la forma +\begin_inset Formula $f(x)=g(\sin x)\cos x$ +\end_inset + +, siendo +\begin_inset Formula $g$ +\end_inset + + una función racional, hacemos +\begin_inset Formula $t=\sin x$ +\end_inset + +, y si es +\begin_inset Formula $f(x)=g(\cos x)\sin x$ +\end_inset + + hacemos +\begin_inset Formula $t=\cos x$ +\end_inset + +. + Si es +\begin_inset Formula $f(x)=g(\tan x)$ +\end_inset + + hacemos +\begin_inset Formula $\tan x=t$ +\end_inset + +, y podemos llegar a esta situación cuando al sustituir +\begin_inset Formula $\sin x$ +\end_inset + + por +\begin_inset Formula $\cos x\tan x$ +\end_inset + + quedan solo potencias pares de +\begin_inset Formula $\cos x$ +\end_inset + +, y hacemos +\begin_inset Formula $\cos^{2}x=\frac{1}{1+\tan^{2}x}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +En el caso +\begin_inset Formula $f(x)=\cos^{n}x\sin^{m}x$ +\end_inset + +, si +\begin_inset Formula $n$ +\end_inset + + es impar hacemos +\begin_inset Formula $t=\sin x$ +\end_inset + +, si +\begin_inset Formula $m$ +\end_inset + + es impar, +\begin_inset Formula $t=\cos x$ +\end_inset + +, y si ambos son pares, usamos +\begin_inset Formula $\cos^{2}x=\frac{1+\cos(2x)}{2}$ +\end_inset + + y +\begin_inset Formula $\sin^{2}x=\frac{1-\cos(2x)}{2}$ +\end_inset + + para +\begin_inset Quotes cld +\end_inset + +reducir el grado +\begin_inset Quotes crd +\end_inset + +. +\end_layout + +\begin_layout Subsection +Funciones de la forma +\begin_inset Formula $f(e^{x})$ +\end_inset + + +\end_layout + +\begin_layout Standard +Hacemos el cambio +\begin_inset Formula $t=e^{x}$ +\end_inset + + y +\begin_inset Formula $dt=e^{x}dx$ +\end_inset + +, y esto también sirve para el coseno y seno hiperbólicos ( +\begin_inset Formula $\cosh$ +\end_inset + + y +\begin_inset Formula $\sinh$ +\end_inset + +). +\end_layout + +\begin_layout Subsection +Funciones que contienen +\begin_inset Formula $\sqrt{ax^{2}+2bx+c}$ +\end_inset + + +\end_layout + +\begin_layout Standard +Llamamos +\begin_inset Formula $d:=\frac{ac-b^{2}}{a}$ +\end_inset + + y se tiene +\begin_inset Formula $ax^{2}+2bx+c=a\left(x+\frac{b}{a}\right)^{2}+d$ +\end_inset + +. + Hacemos entonces el cambio de variable +\begin_inset Formula $t=x+\frac{b}{a}$ +\end_inset + + y a continuación: +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $a>0$ +\end_inset + + y +\begin_inset Formula $d>0$ +\end_inset + + hacemos +\begin_inset Formula $at^{2}=d\tan^{2}u$ +\end_inset + + y entonces +\begin_inset Formula $\sqrt{at^{2}+d}=[...]\sqrt{d}\sec u$ +\end_inset + + y +\begin_inset Formula $dt=\sqrt{\frac{d}{a}}\sec^{2}u\,du$ +\end_inset + +. + También podemos hacer +\begin_inset Formula $at^{2}=d\sinh^{2}u$ +\end_inset + + y entonces +\begin_inset Formula $\sqrt{at^{2}+d}=[...]\sqrt{d}\cosh u$ +\end_inset + + y +\begin_inset Formula $dt=\sqrt{\frac{d}{a}}\cosh u\,du$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $a>0$ +\end_inset + + y +\begin_inset Formula $d<0$ +\end_inset + + hacemos +\begin_inset Formula $at^{2}=-d\sec^{2}u$ +\end_inset + + y entonces +\begin_inset Formula $\sqrt{at^{2}+d}=[...]\sqrt{-d}\tan u$ +\end_inset + + y +\begin_inset Formula $dt=\sqrt{-\frac{d}{a}}\sec u\tan u\,du$ +\end_inset + +. + También podemos hacer +\begin_inset Formula $at^{2}=-d\cosh^{2}u$ +\end_inset + + y entonces +\begin_inset Formula $\sqrt{at^{2}+d}=[...]\sqrt{-d}\sinh u$ +\end_inset + + y +\begin_inset Formula $dt=\sqrt{-\frac{d}{a}}\sinh u\,du$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\backslash +sremember{FUVR2} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Itemize +Si +\begin_inset Formula $a<0$ +\end_inset + + y +\begin_inset Formula $d>0$ +\end_inset + + hacemos +\begin_inset Formula $at^{2}=-d\sin^{2}u$ +\end_inset + + y entonces +\begin_inset Formula $\sqrt{at^{2}+d}=[..]\sqrt{d}\cos u$ +\end_inset + + y +\begin_inset Formula $dt=\sqrt{-\frac{d}{a}}\cos u\,du$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +eremember +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Section +Cambio de variable +\end_layout + +\begin_layout Standard +Sea +\begin_inset Formula $\Omega$ +\end_inset + + un abierto y +\begin_inset Formula $T:\Omega\subseteq\mathbb{R}^{n}\rightarrow\mathbb{R}^{n}$ +\end_inset + +, llamamos +\series bold +jacobiano +\series default + de +\begin_inset Formula $T$ +\end_inset + + en +\begin_inset Formula $a\in\Omega$ +\end_inset + + a la matriz cuadrada asociada a +\begin_inset Formula $dT(a)$ +\end_inset + +, +\begin_inset Formula $\left(\frac{\partial T_{i}}{\partial x_{j}}(a)\right)_{ij}$ +\end_inset + +. + El +\series bold +teorema de cambio de variable +\series default + afirma que si +\begin_inset Formula $\Omega\subseteq\mathbb{R}^{n}$ +\end_inset + + es un abierto medible Jordan y +\begin_inset Formula $T:\Omega\rightarrow\mathbb{R}^{n}$ +\end_inset + + es una función inyectiva diferenciable con derivadas parciales continuas + tal que +\begin_inset Formula $\forall x\in\Omega,\det(dg(x))\neq0$ +\end_inset + +, si +\begin_inset Formula $f:T(\Omega)\rightarrow\mathbb{R}$ +\end_inset + + es integrable Riemann en +\begin_inset Formula $T(\Omega)$ +\end_inset + + entonces +\begin_inset Formula $f\circ T$ +\end_inset + + es integrable Riemann en +\begin_inset Formula $\Omega$ +\end_inset + + y +\begin_inset Formula +\[ +\int_{g(A)}f(\vec{x})d\vec{x}=\int f(T(\vec{y}))|\det(dg(\vec{y}))|d\vec{y} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Algunos cambios de variable importantes: +\end_layout + +\begin_layout Itemize + +\series bold +Coordenadas polares +\series default + en +\begin_inset Formula $\mathbb{R}^{2}$ +\end_inset + +: Los puntos vienen dados por la distancia al origen, y el ángulo entre + el eje OX y el vector desde el origen al punto. + La función de cambio de variable es +\begin_inset Formula $T(\rho,\theta)=(\rho\cos\theta,\rho\sin\theta)$ +\end_inset + +, inyectiva en cualquier banda de la forma +\begin_inset Formula $(0,+\infty)\times(a,b)$ +\end_inset + + con +\begin_inset Formula $b-a\leq2\pi$ +\end_inset + +, y +\begin_inset Formula +\[ +|dT(\rho,\theta)|=\left|\begin{array}{cc} +\cos\theta & -\rho\sin\theta\\ +\sin\theta & \rho\cos\theta +\end{array}\right|=\rho +\] + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\series bold +Coordenadas cilíndricas +\series default + en +\begin_inset Formula $\mathbb{R}^{3}$ +\end_inset + +: Los puntos vienen dados por las coordenadas de +\begin_inset Formula $(x,y)$ +\end_inset + + en polares y la coordenada +\begin_inset Formula $z$ +\end_inset + +. + La función de cambio es +\begin_inset Formula $T(\rho,\theta,z)=(\rho\cos\theta,\rho\sin\theta,z)$ +\end_inset + +, inyectiva en cualquier banda de la forma +\begin_inset Formula $(0,+\infty)\times(a,b)\times\mathbb{R}$ +\end_inset + + con +\begin_inset Formula $b-a\leq2\pi$ +\end_inset + +, y +\begin_inset Formula +\[ +|dT(\rho,\theta,z)|=\left|\begin{array}{ccc} +\cos\theta & -\rho\sin\theta & 0\\ +\sin\theta & \rho\cos\theta & 0\\ +0 & 0 & 1 +\end{array}\right|=\rho +\] + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\series bold +Coordenadas esféricas +\series default + o +\series bold +polares +\series default + en +\begin_inset Formula $\mathbb{R}^{3}$ +\end_inset + +: Los puntos vienen dados por la distancia al origen; el ángulo entre el + eje OX y la proyección en el plano XY del vector del origen al punto, y + el ángulo entre el eje OZ y el vector del origen al punto. + La función de cambio es +\begin_inset Formula $T(\rho,\theta,\varphi)=(\rho\cos\theta\sin\varphi,\rho\sin\theta\sin\varphi,\rho,\rho\cos\varphi)$ +\end_inset + +, inyectiva en cualquier banda de la forma +\begin_inset Formula $(0,+\infty)\times(a,b)\times(0,\pi)$ +\end_inset + + con +\begin_inset Formula $b-a\leq2\pi$ +\end_inset + +, y +\begin_inset Formula +\[ +|dT(\rho,\theta,\varphi)|=\left|\begin{array}{ccc} +\cos\theta\sin\varphi & -\rho\sin\theta\sin\varphi & \rho\cos\theta\cos\varphi\\ +\sin\theta\sin\varphi & \rho\cos\theta\sin\varphi & \rho\sin\theta\cos\varphi\\ +\cos\varphi & 0 & -\rho\sin\varphi +\end{array}\right|=\rho^{2}\sin\varphi +\] + +\end_inset + + +\end_layout + +\begin_layout Section +La integral de Riemann-Stieltjes +\end_layout + +\begin_layout Standard +Sean +\begin_inset Formula $f,\varphi:[a,b]\rightarrow\mathbb{R}$ +\end_inset + + y +\begin_inset Formula $P=\{a=t_{0}<\dots0,\exists\delta>0:\forall P,Q\in[a,b],(|P|,|Q|<\delta\implies|R(f,\varphi,P)-R(f,\varphi,Q)|<\varepsilon)$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + +Dado +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, existe +\begin_inset Formula $\delta>0$ +\end_inset + + tal que si +\begin_inset Formula $|P|<\delta$ +\end_inset + + entonces +\begin_inset Formula $\left|R(f,\varphi,P)-\int_{a}^{b}f\,d\varphi\right|<\frac{\varepsilon}{2}$ +\end_inset + +, pero si +\begin_inset Formula $P$ +\end_inset + + y +\begin_inset Formula $Q$ +\end_inset + + son son particiones de +\begin_inset Formula $[a,b]$ +\end_inset + + con +\begin_inset Formula $|P|,|Q|<\delta$ +\end_inset + +, entonces +\begin_inset Formula +\[ +|R(f,\varphi,P)-R(f,\varphi,Q)|\leq\left|R(f,\varphi,P)-\int_{a}^{b}f\,d\varphi\right|+\left|\int_{a}^{b}f\,d\varphi-R(f,\varphi,Q)\right|<\frac{\varepsilon}{2}+\frac{\varepsilon}{2}=\varepsilon +\] + +\end_inset + + +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\impliedby]$ +\end_inset + + +\end_layout + +\end_inset + +Dada una sucesión de particiones +\begin_inset Formula $(P_{k})_{k}$ +\end_inset + + de +\begin_inset Formula $[a,b]$ +\end_inset + + con +\begin_inset Formula $|P_{k}|\rightarrow0$ +\end_inset + +, por la condición se tiene que +\begin_inset Formula $(R(f,\varphi,P_{k}))_{k}$ +\end_inset + + es de Cauchy y por tanto converge hacia un +\begin_inset Formula $I\in\mathbb{R}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $f$ +\end_inset + + es continua en +\begin_inset Formula $[a,b]$ +\end_inset + + y +\begin_inset Formula $\varphi$ +\end_inset + + es monótona creciente definida en +\begin_inset Formula $[a,b]$ +\end_inset + +, entonces +\begin_inset Formula $f$ +\end_inset + + es integrable Riemann-Stieltjes respecto a +\begin_inset Formula $\varphi$ +\end_inset + + en +\begin_inset Formula $[a,b]$ +\end_inset + +. + +\series bold +Demostración: +\series default + Al ser +\begin_inset Formula $f$ +\end_inset + + continua en un compacto, es uniformemente continua, luego para +\begin_inset Formula $\varepsilon>0$ +\end_inset + + existe +\begin_inset Formula $\delta>0$ +\end_inset + + tal que si +\begin_inset Formula $|x-y|<\delta$ +\end_inset + + entonces +\begin_inset Formula $|f(x)-f(y)|<\frac{\varepsilon}{\varphi(b)-\varphi(a)}$ +\end_inset + +. + Sean +\begin_inset Formula $P:=\{a=x_{0}<\dotsa\}\in\Sigma\iff\forall a\in\mathbb{R},\{f\geq a\}\in\Sigma\\ +\iff\forall a\in\mathbb{R},\{fa\}$ +\end_inset + + también lo es. +\end_layout + +\begin_layout Description +\begin_inset Formula $3\implies1]$ +\end_inset + + Para cada elemento de +\begin_inset Formula $\{(a,+\infty]\}_{a\in\mathbb{R}}$ +\end_inset + +, +\begin_inset Formula $f^{-1}((a,+\infty])=\{f>a\}\in\Sigma$ +\end_inset + +, y por tanto +\begin_inset Formula $f$ +\end_inset + + es medible. +\end_layout + +\begin_layout Description +\begin_inset Formula $2\implies3]$ +\end_inset + + +\begin_inset Formula $\{f\geq a\}=\bigcap_{k=1}^{\infty}\{f>a-\frac{1}{k}\}$ +\end_inset + +. +\end_layout + +\begin_layout Description +\begin_inset Formula $3\implies4]$ +\end_inset + + +\begin_inset Formula $\{fa\}=\Omega\backslash\{f\leq a\}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Además, si +\begin_inset Formula $f$ +\end_inset + + es medible, +\begin_inset Formula $\{f>-\infty\}$ +\end_inset + +, +\begin_inset Formula $\{f<+\infty\}$ +\end_inset + +, +\begin_inset Formula $\{f=-\infty\}$ +\end_inset + +, +\begin_inset Formula $\{f=+\infty\}$ +\end_inset + +, +\begin_inset Formula $\{a\leq f\leq b\}$ +\end_inset + +, +\begin_inset Formula $\{f=a\}$ +\end_inset + +, etc. + son medibles, y +\begin_inset Formula $f$ +\end_inset + + es medible si y sólo si +\begin_inset Formula $\{f=-\infty\}$ +\end_inset + + es medible y para +\begin_inset Formula $a\in\mathbb{R}$ +\end_inset + +, +\begin_inset Formula $\{aa\}\cap\bigcup_{k=1}^{\infty}\{fa\}=\{aa\}$ +\end_inset + + es medible para todo +\begin_inset Formula $a\in A$ +\end_inset + +, +\begin_inset Formula $f$ +\end_inset + + es medible. + +\series bold +Demostración: +\series default + Para +\begin_inset Formula $a\in\mathbb{R}$ +\end_inset + +, existe una sucesión +\begin_inset Formula $(a_{k})_{k}$ +\end_inset + + de elementos de +\begin_inset Formula $A$ +\end_inset + + que converge a +\begin_inset Formula $a$ +\end_inset + + con +\begin_inset Formula $a_{k}>a\forall k\in\mathbb{N}$ +\end_inset + +, y entonces +\begin_inset Formula $\{f>a\}=\bigcup\{f>a_{k}\}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset Formula $f:\Omega\rightarrow[-\infty,+\infty]$ +\end_inset + + es medible si y sólo si para todo abierto +\begin_inset Formula $G\subseteq\mathbb{R}^{n}$ +\end_inset + +, +\begin_inset Formula $f^{-1}(G)$ +\end_inset + + es medible. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + +Los abiertos de +\begin_inset Formula $\mathbb{R}^{n}$ +\end_inset + + están en +\begin_inset Formula $\sigma(\{(a,+\infty]\}_{a\in\mathbb{R}})$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\impliedby]$ +\end_inset + + +\end_layout + +\end_inset + +Para todo +\begin_inset Formula $a\in\mathbb{R}$ +\end_inset + +, +\begin_inset Formula $f^{-1}((a,+\infty))=\{ag\}$ +\end_inset + + también lo es. +\end_layout + +\begin_deeper +\begin_layout Standard +Si +\begin_inset Formula $\{r_{k}\}_{k\in\mathbb{N}}=\mathbb{Q}$ +\end_inset + +, entonces +\begin_inset Formula $\{f>g\}=\bigcup_{k=1}^{\infty}\{f>r_{k}>g\}=\bigcup_{k=1}^{\infty}(\{f>r_{k}\}\cap\{ga\})=\mu(\{f>a\})$ +\end_inset + +. +\end_layout + +\begin_deeper +\begin_layout Standard +Si +\begin_inset Formula $Z:=\{f\neq g\}$ +\end_inset + +, +\begin_inset Formula $\{g>a\}\cup Z=\{f>a\}\cup Z$ +\end_inset + +, luego si +\begin_inset Formula $f$ +\end_inset + + es medible, +\begin_inset Formula $\{g>a\}\cup Z$ +\end_inset + + lo es y como difiere de +\begin_inset Formula $\{g>a\}$ +\end_inset + + por un conjunto de medida cero, +\begin_inset Formula $g$ +\end_inset + + es medible. + Por último, +\begin_inset Formula $\mu(\{g>a\})=\mu(\{g>a\}\cup Z)=\mu(\{f>a\}\cup Z)=\mu(\{f>a\})$ +\end_inset + +. +\end_layout + +\end_deeper +\begin_layout Enumerate +Si +\begin_inset Formula $f$ +\end_inset + + es medible y +\begin_inset Formula $\lambda\in\mathbb{R}$ +\end_inset + +, +\begin_inset Formula $f+\lambda$ +\end_inset + + y +\begin_inset Formula $\lambda f$ +\end_inset + + son medibles. +\end_layout + +\begin_deeper +\begin_layout Standard +Para +\begin_inset Formula $a\in\mathbb{R}$ +\end_inset + +, +\begin_inset Formula $\{f+\lambda>a\}=\{f>a-\lambda\}$ +\end_inset + + y +\begin_inset Formula +\[ +\{\lambda f>a\}=\begin{cases} +f>\frac{a}{\lambda} & \text{si }\lambda>0\\ +f<\frac{a}{\lambda} & \text{si }\lambda<0\\ +\Omega & \text{si }\lambda=0\land a<0\\ +\emptyset & \text{si }\lambda=0\land a\geq0 +\end{cases} +\] + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Si +\begin_inset Formula $f$ +\end_inset + + y +\begin_inset Formula $g$ +\end_inset + + son medibles, también lo es +\begin_inset Formula $f+g$ +\end_inset + +. + Esto significa que las combinaciones lineales +\begin_inset Formula $\lambda_{1}f_{1}+\dots+\lambda_{n}f_{n}$ +\end_inset + + de funciones medibles +\begin_inset Formula $f_{1},\dots,f_{n}$ +\end_inset + + son medibles, por lo que el conjunto de funciones +\begin_inset Formula $\Omega\rightarrow[-\infty,+\infty]$ +\end_inset + + +\begin_inset Formula $\Sigma$ +\end_inset + +-medibles es un espacio vectorial. +\end_layout + +\begin_deeper +\begin_layout Standard +Para +\begin_inset Formula $a\in\mathbb{R}$ +\end_inset + +, si +\begin_inset Formula $g$ +\end_inset + + es medible, también lo es +\begin_inset Formula $a-g$ +\end_inset + +, y entonces +\begin_inset Formula $\{f+g>a\}=\{f>a-g\}$ +\end_inset + +. +\end_layout + +\end_deeper +\begin_layout Enumerate +Para +\begin_inset Formula $f,g:\Omega\rightarrow[-\infty,+\infty]$ +\end_inset + + medibles, +\begin_inset Formula $fg$ +\end_inset + + es medible y, si +\begin_inset Formula $g\neq0$ +\end_inset + + en casi todo punto, +\begin_inset Formula $f/g$ +\end_inset + + (definida en casi todo punto) es medible. +\end_layout + +\begin_deeper +\begin_layout Standard +Si +\begin_inset Formula $f$ +\end_inset + + es medible, es fácil ver que +\begin_inset Formula $f^{2}=|f|^{2}$ +\end_inset + + también lo es. + Para valores finitos, +\begin_inset Formula $fg=\frac{(f+g)^{2}-(f-g)^{2}}{4}$ +\end_inset + +. + Si alguna de las funciones puede tener valores infinitos, vemos que +\begin_inset Formula $\{f=+\infty\}$ +\end_inset + +, +\begin_inset Formula $\{f=-\infty\}$ +\end_inset + +, +\begin_inset Formula $\{f=0\}$ +\end_inset + +, +\begin_inset Formula $\{g=+\infty\}$ +\end_inset + +, etc. + son medibles y por tanto +\begin_inset Formula $\{fg=0\}=\{f=0\}\cup\{g=0\}$ +\end_inset + +, +\begin_inset Formula $\{fg=+\infty\}$ +\end_inset + + y +\begin_inset Formula $\{fg=-\infty\}$ +\end_inset + + también lo son. + Para +\begin_inset Formula $f/g$ +\end_inset + +, basta ver que +\begin_inset Formula $1/g$ +\end_inset + + es medible, pero dado +\begin_inset Formula $a\in\mathbb{R}$ +\end_inset + +, +\begin_inset Formula +\[ +\{1/g>a\}=\begin{cases} +\{00\\ +\{0a\}=\bigcup_{k}\{f_{k}>a\}$ +\end_inset + +. +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{sloppypar} +\end_layout + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Section +Funciones simples +\end_layout + +\begin_layout Standard +Una +\series bold +función simple +\series default + es aquella cuya imagen es finita. + Si +\begin_inset Formula $f:\Omega\rightarrow\Omega'$ +\end_inset + + es una función simple que toma valores distintos +\begin_inset Formula $a_{1},\dots,a_{n}$ +\end_inset + + en conjuntos disjuntos respectivos +\begin_inset Formula $E_{1},\dots,E_{n}$ +\end_inset + +, su +\series bold +forma canónica +\series default + es +\begin_inset Formula +\[ +f=\sum_{k=1}^{n}a_{k}\chi_{E_{k}} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Claramente +\begin_inset Formula $\chi_{E}$ +\end_inset + + es medible si y sólo si +\begin_inset Formula $E$ +\end_inset + + lo es, por lo que +\begin_inset Formula $f$ +\end_inset + + es medible si y sólo si lo son +\begin_inset Formula $E_{1},\dots,E_{n}$ +\end_inset + +. + Algunos autores sólo llaman funciones simples a las que además son medibles. + Como +\series bold +teorema +\series default +: +\end_layout + +\begin_layout Enumerate +Toda función +\begin_inset Formula $f:\Omega\rightarrow[0,+\infty]$ +\end_inset + + es límite de una sucesión creciente de funciones simples. +\end_layout + +\begin_deeper +\begin_layout Standard +Para +\begin_inset Formula $k\in\mathbb{N}$ +\end_inset + +, subdividimos +\begin_inset Formula $[0,k]$ +\end_inset + + en subintervalos +\begin_inset Formula $\{[(j-1)2^{-k},j2^{-k}]\}_{j\in\{1,\dots,k2^{k}\}}$ +\end_inset + + y definimos +\begin_inset Formula +\[ +f_{k}(x):=\begin{cases} +\frac{j-1}{2^{k}} & \text{si }\frac{j-1}{2^{k}}\leq f(x)<\frac{j}{2^{k}},j\in\{1,\dots,k2^{k}\}\\ +k & \text{si }f(x)\geq k +\end{cases} +\] + +\end_inset + +Cada +\begin_inset Formula $f_{k}$ +\end_inset + + es una función simple definida en todo +\begin_inset Formula $\Omega$ +\end_inset + +, +\begin_inset Formula $f_{k}\leq f_{k+1}$ +\end_inset + + porque al pasar de +\begin_inset Formula $f_{k}$ +\end_inset + + a +\begin_inset Formula $f_{k+1}$ +\end_inset + + dividimos los intervalos por la mitad y permitimos valores mayores en la + imagen, y +\begin_inset Formula $f_{k}\rightarrow f$ +\end_inset + + porque para un valor +\begin_inset Formula $k$ +\end_inset + + lo suficientemente grande, +\begin_inset Formula $0\leq f(x)-f_{k}(x)\leq2^{-k}$ +\end_inset + + si +\begin_inset Formula $f(x)$ +\end_inset + + es finito y +\begin_inset Formula $f_{k}=k\rightarrow+\infty$ +\end_inset + + si +\begin_inset Formula $f(x)=+\infty$ +\end_inset + +. +\end_layout + +\end_deeper +\begin_layout Enumerate +Toda función +\begin_inset Formula $f:\Omega\rightarrow[-\infty,+\infty]$ +\end_inset + + es límite de una sucesión de funciones simples. +\end_layout + +\begin_deeper +\begin_layout Standard +Basta aplicar lo anterior a +\begin_inset Formula $f^{+}:=\max\{0,f\}$ +\end_inset + + y +\begin_inset Formula $f^{-}:=-\min\{0,f\}$ +\end_inset + + y restar las sucesiones resultantes. +\end_layout + +\end_deeper +\begin_layout Enumerate +Si la función +\begin_inset Formula $f$ +\end_inset + + en los dos apartados anteriores es medible, podemos hacer que las +\begin_inset Formula $f_{k}$ +\end_inset + + también lo sean. +\end_layout + +\begin_deeper +\begin_layout Standard +En el primer apartado, +\begin_inset Formula +\[ +f_{k}=\sum_{j=1}^{k2^{k}}\frac{j-1}{2^{k}}\chi_{\left\{ \frac{j-1}{2^{k}}\leq f<\frac{j}{2^{k}}\right\} }+k\chi_{\{f\geq k\}} +\] + +\end_inset + +que es medible porque todos los conjuntos involucrados lo son, y en el segundo + basta considerar +\begin_inset Formula $f^{+}$ +\end_inset + + y +\begin_inset Formula $f^{-}$ +\end_inset + +. +\end_layout + +\end_deeper +\begin_layout Standard +Si +\begin_inset Formula $f$ +\end_inset + + es acotada, las funciones simples dadas convergerán uniformemente a +\begin_inset Formula $f$ +\end_inset + +. +\end_layout + +\begin_layout Section +Integrales en funciones positivas +\end_layout + +\begin_layout Standard +Sea +\begin_inset Formula $(\Omega,\Sigma,\mu)$ +\end_inset + + un espacio de medida, +\begin_inset Formula ${\cal S}(\Omega)$ +\end_inset + + el espacio vectorial de las funciones simples +\begin_inset Formula $\Omega\rightarrow[-\infty,+\infty]$ +\end_inset + + y +\begin_inset Formula ${\cal S}(\Omega)^{+}:=\{h\in{\cal S}(\Omega):h\geq0\}$ +\end_inset + +, llamamos +\series bold +integral +\series default + de una función simple +\begin_inset Formula $h:=\sum_{k=1}^{n}a_{k}\chi_{E_{k}}\in{\cal S}(\Omega)^{+}$ +\end_inset + + como +\begin_inset Formula +\[ +\int h\,d\mu:=\sum_{k=1}^{n}a_{k}\mu(E_{k}) +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $f,g\in{\cal S}(\Omega)^{+}$ +\end_inset + +: +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $\alpha\in[0,+\infty)$ +\end_inset + +, +\begin_inset Formula $\int\alpha f\,d\mu=\alpha\int f\,d\mu$ +\end_inset + +. +\end_layout + +\begin_deeper +\begin_layout Standard +Supongamos +\begin_inset Formula $f=:\sum_{i=1}^{n}a_{i}\chi_{A_{i}}$ +\end_inset + + y +\begin_inset Formula $g=:\sum_{j=1}^{m}b_{j}\chi_{B_{j}}$ +\end_inset + +. + Entonces +\begin_inset Formula $\alpha f=\sum_{i=1}^{n}\alpha a_{i}\chi_{A_{i}}$ +\end_inset + + y +\begin_inset Formula +\[ +\int\alpha f\,d\mu=\sum_{i=1}^{n}\alpha a_{i}\mu(A_{i})=\alpha\sum_{i=1}^{n}a_{i}\mu(A_{i})=\alpha\int f\,d\mu +\] + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +\begin_inset Formula $\int(f+g)d\mu=\int f\,d\mu+\int g\,d\mu$ +\end_inset + +. +\end_layout + +\begin_deeper +\begin_layout Standard +Sean +\begin_inset Formula $C:=\{c_{1},\dots,c_{r}\}=\{a_{i}+b_{j}\}_{i\in\{1,\dots,n\},j\in\{1,\dots,m\}}$ +\end_inset + +, y +\begin_inset Formula $C_{k}:=\bigcup_{a_{i}+b_{j}=c_{k}}(A_{i}\cap B_{j})$ +\end_inset + + para cada +\begin_inset Formula $c_{k}$ +\end_inset + +, tenemos +\begin_inset Formula $f+g=\sum_{k=1}^{r}c_{k}\chi_{C_{k}}$ +\end_inset + +. + Entonces +\begin_inset Formula +\begin{multline*} +\int f+g\,d\mu=\sum_{k=1}^{r}c_{k}\mu(C_{k})=\sum_{k=1}^{r}c_{k}\mu(C_{k})=\sum_{k=1}^{r}c_{k}\left(\sum_{a_{i}+b_{j}=c_{k}}\mu(A_{i}\cap B_{j})\right)=\\ +=\sum_{k=1}^{r}\sum_{a_{i}+b_{j}=c_{k}}(a_{i}+b_{j})\mu(A_{i}\cap B_{j})=\sum_{i=1}^{n}\sum_{j=1}^{m}((a_{i}+b_{j})\mu(A_{i}\cap B_{j})=\\ +=\sum_{i=1}^{n}a_{i}\left(\sum_{j=1}^{m}\mu(A_{i}\cap B_{j})\right)+\sum_{j=1}^{m}b_{j}\left(\sum_{i=1}^{n}\mu(A_{i}\cap B_{j})\right)=\sum_{i=1}^{n}a_{i}\mu(A_{i})+\sum_{j=1}^{m}b_{i}\mu(B_{j}) +\end{multline*} + +\end_inset + + +\end_layout + +\end_deeper +\begin_layout Enumerate +Si +\begin_inset Formula $f\leq g$ +\end_inset + + entonces +\begin_inset Formula $\int f\,d\mu\leq\int g\,d\mu$ +\end_inset + +. +\begin_inset Formula +\[ +\int g\,d\mu=\int f\,d\mu+\int(g-f)d\mu\geq\int f\,d\mu +\] + +\end_inset + + +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\nu:\Sigma\rightarrow[0,+\infty]$ +\end_inset + + dada por +\begin_inset Formula $\nu(E):=\int f\chi_{E}d\mu$ +\end_inset + + es una medida finita. +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset Formula $\nu(E)=\sum_{i=1}^{n}a_{i}\mu(A_{i}\cap E)$ +\end_inset + +, y como las aplicaciones +\begin_inset Formula $\nu_{i}(E)=\mu(E\cap A_{i})$ +\end_inset + + son medidas, +\begin_inset Formula $\nu$ +\end_inset + + también lo es. +\end_layout + +\end_deeper +\begin_layout Standard +Para +\begin_inset Formula $f:\Omega\rightarrow[0,+\infty]$ +\end_inset + + medible, se define +\begin_inset Formula +\[ +\int f\,d\mu:=\sup\left\{ \int s\,d\mu:s\in{\cal S}(\Omega)\land0\leq s\leq f\right\} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Esta definición es compatible con la dada inicialmente para funciones simples. + Para +\begin_inset Formula $E\in\Sigma$ +\end_inset + +, se define +\begin_inset Formula +\[ +\int_{E}f\,d\mu:=\int\chi_{E}f\,d\mu +\] + +\end_inset + + +\begin_inset Newpage pagebreak +\end_inset + + +\end_layout + +\begin_layout Standard +Para +\begin_inset Formula $f,g:\Omega\rightarrow[0,+\infty]$ +\end_inset + + medibles y +\begin_inset Formula $A,B\in\Sigma$ +\end_inset + +: +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $f\leq g\implies\int f\,d\mu\leq\int g\,d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $A\subseteq B\implies\int_{A}f\,d\mu\leq\int_{B}f\,d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\forall\alpha\in[0,+\infty),\int\alpha f\,d\mu=\alpha\int f\,d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $f|_{A}=0\implies\int_{A}f\,d\mu=0$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\mu(A)=0\implies\int_{A}f\,d\mu=0$ +\end_inset + +. +\end_layout + +\begin_layout Standard +La +\series bold +desigualdad de Tchevichev +\series default + afirma que si +\begin_inset Formula $f:\Omega\rightarrow[0,+\infty]$ +\end_inset + + es medible y +\begin_inset Formula $E\in\Sigma$ +\end_inset + +: +\end_layout + +\begin_layout Enumerate +Si para +\begin_inset Formula $t>0$ +\end_inset + + definimos +\begin_inset Formula $E_{t}:=E\cap\{f>t\}$ +\end_inset + +, entonces +\begin_inset Formula +\[ +t\mu(E_{t})\leq\int_{E_{t}}f\,d\mu\leq\int f\,d\mu +\] + +\end_inset + +Se obtiene de integrar en +\begin_inset Formula $t\chi_{E_{t}}\leq f\chi_{E_{t}}\leq f$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $\int_{E}f\,d\mu=0$ +\end_inset + + entonces +\begin_inset Formula $f(\omega)=0$ +\end_inset + + para casi todo +\begin_inset Formula $\omega\in E$ +\end_inset + +. +\end_layout + +\begin_deeper +\begin_layout Standard +Por lo anterior, +\begin_inset Formula $\forall k\in\mathbb{N},\mu(E_{\frac{1}{k}})=0$ +\end_inset + +, y como +\begin_inset Formula $\{f\neq0\}=\bigcup_{k}E_{\frac{1}{k}}$ +\end_inset + +, este conjunto también tiene medida nula. +\end_layout + +\end_deeper +\begin_layout Enumerate +Si +\begin_inset Formula $\int_{E}f\,d\mu<+\infty$ +\end_inset + + entonces +\begin_inset Formula $f(\omega)<+\infty$ +\end_inset + + para casi todo +\begin_inset Formula $\omega\in E$ +\end_inset + +. +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset Formula $\mu(E_{k})\leq\frac{1}{k}\int f\,d\mu$ +\end_inset + +, luego +\begin_inset Formula $\mu(\{f=+\infty\})=\mu\left(\bigcap_{k}E_{k}\right)=\lim_{n}\mu(E_{k})=0$ +\end_inset + +. +\end_layout + +\end_deeper +\begin_layout Enumerate +Si +\begin_inset Formula $\int_{E}f\,d\mu<+\infty$ +\end_inset + + entonces +\begin_inset Formula $\{f>0\}$ +\end_inset + + es +\begin_inset Formula $\sigma$ +\end_inset + +-finito. +\end_layout + +\begin_deeper +\begin_layout Standard +\begin_inset Formula $\{f>0\}=\bigcup_{k}E_{\frac{1}{k}}$ +\end_inset + + y cada +\begin_inset Formula $E_{\frac{1}{k}}$ +\end_inset + + tiene medida finita. +\end_layout + +\end_deeper +\begin_layout Standard +El +\series bold +teorema de convergencia monótona de Lebesgue +\series default + afirma que si +\begin_inset Formula $(f_{n}:\Omega\rightarrow[0,+\infty])_{n}$ +\end_inset + + es una sucesión creciente de funciones medibles que converge puntualmente + a +\begin_inset Formula $f:\Omega\rightarrow[0,+\infty]$ +\end_inset + +, entonces +\begin_inset Formula +\[ +\int f\,d\mu=\lim_{n}\int f_{n}d\mu +\] + +\end_inset + + +\series bold +Demostración: +\series default + Sea +\begin_inset Formula $\alpha:=\sup\int f_{n}d\mu\in[0,+\infty]$ +\end_inset + +, como +\begin_inset Formula $f_{n}\leq f\forall n$ +\end_inset + + y +\begin_inset Formula $f$ +\end_inset + + es medible por ser límite puntual de medibles, +\begin_inset Formula $\alpha\leq\int f$ +\end_inset + +. + Sea +\begin_inset Formula $s\leq f$ +\end_inset + + una función simple, al ser +\begin_inset Formula $f_{n}$ +\end_inset + + creciente y convergente a +\begin_inset Formula $f$ +\end_inset + +, se tiene que +\begin_inset Formula $(E_{n}:=\{f_{n}\geq s\})_{n}$ +\end_inset + + es creciente con +\begin_inset Formula $\bigcup_{n}E_{n}=\Omega$ +\end_inset + +. + Tenemos que +\begin_inset Formula $\int f_{n}d\mu\geq\int\chi_{E_{n}}f_{n}d\mu\geq\int\chi_{E_{n}}s\,d\mu$ +\end_inset + +. + Tomando límites aquí, vemos que +\begin_inset Formula $\alpha\geq\int\chi_{\Omega}s\,d\mu=\int s\,d\mu$ +\end_inset + +, y tomando supremos entre las funciones simples +\begin_inset Formula $s\leq f$ +\end_inset + +, +\begin_inset Formula $\alpha\geq\int f\,d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Usando esto podemos probar para +\begin_inset Formula $f,g:\Omega\rightarrow[0,+\infty]$ +\end_inset + + que +\begin_inset Formula $\int(f+g)d\mu=\int f\,d\mu+\int g\,d\mu$ +\end_inset + +, partiendo de la propiedad correspondiente para funciones simples. +\end_layout + +\begin_layout Standard +El +\series bold +teorema de Beppo-Levi +\series default + afirma que la suma de una sucesión de funciones medibles +\begin_inset Formula $f_{n}:\Omega\rightarrow[0,+\infty]$ +\end_inset + + es medible y +\begin_inset Formula +\[ +\int\left(\sum_{n=1}^{\infty}f_{n}\right)d\mu=\sum_{n=1}^{\infty}\int f_{n}d\mu +\] + +\end_inset + + +\series bold +Demostración: +\series default + +\begin_inset Formula $(F_{n}:=\sum_{k=1}^{n}f_{k})_{n}$ +\end_inset + + es una sucesión de funciones medibles, por lo que basta tomar límites en + +\begin_inset Formula $\int F_{n}d\mu=\sum_{k=1}^{n}\int f_{k}d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Una función +\begin_inset Formula $\Omega\rightarrow[0,+\infty]$ +\end_inset + + medible es +\series bold +integrable +\series default + si su integral es finita. + Por ejemplo, si +\begin_inset Formula $\Sigma={\cal P}(\Omega)$ +\end_inset + + y +\begin_inset Formula $\mu(E)=|E|\forall E\in\Sigma$ +\end_inset + +, una función +\begin_inset Formula $f$ +\end_inset + + medible positiva es integrable si y sólo si +\begin_inset Formula $\int f\,d\mu=\sum_{\omega\in\Omega}f(\omega)<+\infty$ +\end_inset + +, y si además +\begin_inset Formula $\Omega=\mathbb{N}$ +\end_inset + +, la sucesión +\begin_inset Formula $f$ +\end_inset + + es integrable si y sólo si la serie +\begin_inset Formula $\sum_{n}f(n)$ +\end_inset + + converge, y la integral coincide con la suma. + En tal caso, el teorema de Beppo-Levi nos dice que si +\begin_inset Formula $a_{n,m}$ +\end_inset + + es una sucesión doble de números positivos, entonces +\begin_inset Formula +\[ +\sum_{n=1}^{\infty}\sum_{m=1}^{\infty}a_{m,n}=\sum_{m=1}^{\infty}\sum_{n=1}^{\infty}a_{m,n} +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +El +\series bold +lema de Fatou +\series default + afirma que si +\begin_inset Formula $f_{n}:\Omega\rightarrow[0,+\infty]$ +\end_inset + + es una sucesión de funciones medibles, su límite inferior +\begin_inset Formula $f(\omega):=\liminf_{n}f_{n}(\omega)$ +\end_inset + + es medible y +\begin_inset Formula $\int f\,d\mu\leq\liminf_{n}\int f_{n}d\mu$ +\end_inset + +. + +\series bold +Demostración: +\series default + +\begin_inset Formula $(g_{n}:=\inf_{m\geq n}\{f_{m}(x)\})_{n}$ +\end_inset + + define una sucesión creciente de funciones medibles convergente hacia +\begin_inset Formula $f$ +\end_inset + +, y por la monotonía de la integral y el teorema de convergencia monótona, + +\begin_inset Formula +\[ +\int f\,d\mu=\sup_{n\in\mathbb{N}}\left\{ \int g_{n}d\mu\right\} \leq\sup_{n\in\mathbb{N}}\left\{ \inf_{m\geq n}\left\{ \int f_{m}d\mu\right\} \right\} =\liminf_{n}\int f_{n}d\mu +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, si +\begin_inset Formula $g:\Omega\rightarrow[0,+\infty]$ +\end_inset + + es medible, entonces +\begin_inset Formula $\nu:\Sigma\rightarrow[0,+\infty]$ +\end_inset + + dada por +\begin_inset Formula $\nu(E):=\int_{E}g\,d\mu$ +\end_inset + + es una medida y para +\begin_inset Formula $f:\Omega\rightarrow[0,+\infty]$ +\end_inset + +, +\begin_inset Formula +\[ +\int f\,d\nu=\int fg\,d\mu +\] + +\end_inset + + +\series bold +Demostración: +\series default + +\begin_inset Formula $\nu(\emptyset)=0$ +\end_inset + + y, dada una sucesión +\begin_inset Formula $(A_{n})_{n}$ +\end_inset + + de medibles disjuntos, +\begin_inset Formula $g\chi_{\bigcup_{n}A_{n}}=\sum_{n}g\chi_{A_{n}}$ +\end_inset + + y el teorema de Beppo-Levi nos da que +\begin_inset Formula $\nu(\bigcup_{n}A_{n})=\sum_{n}\nu(A_{n})$ +\end_inset + + y por tanto +\begin_inset Formula $\nu$ +\end_inset + + es una medida. + Sea +\begin_inset Formula $s:=\sum_{i=1}^{m}a_{i}\chi_{E_{i}}\in{\cal S}(\Omega)^{+}$ +\end_inset + +, +\begin_inset Formula +\[ +\int s\,d\nu=\sum_{i=1}^{m}a_{i}\int\chi_{E_{i}}g\,d\mu=\int\left(\sum_{i=1}^{m}a_{i}\chi_{E_{i}}\right)g\,d\mu=\int sg\,d\mu +\] + +\end_inset + +Usando el teorema de la convergencia monótona para tomar límites en una + sucesión creciente de funciones simples que converge a +\begin_inset Formula $f$ +\end_inset + + se completa la prueba. +\end_layout + +\begin_layout Section +Funciones integrables +\end_layout + +\begin_layout Standard +Una función medible +\begin_inset Formula $f:\Omega\rightarrow\mathbb{R}$ +\end_inset + + es integrable si +\begin_inset Formula $\int|f|d\mu<+\infty$ +\end_inset + +, si y sólo si +\begin_inset Formula $f^{+}=\max\{f,0\},f^{-}=\min\{f,0\}:\Omega\rightarrow[-\infty,+\infty]$ +\end_inset + + son integrables, y definimos +\begin_inset Formula +\[ +\int f\,d\mu:=\int f^{+}\,d\mu-\int f^{-}\,d\mu +\] + +\end_inset + +Si solo una de entre +\begin_inset Formula $f^{+}$ +\end_inset + + y +\begin_inset Formula $f^{-}$ +\end_inset + + es integrable, usamos esta misma definición y entonces +\begin_inset Formula $\int f\,d\mu\in[-\infty,+\infty]$ +\end_inset + +. + Una función medible +\begin_inset Formula $f:\Omega\rightarrow\mathbb{C}$ +\end_inset + + es integrable si +\begin_inset Formula $\int|f|d\mu<+\infty$ +\end_inset + +. + Si +\begin_inset Formula $u,v:\Omega\rightarrow\mathbb{R}$ +\end_inset + + son tales que +\begin_inset Formula $f=u+iv$ +\end_inset + +, es claro que +\begin_inset Formula $f$ +\end_inset + + es integrable si y sólo si +\begin_inset Formula $u$ +\end_inset + + y +\begin_inset Formula $v$ +\end_inset + + lo son, y definimos +\begin_inset Formula +\[ +\int f\,d\mu:=\int u\,d\mu+i\int v\,d\mu +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Llamamos +\begin_inset Formula ${\cal L}^{1}(\Omega,\Sigma,\mu)$ +\end_inset + + al conjunto de funciones integrables +\begin_inset Formula $f:\Omega\rightarrow\mathbb{C}$ +\end_inset + +. + Cuando basta indicar uno de los componentes de la terna y se sobreentiende + el resto, podemos escribir +\begin_inset Formula ${\cal L}^{1}(\Omega)$ +\end_inset + +, +\begin_inset Formula ${\cal L}^{1}(\Sigma)$ +\end_inset + + o +\begin_inset Formula ${\cal L}^{1}(\mu)$ +\end_inset + +. + El subconjunto de +\begin_inset Formula ${\cal L}^{1}$ +\end_inset + + formado por las funciones reales se denota +\begin_inset Formula ${\cal L}_{\mathbb{R}}^{1}(\mu)$ +\end_inset + +, y por definición +\begin_inset Formula $f\in{\cal L}^{1}(\mu)\iff|f|\in{\cal L}^{1}(\mu)$ +\end_inset + +. + Propiedades: +\end_layout + +\begin_layout Enumerate +\begin_inset Formula ${\cal L}^{1}(\mu)$ +\end_inset + + es un espacio vectorial complejo y, si lo consideramos como un espacio + vectorial real por el isomorfismo canónico entre +\begin_inset Formula $\mathbb{C}$ +\end_inset + + y +\begin_inset Formula $\mathbb{R}^{2}$ +\end_inset + +, +\begin_inset Formula ${\cal L}_{\mathbb{R}}^{1}$ +\end_inset + + es un subespacio suyo. +\begin_inset Newline newline +\end_inset + +Sean +\begin_inset Formula $f,g\in{\cal L}^{1}(\mu)$ +\end_inset + + y +\begin_inset Formula $\alpha\in\mathbb{C}$ +\end_inset + +, +\begin_inset Formula $\alpha f+g$ +\end_inset + + es medible y +\begin_inset Formula $|\alpha f+g|\leq|\alpha||f|+|g|$ +\end_inset + +, e integrando y aplicando las propiedades de la integral en funciones positivas +, +\begin_inset Formula $\int|\alpha f+g|d\mu\leq\int(|\alpha||f|+|g|)d\mu=|\alpha|\int|f|d\mu+\int|g|d\mu<+\infty$ +\end_inset + +, +\end_layout + +\begin_layout Enumerate +La aplicación +\begin_inset Formula $\nu:{\cal L}^{1}(\mu)\rightarrow\mathbb{C}$ +\end_inset + + dada por +\begin_inset Formula $\nu(f):=\int f\,d\mu$ +\end_inset + + es lineal. +\begin_inset Newline newline +\end_inset + +Sean +\begin_inset Formula $u,v\in{\cal L}_{\mathbb{R}}^{1}(\mu)$ +\end_inset + + y +\begin_inset Formula $\alpha\in\mathbb{R}$ +\end_inset + +: +\end_layout + +\begin_deeper +\begin_layout Enumerate +\begin_inset Formula $i\int(u+iv)d\mu=i\int ud\mu+i^{2}\int v\,d\mu=\int(-v+iu)d\mu=\int i(u+iv)d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $h:=u+v\implies h^{+}-h^{-}=u^{+}-u^{-}+v^{+}-v^{-}\implies h^{+}+(u^{-}+v^{-})=(u^{+}+v^{+})+h^{-}\implies\int h^{+}d\mu+\int u^{-}d\mu+\int v^{-}d\mu=\int u^{+}d\mu+\int v^{+}d\mu+\int h^{-}d\mu\implies\int h\,d\mu=\int h^{+}d\mu-\int h^{-}d\mu=\int u^{+}d\mu-\int u^{-}d\mu+\int v^{+}d\mu-\int v^{-}d\mu=\int u\,d\mu+\int v\,d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\alpha\geq0\implies(\alpha u)^{+}=\alpha u^{+}\land(\alpha u)^{-}=\alpha u^{-}\implies\int\alpha u\,d\mu=\int\alpha u^{+}d\mu-\int\alpha u^{-}d\mu=\alpha\left(\int u^{+}d\mu-\int u^{-}d\mu\right)=\alpha\int u\,d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +\begin_inset Formula $\alpha<0\implies(\alpha u)^{+}=(-\alpha)u^{-}\land(\alpha u)^{-}=(-\alpha)u^{+}\implies\int\alpha u\,d\mu=\int(-\alpha)u^{-}d\mu-\int(-\alpha)u^{+}d\mu=(-\alpha)\left(\int u^{-}d\mu-\int u^{+}d\mu\right)=\alpha\int u\,d\mu$ +\end_inset + +. +\end_layout + +\end_deeper +\begin_layout Enumerate +Desigualdad triangular: +\begin_inset Formula +\[ +\forall f\in{\cal L}^{1}(\mu),\left|\int f\,d\mu\right|\leq\int|f|d\mu +\] + +\end_inset + +Si +\begin_inset Formula $\left|\int f\,d\mu\right|=0$ +\end_inset + + es trivial. + Si +\begin_inset Formula $\left|\int f\,d\mu\right|\neq0$ +\end_inset + +, sea +\begin_inset Formula $a:=\frac{\int f\,d\mu}{|\int f\,d\mu|}$ +\end_inset + + y como +\begin_inset Formula $\forall z\in\mathbb{C},|\text{Re}(z)|\leq|z|$ +\end_inset + +, +\begin_inset Formula $|\text{Re}(af)|\leq|af|=|f|$ +\end_inset + +; de aquí que +\begin_inset Formula $\left|\int f\,d\mu\right|=a\int f\,d\mu=\text{Re}\left(\int af\,d\mu\right)=\int\text{Re}(af)d\mu\leq\int|f|d\mu$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Una función medible +\begin_inset Formula $f:E\rightarrow\mathbb{C}$ +\end_inset + + definida en +\begin_inset Formula $E\in\Sigma$ +\end_inset + + es +\series bold +integrable sobre +\begin_inset Formula $E$ +\end_inset + + +\series default + si la +\series bold +extensión canónica +\series default + +\begin_inset Formula $\tilde{f}:=f\chi_{E}$ +\end_inset + + es integrable, y entonces se define +\begin_inset Formula $\int_{E}f\,d\mu:=\int\tilde{f}\,d\mu$ +\end_inset + +. + Con esto: +\end_layout + +\begin_layout Enumerate +Si +\begin_inset Formula $f:E\rightarrow\mathbb{C}$ +\end_inset + + es una función medible definida en +\begin_inset Formula $E\in\Sigma$ +\end_inset + +, +\begin_inset Formula $f$ +\end_inset + + es integrable sobre +\begin_inset Formula $E$ +\end_inset + + y +\begin_inset Formula $\forall A\in\Sigma\cap{\cal P}(E),\int_{A}f\,d\mu=0$ +\end_inset + + si y sólo si +\begin_inset Formula $f$ +\end_inset + + se anula en casi todo +\begin_inset Formula $\omega\in E$ +\end_inset + +. +\end_layout + +\begin_deeper +\begin_layout Enumerate +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + +En particular, +\begin_inset Formula $\int(\text{Re}(f))^{+}d\mu=\text{Re}\left(\int_{\{\text{Re}(f)\geq0\}}f\,d\mu\right)=0$ +\end_inset + +, y por la desigualdad de Tchevichev, +\begin_inset Formula $\mu\{\text{Re}(f)^{+}>t\}\leq\frac{1}{t}\int(\text{Re}(f))^{+}d\mu=0$ +\end_inset + + para todo +\begin_inset Formula $t>0$ +\end_inset + +, por lo que +\begin_inset Formula $\text{Re}(f)^{+}$ +\end_inset + + se anula en casi todo punto. + Lo mismo sucede con +\begin_inset Formula $(\text{Re}(f))^{-}$ +\end_inset + +, +\begin_inset Formula $(\text{Im}(f))^{+}$ +\end_inset + + e +\begin_inset Formula $(\text{Im}(f))^{-}$ +\end_inset + +. + Por tanto +\begin_inset Formula $f$ +\end_inset + + se anula en casi todo punto. +\end_layout + +\begin_layout Enumerate +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\impliedby]$ +\end_inset + + +\end_layout + +\end_inset + +Para +\begin_inset Formula $A\in\Sigma\cap{\cal P}(E)$ +\end_inset + +, +\begin_inset Formula $(\text{Re}(f))^{+}$ +\end_inset + +, +\begin_inset Formula $(\text{Re}(f))^{-}$ +\end_inset + +, +\begin_inset Formula $(\text{Im}(f))^{+}$ +\end_inset + + e +\begin_inset Formula $(\text{Im}(f))^{-}$ +\end_inset + + se anulan en casi todo +\begin_inset Formula $\omega\in A\subseteq E$ +\end_inset + +, por lo que +\begin_inset Formula $\text{Re}\left(\int f\,d\mu\right)=\int\text{Re}(f)d\mu=\int(\text{Re}(f))^{+}d\mu-\int(\text{Re}(f))^{-}d\mu=0-0=0$ +\end_inset + + y, análogamente, +\begin_inset Formula $\text{Im}\left(\int f\,d\mu\right)=0$ +\end_inset + +. +\end_layout + +\end_deeper +\begin_layout Enumerate +Si +\begin_inset Formula $f,g:E\rightarrow\mathbb{C}$ +\end_inset + + son medibles iguales en casi todo punto y +\begin_inset Formula $f$ +\end_inset + + es integrable sobre +\begin_inset Formula $E$ +\end_inset + + entonces +\begin_inset Formula $g$ +\end_inset + + también lo es y +\begin_inset Formula $\int_{E}f\,d\mu=\int_{E}g\,d\mu$ +\end_inset + +. +\begin_inset Newline newline +\end_inset + +Basta aplicar el punto anterior a +\begin_inset Formula $f-g$ +\end_inset + +. +\end_layout + +\begin_layout Standard +El +\series bold +teorema de la convergencia dominada +\series default + afirma que, dada una sucesión +\begin_inset Formula $(f_{n}:\Omega\rightarrow\mathbb{C})_{n}$ +\end_inset + + de funciones que converge en casi todo punto, si existe +\begin_inset Formula $g:\Omega\rightarrow\mathbb{C}$ +\end_inset + + integrable con +\begin_inset Formula $|f_{n}|\leq g\forall n\in\mathbb{N}$ +\end_inset + +, entonces la función límite +\begin_inset Formula $f(\omega):=\lim_{n}f_{n}(\omega)$ +\end_inset + +, definida en casi todo punto, es integrable, +\begin_inset Formula +\[ +\lim_{n}\int|f_{n}-f|d\mu=0 +\] + +\end_inset + +y, en particular, +\begin_inset Formula +\[ +\lim_{n}\int f_{n}d\mu=\int f\,d\mu +\] + +\end_inset + + +\end_layout + +\begin_layout Standard + +\series bold +Demostración: +\series default + Las +\begin_inset Formula $f_{n}$ +\end_inset + + son integrables al estar acotadas por una función integrable. + Te +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ne +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +mos que +\begin_inset Formula $|f-f_{n}|\leq|f|+|f_{n}|\leq2g$ +\end_inset + + y, teniendo en cuenta que +\begin_inset Formula $\limsup_{n}|f-f_{n}|=0$ +\end_inset + + y aplicando el lema de Fatou a la sucesión de medibles positivas +\begin_inset Formula $2g-|f-f_{n}|$ +\end_inset + +, queda que +\begin_inset Formula $\int2g\,d\mu=\int\liminf_{n}(2g-|f-f_{n}|)d\mu\leq\liminf_{n}\int(2g-|f-f_{n}|)d\mu=\int2g\,d\mu-\limsup_{n}\int|f-f_{n}|$ +\end_inset + +. + Restando la cantidad finita +\begin_inset Formula $\int2g\,d\mu$ +\end_inset + + a ambos miembros de la desigualdad, +\begin_inset Formula $0\leq-\limsup_{n}\int|f-f_{n}|\leq0$ +\end_inset + +, con lo que +\begin_inset Formula $\lim_{n}\int|f-f_{n}|=0$ +\end_inset + + y +\begin_inset Formula $f$ +\end_inset + + es integrable porque +\begin_inset Formula $|f|\leq|f_{n}|+|f-f_{n}|$ +\end_inset + +. +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{sloppypar} +\end_layout + +\end_inset + +Como +\series bold +teorema +\series default +, dada una sucesión de funciones integrables +\begin_inset Formula $(f_{n}:\Omega\rightarrow\mathbb{C})_{n}$ +\end_inset + + con +\begin_inset Formula $\sum_{n=1}^{\infty}\int|f_{n}|d\mu<+\infty$ +\end_inset + +, la serie +\begin_inset Formula $\sum_{n=1}^{\infty}f_{n}(\omega)$ +\end_inset + + converge absolutamente en casi todo punto y su suma es integrable con +\begin_inset Formula $\int\left(\sum_{n=1}^{\infty}f_{n}\right)d\mu=\sum_{n=1}^{\infty}\int f_{n}d\mu$ +\end_inset + +. + +\series bold +Demostración: +\series default + Por el teorema de la convergencia monótona, +\begin_inset Formula $G:=\sum_{n}|f_{n}|$ +\end_inset + + converge en casi todo punto y es integrable, y +\begin_inset Formula $S:=\sum_{n}f_{n}$ +\end_inset + + también, y como para +\begin_inset Formula $(g_{m}:=\sum_{n=0}^{m}f_{n})_{m}$ +\end_inset + + se tiene +\begin_inset Formula $|g_{m}|\leq G$ +\end_inset + +, podemos aplicar el teorema de la convergencia dominada para obtener el + resultado. +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{sloppypar} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Section +Relación entre las integrales de Riemann y Lebesgue +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, las funciones integrables Riemann son integrables respecto a la medida + de Lebesgue y las integrales coinciden. + +\series bold +Demostración: +\series default + Sea +\begin_inset Formula $f:[a,b]\rightarrow\mathbb{R}$ +\end_inset + + integrable Riemann, y por tanto acotada, existe una sucesión +\begin_inset Formula $(P_{k})_{k}$ +\end_inset + + de particiones en +\begin_inset Formula $[a,b]$ +\end_inset + + con +\begin_inset Formula $\Vert P_{n}\Vert\rightarrow0$ +\end_inset + + y +\begin_inset Formula $\int_{[a,b]}f(\vec{x})d\vec{x}=\lim_{k}s(f,P_{k})$ +\end_inset + +, y si +\begin_inset Formula $\{N_{k1},\dots,N_{km_{k}}\}$ +\end_inset + + es el conjunto de subrectángulos de +\begin_inset Formula $P_{k}$ +\end_inset + +, la sucesión +\begin_inset Formula $(s_{k})_{k}$ +\end_inset + + de funciones simples +\begin_inset Formula $s_{k}(t):=\sum_{i=1}^{m_{k}}\chi_{N_{ki}}\inf_{x\in N_{ki}}\{f(x)\}$ +\end_inset + + está acotada por la función constante +\begin_inset Formula $M:=\chi_{[a,b]}\sup_{x\in[a,b]}\{|f(x)|\}$ +\end_inset + + y converge a +\begin_inset Formula $f$ +\end_inset + + en todos sus puntos de continuidad y por tanto en casi todo punto. + Entonces, por el teorema de la convergencia dominada, +\begin_inset Formula $f$ +\end_inset + + es integrable Lebesgue en +\begin_inset Formula $[a,b]$ +\end_inset + + y +\begin_inset Formula $\int_{[a,b]}f\,d\lambda_{n}=\int_{[a,b]}f(\vec{x})d\vec{x}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Una función +\begin_inset Formula $f:S\rightarrow\mathbb{R}$ +\end_inset + + definida en un intervalo +\begin_inset Formula $n$ +\end_inset + +-dimensional +\begin_inset Formula $S\subseteq\mathbb{R}^{n}$ +\end_inset + + se dice +\series bold +localmente integrable Riemann +\series default + si es integrable Riemann sobre cada intervalo compacto +\begin_inset Formula $I\subseteq S$ +\end_inset + +. + Definimos entonces la +\series bold +integral impropia +\series default + de +\begin_inset Formula $f$ +\end_inset + + en +\begin_inset Formula $S$ +\end_inset + + como +\begin_inset Formula +\[ +\int_{S}f(x)dx:=\lim_{I\nearrow S}\int_{I}f(x)dx +\] + +\end_inset + +y si existe, decimos que +\series bold +converge +\series default +. + La integral impropia +\begin_inset Formula $\int_{S}f(x)dx$ +\end_inset + + es +\series bold +absolutamente convergente +\series default + si +\begin_inset Formula $\int_{S}|f(x)|dx$ +\end_inset + + es convergente. +\end_layout + +\begin_layout Standard +Para +\begin_inset Formula $f:S\rightarrow\mathbb{R}$ +\end_inset + + localmente integrable Riemann sobre un intervalo +\begin_inset Formula $n$ +\end_inset + +-dimensional +\begin_inset Formula $S\subseteq\mathbb{R}^{n}$ +\end_inset + +, +\begin_inset Formula $\int_{S}f(x)dx$ +\end_inset + + es absolutamente convergente si y sólo si +\begin_inset Formula $f$ +\end_inset + + es integrable Lebesgue sobre +\begin_inset Formula $S$ +\end_inset + + y +\begin_inset Formula $\int_{S}f\,d\lambda_{n}=\int_{S}f(x)dx$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\implies]$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset Formula $f$ +\end_inset + + es integrable Riemann, y por tanto Lebesgue, sobre todo intervalo compacto + +\begin_inset Formula $I\subseteq S$ +\end_inset + +, y dada una sucesión +\begin_inset Formula $(I_{k})_{k}$ +\end_inset + + de intervalos compactos en +\begin_inset Formula $S$ +\end_inset + + que tiende a +\begin_inset Formula $S$ +\end_inset + +, +\begin_inset Formula $(f_{k}:=\chi_{I_{k}}f)$ +\end_inset + + es una sucesión de funciones que tiende a +\begin_inset Formula $f$ +\end_inset + + tal que +\begin_inset Formula $|f_{k}|<|f|\forall k\in\mathbb{N}$ +\end_inset + +, y por la convergencia dominada tenemos que +\begin_inset Formula $\int_{S}f\,d\lambda_{n}=\lim_{k}\int f_{k}d\lambda_{n}=\lim_{k}\int_{I_{k}}f\,dx=\int_{S}f(x)dx$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +\begin_inset Argument item:1 +status open + +\begin_layout Plain Layout +\begin_inset Formula $\impliedby]$ +\end_inset + + +\end_layout + +\end_inset + + +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{sloppypar} +\end_layout + +\end_inset + +Si +\begin_inset Formula $f$ +\end_inset + + es integrable Riemann en un intervalo compacto +\begin_inset Formula $I\subseteq S$ +\end_inset + +, también es acotada en ese intervalo y por tanto +\begin_inset Formula $f^{+}$ +\end_inset + + y +\begin_inset Formula $f^{-}$ +\end_inset + + también lo son. + Si además +\begin_inset Formula $f$ +\end_inset + + es integrable Lebesgue sobre +\begin_inset Formula $S$ +\end_inset + +, por la convergencia monótona tenemos que si +\begin_inset Formula $(I_{k})_{k}$ +\end_inset + + es una sucesión creciente de in +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ter +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +va +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +los compactos que tiende a +\begin_inset Formula $S$ +\end_inset + +, +\begin_inset Formula $\int_{S}f^{+}(x)dx=\lim_{I\nearrow S}\int_{I}f^{+}(x)dx=\lim_{k}\int_{I_{k}}f^{+}(x)dx=\lim_{k}\int_{I_{k}}f^{+}(x)d\lambda_{n}=\int\lim_{k}\chi_{I_{k}}f^{+}(x)d\lambda_{n}=\int_{S}f^{+}(x)d\lambda_{n}<+\infty$ +\end_inset + +, y análogamente +\begin_inset Formula $\int_{S}f^{-}(x)dx<+\infty$ +\end_inset + +, por lo que +\begin_inset Formula $\int_{S}|f(x)|dx=\int_{S}f^{+}(x)dx+\int_{S}f^{-}(x)dx<+\infty$ +\end_inset + +. +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{sloppypar} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Llamamos +\series bold +soporte +\series default + de una función +\begin_inset Formula $g:\Omega\rightarrow\mathbb{C}$ +\end_inset + + a +\begin_inset Formula $\text{sop}(g):=\overline{\{g\neq0\}}$ +\end_inset + +, y +\begin_inset Formula ${\cal C}_{0}(\Omega)$ +\end_inset + + al conjunto de funciones continuas +\begin_inset Formula $g:\Omega\rightarrow\mathbb{C}$ +\end_inset + + con soporte compacto. + Como +\series bold +teorema +\series default +, +\begin_inset Formula ${\cal C}_{0}(\mathbb{R}^{n})$ +\end_inset + + es denso en +\begin_inset Formula ${\cal L}^{1}(\mathbb{R}^{n})$ +\end_inset + +. + +\series bold +Demostración: +\series default + Como las funciones simples medibles son densas en +\begin_inset Formula ${\cal L}^{1}(\mathbb{R}^{n})$ +\end_inset + +, basta ver que la función característica de cualquier conjunto medible + Lebesgue es límite de una sucesión de funciones en +\begin_inset Formula ${\cal C}_{0}(\mathbb{R}^{n})$ +\end_inset + +. + Para ello, dado un medible +\begin_inset Formula $E$ +\end_inset + + y +\begin_inset Formula $\varepsilon>0$ +\end_inset + +, existen +\begin_inset Formula $K$ +\end_inset + + compacto y +\begin_inset Formula $A$ +\end_inset + + abierto con +\begin_inset Formula $K\subseteq E\subseteq A$ +\end_inset + + y +\begin_inset Formula $\lambda(A\backslash K)<\frac{\varepsilon}{2}$ +\end_inset + +, y si +\begin_inset Formula $f\in{\cal C}_{0}(\mathbb{R}^{n})$ +\end_inset + + cumple que +\begin_inset Formula $K\subseteq\text{sop}(f)\subseteq A$ +\end_inset + + y +\begin_inset Formula $\chi_{K}\leq f\leq1$ +\end_inset + +, entonces +\begin_inset Formula $\Vert f-\chi_{E}\Vert_{\infty}\leq2\chi_{A\backslash K}$ +\end_inset + + y +\begin_inset Formula $\Vert f-\chi_{E}\Vert_{\infty}\leq2\lambda(A\backslash K)<\varepsilon$ +\end_inset + +. + Para ver que existe +\begin_inset Formula $f$ +\end_inset + +, fijado un cerrado +\begin_inset Formula $F\subseteq\mathbb{R}^{n}$ +\end_inset + +, +\begin_inset Formula $d(x,F)$ +\end_inset + + es continua, y como +\begin_inset Formula $\delta:=\min\{d(x,K):x\notin A\}>0$ +\end_inset + +, +\begin_inset Formula $A_{0}:=\{x:d(x,K)<\frac{\delta}{2}\}$ +\end_inset + + es un abierto acotado con +\begin_inset Formula $K\subseteq A_{0}\subseteq\overline{A_{0}}\subseteq A$ +\end_inset + +. + Tomando +\begin_inset Formula $F_{0}:=\mathbb{R}^{n}\backslash A_{0}=\{x:d(x,K)\geq\frac{\delta}{2}\}$ +\end_inset + +, podemos definir +\begin_inset Formula $f_{0}(y):=\frac{d(y,F_{0})}{1+d(y,F_{0})}$ +\end_inset + +, que cumple +\begin_inset Formula $0\leq f_{0}\leq1$ +\end_inset + +, +\begin_inset Formula $f_{0}(x)=0\forall x\in F_{0}\supseteq\mathbb{R}^{n}\backslash A$ +\end_inset + + y, como para +\begin_inset Formula $y\in K$ +\end_inset + +, +\begin_inset Formula $d(y,F_{0})\geq\frac{\delta}{2}$ +\end_inset + +, +\begin_inset Formula $f_{0}(y)\geq k_{0}:=\frac{\frac{\delta}{2}}{1+\frac{\delta}{2}}$ +\end_inset + + y la función continua +\begin_inset Formula $f(x):=\min\{1,\frac{f_{0}(x)}{k_{0}}\}$ +\end_inset + + tiene soporte compacto en +\begin_inset Formula $\overline{A_{0}}\subseteq A$ +\end_inset + + y +\begin_inset Formula $\chi_{K}\leq f\leq1$ +\end_inset + +. +\end_layout + +\begin_layout Section +Integrales dependientes de un parámetro +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default + sean +\begin_inset Formula $(\Omega,\Sigma,\mu)$ +\end_inset + + un espacio de medida, +\begin_inset Formula $(X,d)$ +\end_inset + + un espacio métrico y +\begin_inset Formula $f:X\times\Omega\rightarrow\mathbb{C}$ +\end_inset + + una función tal que: +\end_layout + +\begin_layout Enumerate +Para casi todo +\begin_inset Formula $\omega\in\Omega$ +\end_inset + + +\begin_inset Formula $f^{\omega}(x):=f(x,\omega)$ +\end_inset + + es continua. +\end_layout + +\begin_layout Enumerate +Para todo +\begin_inset Formula $x\in X$ +\end_inset + + +\begin_inset Formula $f_{x}(\omega):=f(x,\omega)$ +\end_inset + + es medible. +\end_layout + +\begin_layout Enumerate +Existe +\begin_inset Formula $g:\Omega\rightarrow[0,+\infty)$ +\end_inset + + tal que para todo +\begin_inset Formula $x\in X$ +\end_inset + +, para casi todo +\begin_inset Formula $\omega\in\Omega$ +\end_inset + +, +\begin_inset Formula $|f(x,\omega)|\leq g(\omega)$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Entonces para todo +\begin_inset Formula $x\in X$ +\end_inset + + +\begin_inset Formula $f_{x}$ +\end_inset + + es integrable y +\begin_inset Formula $F(x):=\int f(x,\omega)d\mu(\omega)$ +\end_inset + + es continua. +\end_layout + +\begin_layout Standard + +\series bold +Demostración: +\series default + Como +\begin_inset Formula $(X,d)$ +\end_inset + + es un espacio métrico, la continuidad de las funciones en +\begin_inset Formula $X$ +\end_inset + + se puede caracterizar mediante sucesiones, por lo que basta tomar una sucesión + +\begin_inset Formula $(x_{n})_{n}$ +\end_inset + + de elementos de +\begin_inset Formula $X$ +\end_inset + + que converge a un cierto +\begin_inset Formula $x$ +\end_inset + + arbitrario y probar que +\begin_inset Formula +\[ +\left(F(x_{n})=\int f(x_{n},\omega)d\mu(\omega)\right)_{n} +\] + +\end_inset + + converge a +\begin_inset Formula $F(x)$ +\end_inset + +. + Sea +\begin_inset Formula $N\in\Sigma$ +\end_inset + + de medida cero tal que +\begin_inset Formula $f^{\omega}$ +\end_inset + + es continua para +\begin_inset Formula $\omega\notin N$ +\end_inset + + y por tanto +\begin_inset Formula $f^{\omega}(x_{n})=f(x_{n},\omega)\rightarrow f(x,\omega)$ +\end_inset + +. + Podemos tomar una sucesión +\begin_inset Formula $(A_{n})_{n}$ +\end_inset + + de conjuntos de medida nula tales que para +\begin_inset Formula $n\in\mathbb{N}$ +\end_inset + + y +\begin_inset Formula $\omega\notin A_{n}$ +\end_inset + +, +\begin_inset Formula $|f(x_{n},\omega)|\leq g(\omega)$ +\end_inset + +. + Entonces +\begin_inset Formula $N\cup\bigcup_{n}A_{n}$ +\end_inset + + tiene medida nula y fuera de él, como la sucesión +\begin_inset Formula $(f_{x_{n}})_{n}$ +\end_inset + + converge puntualmente y +\begin_inset Formula $|f_{x_{n}}|\leq g\forall n\in\mathbb{N}$ +\end_inset + +, podemos aplicar el teorema de la convergencia dominada y +\begin_inset Formula +\[ +\lim_{n}F(x_{n})=\lim_{n}\int f(x_{n},\omega)d\mu(\omega)=\int\lim_{n}f(x_{n},\omega)d\mu(\omega)=\int f(x,\omega)d\mu(\omega)=F(x) +\] + +\end_inset + + +\end_layout + +\begin_layout Standard +Otro +\series bold +teorema +\series default + nos dice que si +\begin_inset Formula $I\subseteq\mathbb{R}$ +\end_inset + + es un intervalo y +\begin_inset Formula $f:I\times\Omega\rightarrow\mathbb{C}$ +\end_inset + + cumple que: +\end_layout + +\begin_layout Enumerate +Para casi todo +\begin_inset Formula $\omega\in\Omega$ +\end_inset + + +\begin_inset Formula $f^{\omega}(x):=f(x,\omega)$ +\end_inset + + es derivable ( +\begin_inset Formula $\exists\frac{\partial f}{\partial x}(x,\omega)$ +\end_inset + +). +\end_layout + +\begin_layout Enumerate +Para todo +\begin_inset Formula $x\in I$ +\end_inset + + +\begin_inset Formula $f_{x}(\omega):=f(x,\omega)$ +\end_inset + + es medible, siendo integrable para algún +\begin_inset Formula $x_{0}\in I$ +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Existe +\begin_inset Formula $g:\Omega\rightarrow[0,+\infty)$ +\end_inset + + integrable tal que para casi todo +\begin_inset Formula $\omega\in\Omega$ +\end_inset + + para todo +\begin_inset Formula $x\in I$ +\end_inset + + +\begin_inset Formula $\left|\frac{\partial f}{\partial x}(x,\omega)\right|\leq g(\omega)$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Entonces para todo +\begin_inset Formula $x\in I$ +\end_inset + +, +\begin_inset Formula $f_{x}$ +\end_inset + + es integrable, +\begin_inset Formula $F(x):=\int f(x,\omega)d\mu(\omega)$ +\end_inset + + es derivable y +\begin_inset Formula $F'(x)=\int\frac{\partial f}{\partial x}(x,\omega)d\mu(\omega)$ +\end_inset + +. +\end_layout + +\begin_layout Standard + +\series bold +Demostración: +\series default + Sea +\begin_inset Formula $A\in\Sigma$ +\end_inset + + de medida nula tal que +\begin_inset Formula +\[ +\left|\frac{\partial f}{\partial x}(s,\omega)\right|\leq g(\omega) +\] + +\end_inset + + para +\begin_inset Formula $\omega\notin A$ +\end_inset + + para todo +\begin_inset Formula $s\in I$ +\end_inset + +, por el teorema del incremento finito, si +\begin_inset Formula $\omega\notin A$ +\end_inset + +, +\begin_inset Formula +\[ +|f(x,\omega)-f(x_{0},\omega)|=\left|\frac{\partial f}{\partial x}(\xi_{x,\omega},\omega)(x-x_{0})\right|\leq g(\omega)|x-x_{0}| +\] + +\end_inset + +Entonces +\begin_inset Formula $f_{x}$ +\end_inset + + se diferencia de +\begin_inset Formula $f_{x_{0}}$ +\end_inset + + en un múltiplo de una función integrable +\begin_inset Formula $g$ +\end_inset + +, por lo que también es integrable. + Para ver que la integral es derivable, basta tomar una sucesión +\begin_inset Formula $(x_{n})_{n}$ +\end_inset + + de elementos de +\begin_inset Formula $X$ +\end_inset + + que converge a un cierto +\begin_inset Formula $x$ +\end_inset + + arbitrario y probar que existe +\begin_inset Formula $\lim_{n}\frac{F(x_{n})-F(x)}{x_{n}-x}$ +\end_inset + +. + Sea +\begin_inset Formula $N\in\Sigma$ +\end_inset + + de medida nula tal que para +\begin_inset Formula $\omega\notin N$ +\end_inset + +, +\begin_inset Formula $f^{\omega}$ +\end_inset + + es derivable y por tanto +\begin_inset Formula +\[ +\frac{f(x_{n},\omega)-f(x,\omega)}{x_{n}-x}\rightarrow\frac{\partial f}{\partial x}(x,\omega) +\] + +\end_inset + +Entonces +\begin_inset Formula $N\cup A$ +\end_inset + + tiene medida nula y fuera de él, la sucesión +\begin_inset Formula +\[ +\left(h_{n,\omega}:=\frac{f(x_{n},\omega)-f(x,\omega)}{x_{n}-x}\right)_{n} +\] + +\end_inset + + cumple que +\begin_inset Formula +\[ +|h_{n,\omega}|=\left|\frac{f(x_{n},\omega)-f(x,\omega)}{x_{n}-x}\right|=\left|\frac{\partial f}{\partial x}f(\eta_{x,x_{n},\omega},\omega)\right|\leq g(\omega) +\] + +\end_inset + + y, como además converge puntualmente, podemos aplicar el teorema de la + convergencia dominada y +\begin_inset Formula +\begin{eqnarray*} +F'(x) & = & \lim_{n}\frac{F(x_{n})-F(x)}{x_{n}-x}=\lim_{n}\frac{\int f(x_{n},\omega)d\mu(\omega)-\int f(x_{n},\omega)d\mu(\omega)}{x_{n}-x}\\ + & = & \lim_{n}\int\frac{f(x_{n},\omega)-f(x,\omega)}{x_{n}-x}d\mu(\omega)=\int\left(\lim_{n}\frac{f(x_{n},\omega)-f(x,\omega)}{x_{n}-x}\right)d\mu(\omega)\\ + & = & \int\frac{\partial f}{\partial x}(x,\omega)d\mu(\omega) +\end{eqnarray*} + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/fvv2/n4.lyx b/fvv2/n4.lyx new file mode 100644 index 0000000..6628b45 --- /dev/null +++ b/fvv2/n4.lyx @@ -0,0 +1,688 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 0 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +\begin_inset Note Note +status open + +\begin_layout Plain Layout +\begin_inset Note Comment +status open + +\begin_layout Section +Espacios producto +\end_layout + +\begin_layout Plain Layout +Dados dos espacios medibles +\begin_inset Formula $(\Omega_{1},\Sigma_{1})$ +\end_inset + + y +\begin_inset Formula $(\Omega_{2},\Sigma_{2})$ +\end_inset + +, llamamos +\series bold +rectángulo medible +\series default + en +\begin_inset Formula $\Omega:=\Omega_{1}\times\Omega_{2}$ +\end_inset + + a los elementos de +\begin_inset Formula ${\cal R}:=\{A\times B\}_{A\in\Sigma_{1},B\in\Sigma_{2}}$ +\end_inset + +. + Llamamos +\series bold + +\begin_inset Formula $\sigma$ +\end_inset + +-álgebra producto +\series default + de partes de +\begin_inset Formula $\Omega$ +\end_inset + + a +\begin_inset Formula $\Sigma:=\Sigma_{1}\times\Sigma_{2}:=\sigma({\cal R})$ +\end_inset + +. +\end_layout + +\begin_layout Plain Layout +Como +\series bold +teorema +\series default +, dados dos espacios de medida +\begin_inset Formula $(\Omega_{1},\Sigma_{1},\mu_{1})$ +\end_inset + + y +\begin_inset Formula $(\Omega_{2},\Sigma_{2},\mu_{2})$ +\end_inset + +, existe una medida +\begin_inset Formula $\mu$ +\end_inset + + en +\begin_inset Formula $\Sigma_{1}\times\Sigma_{2}$ +\end_inset + + tal que +\begin_inset Formula $\mu(A\times B)=\mu_{1}(A)\mu_{2}(B)$ +\end_inset + + para cada +\begin_inset Formula $A\times B$ +\end_inset + + medible. + Si además los dos espacios de medida son +\begin_inset Formula $\sigma$ +\end_inset + +-finitos, +\begin_inset Formula $\mu$ +\end_inset + + es la única. + +\begin_inset Note Comment +status open + +\begin_layout Plain Layout + +\series bold +Demostración: +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Section +Cambio de variable +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Sea +\begin_inset Formula $(\Omega,\Sigma,\mu)$ +\end_inset + + un espacio de medida, +\begin_inset Formula $(\Omega',\Sigma')$ +\end_inset + + un espacio medible y +\begin_inset Formula $g:\Omega\rightarrow\Omega'$ +\end_inset + + medible, llamamos +\series bold +medida imagen +\series default + de +\begin_inset Formula $\mu$ +\end_inset + + a través de +\begin_inset Formula $g$ +\end_inset + + a la medida +\begin_inset Formula $\nu:=\mu g^{-1}:\Sigma'\rightarrow[0,+\infty]$ +\end_inset + + dada por +\begin_inset Formula $\nu(A):=\mu(g^{-1}(A))$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Una función +\begin_inset Formula $\Sigma'$ +\end_inset + +-medible +\begin_inset Formula $f:\Omega'\rightarrow\mathbb{C}$ +\end_inset + + es +\begin_inset Formula $\nu$ +\end_inset + +-integrable si y sólo si +\begin_inset Formula $f\circ g$ +\end_inset + + es +\begin_inset Formula $\mu$ +\end_inset + +-integrable, y si +\begin_inset Formula $f$ +\end_inset + + es +\begin_inset Formula $\nu$ +\end_inset + +-integrable o +\begin_inset Formula $f\geq0$ +\end_inset + + se tiene +\begin_inset Formula +\[ +\int f\,d\nu=\int f\circ g\,d\mu +\] + +\end_inset + + +\series bold +Demostración: +\series default + Para +\begin_inset Formula $A\in\Sigma'$ +\end_inset + + y +\begin_inset Formula $x\in\Omega$ +\end_inset + +, +\begin_inset Formula $\chi_{g^{-1}(A)}(x)=\chi_{A}(g(x))=(\chi_{A}\circ g)(x)$ +\end_inset + +, luego +\begin_inset Formula $\chi_{g^{-1}(A)}=\chi_{A}\circ g$ +\end_inset + + y +\begin_inset Formula $\int_{\Omega'}\chi_{A}d\nu=\nu(A)=\mu(g^{-1}(A))=\int_{\Omega}\chi_{g^{-1}(A)}d\mu=\int_{\Omega}(\chi_{A}\circ g)d\mu$ +\end_inset + +. + Con esto, una función simple +\begin_inset Formula $f:\Sigma'\rightarrow[0,+\infty]$ +\end_inset + + es +\begin_inset Formula $\nu$ +\end_inset + +-integrable si y sólo si +\begin_inset Formula $f\circ g$ +\end_inset + + es +\begin_inset Formula $\mu$ +\end_inset + +-integrable, y entonces +\begin_inset Formula $\int f\,d\nu=\int f\circ g\,d\mu$ +\end_inset + +. + Usando el teorema de la convergencia monótona podemos extender este resultado + a funciones medibles positivas, y el de la convergencia dominada nos da + el resultado para el caso general. +\end_layout + +\begin_layout Standard +Dada una función +\begin_inset Formula $\alpha:[a,b]\rightarrow\mathbb{R}$ +\end_inset + + creciente y continua por la derecha, llamamos +\series bold +medida de Lebesgue-Stieltjes +\series default + asociada a +\begin_inset Formula $\alpha$ +\end_inset + + o +\series bold +medida de Borel inducida +\series default + a la única medida de Borel con +\begin_inset Formula $\mu_{\alpha}((a,b])=\alpha(b)-\alpha(a)$ +\end_inset + +, y que se construye de forma similar a la de Lebesgue. +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, si +\begin_inset Formula $f:[a,b]\rightarrow\mathbb{R}$ +\end_inset + + es acotada y +\begin_inset Formula $D(f):=\{x\in[a,b]:f\text{ es discontinua en }x\}$ +\end_inset + +, entonces +\begin_inset Formula $f$ +\end_inset + + es integrable Riemann-Stieltjes con respecto a +\begin_inset Formula $\alpha$ +\end_inset + + en +\begin_inset Formula $[a,b]$ +\end_inset + + si y sólo si +\begin_inset Formula $\mu_{\alpha}(D(f))=0$ +\end_inset + +, y en tal caso +\begin_inset Formula $f$ +\end_inset + + es +\begin_inset Formula $\mu_{\alpha}$ +\end_inset + +-integrable y +\begin_inset Formula $\int_{[a,b]}f\,d\mu_{\alpha}=\int_{a}^{b}f\,d\alpha$ +\end_inset + +. + La demostración de esto es similar a la correspondiente para integrales + de Riemann simples. +\end_layout + +\begin_layout Standard +Dado un espacio de medida +\begin_inset Formula $(\Omega,\Sigma,\mu)$ +\end_inset + + finito, llamamos +\series bold +variables aleatorias +\series default + a las funciones medibles +\begin_inset Formula $f:\Omega\rightarrow\mathbb{R}$ +\end_inset + +, y tenemos que +\begin_inset Formula $\mu f^{-1}$ +\end_inset + + es una medida finita en +\begin_inset Formula $\mathbb{R}$ +\end_inset + + tal que +\begin_inset Formula $f=f\circ id$ +\end_inset + + es +\begin_inset Formula $\mu$ +\end_inset + +-integrable si y sólo si +\begin_inset Formula $id$ +\end_inset + + es +\begin_inset Formula $\mu f^{-1}$ +\end_inset + +-integrable, y entonces +\begin_inset Formula $\int_{\Omega}f\,d\mu=\int_{\mathbb{R}}id\,d\mu f^{-1}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Llamamos +\series bold +función de distribución +\series default + de +\begin_inset Formula $f$ +\end_inset + + a +\begin_inset Formula $F(x):=\mu(\{f\leq x\})$ +\end_inset + + o a +\begin_inset Formula $\varphi(x):=\mu(\{f>x\})=\mu(\Omega)-F(x)$ +\end_inset + +. + Sea +\begin_inset Formula $f:\Omega\rightarrow(a,b]$ +\end_inset + + una variable aleatoria, +\begin_inset Formula $F(x):=\mu(\{f\leq x\})$ +\end_inset + + y +\begin_inset Formula $\varphi(x):=\mu(\{f>x\})$ +\end_inset + +, entonces +\begin_inset Formula $f$ +\end_inset + + es integrable y +\begin_inset Formula +\[ +\int f\,d\mu=\int_{[a,b]}id\,d\mu f^{-1}=\int_{a}^{b}id\,dF=-\int_{a}^{b}id\,d\varphi +\] + +\end_inset + + +\series bold + +\begin_inset Newpage clearpage +\end_inset + +Demostración: +\series default +La identidad es continua y por tanto integrable Riemann-Stieltjes respecto + a +\begin_inset Formula $F$ +\end_inset + + o +\begin_inset Formula $\varphi$ +\end_inset + +, y como +\begin_inset Formula $F(y)-F(x)=-(\varphi(y)-\varphi(x))$ +\end_inset + +, se tiene +\begin_inset Formula $\int_{a}^{b}id\,dF=-\int_{a}^{b}id\,d\varphi$ +\end_inset + +, pero entonces +\begin_inset Formula $id$ +\end_inset + + es +\begin_inset Formula $\mu f^{-1}$ +\end_inset + +-integrable. +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $f$ +\end_inset + + no es acotada, podemos aplicar este resultado a los conjuntos +\begin_inset Formula $E_{a,b}:=\{ax\})$ +\end_inset + + y +\begin_inset Formula $\phi:[a,b]\rightarrow\mathbb{R}$ +\end_inset + + es continua, entonces +\begin_inset Formula $\phi\circ f$ +\end_inset + + es integrable y +\begin_inset Formula +\[ +\int_{\Omega}\phi\circ f\,d\mu=-\int_{a}^{b}\phi\,d\varphi +\] + +\end_inset + + +\end_layout + +\begin_layout Enumerate +Si es +\begin_inset Formula $f:\Omega\rightarrow\mathbb{R}$ +\end_inset + + y +\begin_inset Formula $\phi:\mathbb{R}\rightarrow[0,+\infty)$ +\end_inset + +, entonces +\begin_inset Formula +\[ +\int_{\Omega}\phi\circ f\,d\mu=-\int_{-\infty}^{+\infty}\phi\,d\varphi +\] + +\end_inset + + +\end_layout + +\begin_layout Enumerate +Si es +\begin_inset Formula $\phi:\mathbb{R}\rightarrow\mathbb{R}$ +\end_inset + + y +\begin_inset Formula $\phi\circ f$ +\end_inset + + es integrable, esta igualdad también se cumple. +\end_layout + +\begin_layout Standard +Llamamos +\begin_inset Formula ${\cal L}_{\phi}(\mu)$ +\end_inset + + al conjunto de funciones medibles +\begin_inset Formula $f$ +\end_inset + + tales que +\begin_inset Formula $\phi\circ f$ +\end_inset + + es integrable, y para +\begin_inset Formula $\phi(x)=|x|^{p}$ +\end_inset + +, escribimos +\begin_inset Formula ${\cal L}^{p}(\mu):={\cal L}_{\phi}(\mu)$ +\end_inset + +. + Esto es compatible con la definición inicial de +\begin_inset Formula ${\cal L}^{1}(\mu)$ +\end_inset + +. +\end_layout + +\end_body +\end_document diff --git a/iso/n.lyx b/iso/n.lyx new file mode 100644 index 0000000..d1dc6ca --- /dev/null +++ b/iso/n.lyx @@ -0,0 +1,336 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize 10 +\spacing single +\use_hyperref false +\papersize a5paper +\use_geometry true +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\leftmargin 0.2cm +\topmargin 0.7cm +\rightmargin 0.2cm +\bottommargin 0.7cm +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style swiss +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle empty +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Title +Introducción a los Sistemas Operativos +\end_layout + +\begin_layout Date +\begin_inset Note Note +status open + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +def +\backslash +cryear{2018} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "../license.lyx" + +\end_inset + + +\end_layout + +\begin_layout Standard +Bibliografía: +\end_layout + +\begin_layout Itemize +Apuntes de la asignatura, anónimos. +\end_layout + +\begin_layout Itemize +Wikipedia, the free encyclopedia ( +\begin_inset Flex URL +status open + +\begin_layout Plain Layout + +https://en.wikipedia.org/ +\end_layout + +\end_inset + +). +\end_layout + +\begin_layout Itemize +Páginas +\family typewriter +man +\family default + de Fedora 29 de todos los comandos y ficheros que se explican en los apéndices + en subsección propia, de sus respectivos autores, salvo que se indique + específicamente lo contrario, así como la página +\family typewriter +signal(7) +\family default +. +\end_layout + +\begin_layout Chapter +Introducción +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n1.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Gestión de procesos +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n2.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Seguridad y protección +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n3.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Sistemas de ficheros +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n4.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Gestión de memoria +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n5.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Gestión de E/S +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n6.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +\start_of_appendix +El entorno de comandos de GNU +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "na.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Gestión de software +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "nb.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Usuarios y grupos +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "nc.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Administración de discos +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "nd.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Procesos y memoria +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "ne.lyx" + +\end_inset + + +\end_layout + +\begin_layout Chapter +Arranque del sistema +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "nf.lyx" + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/iso/n1.lyx b/iso/n1.lyx new file mode 100644 index 0000000..e1c15d4 --- /dev/null +++ b/iso/n1.lyx @@ -0,0 +1,997 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Un +\series bold +sistema operativo +\series default + es un intermediario entre el usuario y el hardware, un programa complejo + que se ejecuta cuando otro lo solicita o periódicamente para realizar ciertas + tareas. + +\end_layout + +\begin_layout Itemize +Como +\series bold +máquina extendida +\series default + o +\series bold +virtual +\series default +, presenta una interfaz sencilla de la máquina al programador ocultando + detalles de hardware de bajo nivel (interrupciones, relojes, control de + memoria, etc.). +\end_layout + +\begin_layout Itemize +Como +\series bold +controlador de recursos +\series default +, proporciona una asignación ordenada y controlada de los recursos de hardware + (procesadores, memoria, entrada y salida, etc.) entre los programas que + compiten por ellos. +\end_layout + +\begin_layout Standard +Destacamos Microsoft Windows, Apple MacOS X, Linux, y para dispositivos + móviles, iOS y Android. + Las características de un sistema operativo dependen del hardware en que + se ejecuta; por ejemplo, este en general no puede garantizar la protección + entre zonas de memoria de dos programas si el hardware no dispone de un + mecanismo para ello. + Por esto los sistemas operativos han evolucionado a la par con el hardware. +\end_layout + +\begin_layout Section +Historia +\end_layout + +\begin_layout Subsection +Primera generación (1945–55) +\end_layout + +\begin_layout Standard +Grandes máquinas experimentales que ocupaban habitaciones enteras, formadas + por miles de válvulas de vacío y cables conectados a mano, que consumían + una gran cantidad de energía y eran muy poco fiables. + Un solo grupo de personas diseñaba, construía, programaba, operaba y mantenía + cada máquina. + No existían lenguajes de programación ni sistemas operativos: la programación + era en lenguaje máquina, incluyendo el código de E/S dentro del propio + programa, y con frecuencia se usaban conexiones directamente para controlar + funciones básicas. +\end_layout + +\begin_layout Standard +La interacción con la máquina era directa: los programadores la reservaban + durante un tiempo, en el que introducían y ejecutaban el programa. + Si el trabajo terminaba en ese tiempo, había periodos en que la máquina + no se usaba (al ser máquinas muy caras había que aprovecharlas al máximo), + y si no daba tiempo a terminar, el programador tenía que volver a reservar + la máquina. +\end_layout + +\begin_layout Subsection +Segunda generación (1955-65) +\end_layout + +\begin_layout Standard +Aparecen desarrollos como los lectores de tarjetas, impresoras de líneas, + cintas magnéticas y, por el lado del software, ensambladores, cargadores + y enlazadores. + La introducción del transistor hizo que los ordenadores se volvieran fiables, + pudiendo venderse a clientes, y las bibliotecas de E/S hicieron que el + programador ya no tuviera que preocuparse de este aspecto. +\end_layout + +\begin_layout Standard +Si la interacción era directa, esta incluía colocar tarjetas perforadas, + preparar la impresora, hacer cambios de cinta (por ejemplo, colocar la + cinta con el compilador de FORTRAN para compilar un programa), etc. + Si el programador no tenía experiencia en esto se podían producir grandes + pérdidas de tiempo, por lo que se contrataba a un operador profesional + que controlaba la máquina de forma que los programadores entregaban su + trabajo y esperaban al resultado, perdiendo la interacción directa. + Otra medida fue planificar los trabajos para minimizar los cambios de cinta + (por ejemplo, agrupando todos los programas en FORTRAN para ser compilados + tras preparar la cinta con el compilador). +\end_layout + +\begin_layout Standard +Aun así, cuando se detenía un trabajo, el operador debía percatarse observando + la consola, determinar si se trataba de una terminación normal o anormal, + efectuar un volcado si era necesario, cargar el lector de tarjetas o la + cinta con el siguiente trabajo y volver a preparar el ordenador. + En este tiempo la CPU estaba inactiva, por lo que se desarrollaron sistemas + de +\series bold +procesamiento por lotes +\series default +, sistemas operativos rudimentarios, como el +\series bold +monitor residente +\series default +, formado por un intérprete de tarjetas de control, un cargador de programas + y controladores de dispositivos de E/S compartidos con los programas. + Este interpretaba instrucciones de tarjetas de control insertadas entre + tarjetas normales de datos, que indicaban el inicio y fin de un trabajo + y tipo de trabajo a realizar. +\end_layout + +\begin_layout Standard +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Plain Layout +\align center +\begin_inset Graphics + filename pegado1.png + scale 30 + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption Standard + +\begin_layout Plain Layout +Ejemplo de trabajo por lotes. +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Los dispositivos de E/S eran (y son) lentos en comparación con la CPU, que + debía esperar la terminación de cada operación de E/S, por lo que se creó + la +\series bold +operación fuera de línea +\series default +, consistente en pasar de operaciones en línea ( +\emph on +on-line +\emph default +) donde la CPU interactuaba directamente con la E/S lenta, a operaciones + fuera de línea ( +\emph on +off-line +\emph default +), donde la CPU interactuaba con dispositivos más rápidos. + Para esto, primero los datos se leían de las tarjetas y se guardaban en + una cinta, a continuación los datos de la cinta se procesaban y se guardaban + los resultados en otra cinta, y finalmente los datos de la cinta de salida + se imprimen. +\end_layout + +\begin_layout Standard +Esto hizo surgir la +\series bold +independencia de dispositivo +\series default +, el escribir un programa para usar dispositivos de E/S lógicos y que fuera + el sistema operativo el que hiciera corresponder los dispositivos lógicos + con los físicos. + También aumentó el tiempo que el programador debía esperar para obtener + los resultados, pues las cintas se tenían que llenar, y también hizo necesarias + varias máquinas en paralelo para hacer las copias de tarjetas a cintas + y de cintas a la impresora. + Solución: +\end_layout + +\begin_layout Itemize +Hacer que los dispositivos de entrada escriban directamente en un +\series bold +\emph on +buffer +\series default +\emph default + en memoria principal, mientras la CPU procesa los datos anteriores, de + forma que la entrada y la CPU trabajen en paralelo. + Lo mismo ocurre con la salida. +\end_layout + +\begin_layout Itemize +Hacer que la entrada y la salida se den a través de ficheros en un disco, + por el mecanismo de +\series bold +\emph on +spooler +\series default +\emph default + ( +\emph on +simultaneous peripheral operation on-line +\emph default +), de forma que durante el cómputo de un programa se imprime la salida de + programas anteriores, leída del disco, y se lee la entrada de programas + posteriores, que se imprime en el disco. + Para esto el monitor necesita hacer uso de +\emph on +buffers +\emph default + e interrupciones. +\end_layout + +\begin_layout Standard +Sigue habiendo la limitación de que un único usuario no puede mantener a + la CPU y la E/S ocupados todo el tiempo. +\end_layout + +\begin_layout Subsection +Tercera generación (1965-80) +\end_layout + +\begin_layout Standard +Los ordenadores se vuelven más pequeños y fiables. + Se crea la +\series bold +multiprogramación +\series default +: cuando un trabajo no puede continuar su ejecución porque tiene que esperar + a la E/S, se pasa la CPU a otro trabajo listo para ejecutarse. + Es necesaria una +\series bold +planificación de trabajos +\series default +, así como evitar que estos trabajos se interfieran unos a otros en el uso + de los recursos (por ejemplo, escribiendo a la vez en la impresora). +\end_layout + +\begin_layout Standard +El +\series bold +tiempo compartido +\series default + o +\series bold +multitarea +\series default + es una variante de la multiprogramación consistente en hacer un cambio + rápido entre tareas de forma que cada usuario pueda interactuar con el + programa que está ejecutando como si todos se ejecutaran a la vez ( +\series bold +pseudoparalelismo +\series default +), recuperándose la interacción directa. + Puede ocurrir que un programa no quiera liberar la CPU durante bastante + tiempo, por lo que es necesario un mecanismo para obligarle a dejar la + CPU. +\end_layout + +\begin_layout Standard +Surgen sistemas operativos como OS/360 para el IBM 360, MULTICS y su sucesor + UNIX, del que se derivan sistemas como Linux. +\end_layout + +\begin_layout Subsection +Cuarta generación (1980-95) +\end_layout + +\begin_layout Standard +Los circuitos LSI ( +\emph on +Large Scale Integration +\emph default +) y VLSI ( +\emph on +Very Large Scale Integration +\emph default +) permiten la aparición en 1975 del primer +\series bold +ordenador personal +\series default +, invento que popularizó los computadores y la informática. + También aparecen las +\series bold +estaciones de trabajo +\series default +, ordenadores personales muy potentes (para empresas) conectados entre sí + en red. +\end_layout + +\begin_layout Standard +Se populariza el sistema operativo UNIX para estaciones de trabajo y el + MS-DOS, monousuario y monotarea, para ordenadores personales, si bien en + estos comienzan a aparecer conceptos como la multitarea o la memoria virtual + propios de UNIX. + También aparecen las redes de ordenadores personales, dando lugar a sistemas + operativos en red y distribuidos; los ordenadores con varias CPUs que permiten + ejecutar varios procesos a la vez ( +\series bold +paralelismo +\series default +), y los sistemas operativos de tiempo real. +\end_layout + +\begin_layout Subsection +Quinta generación (1995-) +\end_layout + +\begin_layout Standard +Explosión del uso de Internet y aparición de dispositivos móviles, especialmente + los llamados +\series bold +teléfonos inteligentes +\series default + o +\emph on +smartphones +\emph default +, que combinan telefonía y computación, siendo el primero el Nokia N9000, + lanzado a mediados de los 90, si bien estos no se popularizaron hasta el + iPhone de Apple en 2007. +\end_layout + +\begin_layout Standard +De Microsoft aparecen Windows 2000 y sus sucesores Server 2003, 2008, etc., + destinados a servidores, y Windows XP y sus sucesores Vista, 7, etc., destinados + a usuarios. + También alcanzan gran popularidad Linux, MacOS X, Android e iOS. +\end_layout + +\begin_layout Section +Tipos +\end_layout + +\begin_layout Itemize + +\series bold +De propósito general +\series default +, que destacan por su flexibilidad y capacidad para adaptarse, mediante + configuraciones concretas, tanto al hardware sobre el que se ejecutan como + a los trabajos a procesar. + Destacan Unix (principalmente Linux), Microsoft Windows y Apple MacOS X. +\end_layout + +\begin_deeper +\begin_layout Itemize +Unix es el más usado en +\series bold +supercomputadores +\series default +, formados por un gran cantidad de procesadores, memoria, discos, etc. + y capaces de procesar enormes cantidades de datos en poco tiempo, así como + en los +\series bold +\emph on +mainframes +\series default +\emph default +, capaces de procesar a la vez muchos trabajos que requieren enormes cantidades + de E/S (sobre todo, disco y red), y que suelen servir para procesamiento + por lotes o +\emph on +batch +\emph default + (sin interacción con usuarios), transacciones (bancarias, reservas de vuelo, + etc.) y trabajos multitarea (cuando los usuarios interactúan con el sistema). +\end_layout + +\begin_layout Itemize +Al pasar a sistemas menos potentes como +\series bold +servidores +\series default +, computadores que sirven a varios usuarios a la vez compartiendo recursos + hardware y software en red, podemos encontrar tanto Unix como MacOS X o + incluso Windows. + Esto también ocurre en los ordenadores personales, caracterizados por la + multitarea y estar diseñados para dar buen rendimiento a un único usuario, + y que hoy en día son +\series bold +multiprocesadores +\series default +, pues disponen de varios +\series bold +núcleos +\series default + o +\emph on +cores +\emph default + que actúan como CPUs separadas y comparten memoria principal. +\end_layout + +\begin_layout Itemize +En teléfonos inteligentes, tabletas y sistemas integrados, pequeños ordenadores + con menos recursos que uno normal pero con un consumo de energía mucho + menor, encontramos versiones de estos tres sistemas adaptados a estos dispositi +vos y a la interacción por pantalla táctil. +\end_layout + +\end_deeper +\begin_layout Itemize + +\series bold +De red +\series default +: Permiten interactuar con otros ordenadores conectados a una misma red, + si bien cada máquina es independiente. + Actualmente esto es lo común, y de hecho los tres sistemas de propósito + general que hemos visto también son de red. +\end_layout + +\begin_layout Itemize + +\series bold +Distribuidos +\series default +: También se conectan a otros mediante red, pero el conjunto de ordenadores + en esta red es visto como un sistema tradicional, con lo que el usuario + no es consciente de dónde se ejecutan los programas o dónde se encuentran + los ficheros ( +\series bold +transparencia de localización +\series default +). + Las ventajas son la compartición de recursos, aceleración de los cálculos + y tolerancia a fallos, pues si una máquina falla el resto puede seguir + haciendo todo el trabajo. + Destacan Amoeba, Plan 9 e Inferno, si bien todos han dejado de desarrollarse. +\end_layout + +\begin_layout Itemize + +\series bold +De tiempo real +\series default +: En los +\series bold +rigurosos +\series default +, usados por ejemplo en coches y plantas nucleares, una acción se debe realizar + necesariamente en cierto intervalo de tiempo o de lo contrario se podría + poner el sistema en peligro. + En los +\series bold +no rigurosos +\series default + es aceptable no cumplir de vez en cuando un plazo, dentro de unos límites. + Destacan VxWorks y QNX. +\end_layout + +\begin_layout Itemize + +\series bold +Para tarjetas inteligentes +\series default +, debido a las grandes limitaciones de potencia y memoria que presentan. + Suelen disponer de una máquina virtual de Java (JVM) que ejecuta los +\emph on +applets +\emph default + que se cargan en la tarjeta, pequeñas porciones de código que no se pueden + ejecutar por sí mismas sino que necesitan de un entorno proporcionado por + otro programa. +\end_layout + +\begin_layout Section +Programas y procesos +\end_layout + +\begin_layout Standard +Un +\series bold +programa +\series default + es la representación estática y almacenada de un conjunto de instrucciones + a ejecutar. + Cuando es cargado en memoria y se ejecuta, lo hace como un +\series bold +proceso +\series default +, la unidad de trabajo de un sistema, y de los cuales algunos pertenecen + al propio sistema operativo y el resto son procesos de usuario. + Un proceso es dinámico, requiriendo recursos como tiempo de CPU, memoria, + ficheros y dispositivos de E/S. + Varios procesos pueden ejecutar el mismo programa y un proceso (dependiendo + del sistema) puede ejecutar código de varios programas. +\end_layout + +\begin_layout Standard +En general los sistemas operativos se distribuyen junto con +\series bold +programas de sistema +\series default +, cuya misión es ofrecer un entorno más cómodo para el desarrollo y ejecución + de programas. + Tipos: +\end_layout + +\begin_layout Itemize + +\series bold +De manipulación de ficheros +\series default +. +\end_layout + +\begin_layout Itemize + +\series bold +De información de estado +\series default +, que solicitan información al sistema operativo, le dan formato y la imprimen. +\end_layout + +\begin_layout Itemize + +\series bold +De apoyo a lenguajes de programación +\series default +, como compiladores, ensambladores, intérpretes y depuradores. +\end_layout + +\begin_layout Itemize + +\series bold +De comunicaciones +\series default +, para crear conexiones virtuales entre procesos, usuarios o máquinas, permitien +do el envío de mensajes, correos electrónicos o ficheros a usuarios de la + misma máquina u otra y la conexión a una máquina remota. +\end_layout + +\begin_layout Itemize + +\series bold +De aplicación +\series default +, para efectuar otras operaciones comunes. + Incluímos aquí ditores de texto, generadores de gráficos, sistemas de bases + de datos, hojas de cálculo, paquetes de análisis estadístico, etc. +\end_layout + +\begin_layout Itemize + +\series bold +Intérprete de órdenes +\series default +, encargado de interpretar y ejecutar órdenes dadas por el usuario. + Las órdenes pueden estar contenidas en el código del propio intérprete + o en programas independientes. +\end_layout + +\begin_layout Standard +Aunque no hay diferencia entre un programa de usuario y uno del sistema, + la mayoría de usuarios suelen ver el sistema operativo desde el punto de + vista de los programas del sistema. +\end_layout + +\begin_layout Section +Componentes y servicios +\end_layout + +\begin_layout Standard +La interfaz entre el sistema operativo y un proceso tiene lugar mediante + +\series bold +llamadas al sistema +\series default +, con la siguiente estructura: +\end_layout + +\begin_layout Enumerate +El programa ejecuta la instrucción de la CPU para realizar la llamada al + sistema, cambiando la máquina a modo núcleo y pasando el control al sistema + operativo. +\end_layout + +\begin_layout Enumerate +Este lee el número de la llamada al sistema a realizar, y una vez validado, + llama al procedimiento correspondiente indicado en una tabla de apuntadores. +\end_layout + +\begin_layout Enumerate +La llamada termina y el control regresa al proceso de usuario, que continua + su ejecución por la instrucción inmediatamente posterior. +\end_layout + +\begin_layout Standard +El usuario informa al sistema operativo del número de la llamada a realizar + y los parámetros necesarios (habitualmente) mediante los registros, la + pila o una zona de memoria indicada en un registro. + Las bibliotecas de lenguajes de programación suelen contener procedimientos + que ocultan las llamadas al sistema, proporcionando una interfaz más sencilla. +\end_layout + +\begin_layout Standard +A continuación vemos los distintos componentes de un sistema operativo típico + junto a los servicios que ofrecen y las llamadas al sistema asociadas. + +\end_layout + +\begin_layout Subsection +Administración de procesos +\end_layout + +\begin_layout Standard +El sistema operativo debe ser capaz de crear y eliminar procesos, controlar + el tiempo de CPU que se le da a cada uno y cargar programas en estos procesos, + además de proveer medios para que los procesos se comuniquen entre sí. +\end_layout + +\begin_layout Standard +Existen pues llamadas al sistema para crear y terminar procesos; finalizar + el proceso actual; obtener y establecer atributos de un proceso; cargar + un programa; esperar un tiempo; esperar un suceso; enviar una señal a otro + proceso; crear o eliminar una conexión; enviar o recibir mensajes, o transferir + información de estado. +\end_layout + +\begin_layout Subsection +Administración de memoria principal +\end_layout + +\begin_layout Standard +El esquema de administración de memoria depende sobre todo del hardware, + que el sistema operativo debe usar para controlar de qué procesos están + usando qué zonas de memoria, asignar y recuperar memoria según se requiera + y decidir qué procesos se cargarán en memoria cuando haya espacio disponible. + Debe pues haber llamadas al sistema para solicitar y liberar memoria. +\end_layout + +\begin_layout Subsection +Administración de E/S +\end_layout + +\begin_layout Standard +En UNIX, esta se consigue mediante una interfaz uniforme con los manejadores + de dispositivo, un sistema de memoria caché y manejadores de hardware específic +os para las particularidades de cada dispositivo. +\end_layout + +\begin_layout Standard +Existen pues llamadas al sistema para solicitar o liberar dispositivos; + leer y escribir en ellos; reposicionarnos; obtener y establecer atributos + de dispositivos, y unir o separar dispositivos lógicos, sean físicos y + conectados a la propia máquina o accedidos remotamente mediante red. +\end_layout + +\begin_layout Subsection +Administración de ficheros +\end_layout + +\begin_layout Standard +Por comodidad, el sistema operativo organiza la memoria de los dispositivos + de almacenamiento secundario en +\series bold +ficheros +\series default +, unidades de almacenamiento lógico, que a su vez se organizan en directorios. +\end_layout + +\begin_layout Standard +Existen pues llamadas al sistema para crear y eliminar ficheros y directorios; + abrir y cerrar ficheros; leer, escribir y reposicionarnos en ficheros abiertos; + obtener y establecer atributos de ficheros y directorios, y manipular el + contenido de estos directorios. +\end_layout + +\begin_layout Subsection +Sistema de protección +\end_layout + +\begin_layout Standard +Los procesos de un sistema operativo deben ser protegidos unos de otros, + y el sistema operativo debe ser protegido de estos. + Para ello existen tres mecanismos hardware: +\end_layout + +\begin_layout Itemize + +\series bold +Modos de ejecución +\series default + del procesador: el +\series bold +modo núcleo +\series default + o +\series bold +supervisor +\series default +, en el que se ejecuta el sistema operativo por ser así capaz de ejecutar + cualquier instrucción, y el +\series bold +modo usuario +\series default +, en el que se ejecutan los programas de usuario y que no puede ejecutar + ciertas instrucciones como de E/S, configuración de memoria, etc. + Los programas de usuario, para realizar E/S, deben usar una instrucción + especial de +\series bold +llamada al sistema +\series default + ( +\emph on +syscall +\emph default +), tratada como una interrupción que, como todas, es tratada por el sistema + operativo en modo núcleo. +\end_layout + +\begin_layout Itemize + +\series bold +Protección de memoria +\series default +: Impedir que un programa de usuario acceda a zonas de memoria de otros + programas o del sistema operativo. +\end_layout + +\begin_layout Itemize + +\series bold +Interrupciones periódicas +\series default + mediante un reloj: Permiten al sistema operativo hacerse con el control + de la máquina cada cierto tiempo para evitar que un proceso monopolice + la CPU. +\end_layout + +\begin_layout Standard +Esta protección solo funciona si los tres mecanismos funcionan y se usan + de forma conjunta. + El sistema operativo es el encargado de hacer funcionar estos mecanismos + y usarlos para asegurarse de que los recursos puedan ser usados únicamente + por los procesos que han recibido la correspondiente autorización. + Además, el sistema operativo debe ser capaz de lidiar con los errores que + se puedan producir a nivel de hardware o dentro de un programa de usuario, + y emprender la acción adecuada en cada caso. +\end_layout + +\begin_layout Subsection +Mantenimiento de información +\end_layout + +\begin_layout Standard +Si bien esto generalmente no corresponde a una única parte del sistema operativo +, puede ser deseable llevar un control del uso de recursos del ordenador + por parte de los usuarios, sea con fines contables para facturar a los + usuarios o sencillamente para recopilar estadísticas de uso del sistema + que son útiles para su administración. + Además, tanto los procesos como los dispositivos o ficheros pueden poseer + información adicional que se debe leer y modificar aparte, y el reloj es + tratado de forma especial al ser usado en el sistema de protección. +\end_layout + +\begin_layout Standard +Existen pues llamadas al sistema para obtener o establecer la fecha y la + hora, datos del sistema y atributos de proceso, fichero o dispositivo. +\end_layout + +\begin_layout Section +Estructura +\end_layout + +\begin_layout Subsection +Sistemas monolíticos +\end_layout + +\begin_layout Standard +Están formados por un conjunto de procedimientos que se llaman unos a otros. + Ofrecen una interfaz muy clara, pero no tienen una estructura formalmente + definida y cada procedimiento es visible a los demás. + Están formados por el +\series bold +núcleo +\series default + (el sistema operativo como tal, junto a todos los controladores de dispositivo + o +\emph on +drivers +\emph default +) y los programas de sistema. + Destacan Unix (incluyendo Linux) y Windows. +\end_layout + +\begin_layout Standard +\begin_inset Note Comment +status open + +\begin_layout Plain Layout +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Plain Layout +\begin_inset Graphics + filename pegado2.png + width 100text% + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption Standard + +\begin_layout Plain Layout +Esquema de un sistema monolítico. +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Subsection +Sistemas por capas +\end_layout + +\begin_layout Standard +El sistema operativo se divide en +\series bold +capas +\series default + o +\series bold +niveles +\series default +, siendo la más baja (capa 0) el hardware y la más alta la interfaz con + el usuario, de forma que cada capa sólo usa funciones y servicios de capas + inferiores. + Esto simplifica la depuración y verificación, pues usa vez se depura una + capa se asciende a la siguiente, y proporciona ocultación de información, + haciendo posibles las modificaciones en una capa en cualquier momento siempre + que no se modifique la interfaz al resto de capas. + Sin embargo, da problemas de dependencias entre capas, pues a veces es + difícil saber dónde colocar una función, por lo que se opta por tener menos + capas con más funcionalidad. +\end_layout + +\begin_layout Standard +Destacan THE (1968) que se definió en 6 capas (hardware, planificación de + CPU, administración de memoria, consola del operador, administración de + E/S y programas de usuario) y VENUS, donde las capas inferiores se implementaro +n directamente en hardware. +\end_layout + +\begin_layout Subsection +Sistemas cliente-servidor +\end_layout + +\begin_layout Standard +Están formados por un +\series bold +micronúcleo +\series default + o +\emph on +microkernel +\emph default + y una serie de procesos de usuario que implementan las funciones típicas + de un sistema operativo. + Así, los procesos +\series bold +clientes +\series default + solicitan servicios de los procesos +\series bold +servidores +\series default +, que realizan los trabajos solicitados por los clientes y a su vez pueden + ser clientes de otros procesos, de modo que el micronúcleo se limita a + controlar las comunicaciones cliente-servidor. + Para la E/S, bien se incluye el servidor correspondiente en el modo núcleo + o existen mensajes especiales dirigidos al núcleo para que los procese + él mismo. +\end_layout + +\begin_layout Standard +Estos sistemas tienen la ventaja de que un fallo en un servidor concreto + no afecta a todo el sistema, y que pueden adaptarse como sistemas distribuidos + dado que no importa si los procesos que se comunican están en la misma + máquina o no. + Destacan QNX, Minix 3 y MacOS X, cuyo núcleo está basado en la versión + 2.5 del micronúcleo Mach desarrollado en los 80 en la Carnegie-Mellon University. +\end_layout + +\end_body +\end_document diff --git a/iso/n2.lyx b/iso/n2.lyx new file mode 100644 index 0000000..4a252fc --- /dev/null +++ b/iso/n2.lyx @@ -0,0 +1,1232 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Normalmente hay bastantes más procesos que CPUs, por lo que hay que repartir + el uso de estas por parte de los procesos, buscando bien la eficiencia, + como en sistemas antiguos, o el poder ejecutar varios programas dando la + sensación de que todos se ejecutan a la vez, como ocurre actualmente. + El paralelismo y el pseudoparalelismo, que se dan normalmente a la vez, + permiten compartir recursos físicos y lógicos entre varios resultados y + acelerar los cálculos dividiéndolos entre varias CPUs, además de aportar + modularidad, al poder diseñar un sistema como un conjunto de procesos, + y comodidad, permitiendo a los usuarios hacer varias cosas a la vez. +\end_layout + +\begin_layout Standard +El cambio de un proceso a otro se llama +\series bold +cambio de proceso +\series default + o de +\series bold +contexto +\series default +. + El +\series bold +planificador +\series default + es el procedimiento que decide el siguiente proceso a ejecutar mediante + un +\series bold +algoritmo de planificación +\series default +, y modifica las estructuras necesarias para que el cambio de contexto sea + correcto. +\end_layout + +\begin_layout Standard +En UNIX, los procesos se organizan en un árbol de procesos y se crean con + la llamada al sistema +\family typewriter +fork() +\family default +, que crea una copia idéntica del proceso que hace la llamada y devuelve + al hijo el valor 0 y al padre el PID ( +\emph on +process identifier +\emph default +) del proceso hijo. + El PID del propio proceso se obtiene con la llamada al sistema +\family typewriter +getpid +\family default +. + Las llamadas de la familia +\family typewriter +exec +\family default +, como +\family typewriter +execve +\family default +, hacen que un proceso sustituya su código y datos por los de otro programa, + que comienza la ejecución desde el principio, si bien se conservan los + ficheros abiertos (aunque se puede especificar el cierre de algunos descriptore +s de ficheros en +\family typewriter +execve +\family default +), el PID y casi todas las propiedades. +\end_layout + +\begin_layout Standard +En Windows la jerarquía de procesos de UNIX desaparece al poder un proceso + cambiar de proceso padre, y los procesos se crean con +\family typewriter +CreateProcess +\family default +, que equivale a ejecutar un +\family typewriter +fork +\family default + seguido de +\family typewriter +exec +\family default + en el proceso hijo. +\end_layout + +\begin_layout Standard +La terminación voluntaria de un proceso se hace mediante la llamada al sistema + +\family typewriter +exit +\family default + en UNIX y +\family typewriter +ExitProcess +\family default + en Windows. + La terminación involuntaria es producida por el sistema operativo si se + produce un error fatal (división por cero, acceso a una zona memoria incorrecta +, etc.) o por otro proceso autorizado a ello con la llamada al sistema +\family typewriter +kill +\family default + en UNIX o +\family typewriter +TerminateProcess +\family default + en Windows. +\end_layout + +\begin_layout Section +Estados +\end_layout + +\begin_layout Standard +Un proceso puede estar en uno de varios estados: +\end_layout + +\begin_layout Itemize + +\series bold +Nuevo +\series default +: El proceso acaba de ser creado y todavía no tiene los recursos necesarios. +\end_layout + +\begin_layout Itemize + +\series bold +En ejecución +\series default +: Utilizando la CPU. +\end_layout + +\begin_layout Itemize + +\series bold +Listo +\series default + o +\series bold +listo suspendido +\series default +: Ejecutable pero detenido porque otro proceso está usando la CPU. +\end_layout + +\begin_layout Itemize + +\series bold +Bloqueado +\series default + o +\series bold +bloqueado +\series default + +\series bold +suspendido +\series default +: A la espera de un evento externo. +\end_layout + +\begin_layout Itemize + +\series bold +Saliente +\series default + ( +\emph on +zombie +\emph default +): El proceso ha terminado su ejecución pero todavía no ha desaparecido + del todo. + Por ejemplo, en UNIX, cuando un proceso acaba debe esperar a que su padre + recoja su estado de salida mediante la llamada al sistema +\family typewriter +wait +\family default + o +\family typewriter +waitpid +\family default +. +\end_layout + +\begin_layout Standard +Un proceso suspendido no puede ejecutarse y suele guardarse en disco. + La +\series bold +suspensión +\series default + y posterior +\series bold +reanudación +\series default + de un proceso, por parte de otro(s), es útil: +\end_layout + +\begin_layout Itemize +Si el sistema está funcionando mal, mientras se corrige el problema. +\end_layout + +\begin_layout Itemize +Si se cree que los resultados del proceso son incorrectos, para comprobar + si lo son. +\end_layout + +\begin_layout Itemize +Si el sistema está muy cargado, para dar servicio a procesos de más prioridad. +\end_layout + +\begin_layout Standard +Cambios de estado: +\end_layout + +\begin_layout Itemize +De +\begin_inset Quotes fld +\end_inset + +Nuevo +\begin_inset Quotes frd +\end_inset + + a +\begin_inset Quotes fld +\end_inset + +Listo +\begin_inset Quotes frd +\end_inset + + cuando ya dispone de los recursos o a +\begin_inset Quotes fld +\end_inset + +Listo suspendido +\begin_inset Quotes frd +\end_inset + + si no hay memoria disponible y el proceso no tiene prioridad suficiente + para expulsar a otro. +\end_layout + +\begin_layout Itemize +De +\begin_inset Quotes fld +\end_inset + +Listo +\begin_inset Quotes frd +\end_inset + + a +\begin_inset Quotes fld +\end_inset + +En ejecución +\begin_inset Quotes frd +\end_inset + + o viceversa, debido al planificador. +\end_layout + +\begin_layout Itemize +De +\begin_inset Quotes fld +\end_inset + +En ejecución +\begin_inset Quotes frd +\end_inset + + a +\begin_inset Quotes fld +\end_inset + +Bloqueado +\begin_inset Quotes frd +\end_inset + +, si el proces, ueado suspendido +\begin_inset Quotes frd +\end_inset + + a +\begin_inset Quotes fld +\end_inset + +Listo suspendido +\begin_inset Quotes frd +\end_inset + +, cuando ocurre el evento esperado. +\end_layout + +\begin_layout Itemize +De +\begin_inset Quotes fld +\end_inset + +Bloqueado +\begin_inset Quotes frd +\end_inset + + a +\begin_inset Quotes fld +\end_inset + +Bloqueado suspendido +\begin_inset Quotes frd +\end_inset + + o de +\begin_inset Quotes fld +\end_inset + +Listo +\begin_inset Quotes frd +\end_inset + + a +\begin_inset Quotes fld +\end_inset + +Listo suspendido +\begin_inset Quotes frd +\end_inset + +, o viceversa. +\end_layout + +\begin_layout Itemize +De +\begin_inset Quotes fld +\end_inset + +En ejecución +\begin_inset Quotes frd +\end_inset + + a +\begin_inset Quotes fld +\end_inset + +Saliente +\begin_inset Quotes frd +\end_inset + + cuando termina. +\end_layout + +\begin_layout Section +Implementación +\end_layout + +\begin_layout Standard +El SO mantiene una +\series bold +tabla de procesos +\series default + con una entrada, +\series bold +PCB +\series default + ( +\emph on +Process Control Block +\emph default +) o BCP para cada proceso, donde se guarda todo lo necesario para poder + continuar la ejecución tras perder la CPU y recuperarla luego, junto con + datos estadísticos, el estado del proceso, etc. + En concreto suelen guardarse: +\end_layout + +\begin_layout Itemize +Para +\series bold +administración de procesos +\series default +, PID, registros (incluyendo contador del programa, palabra de estado y + puntero de pila), estado del proceso, prioridad, parámetros de planificación, + PID del proceso padre, grupo de procesos, señales, hora de inicio, tiempo + usado de CPU. +\end_layout + +\begin_layout Itemize +Para +\series bold +administración de memoria +\series default +, apuntadores a los segmentos de texto, datos, memoria dinámica. +\end_layout + +\begin_layout Itemize +Para +\series bold +administración de ficheros +\series default +, directorio raíz, directorio actual, descriptores de fichero, identificadores + de usuario y grupo. +\end_layout + +\begin_layout Standard +Crear un proceso consiste en darle nombre (como el PID en UNIX), insertarlo + en la tabla de procesos, determinar su prioridad inicial y asignarle recursos + iniciales. + En el caso de UNIX, +\family typewriter +fork +\family default + busca una entrada libre en la entrada de procesos y copia la información + del PCB del padre a esta, cambiando el PID; evita que uno sobrescriba la + memoria del otro +\begin_inset Foot +status open + +\begin_layout Plain Layout +Según los apuntes se copian los segmentos de datos y de pila, y el de código + se comparte por ser de sólo lectura. + Realmente, desde hace mucho Linux implementa copia en escritura, consistente + en marcar las entradas de la tabla de página de ambos de forma que el núcleo + solo tenga que hacer la copia de una página cuando uno de los procesos + escriba en ella. +\end_layout + +\end_inset + +; incrementa los contadores de los descriptores de ficheros del padre para + reflejar que estos también están abiertos en el hijo, y marca el proceso + hijo como +\begin_inset Quotes fld +\end_inset + +Listo +\begin_inset Quotes frd +\end_inset + +. +\end_layout + +\begin_layout Standard +Los procesos en UNIX tienen dos modos: modo usuario, en que ejecutan un + programa normal, y modo núcleo, común a todos los procesos, en que ejecutan + código del SO al hacer una llamada al sistema. + En este último los procesos pueden bloquearse esperando a algún evento, + lo que hace que se le ceda la CPU a otro proceso hasta que el evento suceda, + momento en que el proceso continuará su ejecución en modo núcleo. + Otro enfoque es considerar el SO como una colección de procesos de sistema + distintos a los procesos de usuario, de modo que cada proceso ejecuta sólo + código de usuario, lo que ocurre en los sistemas cliente-servidor. +\end_layout + +\begin_layout Standard +En las llamadas al sistema, el hardware almacena en una pila el contador + de programa del proceso que se interrumpe, pasa a modo núcleo y almacena + un elemento del vector de interrupciones, que debe ser la dirección de + inicio de alguna rutina del SO, en el contador de programa. + Entonces, un procedimiento guarda el contexto del proceso activo en su + PCB (pudiendo actualizarse otra información como estado, contabilidad o + auditoría), elimina la información introducida en la pila por el hardware, + configura una pila en el núcleo para la llamada al sistema, comprueba que + esta es válida y llama a un procedimiento que procesa la llamada. + Tras esta, el primer procedimiento ejecuta el planificador si lo determina + necesario, teniendo en cuenta que, si el proceso se ha bloqueado en la + llamada, este ya ha sido invocado y no es necesario llamarlo de nuevo, + y finalmente ejecuta el +\series bold +despachador +\series default +, que restaura el contexto del proceso a ejecutar, entre otras cosas cambiando + a la pila de usuario e introduciendo en esta la dirección de su contador + de programa. +\end_layout + +\begin_layout Section +Hilos +\end_layout + +\begin_layout Standard +Un proceso tradicional es: +\end_layout + +\begin_layout Itemize +Unidad de propiedad de recursos, con un espacio de direcciones, variables + globales, ficheros abiertos, procesos hijos, alarmas, señales, semáforos, + información contable, etc. +\end_layout + +\begin_layout Itemize +Unidad de planificación y ejecución, con un contador de programa, una serie + de registros, una pila y un estado. +\end_layout + +\begin_layout Standard +Estas funciones son independientes, y los sistemas operativos modernos llaman + +\series bold +hilos +\series default + ( +\emph on +threads +\emph default +), +\series bold +procesos ligeros +\series default + ( +\emph on +LightWeight Processes +\emph default +, LWP), +\series bold +hebras +\series default + o +\series bold +subprocesos +\series default + a las unidades de ejecución y procesos a las de propiedad de recursos, + de forma que un mismo proceso puede tener uno o varios hilos. + Cuando comienza la ejecución de un programa existe un único hilo, el +\series bold +hilo principal +\series default +, que puede crear otros. +\end_layout + +\begin_layout Standard +En Linux y otros muchos UNIX, un hilo puede crear otro mediante +\family typewriter +pthread_create +\family default +, que entre sus parámetros recibe un puntero a otra función que es donde + comienza la ejecución el hilo hijo. + Todo hilo tiene un TID ( +\emph on +thread identifier +\emph default +), que se obtiene desde el propio hilo con la llamada al sistema +\family typewriter +gettid +\family default +. + Para facilitar la colabolación entre hilos, que pueden necesitar acceder + y modificar las mismas variables globales, existen métodos de sincronización + como +\emph on +mutex +\emph default + (exclusión mutua) y semáforos. +\end_layout + +\begin_layout Standard +Ventajas de los hilos: +\end_layout + +\begin_layout Itemize +Al compartir espacio de direcciones, se pueden comunicar entre sí sin intervenci +ón del núcleo, por lo que esta comunicación es más rápida. +\end_layout + +\begin_layout Itemize +Los hilos se pueden bloquear mientras termina una llamada al sistema, por + lo que si hay varios, la E/S puede solaparse con el cómputo. +\end_layout + +\begin_layout Itemize +Es mucho más rápido crear un hilo en un proceso existente que un nuevo proceso, + y el cambio de uno a otro es más rápido. +\end_layout + +\begin_layout Itemize +Se puede conseguir paralelismo real dentro de un mismo proceso. +\end_layout + +\begin_layout Standard +Los hilos pueden ser soportados directamente por el núcleo, como en Windows + y Linux, o ser implementados mediante una biblioteca a nivel de usuario, + como se hacía en Linux antes de que implementara hilos en el núcleo. +\end_layout + +\begin_layout Standard +La implementación en modo usuario tiene como ventajas que el programa se + puede usar en núcleos que no implementan hilos, los cambios de contexto + son mucho más rápidos al no tener que pasar por el núcleo y cada proceso + puede tener un algoritmo distinto de planificación. + Sin embargo, en este caso una llamada al sistema bloqueante, o un fallo + de página, bloquearía a todos los hilos del proceso, y no es posible obtener + paralelismo real dentro de un mismo proceso. +\end_layout + +\begin_layout Standard +En la implementación en modo núcleo, la creación, destrucción y sincronización + entre hilos es más costosa, pero esto se puede aliviar usando una biblioteca + de sincronización que sólo realice llamadas al sistema cuando sea estrictamente + necesarios, y manteniendo las estructuras de un hilo después de que termine + para poder usarlo posteriormente en vez de crear otro nuevo. + En cualquier caso todos los hilos deben pasar a estado suspendido al mismo + tiempo, pues la memoria de todo el proceso se mueve al disco. +\end_layout + +\begin_layout Section +Planificación +\end_layout + +\begin_layout Standard +Metas: +\end_layout + +\begin_layout Itemize + +\series bold +Equidad +\series default +: Dar a cada proceso una proporción adecuada de CPU. +\end_layout + +\begin_layout Itemize +Maximizar la +\series bold +eficacia +\series default + de la CPU, +\begin_inset Formula $E:=\frac{\text{Tiempo útil}}{\text{Tiempo total}}\cdot100$ +\end_inset + +, y el +\series bold +rendimiento +\series default + o +\series bold +productividad +\series default +, el número de tareas procesadas por unidad de tiempo. +\end_layout + +\begin_layout Itemize +Minimizar el +\series bold +tiempo de espera +\series default + (el que pasa un proceso en estado +\begin_inset Quotes fld +\end_inset + +Listo +\begin_inset Quotes frd +\end_inset + +), el de +\series bold +respuesta +\series default + (el que pasa desde que se solicita la ejecución de una acción hasta que + se obtienen los primeros resultados, importante para usuarios interactivos) + y el de +\series bold +regreso +\series default + o +\series bold +retorno +\series default + (el que pasa desde que se entrega a un trabajo hasta que termina y se obtienen + sus resultados, importante para trabajos por lotes). +\end_layout + +\begin_layout Standard +Algunas de estas, como el tiempo de espera y la eficacia, son contradictorias. +\end_layout + +\begin_layout Standard +Una planificación es +\series bold +apropiativa +\series default + si puede expulsar a procesos de la CPU para ejecutar otros sin necesidad + de que se bloqueen, y +\series bold +no apropiativa +\series default + o +\series bold +de ejecución hasta terminar +\series default + en caso contrario. + Para los procesos por lotes son convenientes tanto una planificación no + apropiativa como una apropiativa con periodos de CPU largos (pues los cambios + de proceso desperdician CPU), mientras que para procesos interactivos suele + ser necesaria una planificación apropiativa para cambiar la CPU rápidamente + de un proceso a otro. +\end_layout + +\begin_layout Standard +Los procesos alternan entre ráfagas de CPU y de E/S, comenzando y terminando + por una de CPU. + Decimos que un proceso es +\series bold +limitado por E/S +\series default + si pasa la mayor parte de su tiempo en espera de E/S, y normalmente tendrá + muchas ráfagas de CPU aunque breves, y es +\series bold +limitado por CPU +\series default + si usa la CPU la mayor parte del tiempo, y normalmente tendrá pocas ráfagas + de CPU aunque muy largas. +\end_layout + +\begin_layout Standard +Podemos representar un algoritmo de planificación mediante un +\series bold +diagrama de colas +\series default +, en el que cada rectángulo es una cola, los círculos son recursos que dan + servicio a las colas y las flechas indican el flujo de los procesos. + Un +\series bold +diagrama de Gantt +\series default + representa el proceso en ejecución en cada momento mediante rectángulos + de longitud proporcional a la duración de la ráfaga de CPU. +\end_layout + +\begin_layout Standard +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Plain Layout +\align center +\begin_inset Graphics + filename pegado3.png + width 80text% + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption Standard + +\begin_layout Plain Layout +Diagrama de colas de planificación de procesos. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Plain Layout +\align center +\begin_inset Graphics + filename pegado4.png + width 80text% + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption Standard + +\begin_layout Plain Layout +Diagrama de Gantt. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Algoritmos no apropiativos: +\end_layout + +\begin_layout Itemize + +\series bold +FCFS +\series default + ( +\emph on +First Coming, First Served +\emph default +, +\begin_inset Quotes fld +\end_inset + +primero en llegar, primero en ser servido +\begin_inset Quotes frd +\end_inset + +). + Es el más simple y se puede implementar con una cola FIFO. + El tiempo medio de respuesta puede ser bastante largo debido al +\series bold +efecto convoy +\series default +: Un proceso limitado por CPU ocupa la CPU mucho tiempo mientras el resto + terminan su E/S y entonces los dispositivos de E/S quedan inactivos hasta + que el proceso en ejecución pasa a realizar su E/S; entonces los procesos + limitados por E/S pasan a usar la CPU y terminan rápido por tener ráfagas + de CPU breves y la CPU queda inactiva hasta que el proceso limitado por + CPU continúa su ejecución, momento en que el ciclo se repite, resultando + en desaprovechamiento de recursos. +\end_layout + +\begin_layout Itemize + +\series bold +SJF +\series default + ( +\emph on +Shortest Job First +\emph default +, +\begin_inset Quotes fld +\end_inset + +primero el trabajo más corto +\begin_inset Quotes frd +\end_inset + +). + Adecuado para procesos por lotes, donde los tiempos de ejecución aproximados + se suelen conocer de antemano, y de lo contrario se puede estimar mediante + +\series bold +maduración +\series default +: +\begin_inset Formula $E_{t}=aE_{t-1}+(1-a)T_{t-1}$ +\end_inset + +, donde +\begin_inset Formula $E_{t}$ +\end_inset + + es la estimación de tiempo actual, +\begin_inset Formula $E_{t-1}$ +\end_inset + + la estimación anterior para el mismo proceso, +\begin_inset Formula $T_{t-1}$ +\end_inset + + el tiempo que tardó realmente y +\begin_inset Formula $a$ +\end_inset + + un parámetro ajustable entre 0 y 1, pues un valor de +\begin_inset Formula $a$ +\end_inset + + pequeño hace que se olviden rápidamente los tiempos de ejecuciones anteriores + y un valor grande hace que se recuerden demasiado tiempo. + Si se dispone de todos los procesos de forma simultánea, este algoritmo + proporciona el mínimo tiempo medio de retorno. +\end_layout + +\begin_layout Standard +Algoritmos apropiativos: +\end_layout + +\begin_layout Itemize + +\series bold +SRTF +\series default + ( +\emph on +Shortest Remaining Time First +\emph default +, +\begin_inset Quotes fld +\end_inset + +primero el que tenga el menor tiempo restante +\begin_inset Quotes frd +\end_inset + +). + Variante del SJF que permite quitar la CPU a un proceso para dársela a + otro con tiempo total de ráfaga de CPU menor al tiempo restante de CPU + de la ráfaga del proceso que se está ejecutando. +\end_layout + +\begin_layout Itemize + +\series bold +\emph on +Round Robin +\series default +\emph default + ( +\series bold +RR +\series default +) o +\series bold +circular +\series default +. + Es de los más antiguos, sencillos, equitativos y de mayor uso. + Similar al FCFS pero con un +\emph on +quantum +\emph default + de tiempo +\begin_inset Formula $q$ +\end_inset + + tal que, si un proceso consume un +\emph on +quantum +\emph default +, pasa al final de la cola de procesos listos para dar la CPU al siguiente + proceso. + De esta forma, si hay +\begin_inset Formula $n$ +\end_inset + + procesos, ninguno tiene tiempo de espera mayor a +\begin_inset Formula $(n-1)q$ +\end_inset + +. + Si +\begin_inset Formula $q$ +\end_inset + + es pequeño se desperdicia tiempo de CPU en cambios de proceso, pero si + es grande, los últimos procesos tardan mucho en ser atendidos, resultando + en tiempos de respuesta muy pobres en procesos interactivos. +\end_layout + +\begin_layout Standard +Otras formas de planificación pueden hacerse apropiativas o no apropiativas: +\end_layout + +\begin_layout Itemize + +\series bold +Planificación por prioridad +\series default +. + Cada proceso tiene una prioridad, normalmente un número que es mayor a + mayor prioridad (en UNIX es al revés), de modo que la CPU se da al primer + proceso de la cola con la mayor prioridad. + La asignación de prioridad puede ser +\series bold +estática +\series default +, si no cambia durante la ejecución del proceso, o +\series bold +dinámica +\series default + si depende de parámetros. + Un ejemplo de asignación dinámica para favorecer a los procesos limitados + por E/S, y que puedan ejecutarse pronto para enviar su siguiente solicitud + de E/S, es hacer que la prioridad sea inversamente proporcional a la fracción + del último +\emph on +quantum +\emph default + usado por el proceso. + Este +\emph on +quantum +\emph default + puede ser una referencia para medir el tiempo consumido o funcionar como + en la planificación +\emph on +round-robin +\emph default +. +\begin_inset Newline newline +\end_inset + +El +\series bold +bloqueo indefinido +\series default + o +\series bold +inanición +\series default + ocurre cuando los procesos de baja prioridad nunca llegan a ejecutarse. + Para evitarlo se puede disminuir cada cierto tiempo la prioridad del proceso + en ejecución, lo que tiene sentido si la planificación es apropiativa. + Esto sigue teniendo el problema de que pueden llegar continuamente procesos + de mayor cantidad que los que llevan tiempo esperando, por lo que una alternati +va es aumentar cada cierto tiempo la prioridad de los procesos listos. +\end_layout + +\begin_layout Itemize + +\series bold +Planificación de múltiples colas con realimentación +\series default +. + Es la más general, pero también la más compleja. + Existen varias colas de procesos listos y un proceso va a una u otra según + si es interactivo o por lotes, de sistema o de usuario, su prioridad, la + cola que usó la última vez, el consumo de CPU, etc. + Debe haber una planificación dentro de cada cola, y una planificación entre + colas, que suele ser apropiativa por prioridad pero puede ser cualquiera, + como el reparto equitativo y que cada cola se administre de una forma. + Para evitar que el esquema sea inflexible, debe haber un criterio para + que los procesos cambien de cola (realimentación). +\end_layout + +\begin_layout Standard +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Plain Layout +\align center +\begin_inset Graphics + filename pegado5.png + width 80text% + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption Standard + +\begin_layout Plain Layout +Planificación de múltiples colas. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Si no se dispone de suficiente memoria es necesario que algunos procesos + se mantengan en disco. + Para ello, los procesos en memoria los gestiona un +\series bold +planificador a corto plazo +\series default + (PCP) mientras que un +\series bold +planificador a medio plazo +\series default + (PMP) es llamado periódicamente y se encarga de la suspensión y reanudación + de procesos, teniendo en cuenta criterios como el tiempo desde el último + intercambio, el tiempo de CPU que ha consumido el proceso recientemente, + el tamaño del proceso (los pequeños no causan problemas) y la prioridad + de este. + También es posible añadir un +\series bold +planificador a largo plazo +\series default + (PLP) que decida, de entre los procesos por lotes preparados, cuál ejecutar + después, eligiendo si este pasa directamente a memoria o a disco. +\end_layout + +\begin_layout Standard +\begin_inset Note Comment +status open + +\begin_layout Plain Layout +\begin_inset Float figure +wide false +sideways false +status open + +\begin_layout Plain Layout +\align center +\begin_inset Graphics + filename pegado6.png + width 80text% + +\end_inset + + +\end_layout + +\begin_layout Plain Layout +\begin_inset Caption Standard + +\begin_layout Plain Layout +Planificación a corto, medio y largo plazo. +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/iso/n3.lyx b/iso/n3.lyx new file mode 100644 index 0000000..fdc2fbb --- /dev/null +++ b/iso/n3.lyx @@ -0,0 +1,943 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Requisitos para la seguridad y amenazas asociadas: +\end_layout + +\begin_layout Itemize + +\series bold +Confidencialidad +\series default +: La información, incluyendo la existencia de esta, solo debe poder ser + leída por usuarios autorizados. +\end_layout + +\begin_deeper +\begin_layout Itemize + +\series bold +Interceptación +\series default +: Leer un elemento sin autorización. + Incluye copias y lecturas no autorizadas, análisis estadístico para revelar + datos ocultos y observación del tráfico de mensajes. +\end_layout + +\end_deeper +\begin_layout Itemize + +\series bold +Integridad +\series default +: Los elementos del sistema solo deben poder ser modificados, incluyendo + borrado y creación, por usuarios autorizados. +\end_layout + +\begin_deeper +\begin_layout Itemize + +\series bold +Modificación +\series default +: Falsificar un elemento o modificarlo sin autorización, incluyendo alteración + de un programa en funcionamiento. +\end_layout + +\begin_layout Itemize + +\series bold +Invención +\series default +: Insertar objetos falsos en el sistema, incluyendo ficheros y mensajes. +\end_layout + +\end_deeper +\begin_layout Itemize + +\series bold +Disponibilidad +\series default +: Los elementos de un sistema deben estar disponibles para usuarios autorizados. +\end_layout + +\begin_deeper +\begin_layout Itemize + +\series bold +Interrupción +\series default +: Destruir un elemento o hacerlo inaccesible o inútil, incluyendo robo de + equipos, consumo excesivo de recursos, eliminación de ficheros o mensajes + y corte de las líneas de comunicaciones. +\end_layout + +\end_deeper +\begin_layout Standard +Para probar la seguridad de un sistema se suele contratar a un grupo de + expertos (equipo tigre o de penetración) para ver si puede penetrar en + él. + Ataques más comunes: +\end_layout + +\begin_layout Itemize +Reservar espacio de memoria o disco y leerlo, pues muchos sistemas no borran + el espacio antes de asignarlo. +\end_layout + +\begin_layout Itemize +Intentar llamadas inválidas, o con parámetros inválidos o no razonables. +\end_layout + +\begin_layout Itemize +Conectarse un sistema y pulsar +\family typewriter +C-c +\family default + o similares, terminando en ciertos sistemas el programa de verificación + de contraseñas y permitiendo el acceso. +\end_layout + +\begin_layout Itemize +Escribir un programa que aparente ser para iniciar sesión pero realmente + filtren la contraseña. +\end_layout + +\begin_layout Itemize +Buscar acciones que se conoce que no se deben llevar a cabo y hacerlas con + todas sus variaciones. +\end_layout + +\begin_layout Itemize +Convencer al administrador para que modifique el sistema de alguna forma + que evite verificaciones de seguridad. +\end_layout + +\begin_layout Itemize +Engañar o sobornar al personal de administración del centro de cálculo. +\end_layout + +\begin_layout Standard +Ataques específicos: +\end_layout + +\begin_layout Itemize + +\series bold +Bombas lógicas +\series default +: +\begin_inset Quotes fld +\end_inset + +Estallan +\begin_inset Quotes frd +\end_inset + + en un instante de tiempo determinado, y muchas veces son creadas por el + desarrollador del programa donde se encuentran como forma de protección. +\end_layout + +\begin_layout Itemize + +\series bold +Puertas traseras +\series default + ( +\emph on +backdoors +\emph default +): Programas normales pero que además permiten el acceso al sistema desde + el exterior o como administrador. + Por ejemplo un programa de autenticación que con cierta combinación de + usuario y contraseña proporciona acceso completo. +\begin_inset Foot +status open + +\begin_layout Plain Layout +Ver < +\begin_inset Flex URL +status open + +\begin_layout Plain Layout + +http://scienceblogs.com/goodmath/2007/04/15/strange-loops-dennis-ritchie-a/ +\end_layout + +\end_inset + +>. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Itemize + +\series bold +Desbordamiento de +\emph on +buffer +\series default +\emph default +: Aprovechar fallos de programación para causar que un programa escriba + (o lea) más información de la que cabe en el +\emph on +buffer +\emph default + que ha reservado, pudiendo llegar a ejecutar código malicioso, normalmente + sobrescribiendo la dirección de retorno en la pila para que apunte a este. +\end_layout + +\begin_layout Itemize + +\series bold +Caballos de Troya +\series default +: Sustituyen una orden por otra con el mismo nombre. +\end_layout + +\begin_layout Itemize + +\series bold +Virus +\series default +: Se encuentran dentro de un programa y se replican en otros programas o + ficheros, extendiéndose dentro del ordenador y copiándose a otros mediante + sistemas de almacenamiento y redes. +\end_layout + +\begin_layout Itemize + +\series bold +Gusanos +\series default +: Como los virus, pero en vez de copiarse en otros ficheros se transmiten + por red. +\end_layout + +\begin_layout Itemize + +\series bold +\emph on +Spyware +\series default +\emph default +: Código que, sin que el usuario sea consciente de ello ni lo autorice, + se ejecuta en segundo plano y recopila información del sistema y la actividad + del usuario para enviarla a computadores externos. +\end_layout + +\begin_layout Itemize + +\series bold +\emph on +Rootkits +\series default +\emph default +: Permiten acceso privilegiado continuo a un computador, normalmente mediante + una puerta trasera, a la vez que ocultan activamente su presencia. +\end_layout + +\begin_layout Standard +En 1975, Saltzer y Schroeder identificaron varios principios de diseño de + cara a la seguridad: +\end_layout + +\begin_layout Enumerate +El diseño debe ser público (muchos ojos ven más fallos que pocos). +\end_layout + +\begin_layout Enumerate +El estado predefinido debe ser de +\begin_inset Quotes fld +\end_inset + +no acceso +\begin_inset Quotes frd +\end_inset + +. +\end_layout + +\begin_layout Enumerate +Se debe verificar la autorización en el momento de hacer la operación; no + se debe verificar el permiso, determinar que está permitido y no hacer + más comprobaciones. +\end_layout + +\begin_layout Enumerate +Dar a los procesos el mínimo privilegio que les permita hacer su trabajo. +\end_layout + +\begin_layout Enumerate +El mecanismo de protección debe ser simple, uniforme e integrado hasta las + capas más bajas del sistema (la seguridad no es algo que se pueda añadir + por encima). +\end_layout + +\begin_layout Enumerate +El esquema debe ser psicológicamente aceptable para que los usuarios no + pongan la contraseña en un +\emph on +post-it +\emph default + o similares. +\end_layout + +\begin_layout Section +Autenticación +\end_layout + +\begin_layout Standard +La seguridad de un sistema requiere de: +\end_layout + +\begin_layout Itemize + +\series bold +Protección +\series default +. + Distinguimos entre la +\series bold +política +\series default +, que define qué se va a proteger, qué usuarios pueden acceder a qué recursos, + etc., y que pueden estar determinadas en el diseño del sistema, formuladas + por los administradores o definidas por los usuarios para proteger sus + propios ficheros, y el +\series bold +mecanismo +\series default +, que define cómo implementa esto el sistema, y es en lo que nos centraremos. +\end_layout + +\begin_layout Itemize + +\series bold +Entorno externo +\series default +. + Por ejemplo, no exponer la consola del operador a personal no autorizado, + ni permitir extraer el almacenamiento del sistema para transportarlo a + otro sin protección. +\end_layout + +\begin_layout Standard +La +\series bold +autenticación de usuarios +\series default + es el problema de identificar a los usuarios cuando están conectados al + sistema. + El método más común es pedir un nombre o identificador (ID) y una contraseña + para autenticar el ID. + Este identificador determina los privilegios del usuario, es decir, lo + que este puede o no puede hacer en el sistema. + En general existe un usuario o grupo reducido con estado de +\series bold +supervisor +\series default + o +\series bold +superusuario +\series default +, que les permite llevar a cabo funciones protegidas especialmente. + Algunos sistemas también disponen de cuentas anónimas cuyos usuarios tienen + privilegios más restringidos. + En muchos solo se permite acceder al sistema a los usuarios con un ID ya + registrado. +\end_layout + +\begin_layout Subsection +Contraseñas en UNIX +\end_layout + +\begin_layout Standard +La contraseña, junto con un +\series bold +valor base +\series default + ( +\emph on +salt +\emph default +) y el algoritmo de cifrado (función +\emph on +hash +\emph default +) a utilizar se pasan como parámetros a una función llamada +\family typewriter +crypt +\family default +, que devuelve la contraseña cifrada. + Esta se guarda en el fichero de contraseñas (antes +\family typewriter +/etc/passwd +\family default + y actualmente +\family typewriter +/etc/shadow +\family default +), con formato +\family typewriter +$ +\emph on +tipo +\emph default +$ +\emph on +base +\emph default +$ +\emph on +contraseñaCifrada +\family default +\emph default +, donde +\family typewriter +\emph on +tipo +\family default +\emph default + es 1 para MD5 (obsoleto), 5 para SHA-256 y 6 para SHA-512 y +\family typewriter +\emph on +base +\family default +\emph default + es la base sin cifrar. + El valor de la base está relacionado con el momento en que se asigna la + contraseña a un usuario y sirve para impedir que contraseñas iguales se + cifren igual. +\end_layout + +\begin_layout Subsection +Elección de contraseña +\end_layout + +\begin_layout Standard +Las funciones +\emph on +hash +\emph default + usadas están diseñadas para evitar ataques por adivinación, incluso usando + supercomputadores, pero algunos usuarios al elegir su contraseña eligen + una fácilmente adivinable. + Si se rechazan las contraseñas por longitud mínima, los usuarios pueden + elegir contraseñas igualmente adivinables como su propio nombre, el de + su calle, una palabra común del diccionario, etc., pero si se asignan contraseña +s aleatorias, la mayoría de los usuarios no la recordarán o acabarán apuntándola + en un lugar visible. + Soluciones (no incompatibles): +\end_layout + +\begin_layout Itemize + +\series bold +Instrucción del usuario +\series default +: Explicar a los usuarios la importancia de elegir contraseñas seguras y + cómo elegirlas, así como buenos hábitos como cambiarlas a menudo, no anotarlas + en lugares visibles ni comunicarlas, etc. + Una buena contraseña suele tener letras mayúsculas, minúsculas, números + y signos de puntuación u otros caracteres alfanuméricos. +\end_layout + +\begin_layout Itemize + +\series bold +Inspección proactiva de contraseña +\series default +: El sistema usa algoritmos y heurísticas para determinar la seguridad de + una contraseña y rechazarla si es fácilmente adivinable. + Incluso el administrador del sistema puede comprobar la robustez de las + contraseñas ejecutando programas de adivinación o +\emph on + cracks +\emph default +. +\end_layout + +\begin_layout Section +Protección +\end_layout + +\begin_layout Standard +Un +\series bold +derecho +\series default + es el permiso para realizar una determinada acción sobre algún objeto, + y un +\series bold +dominio +\series default +( +\series bold +de protección +\series default +) es una función que a cada objeto le asigna un conjunto de derechos. + Todo proceso se ejecuta en un dominio, y muchos sistemas proveen mecanismos + que permiten que los procesos cambien de dominio. + Algunas formas de representar los dominios son: +\end_layout + +\begin_layout Itemize + +\series bold +Matriz de protección +\series default + o +\series bold +de acceso +\series default +: Con una fila por dominio, una columna por proceso y un conjunto de derechos + en cada celda. + Si los procesos pueden cambiar de dominio, los dominios se pueden identificar + con objetos y añadir en estos el derecho de +\begin_inset Quotes fld +\end_inset + +entrar +\begin_inset Quotes frd +\end_inset + +. + Incluso la propia matriz se puede entender como un objeto que se puede + modificar mediante una serie de operaciones. + En la práctica esta matriz no se almacena. +\end_layout + +\begin_layout Itemize + +\series bold +Listas de control de acceso +\series default + o +\series bold +ACLs +\series default + ( +\emph on +Access Control Lists +\emph default +): A cada objeto se le asocia una lista con todos los dominios que pueden + tener acceso a él y con qué derechos. + Normalmente los dominios se asocian a usuarios y, si estos se pueden agrupar, + las ACLs también se pueden aplicar a los grupos. + Si una ACL contiene tanto una entrada para un usuario como entradas para + grupos a los que este pertenece se debe establecer un criterio sobre qué + derechos prevalecen. +\end_layout + +\begin_layout Itemize + +\series bold +Listas de posibilidades +\series default + o +\series bold +de capacidades +\series default +: A cada dominio se le asocia una lista de entradas, llamadas +\series bold +posibilidades +\series default + o +\series bold +capacidades +\series default +, que representan un objeto (normalmente con su tipo y una referencia a + este) y los derechos que se tienen sobre este (si un objeto no aparece, + no se tiene ningún derecho). + Normalmente los dominios se asocian a procesos, los cuales para acceder + a un objeto indican la posición de la capacidad correspondiente. + Como estas listas deben ser protegidas del manejo indebido, se suelen guardar + dentro del sistema operativo permitiendo que los procesos las referencien + por su número. + En general las posibilidades tienen operaciones genéricas para copiarlas, + eliminarlas, trasferirlas o generar una versión más restrictiva. +\end_layout + +\begin_layout Standard +Las ACLs se corresponden directamente con las necesidades del usuario, que + puede especificar los dominios que pueden acceder a un objeto cuando lo + crea, pero al haber que comprobar cada acceso al objeto, son ineficientes. + Las listas de posibilidades, por su parte, son mucho más eficientes, pero + son más complejas al no corresponderse directamente con las necesidades + de los usuarios. +\end_layout + +\begin_layout Subsection +Cancelación +\end_layout + +\begin_layout Standard +La +\series bold +cancelación +\series default + o +\series bold +revocación +\series default + de derechos de acceso puede ser +\series bold +inmediata +\series default + o +\series bold +demorada +\series default +, +\series bold +selectiva +\series default + o +\series bold +general +\series default +, +\series bold +parcial +\series default + o +\series bold +total +\series default +, y +\series bold +temporal +\series default + o +\series bold +permanente +\series default +. + Con las ACLs la cancelación es sencilla, pues basta eliminar de esta los + derechos que serán cancelados. +\end_layout + +\begin_layout Standard +Con las posibilidades haría falta determinar todas las existentes para un + objeto y modificarlas, pero esto es ineficiente. + Para cada objeto se podría llevar un registro de todas las posibilidades + asociadas, pero este podría consumir mucha memoria y en algunos sistemas + no es posible porque los procesos pueden pasarse posibilidades sin conocimiento + del sistema. +\end_layout + +\begin_layout Standard +Una técnica es hacer que cada posibilidad apunte hacia un objeto indirecto + en vez de al objeto en sí, de forma que basta romper esta conexión para + invalidar todas las posibilidades. + Otra es asignar a cada objeto un gran número aleatorio, también presente + en la posibilidad, y permitir la operación si ambos coinciden, de forma + que basta cambiar el número del objeto para invalidar todas las posibilidades. + Ninguna de estas dos técnicas permite la revocación selectiva. +\end_layout + +\begin_layout Subsection +Protección en UNIX +\end_layout + +\begin_layout Standard +Unix combina ACLs restringidas con listas de posibilidades. + Cada usuario lleva asociado un número, el +\series bold +identificador de usuario +\series default + o +\series bold +UID +\series default + ( +\emph on +User IDentifier +\emph default +), que se asocia al nombre de usuario o +\emph on +login +\emph default + mediante el fichero +\family typewriter +/etc/passwd +\family default +. + Destaca el usuario con UID 0, normalmente llamado +\family typewriter +root +\family default +, que tiene todos los privilegios. + Es pues importante elegir una buena contraseña para esta cuenta y protegerla. + Algunas distribuciones Linux no permiten iniciar sesión como +\family typewriter +root +\family default +. +\end_layout + +\begin_layout Standard +También hay grupos de usuarios, con un +\series bold +identificador de grupo +\series default + o +\series bold +GID +\series default + ( +\emph on +Group IDentifier +\emph default +) asociado al nombre del grupo y la lista de usuarios pertenecientes a él + a través del fichero +\family typewriter +/etc/group +\family default +. +\end_layout + +\begin_layout Standard +Pueden definirse varios usuarios o grupos con el mismo UID o GID, pero para + el sistema operativo se trata del mismo usuario o grupo. + Un dominio en UNIX se corresponde aproximadamente con un par +\begin_inset Formula $(\text{UID},\text{GID})$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Las ACLs restringidas se limitan a 3 conjuntos de usuarios: el propietario + de un fichero, el grupo de usuarios al que pertenece y el resto de usuarios. + Para cada uno existen 3 permisos: lectura ( +\family typewriter +r +\family default +), escritura ( +\family typewriter +w +\family default +) y ejecución ( +\family typewriter +x +\family default +). + En directorios, el permiso +\family typewriter +r +\family default + indica que se puede listar su contenido, +\family typewriter +w +\family default + que se puede modificar (creando, borrando y renombrando ficheros y subdirectori +os) y +\family typewriter +x +\family default + que se puede hacer que este sea nuestro directorio actual y que es posible + atravesarlo. +\end_layout + +\begin_layout Standard +Para determinar lo que un proceso puede hacer sobre un fichero, si el usuario + tiene UID 0, se considera que tiene los tres permisos; de lo contrario, + si el UID del proceso coincide con el del fichero, se queda con los permisos + de propietario; si esto no se cumple pero el GID del proceso coincide con + el del fichero, se queda con los permisos de grupo, y en caso contrario + usa los del resto de usuarios. +\end_layout + +\begin_layout Standard +Estos permisos suelen mostrarse mediante una cadena de 9 letras con formato + +\family typewriter +rwxrwxrwx +\family default + para representar los permisos de los 3 conjuntos en orden, donde la letra + correspondiente se sustituye por +\family typewriter +- +\family default + si el conjunto de usuarios correspondiente no tiene el permiso. + Esta cadena se almacena internamente mediante 9 bits, establecidos como + 1 si el permiso se da o como 0 en caso contrario. +\end_layout + +\begin_layout Standard +Algunos sistemas UNIX, como Linux, implementan también ACLs completas para + los sistemas de ficheros que lo admiten. +\end_layout + +\begin_layout Standard +Para cambiar de dominio, los ejecutable pueden poseer los bits SETUID y + SETGID. + Si SETUID está activo, al ejecutar el fichero, el proceso en que se ejecuta + tendrá como UID efectivo (EUID) el del propietario del ejecutable, y lo + mismo ocurre con SETGID para el grupo efectivo (EGID). + Un programa puede conocer su usuario y grupo reales mediante las funciones + +\family typewriter +getuid +\family default + y +\family typewriter +getgid +\family default +, así como su usuario y grupo efectivos mediante +\family typewriter +geteuid +\family default + y +\family typewriter +getegid +\family default +. + Cuando un ejecutable posee el bit SETUID, la primera +\family typewriter +x +\family default + en la cadena que representa los permisos cambia por una +\family typewriter +s +\family default +. +\end_layout + +\begin_layout Standard +Por ejemplo, el comando +\family typewriter +passwd +\family default + permite cambiar la contraseña a un usuario, pero para ello necesita acceder + y modificar +\family typewriter +/etc/shadow +\family default +, que en general no puede ser leído ni escrito por nadie salvo +\family typewriter +root +\family default +. + Por tanto +\family typewriter +passwd +\family default + tiene como propietario +\family typewriter +root +\family default + y tiene activo el SETUID, y determina el usuario que lo ha invocado con + +\family typewriter +getuid +\family default +. + Si el UID es 0, permite cambiar la contraseña de cualquier usuario; de + lo contrario solo permite cambiar la del usuario que ejecutó que lo ejecutó. +\end_layout + +\begin_layout Standard +Las ACLs sólo se comprueban al abrir el fichero. + Si se tiene acceso a este, se crea una entrada en la +\series bold +tabla de ficheros abiertos +\series default +, una lista de capacidades mantenida por el sistema operativo, y se devuelve + un índice a esta llamado +\series bold +descriptor de fichero +\series default +. + Esto significa que si el ACL de un fichero cambia tras haber sido abierto, + el proceso puede seguir accediendo a él aunque la nueva ACL no lo permitiera, + incumpliendo el principio de diseño que dice que la autorización debe comprobar +se en el momento de realizar la operación, pero a cambio permite un mejor + rendimiento. +\end_layout + +\end_body +\end_document diff --git a/iso/n4.lyx b/iso/n4.lyx new file mode 100644 index 0000000..4944c11 --- /dev/null +++ b/iso/n4.lyx @@ -0,0 +1,895 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Los sistemas de computación actuales necesitan un +\series bold +almacenamiento secundario +\series default + que complemente al primario, para almacenar grandes cantidades de información + que no caben en el primario; preservarla para que no desaparezca cuando + termine el proceso o el sistema se apague, y permitir que la información + sea fácilmente compartida y accedida. + Para ello se usan discos y otros dispositivos que almacenan la información + en un conjunto de bloques, o que se manejan como si fuera así, y sobre + los cuales el sistema operativo crea una abstracción para facilitar su + uso a usuarios y programadores. +\end_layout + +\begin_layout Standard +Un +\series bold +sistema de ficheros +\series default + es una parte del sistema operativo que organiza un sistema de almacenamiento + secundario como una serie de ficheros o unidades de información que se + agrupan en directorios, y también es el formato que adquiere el disco para + ello. + Desde el punto de vista del usuario es importante la forma de nombrar los + ficheros, las operaciones permitidas, el tipo de protección que podemos + aplicar, etc., mientras que desde el punto de vista del sistema operativo + es importante la implementación. +\end_layout + +\begin_layout Section +Ficheros +\end_layout + +\begin_layout Standard +En los sistemas modernos, un fichero es una secuencia de bytes con significado + definido por el programa que accede al mismo. + Cada fichero tiene un nombre que lo identifica, y que dependiendo del diseño + del sistema de ficheros y del sistema operativo, distingue o no entre mayúscula +s y minúsculas, tiene un cierto tamaño máximo, tiene o no una estructura + (como +\begin_inset Quotes fld +\end_inset + + +\family typewriter +\emph on +nombre +\emph default +. +\emph on +extensión +\family default +\emph default + +\begin_inset Quotes frd +\end_inset + +), etc. +\end_layout + +\begin_layout Standard +Los ficheros suelen tener atributos, como por ejemplo: +\end_layout + +\begin_layout Itemize +ACLs, contraseña, creador, propietario. +\end_layout + +\begin_layout Itemize +Sólo lectura, ocultación, fichero de sistema, biblioteca, texto o binario, + acceso aleatorio, temporal, bloqueo. +\end_layout + +\begin_layout Itemize +Tiempos de creación, último acceso y última modificación. +\end_layout + +\begin_layout Itemize +Tamaño actual y tamaño máximo. +\end_layout + +\begin_layout Standard +En general hay operaciones para crear un fichero vacío, eliminar un fichero, + abirlo, cerrar un fichero abierto, leer una cantidad de bytes, escribir + una cantidad de bytes al final (añadir) o (si es posible) en otra posición, + cambiar de posición dentro del fichero, obtener y establecer los atributos, + cambiar de nombre o mover el fichero a otro directorio, y truncar el fichero + a partir de una posición. +\end_layout + +\begin_layout Subsection +Ficheros regulares +\end_layout + +\begin_layout Standard +Contienen información del usuario. + Distinguimos entre ficheros +\series bold +de texto +\series default +, codificados en UTF-8 o algún otro sistema y con líneas que terminan en + CR, LF o LF/CR y que se pueden ver tal cual de forma legible, y los +\series bold +binarios +\series default +, que tienen cierta estructura pero no son de texto. +\end_layout + +\begin_layout Standard +Así, los ejecutables, binarios generalmente manejados por el sistema operativo, + contienen una cabecera con un +\series bold +número mágico +\series default + (número que identifica el formato de archivo), el tamaño de las secciones + de código y datos, el punto de entrada (dirección donde debe empezar la + ejecución) y otra información, seguida de las propias secciones. + Por su parte, los archivos de biblioteca son ficheros binarios que almacenan + código máquina de funciones (e información asociada). +\end_layout + +\begin_layout Standard +Muchas veces el nombre del fichero contiene una +\series bold +extensión +\series default + que identifica el tipo, que en los sistemas operativos modernos como Linux + no es significativa pero sí lo es para algunos programas, como exploradores + de ficheros para saber con qué programa abrirlo, y ayudan al usuario a + identificar el tipo rápidamente. + +\end_layout + +\begin_layout Standard +Ejemplos de extensiones son +\family typewriter +.bak +\family default + para copias de seguridad; +\family typewriter +.hlp +\family default + para ficheros de ayuda; +\family typewriter +.gif +\family default + o +\family typewriter +.jpg +\family default + para imágenes GIF o JPEG; +\family typewriter +.c +\family default + para código fuente en C; +\family typewriter +.html +\family default +o +\family typewriter +.tex +\family default + o +\family typewriter +.txt +\family default + para documentos HTML, \SpecialChar TeX + o de texto plano; +\family typewriter +.mp3 +\family default + para sonido MP3; +\family typewriter +.mpg +\family default + para vídeo MPEG; +\family typewriter +.o +\family default + para ficheros objeto; +\family typewriter +.pdf +\family default + o +\family typewriter +.ps +\family default + para documentos PDF; +\family typewriter +.zip +\family default + para archivos comprimidos ZIP; etc. +\end_layout + +\begin_layout Subsection +Ficheros especiales +\end_layout + +\begin_layout Standard +No se corresponden con un fichero en el propio sistema de almacenamiento, + sino con una forma de tratar otro tipo de datos como si fuera un fichero + (en el almacenamiento lo que se guarda es algún tipo de referencia). + En UNIX existen dos tipos: +\end_layout + +\begin_layout Itemize + +\series bold +De caracteres +\series default +: Representan dispositivos de E/S como terminales, impresoras y conexiones + de red. + No es posible cambiar de posición, escribir en una posición distinta del + final o truncarlos. +\end_layout + +\begin_layout Itemize + +\series bold +De bloques +\series default +: Representan dispositivos que permiten acceso aleatorio, en general almacenamie +nto secundario. +\end_layout + +\begin_layout Subsection +Directorios +\end_layout + +\begin_layout Standard +Son ficheros gestionados por el sistema operativo para registrar los ficheros + y organizarlos en una +\series bold +jerarquía de directorios +\series default +, de la que existen varios tipos: +\end_layout + +\begin_layout Itemize + +\series bold +Directorio único +\series default +, con los ficheros de todos los usuarios. + Se usaban en los primeros microcomputadores. + Puede haber problemas si distintos usuarios utilizan los mismos nombres + de fichero. +\end_layout + +\begin_layout Itemize + +\series bold +Directorio por usuario +\series default +, aunque no es deseable si uno tiene muchos ficheros. + Se debe decidir si un usuario puede o no acceder a los directorios de otros + y cómo. +\end_layout + +\begin_layout Itemize + +\series bold +Árbol de directorios +\series default +. + Un directorio puede contener a otros. + Es lo que se usa hoy en día. + Normalmente los directorios tienen una entrada especial +\family typewriter +. + +\family default + para referirse al propio directorio y +\family typewriter +.. + +\family default + para referirse al directorio padre. + Se accede a los ficheros (y directorios) mediante una +\series bold +ruta de acceso +\series default +, que indica el nombre de los directorios por los que hay que pasar hasta + llevar al fichero deseado (incluyendo el nombre del fichero), separados + por un cierto caracter, que es +\family typewriter +/ +\family default + en UNIX y +\family typewriter + +\backslash + +\family default + en Windows. + Dos tipos: +\end_layout + +\begin_deeper +\begin_layout Itemize + +\series bold +Absoluta +\series default +: Parte desde la raíz y comienza por el caracter separador. + Es única para un mismo fichero siempre que no se usen +\family typewriter +. + +\family default + y +\family typewriter +.. +\family default +. +\end_layout + +\begin_layout Itemize + +\series bold +Relativa +\series default +: Parte de un +\series bold +directorio actual +\series default + o +\series bold +de trabajo +\series default +, y no comienza por el caracter separador. + Existe una cantidad numerable de rutas relativas para un mismo fichero + desde un mismo directorio actual. +\end_layout + +\end_deeper +\begin_layout Standard +No podemos leer y escribir en ellos como con los otros tipos de ficheros, + sino que en su lugar la apertura de un directorio sirve para recorrido + y hay operaciones para obtener la siguiente entrada; ligar o enlazar un + fichero al directorio, permitiendo que un mismo fichero aparezca en varios + directorios, y desligar una entrada del directorio, lo que equivale a borrarla + si esta es la única entrada del sistema de fichero en la que aparece. +\end_layout + +\begin_layout Section +Representación +\end_layout + +\begin_layout Standard +La representación en disco debe ser tal que consiga una buena velocidad + y aprovechamiento del espacio pero a la vez reduzca la fragmentación interna + (partes de un bloque sin aprovechar) y externa (bloques libres que no se + pueden ocupar). +\end_layout + +\begin_layout Subsection +Bloques lógicos +\end_layout + +\begin_layout Standard +Por lo general los discos proporcionan una interfaz basada en una lista + de +\series bold +bloques físicos +\series default + o +\series bold +sectores +\series default +, la unidad mínima de lectura y escritura, cuyo tamaño es constante y suele + ser una potencia de 2 desde +\begin_inset Formula $\unit[512]{B}$ +\end_inset + + hasta +\begin_inset Formula $\unit[4]{kB}$ +\end_inset + +. + Es común que el sistema de ficheros agrupe o incluso divida los sectores + para formar +\series bold +bloques lógicos +\series default + o unidades de asignación más grandes o pequeñas. +\end_layout + +\begin_layout Standard +Si el bloque lógico es grande, un fichero tendrá menos bloques y el rendimiento + en discos duros será mayor pero habrá más fragmentación interna, mientras + que si el bloque es pequeño habrá poca fragmentación interna pero las listas + de bloques ocuparán mucho. +\end_layout + +\begin_layout Subsection +Asignación de espacio +\end_layout + +\begin_layout Standard +Todo fichero tiene asociado un conjunto de bloques donde guarda sus datos. + La asignación de estos puede ser de varias formas: +\end_layout + +\begin_layout Itemize + +\series bold +Adyacente +\series default + o +\series bold +contigua +\series default +. + De fácil especificación, pues solo hay que recordar un número para localizar + los bloques, y ofrece un excelente rendimiento en discos duros al suponer + muy pocos movimientos del brazo del disco o ninguno. + En general no es realizable, pues si no se sabe el tamaño máximo de un + fichero no se sabe cuánto espacio reservarle; si este es muy pequeño, cuando + el fichero crezca hay que moverlo a un hueco mayor, algo costoso y no siempre + posible. + Sin embargo es útil en medios como CD-ROMs y DVD-ROMs, donde se sabe el + tamaño de los ficheros de antemano. +\end_layout + +\begin_layout Itemize + +\series bold +Mediante lista ligada +\series default +. + En cada bloque se guarda la dirección del siguiente. + No hay fragmentación externa y la entrada de directorio correspondiente + solo tiene que guardar la dirección del primer bloque, pero el acceso aleatorio + es muy lento y los programas que esperan que los bloques tengan un tamaño + potencia de 2 también se ralentizan. +\end_layout + +\begin_layout Itemize + +\series bold +Mediante lista ligada e índice +\series default +. + Similar, pero la dirección del siguiente bloque no se guarda en el bloque + sino en una tabla con una entrada por bloque que indica la dirección del + siguiente en el fichero. + Esto solo es eficiente si toda la tabla está en memoria, lo que es un problema + si la tabla es grande. + Se puede reducir el tamaño de la tabla usando bloques lógicos grandes, + pero entonces se desperdicia espacio por fragmentación. + Además, si la tabla se modifica y la modificación no se escribe en disco, + una caída del sistema puede hacer que los ficheros desaparezcan o queden + incompletos. +\begin_inset Newline newline +\end_inset + +Se puede usar un número de bloque inválido (como el 0) para indicar que + un bloque está libre. + El sistema FAT, usado por MS-DOS y uno de los implementados en Windows, + usa este sistema. +\end_layout + +\begin_layout Itemize + +\series bold +Mediante nodos-i +\series default +. + A cada fichero se le asigna un nodo-i (nodo índice) que contiene las direccione +s en disco de los bloques del fichero, en orden. + Normalmente se usan nodos-i pequeños capaces de almacenar unas pocas direccione +s y se guardan varios nodos-i en un mismo bloque, de modo que una zona contigua + del disco (o varias, por eficiencia), llamada +\series bold + tabla de nodos-i +\series default +, se destinan a nodos-i. +\begin_inset Newline newline +\end_inset + +Para ficheros grandes se usa un +\series bold +bloque simplemente indirecto +\series default + (BSI), que contiene direcciones de bloques de datos adicionales; un +\series bold +bloque doblemente indirecto +\series default + (BDI), que contiene direcciones de más BSIs, y un +\series bold +bloque triplemente indirecto +\series default + (BTI), que contiene direcciones de más BDIs, de forma que 3 de las direcciones + del nodo-i se usan para estos bloques. +\begin_inset Newline newline +\end_inset + +Este es el esquema usado en la mayoría de sistemas de ficheros en sistemas + UNIX, y permite acceder a cualquier bloque de un fichero abierto accediendo, + como mucho, a 4 bloques del disco si el nodo-i está en memoria. +\end_layout + +\begin_layout Standard +Además, debe haber una forma de saber que bloques de datos (así como qué + números de nodos-i) están libres. + Principalmente hay dos métodos: +\end_layout + +\begin_layout Itemize + +\series bold +Lista ligada de bloques +\series default +: Una lista con tantos números de bloques libres como pueda más un puntero + al siguiente bloque. + Los bloques de la lista son libres, por lo que podrán ser usados si es + necesario. +\end_layout + +\begin_layout Itemize + +\series bold +Mapa de bits +\series default +: Contiene un bit para cada bloque, que indica si el bloque es libre u ocupado. + Los bloques del mapa no son libres, pero los sistemas de ficheros actuales + como Ext2, Ext3, Ext4 o NTFS lo usan porque permite buscar de forma sencilla + grupos de bloques libres consecutivos. +\end_layout + +\begin_layout Subsection +Ficheros compartidos +\end_layout + +\begin_layout Standard +Un fichero es compartido si puede aparecer en varios directorios con el + mismo o distinto nombre, o en un mismo directorio con nombres distintos. + La conexión entre un directorio y un fichero se llama +\series bold +enlace +\series default +, y si existe, el sistema de ficheros pasa de ser un árbol a ser simplemente + un grafo acíclico dirigido. +\end_layout + +\begin_layout Itemize + +\series bold +Enlace físico +\series default + o +\emph on +hard link +\emph default +: Los datos relativos a un fichero se guardan en una estructura de datos + y las entradas de directorio correspondientes apuntan a esta. + Es necesario que entre los datos del fichero exista un contador de enlaces, + pues el nodo solo debe liberarse cuando se borra un fichero y no quedan + más enlaces. +\end_layout + +\begin_layout Itemize + +\series bold +Enlace simbólico +\series default + o +\emph on +soft link +\emph default +: Se usa un tipo de fichero especial que contiene una ruta de acceso al + fichero al que se enlaza. + Cuando el fichero original se borra, el enlace simbólico queda invalidado + salvo que se cree un fichero con la misma ruta. +\end_layout + +\begin_layout Standard +UNIX implementa ambos. + Los enlaces simbólicos tienen más coste, pero presentan menos problemas, + con lo que UNIX permite enlaces simbólicos de directorios e incluso a otros + sistemas de ficheros pero no permite hacer lo mismo con enlaces físicos. + Un programa de copias de seguridad puede duplicar datos al copiar un fichero + compartido si no usa alguna forma de detectar los enlaces para evitar esta + duplicación. +\end_layout + +\begin_layout Subsection +Directorios +\end_layout + +\begin_layout Standard +En MS-DOS, los directorios son ficheros salvo el directorio raíz que ocupa + unos bloques fijos en disco, por lo que tiene un tamaño máximo preestablecido. + Estos almacenan una lista desordenada de entradas o registros de 32 bytes, + una por fichero, con los siguientes campos, en orden: +\end_layout + +\begin_layout Enumerate +8 bytes para el nombre del fichero y 3 para la extensión. +\end_layout + +\begin_layout Enumerate +Un byte para atributos donde los bits se usan como banderas. + Uno de ellos distingue a un directorio de un fichero normal. +\end_layout + +\begin_layout Enumerate +Un campo de 10 bytes reservado para futuros usos. +\end_layout + +\begin_layout Enumerate +2 bytes para la hora de última modificación: 5 bits para la hora (0–23), + 6 para el minuto (0–59) y 5 para el segundo, que debe ser par (0–58). +\end_layout + +\begin_layout Enumerate +2 bytes para la fecha de última modificación: 7 bits para el año (correspondiend +o el valor 0 al 1980), 4 para el mes (1–12) y 5 para el día del mes (1–31). +\end_layout + +\begin_layout Enumerate +2 bytes para la dirección del primer bloque. +\end_layout + +\begin_layout Enumerate +4 bytes para el tamaño del fichero, en bytes. +\end_layout + +\begin_layout Standard +En la mayoría de sistemas de ficheros en sistemas UNIX, los atributos se + almacenan en los nodos-i y el directorio raíz no tiene tratamiento especial. + En el de los primeros UNIX, las entradas de un directorio eran de 16 bytes, + siendo 2 bytes para el número de nodo-i del fichero y otros 14 bytes para + el nombre, que tenía pues un máximo de 14 caracteres. + Posteriormente se crearon sistemas de ficheros para sistemas UNIX que soportaba +n nombres de hasta 255 caracteres, con entradas con los siguientes campos, + en orden: +\end_layout + +\begin_layout Enumerate +4 bytes para el número de nodo-i. +\end_layout + +\begin_layout Enumerate +2 bytes para la longitud del registro. +\end_layout + +\begin_layout Enumerate +1 byte para la longitud del nombre. +\end_layout + +\begin_layout Enumerate +1 byte para el tipo de fichero (regular, de caracteres, de bloques o directorio). +\end_layout + +\begin_layout Enumerate +Hasta 255 bytes para el nombre. +\end_layout + +\begin_layout Standard +Una entrada no puede estar entre dos bloques, y el total de registros de + un bloque debe cubrirlo enteramente; de ahí que se permita que la longitud + de un registro sea mayor a la estrictamente necesaria. + Siempre que se crea un directorio se añaden dos entradas, +\family typewriter +. + +\family default + y +\family typewriter +.. +\family default +. + Para añadir una nueva entrada, se elige una existente, se disminuye su + tamaño y se añade la nueva en el hueco, o se añade un nuevo bloque al directori +o si esto no es posible. + Para eliminarla se añade su espacio al de la entrada anterior, o si esto + no es posible se marca el registro como libre utilizando un número de nodo-i + inválido. +\end_layout + +\begin_layout Subsection +Estructura general +\end_layout + +\begin_layout Standard +En general el bloque 0 del almacenamiento es el +\series bold +bloque de arranque +\series default + y puede contener código de arranque del sistema operativo que se encuentra + en la partición. + El bloque 1 suele ser el +\series bold +superbloque +\series default +, que contiene información crítica del sistema de ficheros como el total + de bloques lógicos, tamaño de los mapas de bits, etc., por lo que algunos + sistemas de ficheros tienen varias copias de este en otras zonas del disco. + En otros, el superbloque es parte del bloque de arranque. +\end_layout + +\begin_layout Standard +A partir de entonces hay mucha variación, pero en los primeros sistemas + de ficheros en UNIX encontramos el mapa de bits de bloques, el de nodos-i, + la tabla de nodos-i y, finalmente, el resto de bloques, para ficheros y + bloques indirectos. +\end_layout + +\begin_layout Section +Cachés +\end_layout + +\begin_layout Standard +Una +\series bold +caché de disco +\series default +, +\series bold +bloques +\series default + o +\series bold +\emph on +buffers +\series default +\emph default + es una colección de bloques del almacenamiento secundario que se mantienen + temporalmente en memoria principal por rendimiento. + La política de sustitución podría ser LRU mediante colas, pero el LRU puro + no es recomendable si se quiere mantener la consistencia del sistema de + ficheros ante posibles fallos del sistema, pues por ejemplo un bloque que + contiene nodos-i se usará mucho y si se modifica en caché y no se vuelve + a escribir en disco el sistema de ficheros quedará inconsistente ante un + fallo del sistema. +\end_layout + +\begin_layout Standard +Por ello se suele usar un LRU modificado, en el que los bloques que por + su tipo probablemente no se vuelvan a utilizar pronto pasan directamente + al frente de la cola y los bloques esenciales para la consistencia se escriben + directamente en disco sin esperar a ser expulsados. + Tampoco es recomendable mantener mucho tiempo los bloques de datos modificados + en caché por riesgo de perder los cambios. + Así, en muchos UNIX los bloques de datos se escriben en disco como tarde + a los 30 segundos de ser modificados, mientras que los de metadatos se + escriben como tarde a los 5 segundos. + También existe la orden +\family typewriter +sync +\family default +, que al ejecutarse fuerza la escritura de todos los bloques modificados. +\end_layout + +\begin_layout Standard +Por su parte, como las resoluciones de ruta (localizar un fichero a través + de una ruta) son algo muy frecuente y una misma ruta puede resolverse muchas + veces en poco tiempo, el sistema operativo suele mantener en memoria informació +n sobre las últimas resoluciones en otra caché, que en Linux se llama +\emph on +dentry cache +\emph default + o +\series bold +caché de entradas de directorio +\series default +. +\end_layout + +\begin_layout Section +Particiones +\end_layout + +\begin_layout Standard +Son porciones de bloques consecutivos de un disco, manejadas por el sistema + operativo y tratadas de por sí como listas de bloques sobre las que se + puede implementar un sistema de ficheros. + Tradicionalmente la información de las particiones, como sus bloques de + inicio y fin, se guarda en la +\series bold +tabla de particiones +\series default + del bloque +\series bold +MBR +\series default + ( +\emph on +Master Boot Record +\emph default +, registro de arranque maestro), el primer bloque del disco, que además + contiene una pequeña porción de código de arranque que la BIOS carga en + memoria y ejecuta para, tras una serie de pasos, arrancar un sistema operativo. + En general lo que hace este código es buscar una partición activa y cargar + el código de arranque en esta. +\end_layout + +\begin_layout Standard +Las particiones permiten tener distintos sistemas de ficheros en un mismo + disco, o incluso sistemas operativos distintos. + Por ejemplo, en Linux conviene tener al menos una partición para datos + con Ext4 y una +\series bold +partición de intercambio +\series default + usada para la memoria virtual. + También permite dar a cada partición un uso distinto, de modo que si hay + un error grave en el sistema de ficheros de una partición el resto siguen + siendo usables. +\end_layout + +\end_body +\end_document diff --git a/iso/n5.lyx b/iso/n5.lyx new file mode 100644 index 0000000..50cbe03 --- /dev/null +++ b/iso/n5.lyx @@ -0,0 +1,879 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +El +\series bold +administrador de memoria +\series default + del sistema operativo se encarga de abstraer y administrar la jerarquía + de memoria. +\end_layout + +\begin_layout Section +Sin memoria virtual +\end_layout + +\begin_layout Standard +En la +\series bold +multiprogramación con particiones fijas +\series default +, se asigna una zona de tamaño fijo al sistema operativo y el resto se dividen + en +\series bold +particiones +\series default + de igual o distinto tamaño. + Podemos tener una cola por partición y colocar cada trabajo en la cola + de la partición más pequeña en que quepa, pero si hay pocas particiones + pequeñas sus colas serán largas porque la mayoría de procesos son pequeños + y si hay muchas puede no quedar espacio para trabajos grandes. + También se puede tener una cola para todas las particiones y, cuando queda + una partición libre, darla a la primera tarea de la cola que quepa, lo + que hace que las tareas pequeñas desperdicien espacio, o darla a la tarea + más grande que quepa, lo que discrimina a las tareas pequeñas. + Soluciones a este último problema son tener una partición pequeña o establecer + un máximo de veces que se puede excluir una tarea. +\end_layout + +\begin_layout Standard +Esto limita el +\series bold +grado de multiprogramación +\series default +, el total de procesos que puede haber a la vez en memoria compartiendo + CPU, además de producir fragmentación interna sobre todo en procesos pequeños + y fragmentación externa si hay particiones libres con tamaño total suficiente + para un proceso pero ninguna es lo bastante grande. +\end_layout + +\begin_layout Standard +La +\series bold +multiprogramación con particiones variables +\series default + soluciona el problema asignando a cada proceso una partición del tamaño + exacto que necesita, con lo que las particiones se crean, desaparecen o + intercambian según se necesita. + +\series bold +Políticas de asignación de huecos +\series default +: +\end_layout + +\begin_layout Itemize + +\series bold +Primero en ajustarse +\series default +: Se busca el primer hueco lo suficientemente grande desde el principio + de la memoria, dividiendo el hueco en una parte para el proceso y un hueco + libre (salvo si hay ajuste perfecto), y es rápido. +\end_layout + +\begin_layout Itemize + +\series bold +Siguiente en ajustarse +\series default +: Igual pero se empieza a buscar por donde se quedó la anterior búsqueda. +\end_layout + +\begin_layout Itemize + +\series bold +Mejor en ajustarse +\series default +: Busca el hueco más pequeño en el que quepa el proceso, es lenta y desperdicia + más memoria por fragmentación externa. +\end_layout + +\begin_layout Itemize + +\series bold +Peor en ajustarse +\series default +: Toma el hueco libre más grande, y es lenta pero aprovecha bien la memoria. +\end_layout + +\begin_layout Standard +La +\series bold +compactación +\series default + consiste en mover procesos en memoria para juntar los huecos y reducir + la fragmentación externa. + No se suele usar porque consume mucho tiempo, proporcional a la cantidad + de información a mover, si bien ordenadores como el CDC CYBERS tenían hardware + especial para esto. + Para la +\series bold +administración de memoria libre +\series default +: +\end_layout + +\begin_layout Itemize + +\series bold +Mapas de bits +\series default +: Se divide la memoria en unidades de asignación del mismo tamaño, y a cada + una le corresponde un bit que indica si está libre o no. + Si la unidad de asignación es pequeña, el mapa de bits será grande y las + búsquedas lentas, pero si es grande habrá fragmentación interna. +\end_layout + +\begin_layout Itemize + +\series bold +Listas ligadas +\series default +: Lista de segmentos de memoria, que pueden ser procesos o huecos. + Cuando un proceso termina, debe fusionar el hueco con los adyacentes, lo + que es sencillo si la lista está ordenada por direcciones. + Si hay una lista para procesos y otra para huecos, las operaciones serán + más rápidas por no tener que ordenar la lista de procesos. + Si la de huecos se ordena por tamaño decreciente, la política de peor ajuste + es +\begin_inset Formula $O(1)$ +\end_inset + +, pero la fusión de huecos es cara. + En general se accede a la información de memoria asignada a un proceso + desde su bloque de control. +\end_layout + +\begin_layout Standard +La asignación de hueco en la zona de intercambio del disco puede hacerse + cuando el proceso deba intercambiarse o cuando se cree. + Los algoritmos de asignación y registro de estos huecos son los mismos + que en memoria principal, salvo que el tamaño de un hueco en disco es múltiplo + del tamaño de bloque. +\end_layout + +\begin_layout Standard +La +\series bold +reubicación +\series default + o +\series bold +relocalización +\series default + consiste en que, cuando un programa se ejecuta, puede ir a cualquier partición, + por lo que el programa debe usar +\series bold +código relocalizable +\series default +, que pueda ejecutarse correctamente independientemente de dónde se sitúe. +\end_layout + +\begin_layout Standard +Para la protección de memoria puede haber un +\series bold +registro base +\series default + con la dirección de memoria donde comienza la partición de un proceso y + un +\series bold +registro límite +\series default + con su tamaño, de modo que el proceso puede generar cualquier +\series bold +dirección lógica +\series default + en un +\series bold +espacio de direcciones lógicas +\series default + de 0 a su tamaño menos 1 que se traducen a +\series bold +direcciones físicas +\series default +, y si genera una dirección mayor se produce una excepción. +\end_layout + +\begin_layout Section +Paginación +\end_layout + +\begin_layout Standard +El esquema de +\series bold +memoria virtual +\series default + permite ejecutar procesos con tamaño total mayor al de la memoria física, + para lo que guarda en esta sólo las partes del proceso que se están usando + y el resto lo guarda en disco. + Cada proceso posee un espacio de direcciones virtuales, de tamaño normalmente + limitado por CPU, que van a la +\series bold +unidad de administración de memoria +\series default + ( +\series bold +MMU +\series default +) normalmente integrada en el chip de la CPU para que las traduzca a direcciones + físicas. +\end_layout + +\begin_layout Standard +El espacio de direcciones virtuales se divide en +\series bold +páginas +\series default + y el de memoria física en +\series bold +marcos de página +\series default +, del mismo tamaño, normalmente potencias de 2 entre +\begin_inset Formula $\unit[512]{B}$ +\end_inset + + y +\begin_inset Formula $\unit[8]{KiB}$ +\end_inset + +, aunque pueden ser bastante más grandes, y las transferencias entre memoria + y disco son siempre en unidades de página. +\end_layout + +\begin_layout Standard +Una +\series bold +tabla de páginas +\series default + tiene tantas entradas como páginas y en cada una indica el marco en que + se almacena junto a algunos bits: +\end_layout + +\begin_layout Itemize + +\series bold +Bit presente/ausente +\series default +: Indica si la página está asociada o no. + Si se accede a una página no asociada, la MMU genera una excepción llamada + +\series bold +fallo de página +\series default + a tratar por el sistema operativo. + Este selecciona un marco, escribe su contenido en disco (si estaba ocupado + y se había escrito algo), lo marca como ausente en su tabla de páginas + y asigna el marco a la página que provocó el fallo, que lee del disco si + es necesario. +\end_layout + +\begin_layout Itemize + +\series bold +Bits de protección +\series default +: Tipo de acceso permitido (lectura, escritura, ejecución...). + Las páginas con código suelen tener permisos de lectura y ejecución pero + no de escritura, mientras que las de datos suelen tener de lectura y escritura. +\end_layout + +\begin_layout Itemize + +\series bold +Modificado +\series default +: Indica si se ha modificado o no el contenido del marco. +\end_layout + +\begin_layout Itemize + +\series bold +Referenciado +\series default +: Se establece al hacer referencia a una página, y se usa en algoritmos + de reemplazo. +\end_layout + +\begin_layout Itemize + +\series bold +Caché +\series default +: En las máquinas con E/S mapeada a memoria, evita que el contenido de la + página se almacene en caché. +\end_layout + +\begin_layout Itemize + +\series bold +Visible en modo núcleo +\series default +: Evita que se pueda acceder a la página en modo usuario. +\end_layout + +\begin_layout Standard +Las direcciones virtuales se dividen en un +\series bold +número de página +\series default +, usado como índice en la tabla de páginas, y un +\series bold +ajuste +\series default + o +\series bold +desplazamiento +\series default + dentro de ella. +\end_layout + +\begin_layout Standard +La traducción de páginas debe ser rápida, por lo que se usa un +\series bold +TLB +\series default + ( +\emph on +Translation Look-aside Buffer +\emph default +), una caché totalmente asociativa generalmente en la MMU que contiene entradas + de la tabla de páginas. + El hardware verifica si el número de página está en el TLB comparando todas + las entradas en paralelo (por lo que número de entradas suele ser muy pequeño). + Si coincide alguna, se toma la entrada del TLB (incluyendo bits de protección, + etc.). + Si no está, se lee la entrada de memoria principal y, bien se elimina una + entrada del TLB escribiendo sus bits de modificado y uso en la principal + y se reemplaza por la nueva, o se produce un fallo de página. +\end_layout + +\begin_layout Standard +Al cambiar de proceso se puede invalidar el contenido del TLB, borrando + todos los bits de validez mediante una instrucción especial, o añadir un + nuevo campo a cada entrada del TLB con el identificador del proceso y un + registro con el del proceso activo, requiriendo hardware adicional pero + ahorrando tiempo en los cambios de proceso y dando lugar a encontrar entradas + en el TLB del propio proceso tras volver a tomar la CPU. +\end_layout + +\begin_layout Standard +Como una tabla de páginas global puede ser muy grande, en la práctica se + divide el número de página en varias partes y se usan tablas de páginas + de varios niveles, de modo que la de primer nivel se indexa según la primera + parte del número de página e indica la dirección de las tablas de segundo + nivel, etc., y las tablas que no son necesarias no se tienen. + Los Intel Pentium Pro tienen 3 niveles, los procesadores de Intel y AMD + de 64 bits tienen 4, y Linux soporta hasta 5 desde la versión 4.14, permitiendo + gestionar hasta +\begin_inset Formula $\unit[128]{PiB}$ +\end_inset + + de memoria virtual y hasta +\begin_inset Formula $\unit[4]{PiB}$ +\end_inset + + de RAM. +\end_layout + +\begin_layout Standard +Una +\series bold +tabla de páginas invertida +\series default + contiene una entrada por cada marco de página con el número de la página + que almacena, el PID, una serie de bits como en una entrada de tabla de + páginas normal y un puntero para encadenamiento en una tabla de dispersión + abierta usada para acelerar las traducciones, que usa como clave el PID + y el número de página y devuelve el número de una entrada de la tabla. +\end_layout + +\begin_layout Standard +El +\series bold +mapa de memoria +\series default + de un proceso es la estructura de su espacio de direcciones lógicas, en + zonas contiguas de memoria virtual llamadas +\series bold +regiones +\series default + como las de código, datos con valor inicial, datos sin valor inicial y + pila de cada hilo, con características como: +\end_layout + +\begin_layout Itemize + +\series bold +Soporte +\series default +: De dónde se obtienen los datos que contiene la región; normalmente un + fichero o parte de este, como un ejecutable en el caso del código. + También hay regiones sin soporte como la pila, cuyas páginas, si se modifican + y son expulsadas, se guardan en la zona de intercambio del disco. +\end_layout + +\begin_layout Itemize + +\series bold +Tipo de compartición +\series default +: Si las modificaciones que haga un proceso son visibles por otros o no. +\end_layout + +\begin_layout Itemize + +\series bold +Protección +\series default +: Permisos de lectura, escritura y ejecución. +\end_layout + +\begin_layout Itemize + +\series bold +Tamaño fijo +\series default + o +\series bold +variable +\series default +: Si es variable, se indica si crece hacia direcciones mayores, como la + memoria montón o +\emph on +heap +\emph default + usada para la memoria dinámica, o menores, como la pila. + En UNIX, la memoria montón no tiene soporte, está inicialmente a 0 y crece + conforme el proceso necesita memoria mediante las llamadas +\family typewriter +brk +\family default + y +\family typewriter +sbrk +\family default +. +\end_layout + +\begin_layout Standard +El sistema operativo suele estar mapeado en todos los procesos, con el bit + de visible en modo núcleo activado, por eficiencia en las transferencias + de datos entre usuario y núcleo +\begin_inset Foot +status open + +\begin_layout Plain Layout +En procesadores como Intel, esto ya no se hace debido a Meltdown. +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Standard +En Linux, al hacer la llamada al sistema +\family typewriter +fork +\family default +, se usa +\series bold +copia en escritura +\series default + ( +\emph on +copy on write +\emph default +, COW), consistente en desactivar el permiso de escritura de las páginas + y dar al proceso hijo una copia de la tabla de páginas del padre, de modo + que si uno de los dos intenta escribir en una región en la que tendría + permiso, el sistema operativo hace una copia de la página que provocó la + violación, la asigna a la tabla de páginas del proceso que hace la escritura + y activa el permiso de escritura en ambas páginas +\begin_inset Foot +status open + +\begin_layout Plain Layout +Linux usa conteo de referencias para que, si hay varios +\family typewriter +fork +\family default +, no se active la escritura en la página original hasta que el resto de + procesos tenga una copia de la página. + Ver +\begin_inset Flex URL +status open + +\begin_layout Plain Layout + +https://stackoverflow.com/questions/13813636/how-does-copy-on-write-in-fork-handl +e-multiple-fork +\end_layout + +\end_inset + + para más detalles. +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Standard +Algoritmos de reemplazo de páginas: +\end_layout + +\begin_layout Itemize + +\series bold +Algoritmo óptimo +\series default +: Se elimina la página para la que pasará más tiempo antes de ser utilizada. + Modelo teórico imposible de implementar. +\end_layout + +\begin_layout Itemize + +\series bold +NRU +\series default + (no usada recientemente): Se limpia el bit de referenciado periódicamente + en todas las páginas, y al reemplazar se prefieren páginas con este bit + desactivado y, dentro de esto, con el de modificado desactivado. +\end_layout + +\begin_layout Itemize + +\series bold +FIFO +\series default + (primera en enterar, primera en salir): Se elimina la primera página de + una lista y se añade la nueva al final. + El algoritmo es de bajo coste, pero no tiene en cuenta ningún dato adicional + y produce demasiados fallos. +\end_layout + +\begin_layout Itemize + +\series bold +Algoritmo de la segunda oportunidad +\series default +: Como el FIFO pero, si el bit de referenciado de la primera página está + activo, el bit se limpia, la página pasa al final y se comprueba la siguiente. +\end_layout + +\begin_layout Itemize + +\series bold +Algoritmo del reloj +\series default +: Equivalente al anterior pero con una lista circular donde una +\begin_inset Quotes fld +\end_inset + +manecilla +\begin_inset Quotes frd +\end_inset + + (un puntero) apunta a la página más antigua. + Si el bit de referenciado está inactivo, se expulsa y se reemplaza en la + lista la página apuntada y se avanza la manecilla a la siguiente, y de + lo contrario se inactiva el bit, se pasa a la siguiente página y se repite + el proceso. +\end_layout + +\begin_layout Itemize + +\series bold +LRU +\series default + (usada menos recientemente): Se elimina la página no usada desde hace más + tiempo. + Se podría usar una lista ligada de todas las páginas de memoria, pero tendría + que actualizarse en cada acceso a memoria. + También se podría tener un contador hardware que se incrementa en cada + referencia a memoria y un campo en las entradas de la tabla de páginas + y la TLB donde copiarlo. + Otra forma es usar una matriz +\begin_inset Formula $n\times n$ +\end_inset + +, siendo +\begin_inset Formula $n$ +\end_inset + + el total de páginas, inicializada a 0, con lo que al referencial el marco + +\begin_inset Formula $k$ +\end_inset + +, el hardware activa todos los bits de la fila +\begin_inset Formula $k$ +\end_inset + + y después desactiva todos los de la columna, con lo que la fila cuyo valor + en binario sea mínimo es la del marco que se usó hace más tiempo, pero + esto es inviable por el tamaño de la matriz. +\end_layout + +\begin_layout Itemize + +\series bold +Algoritmo de maduración +\series default +: Aproximación software de LRU. + En cada interrupción de reloj, se desplaza un contador en cada entrada + de la tabla de páginas un bit a la derecha y se añade a la izquierda el + bit de referenciado. +\end_layout + +\begin_layout Standard +Se debe decidir también si la página a reemplazar se busca sólo en las del + proceso ( +\series bold +reemplazo local +\series default +) o en todas las de memoria ( +\series bold +reemplazo global +\series default +), y si el número de marcos asignados a un proceso varía ( +\series bold +asignación dinámica +\series default +) o no ( +\series bold +asignación fija +\series default + o +\series bold +estática +\series default +). + No es posible el reemplazo global con asignación fija, pero el reemplazo + local con asignación dinámica puede evitar que un proceso que empieza a + producir fallos de página le quite páginas a otros siendo a la vez más + flexible que una asignación fija. + Llamamos +\series bold +algoritmo de frecuencia de fallos de página +\series default + al consistente en asignar más marcos a los procesos que producen muchos + fallos de página y quitarlos a los que producen pocos. + Otros aspectos son el número mínimo de marcos por proceso, que depende + entre otros del máximo de páginas que puede usar una sola instrucción +\begin_inset Foot +status open + +\begin_layout Plain Layout +Si, por ejemplo, una instrucción debe acceder a 5 páginas incluyendo la + de la propia instrucción pero sólo hay 4 marcos, uno de los accesos provocará + necesariamente un fallo de página que reemplazará otra de las 4 páginas + necesarias y reiniciará la instrucción, que nunca llegará a terminar. +\end_layout + +\end_inset + +, y el reparto de marcos entre distintos procesos (equitativo, proporcional + al tamaño, etc.). +\end_layout + +\begin_layout Standard +Páginas pequeñas producen menos fragmentación interna, pero páginas grandes + aceleran el reemplazo porque las transferencias entre memoria y disco son + normalmente de una página y hay poca diferencia entre el tiempo de transferenci +a de una página pequeña y el de una grande. + Los tamaños más frecuentes son de 4 y +\begin_inset Formula $\unit[8]{KiB}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +La +\series bold +hiperpaginación +\series default + ocurre cuando un proceso emplea más tiempo paginando (esperando a que se + resuelvan sus fallos de página) que ejecutando código porque necesita muchos + más marcos de los que tiene. + En tal caso, aparte de añadir más memoria principal, podemos suspender + temporalmente algunos procesos para liberar memoria y reanudarlos cuando + la tasa de fallos de página decaiga. +\end_layout + +\begin_layout Standard +Políticas de lectura y escritura de páginas: +\end_layout + +\begin_layout Itemize + +\series bold +Paginación por demanda +\series default +: Solo se lee la página que produce el fallo. +\end_layout + +\begin_layout Itemize + +\series bold +Prepaginación +\series default + o +\series bold +paginación anticipada +\series default +: Se leen varias páginas más, normalmente las que se encuentran después + en el espacio de direcciones virtuales. +\end_layout + +\begin_layout Itemize + +\series bold +Escritura por demanda +\series default +: Una página se escribe en disco cuando se expulsa, aumentando el tiempo + de resolución de fallos de página. +\end_layout + +\begin_layout Itemize + +\series bold +Escritura anticipada +\series default +: Un hilo del núcleo, el +\series bold +demonio de paginación +\series default +, cada cierto tiempo escribe en disco las páginas modificadas, aumentando + el rendimiento en discos duros al escribir varias páginas a la vez y acelerando + la resolución de fallos de página. + Muchas escrituras pueden ser inútiles si la páginas se modifican poco después, + por lo que el demonio puede buscar páginas que, según el algoritmo de reemplazo +, podrían expulsarse próximamente y escribirlas en disco si han sido modificadas. + También puede liberar más páginas para tener páginas libres ( +\series bold +caché de páginas +\series default +) y resolver rápidamente cualquier futuro fallo de página, de forma que + si una página liberada se necesita poco después su contenido siga en memoria. +\end_layout + +\begin_layout Section +Segmentación +\end_layout + +\begin_layout Standard +El espacio de direcciones lógicas de un proceso se compone de +\series bold +segmentos +\series default +, zonas contiguas dadas por una +\series bold +base +\series default + (dirección de comienzo) y un +\series bold +límite +\series default + (tamaño), y las direcciones especifican el número de segmento y el desplazamien +to dentro de él, de 0 al tamaño menos 1. + Esto facilita la protección y compartición de información, y se puede acelerar + la traducción con un TLB, pero sufre fragmentación externa, los segmentos + no pueden superar el tamaño de la memoria física y los intercambios con + el disco se hacen siempre moviendo segmentos enteros. +\end_layout + +\begin_layout Standard +En la +\series bold +segmentación paginada +\series default + estos segmentos se paginan, por lo que no hay fragmentación externa ni + hay que buscar un hueco adecuado para cada segmento. + El TLB es direccionable por el número de segmento a usar y el número de + la página dentro del segmento. +\end_layout + +\end_body +\end_document diff --git a/iso/n6.lyx b/iso/n6.lyx new file mode 100644 index 0000000..594ec44 --- /dev/null +++ b/iso/n6.lyx @@ -0,0 +1,826 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Distinguimos: +\end_layout + +\begin_layout Itemize + +\series bold +Dispositivos de bloques +\series default +: Dispositivos de almacenamiento en general. + Almacenan información en bloques de tamaño fijo que podemos leer y escribir + de forma independiente de los demás. +\end_layout + +\begin_layout Itemize + +\series bold +Dispositivos de caracteres +\series default +: Terminales, impresoras, interfaces de red, ratones, etc. + Envían o reciben un flujo de caracteres. +\end_layout + +\begin_layout Itemize +Otros, como los relojes, que sólo producen interrupciones periódicas, o + las tarjetas gráficas mapeadas a memoria en las que la memoria de vídeo + es parte del espacio de direcciones. +\end_layout + +\begin_layout Section +El software de E/S +\end_layout + +\begin_layout Standard +Objetivos: +\end_layout + +\begin_layout Itemize +Crear conceptos generales que no dependan de las características específicas + de cada dispositivo. + Por ejemplo, podemos acceder a un dispositivo de bloques sin importar si + es un CD-ROM en el que el lector tiene un motor que se debe arrancar y + parar o un disco duro que está girando continuamente. +\end_layout + +\begin_layout Itemize +Dar a los dispositivos nombres uniformes sin importar sus características. + En UNIX esto se hace mediante ficheros especiales. +\end_layout + +\begin_layout Itemize +Manejar los errores lo más cerca posible del hardware. + Si el controlador descubre un error, debe intentar corregirlo. + Si no puede, debe notificarlo para que lo intente el manejador de dispositivo. + Si tampoco puede, debe notificarlo al software independiente de E/S. +\end_layout + +\begin_layout Itemize +Convertir las transferencias asíncronas, en que la CPU inicia una transferencia + y hace otras cosas hasta recibir una interrupción indicando que esta ha + terminado, en síncronas, más fáciles de programar, en que el programa se + bloquea hasta que los datos están disponibles +\begin_inset Foot +status open + +\begin_layout Plain Layout +Muchos programas usan hilos para volverlas a convertir en asíncronas. +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Itemize +Permitir la compartición de recursos para lo que esto es posible (como discos) + y asignar los de uso exclusivo (como impresoras). +\end_layout + +\begin_layout Subsection +Manejadores de interrupciones +\end_layout + +\begin_layout Standard +Cuando un proceso inicia una operación de E/S, se bloquea hasta que esta + termine mediante una llamada al sistema específica o, en el caso de UNIX, + de forma automática, cediendo la CPU a otro proceso. + Cuando la operación termina, el controlador envía una interrupción que + atiende el manejador de interrupciones del sistema operativo, el cual identific +a la interrupción y avisa al manejador de dispositivo correspondiente para + que elimine el bloqueo del proceso. + En UNIX, el proceso continuará en su parte de núcleo para terminar la operación. +\end_layout + +\begin_layout Subsection +Manejadores de dispositivo o +\emph on +drivers +\end_layout + +\begin_layout Standard +Contienen el código que depende del funcionamiento concreto de los dispositivos, + con lo que cada uno controla solo un tipo de dispositivo o varios similares. + En los sistemas monolíticos, para acceder a los registros de las controladoras, + necesitan ejecutarse en modo núcleo, por lo que se les considera parte + del núcleo. +\end_layout + +\begin_layout Standard +Un manejador recibe solicitudes abstractas que le hace el software independiente + de dis +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +po +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +si +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ti +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +vo y verifica la ejecución de estas solicitudes. + Tras enviar la orden (u órdenes) al dispositivo, el controlador puede tener + que bloquearse hasta que ocurra una interrupción, o puede que no sea necesario + porque la operación no conlleve retraso. + Tras terminar la operación, el manejador debe verificar los errores corrigiendo + los que pueda e informar al software independiente de dispositivo, y selecciona +r e iniciar alguna solicitud pendiente si tiene o, según el sistema operativo, + bloquearse en espera de una solicitud. +\end_layout + +\begin_layout Standard +El sistema operativo define una interfaz, una serie de funciones genéricas, + a la que se deben adaptar todos los manejadores. + Implementar un manejador supone conocer el funcionamiento del sistema operativo + y el del dispositivo. + Además muchos manejadores deben ser +\series bold +reentrantes +\series default +: capaces de ser interrumpidos a mitad de atender una petición de un proceso + y recibir otra petición sin haber terminado de atender la primera. +\end_layout + +\begin_layout Subsection +Software de E/S independiente de dispositivo +\end_layout + +\begin_layout Standard +Sus funciones suelen ser: +\end_layout + +\begin_layout Itemize +Proporcionar una interfaz uniforme al usuario, seleccionando el manejador + adecuado en cada caso. +\end_layout + +\begin_layout Itemize +Dar nombre a los dispositivos. + En Linux cada uno tiene un +\series bold +número mayor +\series default +, que identifica al manejador, y un +\series bold +número menor +\series default +, que usa el manejador para identificar el dispositivo concreto. +\end_layout + +\begin_layout Itemize +Evitar accesos no autorizados. +\end_layout + +\begin_layout Itemize +Proporcionar un tamaño de bloque independiente del dispositivo, agrupando + o dividiendo sectores, si bien esto también lo puede hacer el manejador + de dispositivo. +\end_layout + +\begin_layout Itemize +Proporcionar +\emph on +buffers +\emph default + para: +\end_layout + +\begin_deeper +\begin_layout Itemize +Dispositivos de entrada como el teclado que no son capaces de almacenar + información o la envían antes de que ningún proceso la solicite, en cuyo + caso el sistema operativo debe guardar la información enviada (en este + caso, códigos de teclas). +\end_layout + +\begin_layout Itemize +Dispositivos de salida como impresoras que no son capaces de procesar informació +n a la velocidad a la que un proceso puede enviarla, por lo que se debe + ir enviando poco a poco. +\end_layout + +\begin_layout Itemize +Dispositivos de bloques, en los que conviene guardar temporalmente en memoria + ciertos bloques para acelerar su funcionamiento y permitir a los procesos + leer o escribir una cantidad arbitraria de bytes. +\end_layout + +\end_deeper +\begin_layout Itemize +Asignar y liberar dispositivos de uso exclusivo, aceptando o rechazando + solicitudes según disponibilidad. +\end_layout + +\begin_layout Itemize +Informar de los errores cuando el manejador de dispositivo no los puede + solucionar. +\end_layout + +\begin_layout Standard +Los sistemas de fichero son independientes de dispositivo y trabajan sobre + dispositivos de bloques abstractos. + También hay software de E/S independiente de dispositivo en el espacio + de usuario: +\end_layout + +\begin_layout Itemize +Bibliotecas de E/S, que llevan a cabo las llamadas al sistema. +\end_layout + +\begin_layout Itemize +Sistema de +\emph on +spooling +\emph default + para dispositivos de uso exclusivo. + Por ejemplo, el +\series bold +demonio +\series default + de impresión comprueba periódicamente si hay ficheros en el +\series bold +directorio de +\emph on +spooling +\series default +\emph default + y, si es así, los imprime, de modo que el resto de procesos pueden imprimir + un fichero situándolo (en el formato apropiado) en el directorio de +\emph on +spooling +\emph default +. + Esto impide que un proceso mantenga abierto un dispositivo de uso exclusivo + sin hacer nada con él mientras el resto de procesos esperan, y permite + eliminar un trabajo antes de que sea procesado, cambiar el orden en que + se deben tratar los trabajos, etc. +\end_layout + +\begin_layout Section +Discos +\end_layout + +\begin_layout Standard +Los discos duros están formados por una serie de discos o platos magnéticos + conectados a un eje común que gira a gran velocidad (por ejemplo, +\begin_inset Formula $\unit[5400]{RPM}$ +\end_inset + +) y una serie de cabezas de lectura/escritura, una por cada superficie de + disco, que pueden leer o escribir sobre la porción de la superficie de + los platos que está justo debajo o encima de estas, y que están todas conectada +s mediante brazos a un mismo soporte que puede girar en un cierto arco haciendo + que las cabezas se muevan hacia dentro o fuera sobre la superficie de los + discos. +\end_layout + +\begin_layout Standard +Llamamos +\series bold +cilindro +\series default + al conjunto de posiciones del disco accesibles en una cierta posición de + las cabezas, +\series bold +pista +\series default + ( +\series bold +circular +\series default +) al subconjunto de estas posiciones sobre una misma superficie de disco + y +\series bold +sector +\series default + a la unidad mínima de lectura y escritura soportada por la controladora, + con tamaños típicos de entre +\begin_inset Formula $\unit[512]{B}$ +\end_inset + + y +\begin_inset Formula $\unit[4]{KiB}$ +\end_inset + + (siempre potencias de 2), y que corresponde a una porción de pista. +\end_layout + +\begin_layout Standard +Cada sector se identifica por la terna de los números de cilindro, cabeza + y sector dentro de la pista, numerados desde 0, donde los cilindros más + externos (más alejados del eje) tienen menor número. + El +\series bold +tiempo de servicio +\series default + o +\series bold +de acceso +\series default + a un sector es la suma de: +\end_layout + +\begin_layout Enumerate + +\series bold +Tiempo de búsqueda +\series default +, para colocar las cabezas en el cilindro adecuado. + El más largo. +\end_layout + +\begin_layout Enumerate +Tiempo para activar la cabeza adecuada, despreciable. +\end_layout + +\begin_layout Enumerate + +\series bold +Tiempo de latencia +\series default +, hasta que los sectores a leer o escribir pasen junto a la cabeza. +\end_layout + +\begin_layout Enumerate + +\series bold +Tiempo de transmisión +\series default +, de leer o escribir los sectores en sí según van pasando por la cabeza. +\end_layout + +\begin_layout Standard +Hoy en día las pistas exteriores de los discos son más largas que las interiores + y por tanto contienen más sectores, dividiéndose el disco en zonas (anillos + circulares) en las que cada pista contiene el mismo número de sectores. + Para que el manejador de disco no tenga que conocer su estructura interna, + la controladora de disco expone una interfaz a modo de lista contigua de + bloques. +\end_layout + +\begin_layout Standard +Debemos planificar el orden en que se atienden las solicitudes de la cola + de solicitudes a disco pendientes para reducir el movimiento de las cabezas. + Como el manejador no conoce la geometría del disco, en vez de la distancia + entre cilindros se tiene en cuenta la distancia entre direcciones de bloque. +\end_layout + +\begin_layout Itemize + +\series bold +FCFS +\series default + ( +\emph on +First Come, First Served +\emph default +): Por orden de llegada, da tiempos de servicio grandes. +\end_layout + +\begin_layout Itemize + +\series bold +SSF +\series default + ( +\emph on +Shortest Seek First +\emph default +): Atiende la solicitud del bloque más cercano al actual. + No es equitativo, pues atiende enseguida solicitudes de cilindros próximos + al actual y no otras solicitudes que llegaron antes, y tampoco es óptimo. +\end_layout + +\begin_layout Itemize + +\series bold +SCAN +\series default + o +\series bold +algoritmo del ascensor +\series default +: En un sentido, atiende la solicitud del bloque con el mayor número que + sea menor al del actual. + En el otro, la del menor número que sea mayor al del actual. + Cuando no quedan peticiones en un sentido, cambia al otro. + Dada cualquier colección de solicitudes, el máximo de movimientos es el + doble del número de cilindros, evitando la localidad. +\end_layout + +\begin_layout Itemize + +\series bold +C-SCAN +\series default + o +\series bold +SCAN circular +\series default +: En SCAN, cuando las cabezas llegan a un extremo e inviertan el sentido, + habrá pocas solicitudes en la zona próxima, mientras que en la otra habrá + muchas y llevarán más tiempo. + El C-SCAN modifica este algoritmo de modo que, si el sentido es de mayor + a menor bloque y no hay ninguna solicitud de bloque de número menor, se + toma el bloque de mayor número y se sigue en el mismo sentido, y lo mismo + ocurre al revés si el sentido es el otro. +\end_layout + +\begin_layout Standard +Si la tecnología cambia, pueden ser necesarios nuevos algoritmos. + Los discos duros actuales suelen tener una pequeña caché en la controladora + para leer por adelantado pistas enteras o partes de ellas, por lo que se + prefiere atender una solicitud que acaba de llegar pero está próxima a + la última servida antes de otra que lleva más esperando, aunque si lleva + mucho tiempo esperando se atiende de inmediato. +\end_layout + +\begin_layout Standard +La implementación del sistema de ficheros puede tener gran influencia sobre + las solicitudes, pues no es lo mismo si estos están en un área contigua + en disco (requiriendo pocos movimientos de las cabezas) o dispersos (muchos + movimientos), en cuyo caso se podría defragmentar el disco colocando los + bloques de cada fichero contiguos o próximos. + También podemos colocar los bloques de datos de directorios próximos a + los bloques de nodos-i de sus ficheros, como hacen ext2/3/4, XFS o JFS. +\end_layout + +\begin_layout Standard +Un +\series bold +disco RAM +\series default + es un dispositivo de bloques en que los bloques se almacenan en memoria + principal, permitiendo acceso instantáneo, con lo que cuando el manejador + recibe un mensaje para lectura o escritura de un bloque, basta que calcule + el lugar de la memoria del disco RAM donde se encuentra. +\end_layout + +\begin_layout Section +Relojes +\end_layout + +\begin_layout Standard +Los relojes más sencillos están sujetos a la línea de corriente alterna + y provocan una in +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +te +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +rrup +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ción por cada ciclo de voltaje (a 50 o +\begin_inset Formula $\unit[60]{Hz}$ +\end_inset + +). + Los +\series bold +relojes programables +\series default + constan de un oscilador de cristal de cuarzo que genera una señal periódica + de 5 a +\begin_inset Formula $\unit[100]{MHz}$ +\end_inset + + o más de muy alta precisión; un contador que a partir de esta señal cuenta + de forma decreciente hasta 0 y, cuando llega, provoca una interrupción, + y un registro de carga para actualizar el contador. +\end_layout + +\begin_layout Standard +En +\series bold +modo de disparo único +\series default +, el reloj copia al iniciarse el valor del registro de carga en el contador + y, cuando este llega a 0, se detiene hasta ser iniciado de nuevo por el + software, mientras que en +\series bold +modo de onda cuadrada +\series default +, cuando llega a 0, el registro de carga se copia automáticamente al contador, + generando interrupciones periódicas llamadas +\series bold +marcas +\series default + o +\series bold +tics de reloj +\series default +. + Los chips suelen contener 2 o 3 relojes programables independientes, así + como otras opciones como contar en forma ascendente o desactivar las interrupci +ones. +\end_layout + +\begin_layout Standard +El +\series bold +manejador del reloj +\series default + se encarga de: +\end_layout + +\begin_layout Itemize +Controlar la hora del día, incrementando un contador en cada marca del reloj + registrando el tiempo transcurrido desde, por ejemplo, el inicio del año + 1970 como se hace en UNIX, momento conocido como +\emph on +The Epoch +\emph default + (La Época +\begin_inset Foot +status open + +\begin_layout Plain Layout +¿A que al traducirlo pierde toda la gracia? +\end_layout + +\end_inset + +). + El contador se puede implementar, por ejemplo, como: +\end_layout + +\begin_deeper +\begin_layout Itemize +Contador de marcas. + Si es de +\begin_inset Formula $\unit[64]{bits}$ +\end_inset + + a +\begin_inset Formula $\unit[60]{Hz}$ +\end_inset + +, puede registrar más de +\begin_inset Formula $\unit[9800]{m.a.}$ +\end_inset + +. +\end_layout + +\begin_layout Itemize +Contador de segundos y otro de marcas hasta llegar al segundo. + Si son de +\begin_inset Formula $\unit[32]{bits}$ +\end_inset + + desde +\emph on +The Epoch +\emph default +, el desbordamiento ocurre en 2106 si se guarda como entero sin signo o + 2038 si se guarda con signo. +\end_layout + +\begin_layout Itemize +Instante de arranque en segundos y contador de marcas desde el arranque. + Si el contador es de +\begin_inset Formula $\unit[32]{bits}$ +\end_inset + + a +\begin_inset Formula $\unit[60]{Hz}$ +\end_inset + +, habrá que reiniciar tras algo más de 2 años y 3 meses. +\end_layout + +\begin_layout Standard +Para obtener la fecha al arrancar, el sistema operativo puede pedirla al + usuario o tomarla del +\series bold +reloj de tiempo real +\series default + de la placa base, un pequeño circuito integrado con una pequeña batería + que mantiene la hora incluso con la máquina apagada. +\end_layout + +\end_deeper +\begin_layout Itemize +Controlar el tiempo de ejecución de los procesos, con un contador con el + valor del +\emph on +quantum +\emph default + del proceso en marcas del reloj para llamar al planificador cuando el contador + llegue a 0. +\end_layout + +\begin_layout Itemize +Contabilizar el uso de CPU. + Una forma es iniciar un segundo reloj cada vez que se asigne la CPU a un + proceso y leer el valor del contador cuando el proceso deje la CPU para + añadir el tiempo a un campo en la entrada de la tabla de procesos. + El reloj debe parar cuando la CPU atienda una interrupción. + Otra forma más sencilla es incrementar un campo en la tabla de procesos + por cada marca de reloj, pero esta es menos exacta porque, por ejemplo, + un proceso puede pasar a usar la CPU justo tras producirse una marca y + dejarla justo antes de la siguiente y esto no contaría. +\end_layout + +\begin_layout Itemize + +\series bold +Alarmas +\series default +. + Un proceso en UNIX puede ejecutar la llamada +\family typewriter +alarm +\family default + para pedir al sistema operativo que le avise tras un cierto tiempo enviándole + una señal +\family typewriter +SIGALRM +\family default +. + Si el manejador de reloj tiene relojes físicos suficientes, se puede usar + uno para cada solicitud, pero como esto es improbable se simular relojes + virtuales. +\begin_inset Newline newline +\end_inset + +Una forma es tener una tabla con el tiempo de señalización de cada alarma + y una variable que indica el tiempo en marcas hasta la próxima señal, de + modo que al actualizar la hora del día se decrementa esta variable y, si + llega a 0, se envía la señal al proceso, se busca la siguiente alarma y + se actualiza la variable. + Otra forma es tener una lista ligada de alarmas según tiempo de ocurrencias + en que cada elemento indica el número de marcas de reloj a esperar tras + la siguiente señal. +\end_layout + +\begin_layout Itemize + +\series bold +Cronómetros guardianes +\series default +. + Son alarmas establecidas por el propio sistema operativo. + Por ejemplo, para acceder a un DVD hay que activar el motor del lector + y esperar a la velocidad adecuada, por lo que es buena idea dejar el motor + encendido por un tiempo por si hay más operaciones de E/S y detenerlo si + pasa un tiempo sin que haya. + Funcionan como alarmas pero, en vez de provocar una señal, llaman a un + procedimiento proporcionado por quien hizo la llamada dado que en el núcleo + no hay señales. +\end_layout + +\end_body +\end_document diff --git a/iso/na.lyx b/iso/na.lyx new file mode 100644 index 0000000..bbe948a --- /dev/null +++ b/iso/na.lyx @@ -0,0 +1,7090 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +En UNIX/Linux existen tres grandes familias de intérpretes de órdenes o + +\emph on +shells +\emph default +: +\family typewriter +sh +\family default +, +\family typewriter +csh +\family default + y +\family typewriter +ksh +\family default +. + Nos centraremos en +\family typewriter +bash +\family default +, el Bourne-Again Shell, un +\emph on +shell +\emph default + libre de la familia de +\family typewriter +sh +\family default +. + Podemos acceder a este: +\end_layout + +\begin_layout Itemize +Directamente, si el sistema arranca en modo texto. +\end_layout + +\begin_layout Itemize +El sistema suele tener 12 terminales virtuales. + El modo gráfico suele usar las dos primeras, por lo que podemos acceder + a modo texto pulsando +\family typewriter +C-M-F +\emph on + +\begin_inset Formula $i$ +\end_inset + + +\family default +\emph default + con +\begin_inset Formula $i=3,\dots,12$ +\end_inset + + y volver al modo gráfico con +\family typewriter +C-M-F1 +\family default + o +\family typewriter +C-M-F2 +\family default + dependiendo del sistema. +\end_layout + +\begin_layout Itemize +También, desde el modo gráfico, podemos usar un programa de simulación del + terminal, que permite ejecutar órdenes desde el entorno de ventanas. + Destacan +\family typewriter +konsole +\family default + de KDE y +\family typewriter +gnome-terminal +\family default + de GNOME. +\end_layout + +\begin_layout Standard + +\family typewriter +bash +\family default + es programable a partir de ficheros de texto con listas de órdenes, llamados + +\series bold +guiones +\emph on +shell +\series default +\emph default + ( +\emph on +shell scripts +\emph default +) o +\series bold +\emph on +scripts +\series default +\emph default +. +\end_layout + +\begin_layout Standard +En general, las órdenes que aceptan varias opciones a la vez de una sola + letra permiten escribir, por ejemplo, +\family typewriter +-abcd +\family default + en vez de +\family typewriter +-a -b -c -d +\family default +, y esto también vale si la última orden requiere un argumento. + Todos los procesos, cuando finalizan, devuelven un +\series bold +código de salida +\series default + ( +\emph on +exit code +\emph default +) o +\series bold +estado de salida +\series default + ( +\emph on +exit status +\emph default +) al proceso padre, que generalmente es 0 cuando la ejecución es correcta + y un valor entre 1 y 255 cuando hay un error. + +\end_layout + +\begin_layout Standard +Ejecutar +\family typewriter +\emph on +comando +\emph default + --help +\family default + en general muestra una breve ayuda sobre una orden externa. + Otras fuentes son la ayuda de +\family typewriter +bash +\family default +, la de +\family typewriter +man +\family default +, la documentación de las distribuciones, sitios como FAQs, foros, etc., + y proyectos de documentación libre como TLDP. +\begin_inset Foot +status open + +\begin_layout Plain Layout +De aquí en adelante buscad en todos estos sitios antes de preguntarme a + mí. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Las órdenes se ejecutan siempre desde el +\series bold +directorio actual +\series default + en el que nos encontremos. + Cada usuario tiene un +\series bold +directorio personal +\series default +, que suele ser +\family typewriter +/home/ +\emph on +usuario +\family default +\emph default +, siendo +\family typewriter +\emph on +usuario +\family default +\emph default + el nombre del usuario. +\end_layout + +\begin_layout Standard +Los ficheros y directorios tienen una serie de permisos para el propietario + (o usuario), el grupo y el resto de usuarios. + Para cada uno de estos se definen los siguientes permisos: +\end_layout + +\begin_layout Standard +\align center +\begin_inset Tabular + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Permiso +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +Fichero +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\series bold +Directorio +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Lectura ( +\family typewriter +r +\family default +) +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Leer el contenido. +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Obtener la lista de entradas. + No es necesario para acceder a ellas si conocemos su nombre. +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Escritura ( +\family typewriter +w +\family default +) +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Modificar el contenido. +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Crear, borrar o modificar entradas. +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Ejecución ( +\family typewriter +x +\family default +) +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Ejecutar el fichero. +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Acceder al nodo-i de las entradas para acceder a subdirectorios o ficheros + u obtener los metadatos de estos. +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard +Además de los permisos especiales: +\end_layout + +\begin_layout Itemize + +\family typewriter +t +\family default + ( +\emph on +sticky bit +\emph default +): En un directorio, un usuario con permiso de lectura puede crear ficheros, + pero sólo puede borrar los que le pertenecen. +\end_layout + +\begin_layout Itemize + +\family typewriter +u+s +\family default + (suid): En un ejecutable, el UID cambia al del propietario al ejecutarlo. +\end_layout + +\begin_layout Itemize + +\family typewriter +g+s +\family default + (sgid): En un ejecutable, el GID cambia al del grupo del fichero al ejecutarlo. + En un directorio, los ficheros creados dentro pertenecen al grupo del directori +o, y no (ne +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ce +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +sa +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ria +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +men +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +te) al grupo activo de quien lo crea. +\end_layout + +\begin_layout Standard +Los permisos se representan en notación estándar como la cadena +\family typewriter +rwxrwxrwx +\family default +, con 3 grupos para usuario, grupo y otros, respectivamente, donde se sustituyen + los caracteres de los permisos que no están por +\family typewriter +- +\family default +. + La +\family typewriter +x +\family default + de usuario o grupo, respectivamente, cambia a una +\family typewriter +s +\family default + si está activo el suid o el sgid. + La +\family typewriter +x +\family default + de otros cambia a una +\family typewriter +t +\family default + si está activo el +\emph on +sticky bit +\emph default +. + También se puede representar en octal, considerando en esta cadena que + un permiso que se da es un 1 y uno que no es un 0, y convirtiendo el número + binario resultante a octal. +\end_layout + +\begin_layout Standard +A continuación vemos versiones reducidas y traducidas de las páginas +\family typewriter +man +\family default + (del manual) de los principales comandos, que definen un subconjunto de + la funcionalidad de estos en la implementación de GNU. +\end_layout + +\begin_layout Section + +\family typewriter +bash +\end_layout + +\begin_layout Standard +Si bien veremos que el +\emph on +shell +\emph default + permite crear variables, estas son variables locales, que son heredadas + por los hijos del +\emph on +shell +\emph default + (si bien al modificarlas estos no se actualizan en el proceso padre ni + al revés) pero desaparecen en cuanto estos llaman a +\family typewriter +exec +\family default +. + No obstante, cada proceso en UNIX incluye un +\series bold +entorno +\series default + con una serie de +\series bold +variables de entorno +\series default +, que se heredan de padres a hijos en +\family typewriter +fork +\family default +, no se borran al usar +\family typewriter +exec +\family default + y los procesos pueden crear, modificar o borrar. + Por ejemplo, +\family typewriter +LOGNAME +\family default + contiene el nombre del usuario que ha iniciado sesión. +\end_layout + +\begin_layout Standard +Los procesos disponen por defecto de tres descriptores de fichero: +\end_layout + +\begin_layout Itemize + +\series bold +Entrada estándar +\series default + (0): Para recibir datos de entrada. + Normalmente es el teclado. +\end_layout + +\begin_layout Itemize + +\series bold +Salida estándar +\series default + (1): Para mostrar resultados. + Normalmente la pantalla. +\end_layout + +\begin_layout Itemize + +\series bold +Salida estándar de error +\series default + (2): Para mostrar mensajes de error. + Normalmente la pantalla. +\end_layout + +\begin_layout Standard +Estos se pueden redireccionar para almacenar datos de salida o recibir datos + de entrada de un fichero, o comunicar unos procesos con otros +\end_layout + +\begin_layout Subsection* + +\family typewriter +bash +\family default + — +\emph on +GNU Bourne-Again SHell +\end_layout + +\begin_layout Subsubsection* +SINOPSIS +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +bash +\series default + [opciones] [comando | archivo] +\end_layout + +\begin_layout Subsubsection* +OPCIONES +\end_layout + +\begin_layout Standard +Todas las opciones de un caracter documentadas en la descripción del comando + interno +\family typewriter +\series bold +set +\family default +\series default + pueden usarse como opciones al invocar el +\emph on +shell +\emph default +. +\end_layout + +\begin_layout Subsubsection* +ARGUMENTOS +\end_layout + +\begin_layout Standard +Si quedan argumentos tras las +\family typewriter +\emph on +opciones +\family default +\emph default +, el primero de estos se entiende como el nombre de un fichero con comandos + +\emph on +shell +\emph default +, que guarda en el parámetro +\family typewriter +\series bold +$0 +\family default +\series default +, y el resto de argumentos los guarda en los parámetros posicionales, en + orden creciente. + Entonces +\family typewriter +\series bold +bash +\family default +\series default + lee y ejecuta los comandos de este archivo y termina su ejecución. + El estado de salida de +\family typewriter +\series bold +bash +\family default +\series default + es el del último comando ejecutado en el +\emph on +script +\emph default +. +\end_layout + +\begin_layout Subsubsection* +INVOCACIÓN +\end_layout + +\begin_layout Standard +Cuando +\family typewriter +\series bold +bash +\family default +\series default + se invoca como +\emph on +shell +\emph default + de inicio de sesión interactivo, ejecuta los comandos de +\family typewriter +~/.bash_profile +\family default +, si existe. + Cuando un +\emph on +shell +\emph default + de inicio de sesión interactivo termina, ejecuta los comandos de +\family typewriter +~/.bash_logout +\family default +. + Cuando se inicia un +\emph on +shell +\emph default + interactivo que no es de inicio de sesión, +\family typewriter +\series bold +bash +\family default +\series default + ejecuta los comandos de +\family typewriter +~/.bashrc +\family default +, si existe. +\end_layout + +\begin_layout Subsubsection* +DEFINICIONES +\end_layout + +\begin_layout Description +Blanco Espacio o tabulador. +\end_layout + +\begin_layout Description +Palabra Secuencia de caracteres interpretada como una unidad por el +\emph on +shell +\emph default +. +\end_layout + +\begin_layout Description +Nombre Palabra con solo caracteres alfanuméricos y barras bajas que no comienza + por un número. +\end_layout + +\begin_layout Description +Metacaracter Caracter que, si no está entre comillas, separa palabras. + Uno de +\family typewriter +| +\family default +, +\family typewriter +& +\family default +, +\family typewriter +; +\family default +, +\family typewriter +( +\family default +, +\family typewriter +) +\family default +, +\family typewriter +< +\family default +, +\family typewriter +> +\family default +, espacio, tabulador y salto de línea. +\end_layout + +\begin_layout Description +Operador +\begin_inset space ~ +\end_inset + +de +\begin_inset space ~ +\end_inset + +control Palabra que realiza una función de control. + Una de +\family typewriter +|| +\family default +, +\family typewriter +& +\family default +, +\family typewriter +&& +\family default +, +\family typewriter +; +\family default +, +\family typewriter +;; +\family default +, +\family typewriter +;& +\family default +, +\family typewriter +;;& +\family default +, +\family typewriter +( +\family default +, +\family typewriter +) +\family default +, +\family typewriter +| +\family default +, +\family typewriter +|& +\family default + y salto de línea. +\end_layout + +\begin_layout Subsubsection* +GRAMÁTICA DEL SHELL +\end_layout + +\begin_layout Paragraph* +Comandos simples +\end_layout + +\begin_layout Standard +Secuencia opcional de asignaciones de variables seguida de una lista de + palabras separadas por blancos, seguida de redirecciones, y terminada por + un operador de control. + La primera palabra indica el comando a ejecutar, pasado como argumento + 0, y el resto son los argumentos a dicho comando. +\end_layout + +\begin_layout Paragraph* +Tuberías, +\emph on +pipelines +\emph default + o +\emph on +pipes +\end_layout + +\begin_layout Standard +Formadas por uno o varios comandos simples separados por +\family typewriter +\series bold +| +\family default +\series default +, para conectar la salida estándar del de la izquierda con la entrada estándar + de la siguiente, o por +\family typewriter +|& +\family default +, abreviación para +\family typewriter +2>&1| +\family default +, y que se ejecutan en paralelo en sus respectivos procesos. +\end_layout + +\begin_layout Paragraph* +Listas +\end_layout + +\begin_layout Standard +Formadas por una o más tuberías separadas por +\family typewriter +; +\family default +, +\family typewriter +& +\family default +, +\family typewriter +&& +\family default + o +\family typewriter +|| +\family default +, y terminadas opcionalmente por +\family typewriter +; +\family default +, +\family typewriter +& +\family default + o un salto de línea. + +\family typewriter +\series bold +&& +\family default +\series default + y +\family typewriter +\series bold +|| +\family default +\series default + tienen igual precedencia, seguidos por +\family typewriter +\series bold +; +\family default +\series default + y +\family typewriter +\series bold +& +\family default +\series default +, de igual precedencia. + Una secuencia de uno o más saltos de línea puede aparecer en una lista + en lugar de un +\family typewriter +; +\family default + para delimitar comandos. +\end_layout + +\begin_layout Standard +Si un comando termina con +\family typewriter +\series bold +& +\family default +\series default +, se ejecuta en segundo plano en una +\emph on +subshell +\emph default +. + Comandos separados por +\family typewriter +\series bold +; +\family default +\series default + se ejecutan secuencialmente. +\end_layout + +\begin_layout Standard +Las listas Y (AND) y O (OR) son secuencias de una o más tuberías separadas + por +\family typewriter +\series bold +&& +\family default +\series default + o +\family typewriter +\series bold +|| +\family default +\series default +, respectivamente. + Una lista AND tiene forma +\family typewriter +\emph on +comando1 +\emph default + +\series bold +&& +\series default + +\emph on +comando2 +\family default +\emph default +, y en esta +\family typewriter +\emph on +comando2 +\family default +\emph default + se ejecuta si y sólo si +\family typewriter +\emph on +comando1 +\family default +\emph default + devuelve 0. + Una lista OR tiene forma +\family typewriter +\emph on +comando1 +\emph default + +\series bold +|| +\series default + +\emph on +comando2 +\family default +\emph default +, y en esta +\family typewriter +\emph on +comando2 +\family default +\emph default + se ejecuta si y sólo si +\family typewriter +\emph on +comando1 +\family default +\emph default + devuelve un valor distinto de 0. + El estado de salida de las listas Y y O es el del último comando ejecutado + en la lista. +\end_layout + +\begin_layout Subsubsection* +Comandos compuestos +\end_layout + +\begin_layout Standard +En la mayoría de los siguientes casos los +\family typewriter +; +\family default + pueden sustituirse por uno o más saltos de línea. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +( +\emph on +lista +\emph default +) +\family default + La +\family typewriter +\emph on +lista +\family default +\emph default + se ejecuta en un +\emph on +subshell +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +{ +\begin_inset space ~ +\end_inset + + +\emph on +lista +\emph default +; +\begin_inset space ~ +\end_inset + +} +\family default + La +\family typewriter +\emph on +lista +\family default +\emph default + se ejecuta en el +\emph on +shell +\emph default + actual. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +if +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista +\emph default +; +\begin_inset space ~ +\end_inset + + +\series bold +then +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista +\emph default +; +\begin_inset space ~ +\end_inset + +[ +\begin_inset space ~ +\end_inset + + +\series bold +elif +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista +\emph default +; +\begin_inset space ~ +\end_inset + + +\series bold +then +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista +\emph default +; +\begin_inset space ~ +\end_inset + +] +\begin_inset space ~ +\end_inset + +... +\begin_inset space ~ +\end_inset + +[ +\begin_inset space ~ +\end_inset + + +\series bold +else +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista +\emph default +; +\begin_inset space ~ +\end_inset + +] +\begin_inset space ~ +\end_inset + + +\series bold +fi +\family default +\series default + +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 +\begin_inset Note Note +status open + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + Ejecuta la +\family typewriter +\emph on +lista +\family default +\emph default + en +\family typewriter +\series bold +if +\family default +\series default + y, si devuelve cero, ejecuta la +\family typewriter +\emph on +lista +\family default +\emph default + en +\family typewriter +\series bold +then +\family default +\series default +. + De lo contrario evalúa la +\family typewriter +\emph on +lista +\family default +\emph default + de cada +\family typewriter +\series bold +elif +\family default +\series default + y, si devuelve cero, ejecuta la +\family typewriter +\emph on +lista +\family default +\emph default + en el +\family typewriter +\series bold +then +\family default +\series default + correspondiente y termina el comando, y si esto no ocurre, se ejecuta la + +\family typewriter +\emph on +lista +\family default +\emph default + en +\family typewriter +\series bold +else +\family default +\series default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +case +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +palabra +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +in +\series default + +\begin_inset space ~ +\end_inset + +[ +\begin_inset space ~ +\end_inset + + +\emph on +patrón +\emph default + +\begin_inset space ~ +\end_inset + +[ +\begin_inset space ~ +\end_inset + + +\series bold +| +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +patrón +\emph default + +\begin_inset space ~ +\end_inset + +] +\begin_inset space ~ +\end_inset + +... +\begin_inset space ~ +\end_inset + +) +\begin_inset space ~ +\end_inset + + +\emph on +lista +\emph default + +\begin_inset space ~ +\end_inset + +;; +\begin_inset space ~ +\end_inset + +] +\begin_inset space ~ +\end_inset + +... +\begin_inset space ~ +\end_inset + + +\series bold +esac +\family default +\series default + Busca el primer +\family typewriter +\emph on +patrón +\family default +\emph default + que coincida (según +\begin_inset Quotes fld +\end_inset + +Expansión de nombres de archivo +\begin_inset Quotes frd +\end_inset + + pero sin considerar +\family typewriter +/ +\family default + de manera especial) con el valor de la +\family typewriter +\emph on +palabra +\family default +\emph default + una vez expandida y ejecuta la +\family typewriter +\emph on +lista +\family default +\emph default + correspondiente. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +while +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista1 +\emph default +; +\begin_inset space ~ +\end_inset + + +\series bold +do +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista2 +\emph default +; +\begin_inset space ~ +\end_inset + + +\series bold +done +\family default +\series default + Ejecuta +\family typewriter +\emph on +lista1 +\family default +\emph default + y, si devuelve 0, ejecuta +\family typewriter +\emph on +lista2 +\family default +\emph default + y repite esta acción. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +for +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +nombre +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +in +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +palabra +\emph default + +\begin_inset space ~ +\end_inset + +... +\begin_inset space ~ +\end_inset + +; +\begin_inset space ~ +\end_inset + + +\series bold +do +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista +\emph default + +\begin_inset space ~ +\end_inset + +; +\begin_inset space ~ +\end_inset + + +\series bold +done +\family default +\series default + Una vez expandida la lista de +\family typewriter +\emph on +palabra +\family default +\emph default +s, para cada una, ejecuta +\family typewriter +\emph on +lista +\family default +\emph default + con la variable +\family typewriter +\emph on +nombre +\family default +\emph default + establecida a dicha palabra, en orden. +\end_layout + +\begin_layout Paragraph* +Definiciones de funciones +\end_layout + +\begin_layout Standard +Una función +\emph on +shell +\emph default + es un objeto que se llama como un comando simple y ejecuta un comando compuesto + con un nuevo conjunto de parámetros posicionales. + Se declaran como: +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +function +\series default + +\emph on +nombre +\emph default + +\emph on +comando_compuesto +\end_layout + +\begin_layout Subsubsection* +PARÁMETROS +\end_layout + +\begin_layout Standard +Un parámetro es una entidad que almacena valores, y puede ser un nombre, + un número o uno de los caracteres en +\begin_inset Quotes fld +\end_inset + +Parámetros especiales +\begin_inset Quotes frd +\end_inset + +. + Si es un nombre se le llama +\series bold +variable +\series default +, y puede ser asignado mediante la sentencia +\family typewriter +nombre=[ +\emph on +valor +\emph default +] +\family default +. + No puede haber espacios entre el +\family typewriter +\emph on +nombre +\family default +\emph default +, el signo +\family typewriter += +\family default + y el +\family typewriter +\emph on +valor +\family default +\emph default +. +\end_layout + +\begin_layout Paragraph* +Parámetros posicionales +\end_layout + +\begin_layout Standard +Se denotan por un número positivo distinto de 0 en decimal. +\end_layout + +\begin_layout Paragraph* +Parámetros especiales +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +@ +\family default +\series default + Todos los parámetros posicionales, en orden creciente. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +# +\family default +\series default + Número de parámetros posicionales, en decimal. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +? +\family default +\series default + Estado de salida de la tubería ejecutada más recientemente en primer plano. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +$ +\family default +\series default + PID del +\emph on +shell +\emph default + actual. + Si se ejecuta en un +\emph on +subshell +\emph default + con +\family typewriter +() +\family default +, no devuelve el PID del +\emph on +subshell +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +! +\family default +\series default + PID del último trabajo puesto a ejecutar en segundo plano. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +0 +\family default +\series default + Nombre con el que se ha invocado al +\emph on +script +\emph default +. +\end_layout + +\begin_layout Paragraph* +Variables de shell +\end_layout + +\begin_layout Description + +\family typewriter +PWD +\family default + El directorio actual, variable establecida por el +\emph on +shell +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +HOME +\family default +\series default + Directorio personal del usuario actual. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +PATH +\family default +\series default + Lista de directorios separados por +\family typewriter +: +\family default + en los que el +\emph on +shell +\emph default + busca comandos. +\end_layout + +\begin_layout Subsubsection* +EXPANSIÓN +\end_layout + +\begin_layout Standard +Una barra invertida ( +\family typewriter + +\backslash + +\family default +) anula el significado especial del caracter siguiente. + Encerrar ca +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +rac +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +te +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +res entre comillas simples ( +\family typewriter +' +\family default +) preserva el valor literal de todos, incluso de +\family typewriter + +\backslash + +\family default +, anulando la expansión y la separación de palabras. + Encerrarlos entre comillas dobles ( +\family typewriter +" +\family default +) anula toda expansión salvo la expansión de parámetros, la sustitución + de comandos y el significado de +\family typewriter + +\backslash + +\family default + cuando el siguiente caracter es +\family typewriter +$ +\family default +, +\family typewriter +` +\family default +, +\family typewriter +" +\family default + o un salto de línea. +\end_layout + +\begin_layout Paragraph* +Expansión de llaves +\end_layout + +\begin_layout Standard +Una palabra que contenga +\family typewriter +{ +\emph on +arg1 +\emph default +, +\emph on +arg2 +\emph default +, +\family default +... +\family typewriter +} +\family default + es sustituida (recursivamente) por varias palabras resultado de sustituir + dicha expresión por cada una de las palabras entre llaves. +\end_layout + +\begin_layout Paragraph* +Expansión de tilde +\end_layout + +\begin_layout Standard +En una palabra no entrecomillada, si empieza por +\family typewriter +\series bold +~ +\family default +\series default + seguido de +\family typewriter +\series bold +/ +\family default +\series default +, o si este es el único caracter de la palabra, este es sustituido por el + valor del parámetro +\family typewriter +\series bold +HOME +\family default +\series default +. +\end_layout + +\begin_layout Paragraph* +Expansión de parámetros +\end_layout + +\begin_layout Standard + +\family typewriter +${ +\emph on +parámetro +\emph default +} +\family default + es sustituido por el valor del +\family typewriter +\emph on +parámetro +\family default +\emph default +. + Las llaves son opcionales y sirven para delimitar el parámetro (de lo contrario + se considera que es el nombre más largo formado por caracteres consecutivos + después del +\family typewriter +$ +\family default + o, si no hay ninguno, por el primer caracter). + Si el primer caracter del +\family typewriter +\emph on +parámetro +\family default +\emph default + es +\family typewriter +\series bold +! +\family default +\series default +, el valor de la variable formada por el resto del +\family typewriter +\emph on +parámetro +\family default +\emph default + se usa como nombre del parámetro y es expandido en lugar del propio parámetro. +\end_layout + +\begin_layout Paragraph* +Sustitución de comandos +\end_layout + +\begin_layout Standard + +\family typewriter +$( +\emph on +comando +\emph default +) +\family default + o +\family typewriter +` +\emph on +comando +\emph default +` +\family default + ejecuta el +\family typewriter +\emph on +comando +\family default +\emph default + en una +\emph on +subshell +\emph default + y es sustituido por la salida del comando. + Sin comillas, el intérprete entiende los saltos de línea dentro de la salida + como separadores de palabras. +\end_layout + +\begin_layout Subsubsection* +Expansión aritmética +\end_layout + +\begin_layout Standard + +\family typewriter +$(( +\emph on +expresión +\emph default +)) +\family default + se sustituye por el resultado de evaluar la +\family typewriter +\emph on +expresión +\family default +\emph default + aritmética (ver +\begin_inset Quotes fld +\end_inset + +Evaluación aritmética +\begin_inset Quotes frd +\end_inset + +). + +\end_layout + +\begin_layout Paragraph* +División de palabras +\end_layout + +\begin_layout Standard +Se preservan los argumentos nulos +\family typewriter +"" +\family default + y +\family typewriter +'' +\family default +, pero no los que resultan de una expansión de un parámetro sin valor. +\end_layout + +\begin_layout Paragraph* +Expansión de rutas de archivo +\end_layout + +\begin_layout Standard +Cuando una palabra contiene +\family typewriter +* +\family default +, +\family typewriter +? +\family default + o +\family typewriter +[ +\family default +, el intérprete lo sustituye por una lista de nombres de archivo que cumplan + el patrón indicado. + El caracter +\family typewriter +. + +\family default + al principio de un nombre o inmediatamente detrás de una +\family typewriter +/ +\family default + debe reconocerse explícitamente en el patrón. + En este, la mayoria de caracteres se reconocen a sí mismo, +\family typewriter +* +\family default + reconoce cero o más caracteres cualesquiera, +\family typewriter +? +\family default + un caracter cualquiera, y +\family typewriter +[ +\family default +... +\family typewriter +] +\family default + indica cualquiera de los caracteres entre corchetes, salvo porque si el + primer caracter es +\family typewriter +! +\family default +, el significado pasa a ser cualquier caracter no indicado tras el +\family typewriter +! +\family default +, pudiendo en ambos casos indicar rangos como +\family typewriter +\emph on +a +\emph default +- +\emph on +z +\family default +\emph default +, +\end_layout + +\begin_layout Paragraph +Eliminación de comillas +\end_layout + +\begin_layout Standard +Una vez realizadas todas las expansiones se eliminan todas las ocurrencias + no entrecomilladas de los caracteres +\family typewriter + +\backslash + +\family default +, +\family typewriter +' +\family default + y +\family typewriter +" +\family default + que no fueran generadas por dichas expansiones. +\end_layout + +\begin_layout Subsubsection* +REDIRECCIÓN +\end_layout + +\begin_layout Standard +Estos operadores pueden aparecer detrás de un comando para redirigir su + entrada y salida. +\end_layout + +\begin_layout Paragraph* +Redirección de entrada +\end_layout + +\begin_layout Standard +Con +\family typewriter +[ +\emph on +n +\emph default +]< +\emph on +fichero +\family default +\emph default + para redirigir la entrada del descriptor +\family typewriter +\emph on +n +\family default +\emph default + (o 0) desde +\family typewriter +\emph on +fichero +\family default +\emph default +. +\end_layout + +\begin_layout Paragraph* +Redirección de salida +\end_layout + +\begin_layout Standard +Con +\family typewriter +[ +\emph on +n +\emph default +]> +\emph on +fichero +\family default +\emph default + para redirigir la salida del descriptor +\family typewriter +\emph on +n +\family default +\emph default + (o 1) al +\family typewriter +\emph on +fichero +\family default +\emph default +, truncándolo si ya existía. +\end_layout + +\begin_layout Paragraph* +Anexado de salida redirigida +\end_layout + +\begin_layout Standard +Con +\family typewriter +[ +\emph on +n +\emph default +]>> +\emph on +fichero +\family default +\emph default +, similar a lo anterior pero si el +\family typewriter +\emph on +fichero +\family default +\emph default + existe añade los nuevos datos al final. +\end_layout + +\begin_layout Paragraph* +Duplicado de descriptores de archivo +\end_layout + +\begin_layout Standard +Con +\family typewriter +[ +\emph on +n +\emph default +]>& +\emph on +m +\family default +\emph default + para duplicar la salida del descriptor +\family typewriter +\emph on +n +\family default +\emph default + (o 1) al descriptor +\family typewriter +\emph on +m +\family default +\emph default +. +\end_layout + +\begin_layout Subsubsection* +ALIAS +\end_layout + +\begin_layout Standard +Permiten que una cadena sea sustituida por una palabra cuando se usa como + la primera de un comando simple. + Si esta primera palabra no está entre comillas, se comprueba para ver si + es un alias, en cuyo caso se reemplaza por el texto del alias. +\end_layout + +\begin_layout Subsubsection* +EVALUACIÓN ARITMÉTICA +\end_layout + +\begin_layout Standard +Las expresiones entre paréntesis (que no tienen que ir precedidos por +\family typewriter + +\backslash + +\family default +) se evalúan primero. + De mayor a menor prioridad: +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +- +\begin_inset space ~ +\end_inset + ++ +\family default + Menos y más unarios. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +** +\family default + Exponencial. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +* +\begin_inset space ~ +\end_inset + +/ +\begin_inset space ~ +\end_inset + +% +\family default + Multiplicación, división y resto. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter ++ +\begin_inset space ~ +\end_inset + +- +\family default + Suma y resta. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter += +\family default + Asignación (a la izquierda está el nombre de una variable). +\end_layout + +\begin_layout Standard +La expansión de parámetros se realiza antes de evaluar la expresión, y los + valores de parámetros se fuerzan a un entero. + Las constantes que empiezan por +\family typewriter +0 +\family default + se interpretan en octal, mientras que las que empiezan por +\family typewriter +0x +\family default + o +\family typewriter +0X +\family default + se interpretan como hexadecimal. + No debe haber espacio entre operandos y operadores. +\end_layout + +\begin_layout Subsubsection* +EJECUCIÓN DE COMANDOS +\end_layout + +\begin_layout Standard +Si el nombre del comando no contiene +\family typewriter +/ +\family default +, si es el nombre de una función la ejecuta, o si es el nombre de un comando + interno, y de lo contrario busca en los directorios en +\family typewriter +\series bold +PATH +\family default +\series default + uno que contenga un ejecutable con el nombre del comando. + Si contiene +\family typewriter +/ +\family default +, lo interpreta como una ruta a un ejecutable. + La ejecución de un fichero ejecutable se realiza mediante un +\family typewriter +fork +\family default + tras el cual el proceso hijo hace un +\family typewriter +exec +\family default + y el padre, salvo que el proceso se deba ejecutar en segundo plano, espera + a que termine el hijo con +\family typewriter +wait +\family default +. +\end_layout + +\begin_layout Subsubsection* +PROMPTS +\end_layout + +\begin_layout Standard +El intérprete suele mostrar un prompt como +\family typewriter +[ +\emph on +usuario +\emph default +@ +\emph on +nombremáquina +\emph default + +\emph on +directorio +\emph default +] $ +\family default +, donde +\family typewriter +\emph on +usuario +\family default +\emph default + es el nombre del usuario conectado al sistema, +\family typewriter +\emph on +nombremáquina +\family default +\emph default + es el nombre de la máquina y +\family typewriter +\emph on +directorio +\family default +\emph default + es el nombre del directorio actual, o +\family typewriter +~ +\family default + para el directorio personal del usuario. +\end_layout + +\begin_layout Subsubsection* +COMANDOS INTERNOS DEL SHELL +\end_layout + +\begin_layout Standard +Muchos de estos también son externos pero han sido incorporados al código + de +\family typewriter +bash +\family default + para acelerar su ejecución. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +alias +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +nombre +\emph default += +\emph on +valor +\family default +\emph default + Establece un alias con el +\family typewriter +\emph on +nombre +\family default +\emph default + y +\family typewriter +\emph on +valor +\family default +\emph default + dados. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +break +\family default +\series default + Sale de un bucle +\family typewriter +\series bold +for +\family default +\series default + o +\family typewriter +\series bold +while +\family default +\series default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +cd +\series default + +\begin_inset space ~ +\end_inset + +[ +\emph on +dir +\emph default +] +\series bold + +\family default +\series default +Cambia el directorio actual al último en que habíamos estado si +\family typewriter +\emph on +dir +\family default +\emph default + es +\family typewriter +- +\family default +, al directorio +\family typewriter +\emph on +dir +\family default +\emph default + en caso contrario, o al directorio personal si +\family typewriter +\emph on +dir +\family default +\emph default + no se especifica. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +continue +\family default +\series default + Continúa un bucle +\family typewriter +\series bold +for +\family default +\series default + o +\family typewriter +\series bold +while +\family default +\series default + por la siguiente iteración. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +echo +\series default + +\begin_inset space ~ +\end_inset + +[ +\emph on +opción +\emph default +]... + [ +\emph on +arg +\emph default +]... + +\family default + Imprime los +\family typewriter +\emph on +arg +\family default +\emph default +umentos por la salida estándar, separados por espacio y seguidos de un salto + de línea. + Con +\family typewriter +\series bold +-n +\family default +\series default +, no se imprime el salto de línea al final. + Con +\family typewriter +\series bold +-e +\family default +\series default +, interpreta las secuencias: +\end_layout + +\begin_deeper +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold + +\backslash +b +\family default +\series default + Retrocede una posición. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold + +\backslash +f +\family default +\series default + Alimentación de página. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold + +\backslash +n +\family default +\series default + Salto de línea. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold + +\backslash +t +\family default +\series default + Tabulador horizontal. +\end_layout + +\end_deeper +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +exit +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +n +\family default +\emph default + Provoca que el +\emph on +shell +\emph default + termine su ejecución con un estado de salida de +\family typewriter +\emph on +n +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +export +\series default + +\begin_inset space ~ +\end_inset + +[ +\emph on +nombre +\emph default +[= +\emph on +palabra +\emph default +]] +\family default + El +\family typewriter +\emph on +nombre +\family default +\emph default + dado se convierte en variable de entorno. + Si se proporciona una +\family typewriter +\emph on +palabra +\family default +\emph default +, se asigna como valor a la variable. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +help +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +comando +\family default +\emph default + Muestra ayuda detallada de un +\family typewriter +\emph on +comando +\family default +\emph default + interno. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +let +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +expr +\emph default +... + +\family default + Evalúa una lista de +\family typewriter +\emph on +expr +\family default +\emph default +esiones aritméticas. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +printf +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +formato +\emph default + +\begin_inset space ~ +\end_inset + +[ +\emph on +arg +\emph default +]... + +\family default + Imprime los +\family typewriter +\emph on +arg +\family default +\emph default +umentos por la salida estándar según un +\family typewriter +\emph on +formato +\family default +\emph default +, al estilo de C. + +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +pwd +\family default +\series default + Imprime la ruta absoluta del directorio actual. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +read +\series default + +\begin_inset space ~ +\end_inset + +[ +\emph on +nombre +\emph default +] +\family default + Lee una línea de la entrada estándar y la asigna como valor de +\family typewriter +\emph on +nombre +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +set +\series default + +\begin_inset space ~ +\end_inset + +[ +\emph on +opción +\emph default +]... + +\family default + Sin opciones, imprime el nombre y el valor de todas las variables del +\emph on +shell +\emph default + (incluyendo las de entorno). + Opciones: +\end_layout + +\begin_deeper +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-u +\family default +\series default + Trata las variables no asignadas como errores en la expansión, mostrando + un mensaje de error. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-v +\family default +\series default + Muestra las líneas de entrada de órdenes conforme se leen. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-x +\family default +\series default + Tras expandir cada comando simple, +\family typewriter +\series bold +for +\family default +\series default + o +\family typewriter +\series bold +case +\family default +\series default +, muestra el comando y sus argumentos expandidos. +\end_layout + +\end_deeper +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +shift +\family default +\series default + Los parámetros posicionales desde el 2 cambian su número a uno menos, y + el re +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +pre +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +sen +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ta +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +do por el número +\family typewriter +$# +\family default + se desestablece. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +test +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +expr +\family default +\emph default + Funciona como la orden externa +\family typewriter +test +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +[ +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +expr +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +] +\family default +\series default + Ídem. +\end_layout + +\begin_layout Subsection* + +\family typewriter +env +\end_layout + +\begin_layout Standard +Imprime el nombre y el valor de las variables de entorno. +\end_layout + +\begin_layout Section +Ficheros y directorios +\end_layout + +\begin_layout Subsection* + +\family typewriter +ls [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Lista información sobre los +\family typewriter +\emph on +FICHERO +\family default +\emph default +s (por defecto, el directorio actual). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-l +\family default +\series default + Lista en formato largo. + Cada línea se corresponde con una entrada. + El primer ca +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +rac +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ter es +\family typewriter +d +\family default + para un directorio, +\family typewriter +- +\family default + para un fichero regular, +\family typewriter +l +\family default + para un enlace simbólico, +\family typewriter +b +\family default + para un fichero especial de bloques, etc. + A continuación, los permisos en notación estándar, el número de enlaces + físicos que tiene la entrada, el usuario y el grupo al que pertenece, el + tamaño del fichero en bytes, su fecha y hora de última modificación y finalment +e su nombre. + Si no se especifica se usa el formato corto, que solo muestra el nombre. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-R +\family default +\series default + Lista también los subdirectorios de forma recursiva. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-a +\family default +\series default + No omite los ficheros y directorios +\begin_inset Quotes fld +\end_inset + +ocultos +\begin_inset Quotes frd +\end_inset + + (los que empiezan por +\family typewriter +. +\family default +). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-S +\family default +\series default + Ordena por tamaño, empezando por el fichero más grande. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-t +\family default +\series default + Ordena por tiempo de modificación, empezando por la entrada modificada + más recientemente. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-r +\family default +\series default + Invierte el orden del listado. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-d +\family default +\series default + Lista los directorios que se pasan como parámetros y no su contenido. +\end_layout + +\begin_layout Standard +Si hay dos opciones contradictorias, predomina la última. +\end_layout + +\begin_layout Subsection* + +\family typewriter +touch [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +FICHERO +\emph default +... +\end_layout + +\begin_layout Standard +Cambia el tiempo de modificación de cada +\family typewriter +\emph on +FICHERO +\family default +\emph default + al actual. + Un +\family typewriter +\emph on +FICHERO +\family default +\emph default + que no existe es creado vacío. +\end_layout + +\begin_layout Subsection* + +\family typewriter +cp +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +cp +\series default + [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +-T +\emph default +] +\emph on +ORIGEN DESTINO +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +cp +\series default + [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +ORIGEN +\emph default +... + +\emph on +DIRECTORIO +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +cp +\series default + [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +-t DIRECTORIO ORIGEN +\emph default +... +\end_layout + +\begin_layout Standard +Copia +\family typewriter +\emph on +ORIGEN +\family default +\emph default + a +\family typewriter +\emph on +DESTINO +\family default +\emph default +, o múltiples +\family typewriter +\emph on +ORÍGEN +\family default +\emph default +es a un +\family typewriter +\emph on +DIRECTORIO +\family default +\emph default + existente. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-r +\family default +\series default + Copia directorios recursivamente. + Usado para copiar directorios. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-i +\family default +\series default + Pide confirmación antes de sobrescribir. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-a +\family default +\series default + Equivale a +\family typewriter +-dR --preserve=all +\family default +, que conserva todos los atributos posibles de los +\family typewriter +\emph on +ORÍGEN +\family default +\emph default +es. + Sin esto, los elementos copiados tienen como usuario y grupo a quien hace + la copia, como tiempos asociados los de cuando la copia termina, los permisos + dependen de la configuración del sistema y usuario, etc. +\end_layout + +\begin_layout Subsection* + +\family typewriter +mv +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +mv +\series default + [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +-T +\emph default +] +\emph on +ORIGEN DESTINO +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +mv +\series default + [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +ORIGEN +\emph default +... + +\emph on +DIRECTORIO +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +mv +\series default + [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +-t DIRECTORIO ORIGEN +\emph default +... +\end_layout + +\begin_layout Standard +Cambia el nombre de +\family typewriter +\emph on +ORIGEN +\family default +\emph default + a +\family typewriter +\emph on +DESTINO +\family default +\emph default +, o mueve +\family typewriter +\emph on +ORÍGEN +\family default +\emph default +es a +\family typewriter +\emph on +DIRECTORIO +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-i +\family default +\series default + Pide confirmación antes de sobrescribir. +\end_layout + +\begin_layout Subsection* + +\family typewriter +rm [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Borra (desenlaza) los +\family typewriter +\emph on +FICHERO +\family default +\emph default +s. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-i +\family default +\series default + Pide confirmación antes de borrar cada entrada. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-r +\family default +\series default + Elimina directorios y sus contenidos recursivamente. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-f +\family default +\series default + Nunca pide confirmación. +\end_layout + +\begin_layout Subsection* + +\family typewriter +mkdir [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +DIRECTORIO +\emph default +... +\end_layout + +\begin_layout Standard +Crea los +\family typewriter +\emph on +DIRECTORIO +\family default +\emph default +s, si no existen ya. +\end_layout + +\begin_layout Subsection* + +\family typewriter +rmdir [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +DIRECTORIO +\emph default +... +\end_layout + +\begin_layout Standard +Elimina los +\family typewriter +\emph on +DIRECTORIO +\family default +\emph default +s, si están vacíos. +\end_layout + +\begin_layout Subsection* + +\family typewriter +cat [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Concatena +\family typewriter +\emph on +FICHERO +\family default +\emph default +s a la salida estándar. +\end_layout + +\begin_layout Subsection* + +\family typewriter +less [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Muestra el contenido de los +\family typewriter +\emph on +FICHERO +\family default +\emph default +s (o de la entrada estándar) página a página, pudiendo avanzar y retroceder. +\end_layout + +\begin_layout Subsubsection* +COMANDOS +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +/ +\emph on +patrón +\family default +\emph default + Busca hacia delante una línea que contenga el +\family typewriter +\emph on +patrón +\family default +\emph default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +chown [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +PROPIETARIO +\emph default +][ +\emph on +: +\emph default +[ +\emph on +GRUPO +\emph default +]] +\emph on +FICHERO +\emph default +... +\end_layout + +\begin_layout Standard +Cambia el usuario y/o grupo de cada fichero dado. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-R +\family default +\series default + Opera en ficheros y directorios recursivamente. +\end_layout + +\begin_layout Subsection* + +\family typewriter +chgrp [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +GRUPO FICHERO +\emph default +... +\end_layout + +\begin_layout Standard +Cambia el grupo de cada +\family typewriter +\emph on +FICHERO +\family default +\emph default + a +\family typewriter +\emph on +GRUPO +\family default +\emph default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +chmod [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +MODO FICHERO +\emph default +... +\end_layout + +\begin_layout Standard +Establece los permisos de los +\family typewriter +\emph on +FICHERO +\family default +\emph default +s a los indicados en +\family typewriter +\emph on +MODO +\family default +\emph default +, que puede ser una representación simbólica de los cambios o un número + en octal. +\end_layout + +\begin_layout Standard +La representación simbólica tiene formato +\family typewriter +[ +\series bold +ugo +\series default +...][[ +\series bold +-+ +\series default +][ +\emph on +perms +\emph default +...]...] +\family default +, donde +\family typewriter +\emph on +perms +\family default +\emph default + es 0 o más letras de +\family typewriter +\series bold +rwxXst +\family default +\series default + o una sola letra del conjunto +\family typewriter +\series bold +ugo +\family default +\series default +. + La combinación de las letras +\family typewriter +\series bold +ugo +\family default +\series default + controla qué permisos cambian: los de usuario ( +\family typewriter +\series bold +u +\family default +\series default +), grupo ( +\family typewriter +\series bold +g +\family default +\series default +) u otros ( +\family typewriter +\series bold +o +\family default +\series default +). + El operador +\family typewriter +\series bold ++ +\family default +\series default + causa que los bits seleccionados se añadan a los existentes, y +\family typewriter +\series bold +- +\family default +\series default + causa que se eliminen. + Las letras +\family typewriter +\series bold +rwxXst +\family default +\series default + seleccionan los bits de modo. +\end_layout + +\begin_layout Subsection* + +\family typewriter +find [ +\emph on +punto-de-inicio +\emph default +]... + [expresión] +\end_layout + +\begin_layout Standard +Busca en los árboles de directorios a partir de cada +\family typewriter +punto-de-inicio +\family default + dado (por defecto +\family typewriter +. +\family default +) evaluando la +\family typewriter +expresión +\family default +, de izquierda a derecha, de acuerdo a las reglas de precedencia, hasta + que se conoce el resultado. +\end_layout + +\begin_layout Subsubsection* +EXPRESIÓN +\end_layout + +\begin_layout Standard +Está compuesta por una secuencia de: +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 +Tests Devuelven verdadero o falso normalmente según alguna propiedad del + fichero. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 +Acciones Tienen efectos secundarios y devuelven verdadero o falso normalmente + según si tienen éxito o no. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 +Opciones +\begin_inset space ~ +\end_inset + +globales Afectan a la operación de los tests y acciones en cualquier parte + de la línea de comandos. + Siempre devuelven verdadero. + +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 +Operadores Unen los otros elementos dentro de la expresión. +\end_layout + +\begin_layout Subsubsection* +OPCIONES GLOBALES +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-depth +\family default +\series default + Procesa el contenido de cada directorio antes del directorio en sí. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-maxdepth +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +N +\family default +\emph default + Desciende un máximo de +\family typewriter +\emph on +N +\family default +\emph default + (entero no negativo) niveles. + Así, si +\family typewriter +\emph on +N +\family default +\emph default + es 0, solo se procesan los +\family typewriter +punto +\family default +s +\family typewriter +-de-inicio +\family default +. +\end_layout + +\begin_layout Subsubsection* +TESTS +\end_layout + +\begin_layout Standard +Los argumentos numéricos (indicados como +\family typewriter +\emph on +n +\family default +\emph default +) pueden ser especificados como +\family typewriter +\emph on ++n +\family default +\emph default + para mayor que +\family typewriter +\emph on +n +\family default +\emph default +, +\family typewriter +\emph on +-n +\family default +\emph default + para menor que +\family typewriter +\emph on +n +\family default +\emph default + o +\family typewriter +\emph on +n +\family default +\emph default + para exactamente +\family typewriter +\emph on +n +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-empty +\family default +\series default + El fichero o directorio es vacío. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-name +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +patrón +\emph default + +\family default +El nombre coincide con el patrón, el cual reconoce +\family typewriter +* +\family default +, +\family typewriter +? +\family default + y +\family typewriter +[ +\family default + igual que +\family typewriter +bash +\family default + pero no excluye del reconocimiento un +\family typewriter +. + +\family default + al comienzo del nombre de archivo. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-iname +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +patrón +\family default +\emph default + Como +\family typewriter +-name +\family default +, pero sin distinguir mayúsculas de minúsculas. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-size +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +n +\emph default +[cwbkMG] +\family default +El tamaño del fichero es, redondeando al alza a la unidad especificada, + +\family typewriter +\emph on +n +\family default +\emph default +. + La unidad puede ser: +\family typewriter +c +\family default + para bytes, +\family typewriter +w +\family default + para palabras de 2 bytes, +\family typewriter +b +\family default + para bloques de 512 bytes (por defecto), +\family typewriter +k +\family default + para kiBs, +\family typewriter +M +\family default + para MiBs y +\family typewriter +G +\family default + para GiBs. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-mtime +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +n +\emph default + +\family default +El archivo fue modificado por última vez hace +\family typewriter +\emph on +n +\family default +\emph default + días, redondeando a la baja. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-atime +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +n +\emph default + +\family default +Igual pero para el último acceso. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-ctime +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +n +\emph default + +\family default +Igual pero para el último cambio de estado (ubicación y metadatos). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-newer +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +fichero +\emph default + +\family default +El fichero ha sido modificado más recientemente que el fichero dado. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-type +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +c +\emph default + +\family default +El fichero es de tipo +\family typewriter +\emph on +c +\family default +\emph default +, que es +\family typewriter +d +\family default + para directorios, +\family typewriter +f +\family default + para ficheros ordinarios, +\family typewriter +l +\family default + para enlaces simbólicos, etc. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-perm +\series default + +\begin_inset space ~ +\end_inset + +[-|/] +\emph on +mode +\emph default + +\family default +El fichero tiene los permisos indicados (si no hay un prefijo), al menos + estos permisos ( +\family typewriter +- +\family default +) y alguno de estos ( +\family typewriter +/ +\family default +). +\end_layout + +\begin_layout Subsubsection* +ACCIONES +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-print +\family default +\series default + Imprime la ruta de archivo completa seguida de un salto de línea y devuelve + verdadero. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-exec +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +comando +\emph default + +\family default +Ejecuta un comando, formado por todos los argumentos que siguen a +\family typewriter +-exec +\family default + hasta encontrar un argumento +\begin_inset Quotes fld +\end_inset + + +\family typewriter +; +\family default + +\begin_inset Quotes frd +\end_inset + + (exclusive), sustituyendo en este la cadena +\family typewriter +{} +\family default + por el nombre del archivo. + Devuelve verdadero si y sólo si el comando devuelve 0. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-ok +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +comando +\emph default + +\family default +Como +\family typewriter +-exec +\family default + pero pregunta primero al usuario si desea ejecutar el comando, y si no + acepta, devuelve falso. + La entrada de dicho comando se redirige desde +\family typewriter +/dev/null +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-printf +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +formato +\family default +\emph default + Imprime +\family typewriter +\emph on +formato +\family default +\emph default + interpretando secuencias de escape con +\family typewriter + +\backslash + +\family default + como en C y directivas +\family typewriter +% +\family default +: +\family typewriter +%p +\family default +indica el nombre del fichero, +\family typewriter + %s +\family default + su tamaño, +\family typewriter +%u +\family default + el nombre de su pro +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +pie +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ta +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +rio, etc. +\end_layout + +\begin_layout Subsubsection* +OPERADORES +\end_layout + +\begin_layout Standard +De mayor a menor prioridad: +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +( +\begin_inset space ~ +\end_inset + + +\emph on +expr +\emph default + +\begin_inset space ~ +\end_inset + +) +\family default + Fuerza prioridad. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +! +\begin_inset space ~ +\end_inset + + +\emph on +expr +\family default +\emph default + Cierto si +\family typewriter +\emph on +expr +\family default +\emph default + es falso. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +expr1 +\begin_inset space ~ +\end_inset + +expr2 +\family default +\emph default + Conjunción. + +\family typewriter +\emph on +expr2 +\family default +\emph default + no es evaluada si +\family typewriter +\emph on +expr1 +\family default +\emph default + devuelve falso. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +expr1 +\emph default + +\begin_inset space ~ +\end_inset + +-a +\begin_inset space ~ +\end_inset + + +\emph on +expr2 +\family default +\emph default + Igual que +\family typewriter +\emph on +expr1 expr2 +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +expr1 +\emph default + +\begin_inset space ~ +\end_inset + +-o +\begin_inset space ~ +\end_inset + + +\emph on +expr2 +\family default +\emph default + Disyunción. + +\family typewriter +\emph on +expr2 +\family default +\emph default + no es evaluada si +\family typewriter +\emph on +expr1 +\family default +\emph default + devuelve verdadero. +\end_layout + +\begin_layout Subsection* + +\family typewriter +mktemp +\end_layout + +\begin_layout Standard +Crea un fichero temporal de forma segura e imprime su nombre. +\end_layout + +\begin_layout Subsection* + +\family typewriter +dd [ +\emph on +OPERANDO +\emph default +]... +\end_layout + +\begin_layout Standard +Copia un fichero, convirtiendo y formateando según los operandos. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +bs= +\series default +\emph on +BYTES +\family default +\emph default + Lee y escribe hasta +\family typewriter +\emph on +BYTES +\family default +\emph default + bytes a la vez. + +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +count +\series default += +\emph on +N +\family default +\emph default + Copia sólo +\family typewriter +\emph on +N +\family default +\emph default + bloques de la entrada. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +if= +\series default +\emph on +FICHERO +\family default +\emph default + Lee del +\family typewriter +\emph on +FICHERO +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +of= +\series default +\emph on +FICHERO +\family default +\emph default + Escribe al +\family typewriter +\emph on +FICHERO +\family default +\emph default +. +\end_layout + +\begin_layout Standard + +\family typewriter +\emph on +BYTES +\family default +\emph default + y +\family typewriter +\emph on +N +\family default +\emph default + pueden ir seguidos de sufijos multiplicativos: +\begin_inset Formula $\mathtt{M}=1024\cdot1024$ +\end_inset + +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +/dev/zero +\end_layout + +\begin_layout Standard +Las lecturas desde este fichero especial siempre devuelven bytes que contienen + 0. +\end_layout + +\begin_layout Section +Ayuda +\end_layout + +\begin_layout Subsection* + +\family typewriter +apropos [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +palabra-clave +\emph default +... +\end_layout + +\begin_layout Standard +Busca la +\family typewriter +\emph on +palabra-clave +\family default +\emph default + en las descripciones de las páginas del manual. +\end_layout + +\begin_layout Subsection* + +\family typewriter +whatis [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +nombre +\emph default +... +\end_layout + +\begin_layout Standard +Busca entre los nombres de las páginas del manual aquellos que se asemejen + al +\family typewriter +\emph on +nombre +\family default +\emph default + dado. +\end_layout + +\begin_layout Subsection* + +\family typewriter +man +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +man +\series default + [ +\series bold +-a +\series default +] [ +\series bold +-S +\series default + +\emph on +lista +\emph default +] [[ +\emph on +sección +\emph default +] +\emph on +página +\emph default +... + ]... +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +man -k +\series default + +\emph on +palabra-clave +\emph default +... +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +man -f +\series default + +\emph on +página +\emph default +... +\end_layout + +\begin_layout Subsubsection* +DESCRIPCIÓN +\end_layout + +\begin_layout Standard +Muestra la +\family typewriter +\emph on +página +\family default +\emph default + indicada en la +\family typewriter +\emph on +sección +\family default +\emph default + indicada (si no se especifica, va buscándola en las secciones en un cierto + orden) dentro del manual del sistema. + Las +\family typewriter +\emph on +página +\family default +\emph default +s están ordenadas en +\family typewriter +\emph on +seccion +\family default +\emph default +es para programación, administración del sistema, funciones de biblioteca + de C, ficheros de configuración, etc. + El número de +\family typewriter +\emph on +sección +\family default +\emph default + aparece, junto con el nombre de la +\family typewriter +\emph on +página +\family default +\emph default +, en la primera línea de esta. +\end_layout + +\begin_layout Subsubsection* +OPCIONES +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-a +\family default +\series default + No termina la búsqueda en la primera página, sino que muestra todas las + coincidentes. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-S +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +lista +\family default +\emph default + +\family typewriter +\emph on +lista +\family default +\emph default + es una lista de números de sección separadas por +\family typewriter +: +\family default + que sobrescribe el orden en que se buscan las páginas (puede especificarse + una sola sección). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-k +\family default +\series default + Equivale a +\family typewriter +apropos +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-f +\family default +\series default + Equivale a +\family typewriter +whatis +\family default +. +\end_layout + +\begin_layout Subsubsection* +FICHEROS +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +/etc/man.db.conf +\family default + Configuración de +\family typewriter +man +\family default +. +\end_layout + +\begin_layout Section +Filtros +\end_layout + +\begin_layout Standard +Son programas que reciben información por la entrada estándar, la procesan + y muestran el resultado por su salida estándar. +\end_layout + +\begin_layout Subsection* + +\family typewriter +grep [ +\emph on +OPCIÓN +\emph default +]... + PATRÓN [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Busca un +\family typewriter +\emph on +PATRÓN +\family default +\emph default + en cada +\family typewriter +\emph on +FICHERO +\family default +\emph default + (o en la entrada estándar). +\end_layout + +\begin_layout Paragraph* +Control de reconocimiento +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-i +\family default +\series default + Ignora diferencias entre mayúsculas y minúsculas +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-v +\family default +\series default + Invierte el sentido del reconocimiento, seleccionando sólo las líneas que + no coinciden. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-w +\family default +\series default + Selecciona solo las líneas que contienen el patrón como palabra completa, + esto es, al principio de la línea o precedido por un caracter no alfabético, + y al final de la línea o seguido de un caracter no alfabético. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-x +\family default +\series default + Selecciona sólo las líneas que coinciden completamente con el patrón. +\end_layout + +\begin_layout Subsubsection* +Control de salida general +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-c +\family default +\series default + No muestra las líneas coincidentes sino su número. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-l +\family default +\series default + No muestras las líneas coincidentes sino los archivos en los que hay alguna. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-o +\family default +\series default + Muestra solo las partes coincidentes no vacías de cada línea, con cada + parte en una línea separada. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-q +\family default +\series default + No imprime nada a la salida estándar. +\end_layout + +\begin_layout Paragraph +Control de los prefijos de línea en la salida +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-h +\family default +\series default + Suprime el nombre de archivo como prefijo de cada línea. + Esto es por defecto cuando sólo hay un +\family typewriter +\emph on +FICHERO +\family default +\emph default + (o sólo la entrada estándar). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-n +\family default +\series default + Prefija cada línea con su número dentro del fichero, siendo la primera + la 1. +\end_layout + +\begin_layout Subsubsection* +EXPRESIONES REGULARES +\end_layout + +\begin_layout Standard +Una expresión regular es un patrón que describe un conjunto de cadenas de + caracteres. + La mayoría de caracteres son expresiones que se reconocen a sí mismas. + Un caracter con significado especial debe ser precedido por +\family typewriter + +\backslash + +\family default + para que tenga este comportamiento. + El +\family typewriter +. + +\family default + reconoce un único caracter cualquiera. +\end_layout + +\begin_layout Paragraph* +Clases de caracteres y expresiones entre corchetes +\end_layout + +\begin_layout Standard +La sintaxis +\family typewriter +[ +\family default +... +\family typewriter +] +\family default + indica un caracter cualquiera entre los corchetes, salvo si el primero + es ^, que entonces es un caracter cualquiera que no este entre dicho +\family typewriter +^ +\family default + y el +\family typewriter +] +\family default +, exclusive. + En ambos casos se pueden usar rangos como +\family typewriter +\emph on +a +\emph default +- +\emph on +z +\family default +\emph default +, que indican todos los caracteres entre +\family typewriter +\emph on +a +\family default +\emph default + y +\family typewriter +\emph on +z +\family default +\emph default +, inclusive. +\end_layout + +\begin_layout Paragraph* +Posicionamiento +\end_layout + +\begin_layout Standard + +\family typewriter +^ +\family default + y +\family typewriter +$ +\family default + se refieren respectivamente a una cadena vacía al principio o al final + de una línea. +\end_layout + +\begin_layout Paragraph +Repetición +\end_layout + +\begin_layout Standard +Una expresión puede ir seguida por +\family typewriter +* +\family default + para indicar que esta se puede repetir cero o más veces, por +\family typewriter + +\backslash ++ +\family default + indicando que se puede repetir una o más veces o por +\family typewriter + +\backslash +{ +\emph on +n +\emph default +, +\emph on +m +\emph default +} +\family default + para indicar que se puede repetir entre +\family typewriter +\emph on +n +\family default +\emph default + y +\family typewriter +\emph on +m +\family default +\emph default + veces, inclusive. +\end_layout + +\begin_layout Subsubsection* +Concatenación +\end_layout + +\begin_layout Standard +Dos expresiones regulares se pueden concatenar para formar una expresión + que reconoce a cualquier cadena formada por la concatenación de dos subcadenas + reconocidas respectivamente por estas subexpresiones. +\end_layout + +\begin_layout Subsubsection* +ESTADO DE SALIDA +\end_layout + +\begin_layout Standard +0 si alguna línea coincide, 1 si no coincide, y 2 si hay un error y no se + ha especificado +\family typewriter +-q +\family default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +sort [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Concatena los +\family typewriter +\emph on +FICHERO +\family default +\emph default +s (o lee de la entrada estándar) e imprime por la salida estándar el resultado + de ordenarlos. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-n +\family default +\series default + Ordena numéricamente (por defecto lo hace alfabéticamente), incluyendo + números negativos y con decimales, considerando que un número termina cuando + aparece el primer caracter no numérico, incluyendo espacios. + El separador decimal es +\family typewriter +. + +\family default + en inglés y +\family typewriter +, +\family default + en español. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-r +\family default +\series default + Invierte el resultado de las comparaciones. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-k +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +KEYDEF +\family default +\emph default + Ordena según una clave dada por +\family typewriter +\emph on +KEYDEF +\family default +\emph default +. + Se puede especificar varias veces para indicar una lista de claves de las + que cada una se comprueba en caso de empate en la anterior. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-t +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +SEP +\family default +\emph default + Usa el caracter +\family typewriter +\emph on +SEP +\family default +\emph default + como separador de campos. +\end_layout + +\begin_layout Standard + +\family typewriter +\emph on +KEYDEF +\family default +\emph default + tiene formato +\family typewriter +F[.C][OPTS][,F[.C][OPTS]] +\family default + para las posiciones de inicio y final, donde +\family typewriter +F +\family default + es un número de campo y +\family typewriter +C +\family default + una posición de caracter en el campo, ambos empezando por 1, y la posición + de final por defecto es el final de línea. + Si no se ha especificado +\family typewriter +-t +\family default +, los caracteres de un campo se cuentan desde el principio del espacio en + blanco precedente, y +\family typewriter +OPTS +\family default + es una o más +\family typewriter +\emph on +OPCION +\family default +\emph default +es de una letra que sobrescriben las opciones de orden global para dicha + clave. +\end_layout + +\begin_layout Subsection* + +\family typewriter +tr [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +CONJUNTO1 +\emph default + [ +\emph on +CONJUNTO2 +\emph default +] +\end_layout + +\begin_layout Standard +Sustituye, elimina repeticiones o elimina caracteres de la entrada estándar, + escribiendo a la salida estándar. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-c +\family default +\series default + Usa el complemento de +\family typewriter +\emph on +CONJUNTO1 +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-d +\family default +\series default + Elimina caracteres de +\family typewriter +\emph on +CONJUNTO1 +\family default +\emph default +, no sustituye. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-s +\family default +\series default + Reemplaza secuencias de caracteres que aparecen en el último +\family typewriter +\emph on +CONJUNTO +\family default +\emph default + dado por una sola ocurrencia. +\end_layout + +\begin_layout Standard +Los +\family typewriter +\emph on +CONJUNTO +\family default +\emph default +s se especifican como secuencias de caracteres. + La mayoría se representan a sí mismos. + Secuencias interpretadas: +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter + +\backslash +n +\family default + Salto de línea. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter + +\backslash +t +\family default + Tabulador. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +a +\emph default +- +\emph on +z +\family default +\emph default + Todos los caracteres desde +\family typewriter +\emph on +a +\family default +\emph default + hasta +\family typewriter +\emph on +z +\family default +\emph default + en orden ascendente. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +[ +\emph on +c +\emph default +* +\emph on +n +\emph default +] +\emph on +n +\family default +\emph default + copias de +\family typewriter +\emph on +c +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +[:alnum:] +\family default + Todas las letras y dígitos. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +[:blank:] +\family default + Todos los caracteres de espaciado horizontal. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +[:digit:] +\family default + Todos los dígitos. +\end_layout + +\begin_layout Subsection* + +\family typewriter +cut +\emph on +OPCIÓN +\emph default +... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Imprime las partes seleccionadas de líneas de cada +\family typewriter +\emph on +FICHERO +\family default +\emph default +, o de la entrada estándar, a la salida estándar. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-c +\series default +\emph on + +\begin_inset space ~ +\end_inset + +LISTA +\family default +\emph default + Selecciona solo estos caracteres. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-d +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +DELIM +\family default +\emph default + Usa +\family typewriter +\emph on +DELIM +\family default +\emph default + en vez de el tabulador como delimitador de campos. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-f +\series default +\emph on + +\begin_inset space ~ +\end_inset + +LISTA +\family default +\emph default + Selecciona sólo estos campos; imprimiendo también por defecto cualquier + línea que no contenga delimitador. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +--complement +\family default +\series default + Imprime el complemento de los caracteres o campos seleccionados. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-s +\family default +\series default + No imprime líneas que no contengan delimitadores. +\end_layout + +\begin_layout Standard +Usar +\family typewriter +-c +\family default + o +\family typewriter +-f +\family default +, pero no ambos. + Cada +\family typewriter +\emph on +LISTA +\family default +\emph default + contiene un rango, o varios separados por comas. + Cada rango puede ser: +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +n +\family default +\emph default + Caracter o campo +\family typewriter +\emph on +n +\family default +\emph default +-ésimo, contando desde 1. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +n +\family default +\emph default +- +\family typewriter +\emph on +m +\family default +\emph default + Del caracter o campo +\family typewriter +\emph on +n +\family default +\emph default +-ésimo al +\family typewriter +\emph on +m +\family default +\emph default +-ésimo, inclusive. +\end_layout + +\begin_layout Standard +Nótese que los campos vacíos también cuentan, por lo que a veces es necesario + usar +\family typewriter +tr +\family default + para eliminar repeticiones de +\family typewriter +\emph on +DELIM +\family default +\emph default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +uniq [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +ENTRADA +\emph default + [ +\emph on +SALIDA +\emph default +]] +\end_layout + +\begin_layout Standard +Filtra lineas adyacentes coincidentes de +\family typewriter +\emph on +ENTRADA +\family default +\emph default + (o la entrada estándar), escribiendo a +\family typewriter +\emph on +SALIDA +\family default +\emph default + (o la salida estándar). + Sin opciones, las líneas coincidentes (iguales) se eliminan a partir de + la segunda. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-c +\family default +\series default + Añade antes de cada línea el número de ocurrencias. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-d +\family default +\series default + Sólo imprime líneas duplicadas, una por grupo. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-D +\family default +\series default + Imprime todas las líneas duplicadas. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-i +\family default +\series default + No distingue mayúsculas de minúsculas al comparar. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-s +\begin_inset space ~ +\end_inset + + +\series default +\emph on +n +\family default +\emph default + No compara los +\family typewriter +\emph on +n +\family default +\emph default + primeros caracteres. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-w +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +n +\family default +\emph default + Sólo compara los +\family typewriter +\emph on +n +\family default +\emph default + primeros caracteres. +\end_layout + +\begin_layout Subsection* + +\family typewriter +head [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Imprime las primeras 10 líneas del +\family typewriter +\emph on +FICHERO +\family default +\emph default + (o la entrada estándar) a la salida estándar. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +- +\series default +\emph on +n +\family default +\emph default + Imprime las primeras +\family typewriter +\emph on +n +\family default +\emph default + líneas en vez de las primeras 10. +\end_layout + +\begin_layout Subsection* + +\family typewriter +tail [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Imprime las últimas 10 líneas del +\family typewriter +\emph on +FICHERO +\family default +\emph default + (o la entrada estándar) a la salida estándar. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-n +\series default +\emph on ++n +\family default +\emph default + Imprime empezando por la línea +\family typewriter +\emph on +n +\family default +\emph default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +column [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Formatea su entrada en múltiples columnas. + Modos: +\end_layout + +\begin_layout Paragraph* +Tabla +\end_layout + +\begin_layout Standard +Determina el número de columnas de la entrada y crea una tabla. + Este modo se activa con la opción +\family typewriter +\series bold +-t +\family default +\series default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +wc [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Imprime el número de saltos de línea, palabras y bytes del +\family typewriter +\emph on +FICHERO +\family default +\emph default + (o la salida estándar). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-l +\family default +\series default + Imprime el número de saltos de línea. +\end_layout + +\begin_layout Subsection* + +\family typewriter +tee [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +FICHERO +\emph default +]... +\end_layout + +\begin_layout Standard +Copia la entrada estándar a cada +\family typewriter +\emph on +FICHERO +\family default +\emph default +, y también a la salida estándar. +\end_layout + +\begin_layout Section + +\emph on +Scripting +\end_layout + +\begin_layout Subsection* + +\family typewriter +seq +\emph on +PRIMERO INCREMENTO ÚLTIMO +\end_layout + +\begin_layout Standard +Imprime los números de +\family typewriter +\emph on +PRIMERO +\family default +\emph default + a +\family typewriter +\emph on +ÚLTIMO +\family default +\emph default +, inclusive, en pasos de +\family typewriter +\emph on +INCREMENTO +\family default +\emph default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +echo [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +CADENA +\emph default +]... +\end_layout + +\begin_layout Standard +Muestra las +\family typewriter +\emph on +CADENA +\family default +\emph default +s de caracteres por la salida estándar. +\end_layout + +\begin_layout Subsection* + +\family typewriter +test +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +test +\series default + +\emph on +EXPRESIÓN +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +[ +\series default + +\emph on +EXPRESIÓN +\emph default + ] +\end_layout + +\begin_layout Standard +Termina con el estado determinado por la +\family typewriter +\emph on +EXPRESIÓN +\family default +\emph default +, devolviendo 0 si esta es verdadera y 1 si es falsa. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +( +\begin_inset space ~ +\end_inset + + +\emph on +EXPR +\emph default + +\begin_inset space ~ +\end_inset + +) +\family default + Fuerza precedencia. + Devuelve lo que devuelva la expresión. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +! +\begin_inset space ~ +\end_inset + + +\emph on +EXPR +\family default +\emph default + +\begin_inset Quotes fld +\end_inset + +No +\begin_inset Quotes frd +\end_inset + + lógico. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +EXPR1 +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +-a +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +EXPR2 +\family default +\emph default + +\begin_inset Quotes fld +\end_inset + +Y +\begin_inset Quotes frd +\end_inset + + lógico. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +EXPR1 +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +-o +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +EXPR2 +\family default +\emph default + +\begin_inset Quotes fld +\end_inset + +O +\begin_inset Quotes frd +\end_inset + + lógico. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +INT1 +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +-eq +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +INT2 +\family default +\emph default + Los enteros son iguales. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +INT1 +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +-ne +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +INT2 +\family default +\emph default + Los enteros son distintos. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +INT1 +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +-lt +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +INT2 +\family default +\emph default + +\family typewriter +\emph on +INT1 +\family default +\emph default + +\begin_inset Formula $<$ +\end_inset + + +\family typewriter +\emph on +INT2 +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +INT1 +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +-le +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +INT2 +\family default +\emph default + +\family typewriter +\emph on +INT1 +\family default +\emph default + +\begin_inset Formula $\leq$ +\end_inset + + +\family typewriter +\emph on +INT2 +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +INT1 +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +-gt +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +INT2 +\family default +\emph default + +\family typewriter +\emph on +INT1 +\family default +\emph default + +\begin_inset Formula $>$ +\end_inset + + +\family typewriter +\emph on +INT2 +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +INT1 +\emph default + +\begin_inset space ~ +\end_inset + + +\series bold +-ge +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +INT2 +\family default +\emph default + +\family typewriter +\emph on +INT1 +\family default +\emph default + +\begin_inset Formula $\geq$ +\end_inset + + +\family typewriter +\emph on +INT2 +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-z +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +STR +\family default +\emph default + La cadena es vacía. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-n +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +STR +\family default +\emph default + La cadena no es vacía. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +STR1 +\emph default + +\begin_inset space ~ +\end_inset + += +\begin_inset space ~ +\end_inset + + +\emph on +STR2 +\family default +\emph default + Las cadenas son iguales. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +STR1 +\emph default + +\begin_inset space ~ +\end_inset + +!= +\begin_inset space ~ +\end_inset + + +\emph on +STR2 +\family default +\emph default + Las cadenas son distintas. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +STR1 +\emph default + +\begin_inset space ~ +\end_inset + +< +\begin_inset space ~ +\end_inset + + +\emph on +STR2 +\family default +\emph default + +\family typewriter +\emph on +STR1 +\family default +\emph default + +\begin_inset Formula $<$ +\end_inset + + +\family typewriter +\emph on +STR2 +\family default +\emph default +, en orden lexicográfico. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +STR1 +\emph default + +\begin_inset space ~ +\end_inset + +> +\begin_inset space ~ +\end_inset + + +\emph on +STR2 +\family default +\emph default + +\family typewriter +\emph on +STR1 +\family default +\emph default + +\begin_inset Formula $>$ +\end_inset + + +\family typewriter +\emph on +STR2 +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-e +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FICHERO +\family default +\emph default + El +\family typewriter +\emph on +FICHERO +\family default +\emph default + existe. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-r +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FICHERO +\family default +\emph default + Existe y se tiene permiso de lectura. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-w +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FICHERO +\family default +\emph default + Existe y se tiene permiso de escritura. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-x +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FICHERO +\family default +\emph default + Existe y se tiene permiso de ejecución. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-f +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FICHERO +\family default +\emph default + Existe y es regular. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-d +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FICHERO +\family default +\emph default + Existe y es un directorio. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-s +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FICHERO +\family default +\emph default + Existe y no es vacío. +\end_layout + +\begin_layout Subsection* + +\family typewriter +true +\end_layout + +\begin_layout Standard +Devuelve 0. +\end_layout + +\begin_layout Subsection* + +\family typewriter +false +\end_layout + +\begin_layout Standard +Devuelve 1. +\end_layout + +\end_body +\end_document diff --git a/iso/nb.lyx b/iso/nb.lyx new file mode 100644 index 0000000..e73ce7c --- /dev/null +++ b/iso/nb.lyx @@ -0,0 +1,1092 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Section +Administración de paquetes +\end_layout + +\begin_layout Standard +Muchos programas Linux se distribuyen como código fuente, que el usuario + construye, junto con las páginas de manual, ficheros de configuración, + etc., si bien la mayoría del software se distribuye en +\series bold +paquetes +\series default + precompilados y listos para instalar. +\end_layout + +\begin_layout Standard +El sistema de paquetes de Fedora es RPM ( +\emph on +Red Hat Package Manager +\emph default +), en el que los paquetes se llaman como +\family typewriter +\emph on +nombre +\emph default +- +\emph on +versión +\emph default +- +\emph on +revisión +\emph default +.[ +\emph on +arquitectura +\emph default +| +\series bold +src +\series default +| +\series bold +noarch +\series default +].rpm +\family default +. + La arquitectura es +\family typewriter +i386 +\family default + para Intel x86 (IA-32) y compatibles, +\family typewriter +i586 +\family default + para Pentium y posteriores, +\family typewriter +i686 +\family default + para Pentium II y posteriores, +\family typewriter +x86_64 +\family default + para IA-64 (Intel/AMD de 64 bits), etc. + Los paquetes +\family typewriter +src +\family default + son los fuentes, a compilar por +\family typewriter +rpmbuild +\family default +, y los +\family typewriter +noarch +\family default + son independientes de la arquitectura. + El sistema gestiona una base de datos de paquetes instalados con información + de su estado y ficheros. + Podemos referirnos a paquetes instalados simplemente por su +\family typewriter +\emph on +nombre +\family default +\emph default +. + Puede haber dependencias entre paquetes, de modo que para instalar uno + sea necesario tener otro, que no se puede desinstalar sin desinstalar el + primero (ni causar errores). +\end_layout + +\begin_layout Standard +Podemos usar +\family typewriter +rpm +\family default +, que da error al instalar o eliminar si las dependencias no se satisfacen, + o +\family typewriter +dnf +\family default +, que resuelve automáticamente las dependencias y descarga los paquetes + de repositorios. +\end_layout + +\begin_layout Subsection* + +\family typewriter +rpm +\end_layout + +\begin_layout Subsubsection* +OPCIONES DE INSTALACIÓN Y ACTUALIZACIÓN +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +rpm -i +\series default + +\emph on +FICHERO +\family default +\emph default + instala un paquete. +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +rpm -U +\series default + +\emph on +FICHERO +\family default +\emph default + actualiza a una nueva versión (los ficheros de configuración modificados + de la versión anterior se guardan como +\family typewriter +\emph on +nombre_fichero +\emph default +.rpmsave +\family default +, y si el fichero ha cambiado de formato y no puede ser adaptado a partir + de las modificaciones del anterior, se deja el fichero antiguo y se crea + uno nuevo +\family typewriter +\emph on +nombre_fichero +\emph default +.rpmnew +\family default +). +\end_layout + +\begin_layout Subsubsection* +OPCIONES DE ELIMINACIÓN +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +rpm -e +\series default + +\emph on +NOMBRE +\family default +\emph default + elimina un paquete. +\end_layout + +\begin_layout Subsubsection* +OPCIONES DE CONSULTA +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +rpm -q +\series default + {[ +\emph on +OPCIÓN_SELECCIÓN +\emph default +]...|[ +\emph on +OPCIÓN_CONSULTA +\emph default +]... + +\emph on +PAQUETE +\emph default +...} +\end_layout + +\begin_layout Paragraph* +Opciones de selección +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-f +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FICHERO +\family default +\emph default + Paquete al que pertenece el +\family typewriter +\emph on +FICHERO +\family default +\emph default +. +\end_layout + +\begin_layout Paragraph* +Opciones de consulta +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-i +\family default +\series default + Información del paquete. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-l +\family default +\series default + Listado de ficheros en el paquete. +\end_layout + +\begin_layout Subsubsection* +OPCIONES DE VERIFICACIÓN +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +rpm -V +\series default + +\emph on +PAQUETE +\end_layout + +\begin_layout Subsection* + +\family typewriter +dnf [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +COMANDO +\emph default +] [ +\emph on +ARGUMENTO +\emph default +]... +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-h +\family default +\series default + Muestra la ayuda. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +dnf +\begin_inset space ~ +\end_inset + +check-update +\family default +\series default + Comprueba si hay actualizaciones. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +dnf +\begin_inset space ~ +\end_inset + +download +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +PAQUETE +\emph default +... + +\family default + Descarga la última versión de los paquetes indicados, sin llegar a instalarlos. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +dnf +\begin_inset space ~ +\end_inset + +erase +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +PAQUETE +\emph default +... + +\family default + Alias obsoleto para +\family typewriter +\series bold +remove +\family default +\series default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +dnf +\begin_inset space ~ +\end_inset + +install +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +PAQUETE +\emph default +... + +\family default + Se asegura de que los paquetes dados y sus dependencias están ins +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +ta +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +la +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +dos. + (Para instalar el repositorio +\family typewriter +rpmfusion +\family default +, parte libre pero con más paquetes que la instalación por defecto, usar + +\family typewriter +dnf install http://download1.rpmfusion. +\begin_inset Newline newline +\end_inset + +org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm +\family default +. + +\begin_inset Newline newline +\end_inset + +También se pueden instalar paquetes de los repositorios y paquetes previamente + descargados.) +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +dnf +\begin_inset space ~ +\end_inset + +remove +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +PAQUETE +\emph default +... + +\family default + Elimina los paquetes indicados junto con cualquiera que dependa de estos. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +dnf +\begin_inset space ~ +\end_inset + +update +\family default +\series default + Alias obsoleto para +\family typewriter +\series bold +upgrade +\family default +\series default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +dnf +\begin_inset space ~ +\end_inset + +upgrade +\family default +\series default + Actualiza cada paquete a la última versión disponible y resoluble. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +dnf +\begin_inset space ~ +\end_inset + +upgrade +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +PAQUETE +\emph default +... + +\family default + Actualiza cada paquete indicado a la última versión. + Actualiza dependencias según sea necesario. +\end_layout + +\begin_layout Subsubsection* +FICHEROS +\end_layout + +\begin_layout Paragraph* +Configuración principal +\end_layout + +\begin_layout Standard + +\family typewriter +/etc/dnf/dnf.conf +\end_layout + +\begin_layout Paragraph* +Repositorio +\end_layout + +\begin_layout Standard + +\family typewriter +/etc/yum.repos.d/ +\family default + (Contiene ficheros +\family typewriter +.repo +\family default +, que se dividen en tres secciones: una para paquetes normales, otra para + paquetes de depuración y otra para paquetes fuentes, y que informa a +\family typewriter +dnf +\family default + de dónde encontrar la lista de espejos para cada sección, de donde descargar + los paquetes. + +\family typewriter +fedora.repo +\family default + contiene información para la instalación base, y +\begin_inset Newline newline +\end_inset + + +\family typewriter +fedora-updates.repo +\family default + contiene la información para localizar los paquetes a actualizar.) +\end_layout + +\begin_layout Section +Módulos del núcleo +\end_layout + +\begin_layout Standard +Aunque Linux tiene una arquitectura monolítica, su diseño es modular, y + hay porciones ( +\series bold +módulos +\series default +) que se pueden cargar o descargar en caliente, que proporcionan soporte + para distintos sistemas de ficheros, periféricos y protocolos de red, y + que se suelen guardar con extensión +\family typewriter +.ko.xz +\family default + en +\family typewriter +/lib/modules/ +\emph on +versión +\family default +\emph default +, según la +\family typewriter +\emph on +versión +\family default +\emph default + de Linux, con los siguientes subdirectorios entre otros: +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +drivers +\family default +\series default + Gestión de dispositivos hardware. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +fs +\family default +\series default + Sistemas de ficheros. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +net +\family default +\series default + Protocolos de red. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +sound +\family default +\series default + Tarjetas de sonido. +\end_layout + +\begin_layout Standard +Para que un módulo se pueda usar, el núcleo debe tener exportadas todas + las funciones que este usa. + Algunas están en otros módulos, por lo que existen dependencias entre módulos + descritas en +\family typewriter +/lib/modules/ +\emph on +versión +\emph default +/modules.dep +\family default +. + Los módulos se pueden cargar en cualquier momento, aunque suelen cargarlos + el +\emph on +script +\emph default + +\family typewriter +init +\family default + del disco RAM (para acceder al sistema de ficheros raíz), los servicios + de +\family typewriter +systemd +\family default + al iniciarse o +\family typewriter +udev +\family default + al detectar un nuevo dispositivo. +\end_layout + +\begin_layout Subsection* + +\family typewriter +lsmod +\end_layout + +\begin_layout Standard +Formatea el contenido de +\family typewriter +/proc/modules +\family default +, mostrando los módulos del núcleo cargados (nombre, tamaño, contador de + usos y módulos que lo usan). +\end_layout + +\begin_layout Subsection* + +\family typewriter +modinfo +\emph on +NOMBRE_MÓDULO +\emph default +... +\end_layout + +\begin_layout Standard +Extrae información sobre los módulos dados (fichero, autor, descripción, + licencia, dependencias, parámetros, etc.) +\end_layout + +\begin_layout Subsection* + +\family typewriter +insmod +\emph on +FICHERO_MÓDULO +\end_layout + +\begin_layout Standard +Inserta un módulo en el núcleo. +\end_layout + +\begin_layout Subsection* + +\family typewriter +rmmod +\emph on +NOMBRE_MÓDULO +\end_layout + +\begin_layout Standard +Elimina un módulo del núcleo (si no se está usando). +\end_layout + +\begin_layout Subsection* + +\family typewriter +modprobe +\emph on +NOMBRE_MÓDULO +\end_layout + +\begin_layout Standard +Añade o elimina un módulo del núcleo (junto a los módulos de los que depende). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-r +\family default +\series default + Elimina en vez de insertar. + Si los módulos de los que este depende tampoco se están usando, +\family typewriter +\series bold +modprobe +\family default +\series default + intentará eliminarlos también. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +--show-depends +\family default +\series default + Lista las dependencias de un módulo. +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/modprobe.d/ +\end_layout + +\begin_layout Standard +Configuración para +\family typewriter +modprobe +\family default +. + Los ficheros bajo el directorio con extensión +\family typewriter +.conf +\family default + especifican opciones. +\end_layout + +\begin_layout Subsubsection* +COMANDOS +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +alias +\begin_inset space ~ +\end_inset + + +\emph on +alias +\begin_inset space ~ +\end_inset + +nombre_módulo +\family default +\emph default + Da un nombre alternativo a un módulo. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +blacklist +\begin_inset space ~ +\end_inset + + +\emph on +nombre-módulo +\family default +\emph default + Los módulos pueden contener sus propios alias. + +\family typewriter +\series bold +blacklist +\family default +\series default + indica que todos los alias internos del módulo deben ser ignorados. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +install +\begin_inset space ~ +\end_inset + + +\emph on +nombre_módulo +\begin_inset space ~ +\end_inset + +comando +\emph default +... + +\family default + Ejecuta un comando en vez de insertar el módulo. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +options +\begin_inset space ~ +\end_inset + + +\emph on +nombre_módulo +\begin_inset space ~ +\end_inset + +opción +\emph default +... + +\family default + Añade opciones al módulo cada vez que se inserta en el núcleo. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +remove +\begin_inset space ~ +\end_inset + + +\emph on +nombre_módulo +\begin_inset space ~ +\end_inset + +comando +\emph default +... + +\family default + Como +\family typewriter +\series bold +install +\family default +\series default + pero se invoca al ejecutar +\family typewriter +modprobe -r +\family default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +depmod +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +begin{sloppypar} +\end_layout + +\end_inset + +Crea una lista de dependencias entre módulos bajo +\family typewriter +/lib/modules/ +\emph on +versión +\family default +\emph default + (la versión del núcleo actual). + Esta lista es escrita a +\family typewriter +modules.dep +\family default +. + Finalmente, genera un fichero +\family typewriter +modules. +\emph on +dispositivo +\family default +\emph default + si los módulos proporcionan nombres de dispositivo que deben añadirse a + +\family typewriter +/dev +\family default + en el arranque ( +\family typewriter +modules.usbmap +\family default +, +\family typewriter +modules.pcimap +\family default +, etc., que sirven para indicar los módulos a cargar cuando se conecta un + dispositivo, pero que no se usan actualmente). +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +end{sloppypar} +\end_layout + +\end_inset + + +\end_layout + +\end_body +\end_document diff --git a/iso/nc.lyx b/iso/nc.lyx new file mode 100644 index 0000000..24c6cfc --- /dev/null +++ b/iso/nc.lyx @@ -0,0 +1,1408 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Internamente los usuarios se identifican por un número, el UID, que es 0 + para el su +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +per +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +u +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +sua +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +rio, y que en general está en el rango 1–999 para las cuentas del sistema + y es mayor o igual a 1000 para usuarios normales. + Una cuenta del sistema ejecuta programas o posee ficheros para ciertos + servicios, pero no está asociada a una persona. + Por ejemplo, la cuenta +\family typewriter +apache +\family default + ejecuta servicios para un servidor Web, el demonio +\family typewriter +httpd +\family default + de Apache. +\end_layout + +\begin_layout Standard +Los usuarios también tienen un nombre de usuario, contraseña, un directorio + personal y una +\emph on +shell +\emph default +, programa que se ejecuta al iniciar sesión. + Se puede indicar que esta sea un ejecutable específico, no necesariamente + una +\emph on +shell +\emph default +, convirtiendo la cuenta en una +\series bold +cuenta restringida +\series default +, pues el usuario solo puede ejecutar este fichero y al finalizar su ejecución + sale del sistema. +\end_layout + +\begin_layout Standard +Cuando un usuario crea un fichero, su grupo propietario es el grupo activo + del usuario (generalmente su grupo primario), pero al determinar los permisos + que tiene un usuario sobre un fichero, se usan todos los grupos a los que + pertenece. +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/passwd +\end_layout + +\begin_layout Standard +Fichero de texto que describe las cuentas de usuario del sistema. + Debe ser legible por todos los usuarios pero escribible sólo para el superusuar +io. + +\end_layout + +\begin_layout Standard +Tradicionalmente no había problema con este permiso general de lectura. + Hoy en día se usa el caracter +\family typewriter +x +\family default + en la celda de contraseña para indicar que las contraseñas están en +\family typewriter +/etc/shadow +\family default +, que sólo puede ser leída por el superusuario. + +\end_layout + +\begin_layout Standard +Cada línea del fichero describe un sólo usuario, y contiene los siguientes + campos: +\end_layout + +\begin_layout Quotation + +\family typewriter +nombre:contraseña:UID:GID:GECOS:directorio:shell +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +nombre +\family default +\emph default + Nombre de usuario. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +contraseña +\family default +\emph default + Contraseña encriptada del usuario, +\family typewriter +* +\family default + o +\family typewriter +x +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +UID +\family default +\emph default + El UID. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +GID +\family default +\emph default + ID numérico del grupo primario del usuario. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +GECOS +\family default +\emph default + Opcional, con propósito informativo. + Normalmente contiene el nombre completo del usuario. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +directorio +\family default +\emph default + Directorio personal del usuario, donde se le posiciona tras iniciar sesión. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +shell +\family default +\emph default + Programa a ejecutar al iniciar sesión. +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/shells +\end_layout + +\begin_layout Standard +Fichero de texto que contiene las rutas absolutas de los +\emph on +shells +\emph default + de inicio de sesión válidos. +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/shadow +\end_layout + +\begin_layout Standard +Fichero que contiene la información de las contraseñas de los usuarios e + información opcional de caducidad. + Debe no ser legible para usuarios normales por seguridad. + Hay una entrada por línea, con formato: +\end_layout + +\begin_layout Quotation + +\family typewriter +nombre:contraseña:último_cambio:vida_mínima:vida_máxima:periodo_alerta: +\begin_inset Newline newline +\end_inset + +periodo_inactividad:fecha_expiración:reservado +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +nombre +\family default +\emph default + Nombre de usuario. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +contraseña +\family default +\emph default + Contraseña encriptada. + Si contiene algo que no es una contraseña encriptada válida, como +\family typewriter +!! +\family default + o +\family typewriter +* +\family default +, el usuario no podrá usar una contraseña Unix para iniciar sesión. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +último_cambio +\family default +\emph default + Fecha del último cambio de contraseña. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +vida_mínima +\family default +\emph default + Número de días que el usuario debe esperar antes de poder cambiar nuevamente + su contraseña. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +vida_máxima +\family default +\emph default + Número de días tras el cual el usuario deberá cambiar su contraseña. + Tras esto la contraseña podría seguir siendo válida, pero se pedirá al + usuario una nueva contraseña la próxima vez que inicie sesión. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +periodo_alerta +\family default +\emph default + Número de días antes de que la contraseña expire durante los cuales se + avisará al usuario. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +periodo_inactividad +\family default +\emph default + Número de días después de que la contraseña expire durante los que esta + seguirá siendo válida. + Tras este tiempo el usuario no podrá iniciar sesión. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +fecha_expiración +\family default +\emph default + Fecha en la que la cuenta expira, tras la cual el usuario no podrá iniciar + sesión. +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/group +\end_layout + +\begin_layout Standard +Fichero de texto que define los grupos del sistema. + Hay una entrada por línea, con formato: +\end_layout + +\begin_layout Quotation + +\family typewriter +nombre:contraseña:GID:lista_de_usuarios +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/gshadow +\end_layout + +\begin_layout Standard +Información de seguridad de los grupos. + Debe no ser legible por usuarios normales por seguridad. + Hay una entrada por línea, con formato: +\end_layout + +\begin_layout Quotation + +\family typewriter +nombre:contraseña:administradores:miembros +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/issue +\end_layout + +\begin_layout Standard +Fichero de texto con un mensaje a imprimir antes de pedir el nombre de usuario + en un inicio de sesión por terminal. + Puede contener secuencias +\family typewriter +\series bold +@ +\series default +\emph on +caracter +\family default +\emph default + o +\family typewriter +\series bold + +\backslash + +\series default +\emph on +caracter +\family default +\emph default + si la terminal lo soporta (por ejemplo, +\family typewriter + +\backslash +l +\family default + se sustituye po el nombre de la terminal: +\family typewriter +tty1 +\family default +, +\family typewriter +tty2 +\family default +, etc.). +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/motd +\end_layout + +\begin_layout Standard +Fichero de texto a mostrar tras un inicio de sesión por terminal exitoso + y antes de ejecutar el +\emph on +shell +\emph default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +nologin +\end_layout + +\begin_layout Standard +Muestra un mensaje de que una cuenta no está disponible y termina. + Usado como campo +\family typewriter +\emph on +shell +\family default +\emph default + en +\family typewriter +/etc/passwd +\family default + para denegar el inicio de sesión a una cuenta. +\end_layout + +\begin_layout Subsection* + +\family typewriter +id +\emph on +USUARIO +\end_layout + +\begin_layout Standard +Muestra la información de usuario y grupos para el +\family typewriter +\emph on +USUARIO +\family default +\emph default + indicado. +\end_layout + +\begin_layout Subsection* + +\family typewriter +groups +\emph on +USUARIO +\emph default +... +\end_layout + +\begin_layout Standard +Muestra los grupos a los que pertenece cada +\family typewriter +\emph on +USUARIO +\family default +\emph default +. +\end_layout + +\begin_layout Subsection* + +\family typewriter +newgrp +\emph on +GRUPO +\end_layout + +\begin_layout Standard +Inicia sesión en un nuevo grupo. + Si el usuario no es +\family typewriter +root +\family default +, se le pedirá una contraseña si este no tiene o no es miembro del grupo + y el grupo tiene contraseña. + Al usuario se le denegará el acceso si la contraseña de grupo es vacía + y el usuario no es miembro. +\end_layout + +\begin_layout Subsection* + +\family typewriter +who +\end_layout + +\begin_layout Standard +Muestra información sobre los usuarios con sesiones abiertas. +\end_layout + +\begin_layout Subsection* + +\family typewriter +su [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +USUARIO +\emph default +] +\end_layout + +\begin_layout Standard +Ejecuta un nuevo +\emph on +shell +\emph default + con los ID de usuario y grupo indicados (por defecto +\family typewriter +root +\family default +). + Cambia las variables de entorno +\family typewriter +\series bold +HOME +\family default +\series default + y +\family typewriter +\series bold +SHELL +\family default +\series default + (más +\family typewriter +\series bold +USER +\family default +\series default + y +\family typewriter +\series bold +LOGNAME +\family default +\series default + si el +\family typewriter +\emph on +USUARIO +\family default +\emph default + no es +\family typewriter +root +\family default +). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +- +\family default +\series default +, +\begin_inset space ~ +\end_inset + + +\family typewriter +\series bold +-l +\family default +\series default + Inicia el +\emph on +shell +\emph default + como uno de inicio de sesión con un entorno similar a un inicio de sesión + real. +\end_layout + +\begin_layout Subsection* + +\family typewriter +whoami +\end_layout + +\begin_layout Standard +Imprime el nombre de usuario asociado con el ID efectivo de usuario (EUID) + actual. +\end_layout + +\begin_layout Subsection* + +\family typewriter +useradd [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +USUARIO +\end_layout + +\begin_layout Standard +Crea una nueva cuenta de usuario usando los valores especificados más los + valores por defecto del sistema. + Por defecto la contraseña de este está desactivada. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-d +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +DIRECTORIO +\family default +\emph default + Indica el +\family typewriter +\emph on +DIRECTORIO +\family default +\emph default + personal del usuario. + Por defecto, aunque depende de la configuración, se crea un directorio + con ruta +\family typewriter +/home/ +\emph on +USUARIO +\family default +\emph default + y se copia dentro de este el contenido de +\family typewriter +/etc/skel +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-g +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +GRUPO +\family default +\emph default + El nombre o número del grupo primario del usuario, que debe existir. + Si no se especifica, dependiendo de la configuración, se creará un nuevo + grupo con el mismo nombre que el usuario o se le asignará un grupo por + defecto. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-G +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +GRUPO1 +\emph default +[ +\emph on +,GRUPO2,... +\emph default +[ +\emph on +,GRUPON +\emph default +]]] +\family default + Lista de grupos adicionales de los que el usuario también es miembro. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-m +\family default +\series default + Crea el directorio personal del usuario si no existe ya. + Por defecto, la creación de este depende de la configuración. +\end_layout + +\begin_layout Subsubsection* +FICHEROS +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +/etc/default/useradd +\family default + Valores por defecto para la nueva cuenta. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +/etc/login.defs +\family default + Configuración adicional. +\end_layout + +\begin_layout Subsection* + +\family typewriter +usermod [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +USUARIO +\end_layout + +\begin_layout Standard +Modifica los ficheros de la cuenta del +\family typewriter +\emph on +USUARIO +\family default +\emph default + para reflejar los cambios especificados. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-c +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +COMENTARIO +\family default +\emph default + El nuevo valor del campo de comentario del fichero de contraseña para el + usuario. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-g +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +GRUPO +\family default +\emph default + Nombre o número del nuevo grupo primario del usuario, que debe existir. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-G +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +GRUPO1 +\emph default +[ +\emph on +,GRUPO2,... +\emph default +[ +\emph on +,GRUPON +\emph default +]]] +\family default + Lista de grupos adicionales del que el usuario también es miembro. + Si el usuario es miembro del algún grupo que no está en la lista, será + eliminado del grupo, salvo si se añade la opción +\family typewriter +\series bold +-a +\family default +\series default + que añade al usuario esta lista en vez de sustituir. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-s +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +SHELL +\family default +\emph default + El nombre de la nueva +\emph on +shell +\emph default + inicial del usuario. +\end_layout + +\begin_layout Subsection* + +\family typewriter +userdel +\emph on +USUARIO +\end_layout + +\begin_layout Standard +Borra del sistema todas las entradas de usuario que hacen referencia al + +\family typewriter +\emph on +USUARIO +\family default +\emph default + dado, que debe existir. + Por defecto no borra el directorio personal. +\end_layout + +\begin_layout Subsection* + +\family typewriter +groupadd +\emph on +GRUPO +\end_layout + +\begin_layout Standard +Crea un nuevo grupo. +\end_layout + +\begin_layout Subsection* + +\family typewriter +groupdel +\emph on +GRUPO +\end_layout + +\begin_layout Standard +Borra del sistema todas las entradas de grupo que hacen referencia al +\family typewriter +\emph on +GRUPO +\family default +\emph default + dado, que debe existir. +\end_layout + +\begin_layout Subsection* + +\family typewriter +gpasswd [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +GRUPO +\end_layout + +\begin_layout Standard +Administra +\family typewriter +/etc/group +\family default + y +\family typewriter +/etc/gshadow +\family default +. + Cada grupo puede tener administradores, miembros y una contraseña. +\end_layout + +\begin_layout Standard +Salvo por las opciones +\family typewriter +\series bold +-A +\family default +\series default + y +\family typewriter +\series bold +-M +\family default +\series default +, las opciones no pueden combinarse. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-a +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +USUARIO +\family default +\emph default + Añade el +\family typewriter +\emph on +USUARIO +\family default +\emph default + al +\family typewriter +\emph on +GRUPO +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-d +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +USUARIO +\family default +\emph default + Elimina al +\family typewriter +\emph on +USUARIO +\family default +\emph default + del +\family typewriter +\emph on +GRUPO +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-A +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +USUARIO +\emph default +,... + +\family default + Establece la lista de administradores. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-M +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +USUARIO +\emph default +,... + +\family default + Establece la lista de miembros. +\end_layout + +\begin_layout Subsection* + +\family typewriter +passwd [ +\emph on +OPCIÓN +\emph default +]... + [ +\emph on +USUARIO +\emph default +] +\end_layout + +\begin_layout Standard +Actualiza la información de autenticación del +\family typewriter +\emph on +USUARIO +\family default +\emph default +. + Por defecto cambia su contraseña. + Sólo +\family typewriter +root +\family default + puede especificar el +\family typewriter +\emph on +USUARIO +\family default +\emph default +; si no se especifica, se cambia la contraseña propia. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-l +\family default +\series default + Bloquea la contraseña del usuario. + Sólo para +\family typewriter +root +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +--stdin +\family default +\series default + La contraseña se lee de la entrada estándar, que puede ser una tubería. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-u +\family default +\series default + Desbloquea la contraseña del usuario. + Sólo para +\family typewriter +root +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-e +\family default +\series default + El usuario será forzado a cambiar la contraseñá en el siguiente intento + de inicio de sesión. + Sólo para +\family typewriter +root +\family default +. +\end_layout + +\begin_layout Standard +Este comando fuerza algunos requisitos de seguridad en la nueva contraseña + (longitud mínima, etc.). +\end_layout + +\begin_layout Subsection* + +\family typewriter +chage [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +USUARIO +\end_layout + +\begin_layout Standard +Cambia el número de días entre cambios de contraseña y la fecha de último + cambio para el +\family typewriter +\emph on +USUARIO +\family default +\emph default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-E +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +FECHA +\family default +\emph default + Establece la fecha de expiración de la cuenta, con formato +\family typewriter +YYYY-MM-DD +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-I +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +DÍAS +\family default +\emph default + Establece el número de días de inactividad tras la expiración de una contraseña + durante los cuales el usuario todavía puede iniciar sesión. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-M +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +DÍAS +\family default +\emph default + Establece el máximo de días durante los que una contraseña es válida. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-W +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +DÍAS +\family default +\emph default + Establece el número de días antes de la expiración de una contraseña en + los que el usuario es avisado de ello. +\end_layout + +\begin_layout Subsubsection* +NOTA +\end_layout + +\begin_layout Standard +Este programa requiere de un fichero +\family typewriter +/etc/shadow +\family default +, y sólo puede usarlo +\family typewriter +root +\family default +s. +\end_layout + +\end_body +\end_document diff --git a/iso/nd.lyx b/iso/nd.lyx new file mode 100644 index 0000000..e9870bb --- /dev/null +++ b/iso/nd.lyx @@ -0,0 +1,4024 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\use_default_options true +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Section +Particionamiento estándar +\end_layout + +\begin_layout Standard +Existen dos formatos principales para el particionamiento de discos: +\end_layout + +\begin_layout Itemize + +\series bold +Particionamiento DOS +\series default + o +\series bold +MBR +\series default +: El formato original de MS-DOS. + Permite hasta 4 +\series bold +particiones principales +\series default + definidas en el primer sector del disco, el MBR ( +\emph on +Master Boot Record +\emph default +), junto con el código de arranque. + Una de estas puede ser una +\series bold +partición extendida +\series default +, dentro de la cual podemos crear +\series bold +particiones lógicas +\series default + o +\series bold +secundarias +\series default +. + En Linux, las particiones primarias tienen números del 1 al 4 y las lógicas + comienzan por el 5. +\begin_inset Newline newline +\end_inset + +Los números de los sectores en el disco, llamados +\series bold +LBA +\series default + ( +\emph on +Logical Block Address +\emph default +), se almacenan en 32 bytes, por lo que si los sectores son de +\begin_inset Formula $\unit[512]{B}$ +\end_inset + + (lo normal), el tamaño máximo particionable es de +\begin_inset Formula $\unit[2]{TiB}$ +\end_inset + +. +\begin_inset Newline newline +\end_inset + +Las particiones tienen un tipo que indica qué va a contener o para qué se + va a usar, con propósito únicamente informativo. + Algunos tipos son +\family typewriter +0x82 +\family default + (Linux swap), +\family typewriter +0x83 +\family default + (Linux) o +\family typewriter +0x8e +\family default + (Linux LVM). +\end_layout + +\begin_layout Itemize + +\series bold +Particionamiento GPT +\series default + ( +\emph on +GUID Partition Table +\emph default +): Usa LBAs de 64 bits, luego el tamaño máximo con bloques de +\begin_inset Formula $\unit[512]{B}$ +\end_inset + + es de +\begin_inset Formula $\unit[8]{ZiB}$ +\end_inset + +. + Permite un número prácticamente ilimitado de particiones, aunque los sistemas + operativos suelen limitarlo a 128 para mantener la tabla de particiones + de un tamaño razonable ( +\begin_inset Formula $\unit[16]{KiB}$ +\end_inset + +). + Esta tabla abarca el sector 1 del disco y sucesivos y tiene una suma de + verificación CRC32 para verificar su integridad y una copia de respaldo + en los últimos sectores del disco. + Por compatibilidad, el sector 0 almacena una tabla de particiones DOS con + una única partición de tipo +\family typewriter +0xEE +\family default + (GPT) llamada +\series bold + partición MBR de protección +\series default +, tan grande como sea posible para intentar cubrir todo el disco. +\begin_inset Newline newline +\end_inset + +Cada partición disco y cada partición tiene un +\series bold +GUID +\series default + ( +\emph on +Globally Unique Identifier +\emph default +), un número de 128 bits con formato +\family typewriter +XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX +\family default + (cada +\family typewriter +X +\family default + es una cifra hexadecimal) que lo identifica unívocamente. + Desaparece la distinción entre particiones primarias, lógicas y extendidas. +\end_layout + +\begin_layout Standard +Normalmente la primera partición comienza en el sector 2048, usando el hueco + que queda para el gestor de arranque. +\end_layout + +\begin_layout Subsection* + +\family typewriter +fdisk +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +fdisk +\series default + [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +DISPOSITIVO +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +fdisk -l +\series default + [ +\emph on +DISPOSITIVO +\emph default +]... +\end_layout + +\begin_layout Standard +Programa interactivo para la creación y manipulación de tablas de particiones + que entiende, entre otros, los formatos MBR y GPT. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-l +\family default +\series default + Lista las tablas de particiones para los +\family typewriter +\emph on +DISPOSITIVO +\family default +\emph default +s especificados y termina. +\end_layout + +\begin_layout Subsubsection* +ÓRDENES +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +p +\family default +\series default + Muestra la tabla de particiones. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +n +\family default +\series default + Crea una nueva partición. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +d +\family default +\series default + Elimina una partición. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +w +\family default +\series default + Guarda en disco la tabla de particiones resultante. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +q +\family default +\series default + Sale sin guardar los cambios. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +m +\family default +\series default + Muestra una ayuda con todas las órdenes. +\end_layout + +\begin_layout Subsubsection* +TAMAÑOS +\end_layout + +\begin_layout Standard +El diálogo de último sector acepta un tamaño de partición según el número + de sectores o la notación +\family typewriter ++{K,B,M,G,...} +\family default +. + Si el tamaño lleva delante +\family typewriter ++ +\family default + se interpreta como relativo al primer sector de la partición. + En este caso el tamaño se espera en bytes y puede ir seguido de sufijos + multiplicativos +\begin_inset Formula $\mathtt{K}=1024$ +\end_inset + +, +\begin_inset Formula $\mathtt{M}=1024^{2}$ +\end_inset + +, etc. +\end_layout + +\begin_layout Subsection* + +\family typewriter +lsblk [ +\emph on +OPCIÓN +\emph default +]... +\end_layout + +\begin_layout Standard +Muestra información de todos los dispositivos de bloques disponibles en + forma de árbol por defecto. + La salida está sujeta a cambios, pero actualmente muestra las columnas + +\family typewriter +NAME +\family default + (nombre), +\family typewriter +SIZE +\family default + (tamaño) y +\family typewriter +TYPE +\family default + (tipo: disco, partición o volumen lógico), entre otras. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-f +\family default +\series default + Muestra información sobre los sistemas de ficheros: columnas +\family typewriter +NAME +\family default +, +\family typewriter +FSTYPE +\family default + (tipo de sistema de ficheros), +\family typewriter +LABEL +\family default + (etiqueta), +\family typewriter +UUID +\family default + (identificador) y +\family typewriter +MOUNTPOINT +\family default + (punto de montaje). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-p +\family default +\series default + Muestra rutas de fichero (absolutas) completas. +\end_layout + +\begin_layout Section +LVM +\end_layout + +\begin_layout Standard +Un +\series bold +gestor de volúmenes lógicos +\series default + (LVM, +\emph on +Logical Volume Manager +\emph default +) es un sistema que +\begin_inset Quotes fld +\end_inset + +virtualiza +\begin_inset Quotes frd +\end_inset + + el almacenamiento para crear discos lógicos y proporcionar métodos de asignació +n de espacio más flexibles que las particiones. +\end_layout + +\begin_layout Standard +Nos centraremos en el LVM de Linux, llamado LVM. + Este parte de +\series bold +volúmenes físicos +\series default + (PVs, +\emph on +physical volumes +\emph default +), que pueden ser cualquier dispositivo de bloques y se dividen en +\series bold +extensiones físicas +\series default + (PEs, +\emph on +physical extents +\emph default +) de un tamaño fijo, que en Linux por omisión es de +\begin_inset Formula $\unit[4]{MiB}$ +\end_inset + +. + Estos se agrupan en +\series bold +grupos de volúmenes +\series default + (VGs, +\emph on +volume groups +\emph default +), que agrupan las extensiones físicas para crear encima +\series bold +volúmenes lógicos +\series default + (LVs, +\emph on +logical volumes +\emph default +), que se dividen en +\series bold +extensiones lógicas +\series default + (LEs, +\emph on +logical extents +\emph default +) del mismo tamaño que las extensiones físicas y actúan como cualquier otro + dispositivo de bloques. + Algunos tipos de volúmenes lógicos: +\end_layout + +\begin_layout Itemize + +\series bold +Lineales +\series default +: A cada extensión lógica le corresponde una única extensión física, en + orden lineal. +\end_layout + +\begin_layout Itemize + +\series bold +Repartidos +\series default +: El volumen se divide en porciones fijas con un +\series bold +tamaño de porción +\series default + ( +\emph on +stripe size +\emph default +) generalmente menor que una extensión lógica (por defecto +\begin_inset Formula $\unit[64]{KiB}$ +\end_inset + +), con lo que porciones consecutivas se almacenan en volúmenes físicos de + discos diferentes de forma cíclica. + Esto hace que el rendimiento de E/S sea mayor que el de un único disco + al poder operar en paralelo pero disminuyendo su fiabilidad, pues la probabilid +ad de que falle un volumen repartido es mayor que la de que falle un disco + individual. +\end_layout + +\begin_layout Itemize + +\series bold +Reflejados +\series default +: A cada extensión lógica le corresponde una extensión física en cada uno + de dos o más volúmenes físicos determinados, consiguiendo tolerancia a + fallos en caso de que un volumen físico falle. + En general, las escrituras tardan lo mismo que en un disco físico individual + pero se mejora el rendimiento de lectura. + Esto se implementa mediante volúmenes lógicos internos lineales. +\end_layout + +\begin_layout Itemize + +\series bold +RAID 5 +\series default +: Funcionan como un volumen lógico repartido al que se le añade un volumen + físico adicional, de modo que si tomamos una porción de un volumen físico + y la co +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +rres +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +pon +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +dien +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +te del resto, una de ellas lo que contiene es el resultado de aplicar una + función de paridad sobre el resto. + Esto permite que no se pierdan datos si un volumen físico deja de funcionar, + y al mismo tiempo proporciona un mejor rendimiento. +\end_layout + +\begin_layout Standard +Los volúmenes lógicos pueden aumentar de tamaño aun con sistemas de ficheros + montados, en cuyo caso, si el sistema de ficheros lo permite, se puede + aumentar el tamaño de este. + También pueden reducir su tamaño (salvo los reflejados o RAID 5 en la implement +ación actual), pero en este caso los sistemas de ficheros no pueden reducirse + estando montados. +\end_layout + +\begin_layout Standard +También se pueden añadir volúmenes físicos a un grupo de volúmenes, o eliminarlo +s si no se están usando, en vivo, así como mover extensiones físicas de + un volumen a otro, de modo que si el hardware permite cambiar discos en + caliente, podemos actualizar o reemplazar dispositivos de almacenamiento + sin parar el sistema. +\end_layout + +\begin_layout Subsection* + +\family typewriter +pvcreate +\emph on +VOLUMEN +\emph default +... +\end_layout + +\begin_layout Standard +Inicializa un volumen físico para su uso por LVM. +\end_layout + +\begin_layout Subsection* + +\family typewriter +pvdisplay [ +\emph on +VOLUMEN +\emph default +]... +\end_layout + +\begin_layout Standard +Muestra las propiedades de los volúmenes físicos indicados, o de todos si + no se indica ninguno. +\end_layout + +\begin_layout Subsection* + +\family typewriter +vgcreate +\emph on +NOMBRE_GRUPO VOLUMEN +\emph default +... +\end_layout + +\begin_layout Standard +Crea un nuevo grupo de volúmenes sobre dispositivos de bloques. + Si los dispositivos no habían sido inicializados por +\family typewriter +\series bold +pvcreate +\family default +\series default +, +\family typewriter +vgcreate +\family default + los inicializa. +\end_layout + +\begin_layout Subsection* + +\family typewriter +vgdisplay +\emph on +NOMBRE_GRUPO +\emph default +... +\end_layout + +\begin_layout Standard +Muestra las propiedades de los grupos de volúmenes indicados. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-v +\series default +, +\begin_inset space ~ +\end_inset + + +\series bold +--verbose +\family default +\series default + Incrementa la cantidad de salida por cada aparición. + Con una ya muestra los volúmenes físicos que forman parte de cada grupo. +\end_layout + +\begin_layout Subsection* + +\family typewriter +lvcreate [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +GRUPO +\end_layout + +\begin_layout Standard +Crea un nuevo volumen lógico en un grupo de volúmenes. + Por defecto crea un LV lineal ( +\family typewriter +linear +\family default +). +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +--type +\begin_inset space ~ +\end_inset + +raid5 +\family default +\series default + Crea un volumen RAID 5. + Se debe indicar también la opción +\family typewriter +-i +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-i +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +N +\family default +\emph default + Crea un volumen, por defecto repartido ( +\family typewriter +striped +\family default +), entre +\family typewriter +\emph on +N +\family default +\emph default + volúmenes físicos. + Si se crea un volumen RAID 5, este número no incluye el volumen extra requerido + para la paridad. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-m +\series default +, +\begin_inset space ~ +\end_inset + + +\series bold +--mirrors +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +N +\family default +\emph default + Crea un volumen físico reflejado ( +\family typewriter +raid1 +\family default +| +\family typewriter +mirror +\family default +) entre +\family typewriter +\emph on +N +\family default +\emph default + volúmenes físicos. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-L +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +tamaño +\emph default +[ +\emph on +UNIDAD +\emph default +] +\family default + Obligatorio; tamaño de la nueva unidad. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-I +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +tamaño +\emph default +[ +\emph on +UNIDAD +\emph default +] +\family default + Tamaño de porción en un volumen lógico repartido o RAID 5. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-n +\series default + +\begin_inset space ~ +\end_inset + + +\emph on +Nombre +\family default +\emph default + Nombre del nuevo volumen. +\end_layout + +\begin_layout Subsection* + +\family typewriter +lvdisplay [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +VOLUMEN +\emph default +... +\end_layout + +\begin_layout Standard +Muestra las propiedades de los volúmenes lógicos indicados. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-m +\family default +\series default +, +\begin_inset space ~ +\end_inset + + +\family typewriter +\series bold +--maps +\family default +\series default + Muestra la correspondencia de extensiones lógicas a volúmenes y extensiones + físicas. +\end_layout + +\begin_layout Subsection* + +\family typewriter +lvextend [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +VOLUMEN +\end_layout + +\begin_layout Standard +Extiende un volumen lógico al tamaño especificado. + Debe indicarse una, y sólo una, de entre +\family typewriter +-l +\family default + y +\family typewriter +-L +\family default +. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-l +\series default + +\begin_inset space ~ +\end_inset + +[ +\series bold ++ +\series default +] +\emph on +Número +\emph default +[ +\emph on +PORCENTAJE +\emph default +] +\family default + Nuevo tamaño del volumen en extensiones lógicas. + El total de extensiones lógicas será mayor cuando se necesiten datos redundante +s. + El tamaño también se puede indicar como porcentaje. + El sufijo +\family typewriter +\series bold +%VG +\family default +\series default + denota el tamaño total del grupo de volúmenes, y +\family typewriter +\series bold +%FREE +\family default +\series default + el espacio libre en este. + Si se usa el prefijo +\family typewriter +\series bold ++ +\family default +\series default +, el valor no es absoluto sino relativo, y se añade al tamaño actual. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-L +\series default + +\begin_inset space ~ +\end_inset + +[ +\series bold ++ +\series default +] +\emph on +Tamaño +\emph default +[ +\emph on +UNIDAD +\emph default +] +\family default + Nuevo tamaño del volumen. + Si se usa el prefijo +\family typewriter +\series bold ++ +\family default +\series default +, el valor no es absoluto sino relativo, y se añade al tamaño actual. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-r +\series default +, +\begin_inset space ~ +\end_inset + + +\series bold +--resizefs +\family default +\series default + Cambia el tamaño del sistema de ficheros subyacente junto al del volumen. +\end_layout + +\begin_layout Subsection* + +\family typewriter +lvreduce [ +\emph on +OPCIÓN +\emph default +]... + +\emph on +VOLUMEN +\end_layout + +\begin_layout Standard +Reduce el tamaño de un volumen lógico. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-L +\series default + +\begin_inset space ~ +\end_inset + +[ +\series bold +- +\series default +] +\emph on +Tamaño +\emph default +[ +\emph on +UNIDAD +\emph default +] +\family default + Nuevo tamaño del volumen. + Si se usa el prefijo +\family typewriter +\series bold +- +\family default +\series default +, el valor no es absoluto sino relativo, y se reduce del tamaño actual. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-r +\series default +, +\begin_inset space ~ +\end_inset + + +\series bold +--resizefs +\family default +\series default + Cambia el tamaño del sistema de ficheros subyacente junto al del volumen. +\end_layout + +\begin_layout Subsection* + +\family typewriter +vgextend +\end_layout + +\begin_layout Standard +Añade uno o más volúmenes físicos a un grupo de volúmenes. +\end_layout + +\begin_layout Subsection* + +\family typewriter +vgreduce +\end_layout + +\begin_layout Standard +Elimina uno o más volúmenes físicos sin usar de un grupo de volúmenes. +\end_layout + +\begin_layout Subsection* + +\family typewriter +pvmove +\end_layout + +\begin_layout Standard +Mueve extensiones físicas de un volumen físico fuente a uno o más volúmenes + físicos destino. +\end_layout + +\begin_layout Subsection* + +\family typewriter +lvremove +\emph on +VOLUMEN +\emph default +... +\end_layout + +\begin_layout Standard +Elimina uno o más volúmenes lógicos. +\end_layout + +\begin_layout Subsection* + +\family typewriter +vgremove +\emph on +GRUPO +\emph default +... +\end_layout + +\begin_layout Standard +Elimina uno o más grupos de volúmenes. +\end_layout + +\begin_layout Subsection* + +\family typewriter +pvremove +\emph on +VOLUMEN +\emph default +... +\end_layout + +\begin_layout Standard +Borra la etiqueta de un dispositivo para que LVM deje de reconocerlo como + volumen físico. +\end_layout + +\begin_layout Section +Dispositivos de bucle +\end_layout + +\begin_layout Standard +En Linux solo podemos montar dispositivos de bloques, pero existen dispositivos + de bloques llamados +\series bold +\emph on +loop +\series default +\emph default +, normalmente llamados +\family typewriter +/dev/loop0 +\family default +– +\family typewriter +7 +\family default + que representan ficheros regulares, que a su vez suelen crearse como un + fichero grande inicialmente lleno de ceros. +\end_layout + +\begin_layout Subsection* + +\family typewriter +losetup +\end_layout + +\begin_layout Paragraph* +Obtener información +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +losetup +\series default + [ +\emph on +DISPOSITIVO +\emph default +] +\end_layout + +\begin_layout Paragraph* +Desasociar un dispositivo +\emph on +loop +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +losetup -d +\series default + +\emph on +DISPOSITIVO +\emph default +... +\end_layout + +\begin_layout Paragraph* +Desasociar todos los dispositivos +\emph on +loop +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +losetup -D +\end_layout + +\begin_layout Paragraph* +Asociar un dispositivo +\emph on +loop +\end_layout + +\begin_layout Standard + +\family typewriter +\series bold +losetup +\series default + [ +\emph on +OPCIÓN +\emph default +]... + +\series bold +-f +\series default +| +\emph on +DISPOSITIVO FICHERO +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-a +\family default +\series default + Muestra el estado de todos los dispositivos +\emph on +loop +\emph default +. + No toda la información está disponible si no se es superusuario. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-f +\family default +\series default + Encuentra el primer dispositivo +\emph on +loop +\emph default + sin usar. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\series bold +-P +\family default +\series default + Fuerza al núcleo a escanear la tabla de particiones del dispositivo +\emph on +loop +\emph default + recién creado. +\end_layout + +\begin_layout Section +Sistemas de ficheros +\end_layout + +\begin_layout Standard +El sistema de ficheros ext2 fue el principal en Linux hasta que apareció + ext3 que, al contrario que ext2, es +\series bold +transaccional +\series default +: añade un registro o +\emph on +journal +\emph default + que permite recuperar rápidamente la consistencia tras una caída del sistema, + algo que en ext2 llevaba mucho tiempo al tener que analizar el sistema + de ficheros por completo. + Actualmente se usa ext4, muy similar a ext3 pero con mejoras que permiten + un menor uso de CPU y mayor rapidez de lectura y escritura. +\end_layout + +\begin_layout Standard +FAT es una familia de sistemas de ficheros introducida a finales de los + 70 por Microsoft. + La versión inicial era muy básica y dio paso a FAT12, ideada para su uso + en disquetes y reemplazada posteriormente por FAT16 para soportar discos + duros de mayor tamaño. + Con Windows 95 surge VFAT, una extensión opcional que permite almacenar + nombres de fichero de hasta 255 caracteres en vez de los 8 para nombre + y 3 de extensión que se permiten desde FAT12. + Una revisión de Windows 95 introduce FAT32, con mayor soporte para discos + duros más grandes, por lo que actualmente este sistema es una de las formas + más sencillas (y limitadas) de compartir ficheros entre Linux y Windows. + El manejador de FAT para Linux más adecuado (en general) es +\family typewriter +vfat +\family default +, que soporta FAT32 con VFAT. + Los ficheros en FAT no tienen propietario, grupo ni permisos asociados. +\end_layout + +\begin_layout Standard +XFS fue creado por Silicon Graphics para IRIX, su implementación de UNIX, + liberado en el año 2000 bajo licencia GPL y posteriormente soportado por + Linux. + NTFS apareció en Windows NT y es el sistema de ficheros por defecto de + esta familia de sistemas operativos. +\end_layout + +\begin_layout Standard +En Linux hay una única jerarquía de directorios, y cada sistema de ficheros + se +\series bold +monta +\series default + en un directorio llamado +\series bold +punto de montaje +\series default +, de forma que, hasta que este se +\series bold +desmonte +\series default +, podemos acceder a los ficheros que contiene a partir de este directorio. + El sistema de ficheros raíz es el que se monta en +\family typewriter +\series bold +/ +\family default +\series default +, el primero en montarse durante el arranque, y no se puede desmontar. + Normalmente solo el superusuario puede montar un sistema de ficheros. + +\end_layout + +\begin_layout Standard +En ocasiones también puede montarlo un usuario normal, pero sin indicar + opciones extra. + Tras montar un sistema de ficheros, el punto de montaje toma los permisos, + propietario y grupo del directorio raíz del sistema de ficheros que se + monta. +\end_layout + +\begin_layout Subsection* + +\family typewriter +/etc/fstab +\end_layout + +\begin_layout Standard +Contiene información sobre sistemas de ficheros a montar. + Cada sistema de ficheros se des +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +cri +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +- +\end_layout + +\end_inset + +be en una línea separada. + Los campos en cada línea se separan con tabulaciones o espacios. +\end_layout + +\begin_layout Labeling +\labelwidthstring 00.00.0000 + +\family typewriter +\emph on +dispositivo +\family default +\emph default + Dispositivo de bloques a montar. + Se puede usar +\family typewriter +LABEL=