YouTube2Text

C Linux Posible Abrazo Mortal - 08 — Transcript

by juancarlosjromer · 2,769 words · 472 segments · language en · Watch on YouTube

Full transcript

  1. 0:01Muy buenos días, hoy vamos a hacer un
  2. 0:02vídeo que muestra un ejemplo de una una
  3. 0:06secuencia de ejecución de dos procesos
  4. 0:10donde eh se puede producir un abrazo
  5. 0:13mortal, ¿sí?
  6. 0:14Bueno, con respecto al asombro que
  7. 0:16ustedes pueden tener con respecto a
  8. 0:17esto, este sobre el final del vídeo
  9. 0:20vamos a dar la explicación.
  10. 0:25En este ejemplo no queremos construir
  11. 0:27una sección de entrada y una sección de
  12. 0:29salida
  13. 0:30en base a una secuencia de ejecución de
  14. 0:33procesos
  15. 0:34preestablecida. Al contrario, en este
  16. 0:36caso queremos analizar dada una
  17. 0:39situación o dada o dos procesos con su
  18. 0:42sección de entrada su sección de salida
  19. 0:45sí eh y dos semáforos inicializados en
  20. 0:49uno queremos ver si se eh esa esta
  21. 0:53situación eh produce eh en una secuencia
  22. 0:56de ejecución
  23. 0:58un bloqueo de proceso
  24. 1:00y un bloqueo de proceso B. Bien, estas
  25. 1:02son algunas de las secuencias posibles
  26. 1:04que se pueden generar durante la
  27. 1:07ejecución de los procesos A y B.
  28. 1:09Por ejemplo, podría ejecutar el proceso
  29. 1:11A sin ningún problema y funcionaría
  30. 1:12bien. Entonces, solamente el proceso A
  31. 1:15entraría en su sección de en su sección
  32. 1:17crítica. Lo mismo pasaría con el proceso
  33. 1:19A proceso B, perdón. Podría entrar en su
  34. 1:22sección crítica y seguir continuamente
  35. 1:25ejecutando en su sección crítica,
  36. 1:27entrando y saliendo de su sección
  37. 1:29crítica,
  38. 1:30no quedándose siempre en su sección
  39. 1:32crítica.
  40. 1:34También se podría dar la secuencia B A B
  41. 1:37este A B A B ininterrumpidamente,
  42. 1:40también se puede dar la secuencia B A B
  43. 1:42A B A ininterrumpidamente, lo mismo con
  44. 1:46A A B B A A y continuar A infinitamente
  45. 1:50y también se puede dar
  46. 1:52B B A A infinitamente, ¿sí? Bueno, y
  47. 1:55también puede pasar que cualquier
  48. 1:58secuencia que hagan puede terminar en un
  49. 2:01abrazo mortal, ¿sí?
  50. 2:03Y también podrían comenzar en un abrazo
  51. 2:05mortal,
  52. 2:06¿sí? Ahora vamos a tratar de ver eh con
  53. 2:09alguna explicación más en detalle por
  54. 2:11qué sucede esto o dar la explicación de
  55. 2:13por qué puede producirse un abrazo
  56. 2:15mortal en cualquier momento o comenzar
  57. 2:17con un abrazo mortal.
  58. 2:19También tiene que quedar claro que estas
  59. 2:20son algunas secuencias posibles, puede
  60. 2:22haber muchas más secuencias posibles de
  61. 2:25ejecución, ¿sí? De hecho, esta situación
  62. 2:29planteada aparece en algunos libros de
  63. 2:31sistemas operativos
  64. 2:32eh cuando se explica el problema del
  65. 2:35abrazo mortal, que donde el abrazo
  66. 2:37mortal es un este interbloqueo de
  67. 2:41procesos que intervienen en un sistema,
  68. 2:44¿sí? Así que bueno, eh es un, digamos,
  69. 2:47un ejemplo muy conocido, ¿sí?
  70. 2:51Bien, para entender esta situación eh
  71. 2:54del bloqueo del proceso A y el bloqueo
  72. 2:57del proceso B, aparecen tiene tenemos
  73. 3:00que volver a conceptos a conceptos
  74. 3:02básicos que aparecen siempre, siempre
  75. 3:04van a aparecer estos conceptos durante
  76. 3:07todos estos temas. Es como el caballo en
  77. 3:10una calesita y la calesita gira, el
  78. 3:12caballo siempre va a aparecer, si te
  79. 3:14quedas mirando la calesita desde
  80. 3:15cualquier punto, siempre el caballito va
  81. 3:18a aparecer, aparece el caballito, pega
  82. 3:19una vuelta, aparece el caballito, bueno,
  83. 3:21¿cuál es el caballito acá? ¿Cuál es que
  84. 3:23es cuáles son los conceptos caballito
  85. 3:25que tienen que aparecer? Bueno, un
  86. 3:27concepto es el de la multiprogramación.
  87. 3:29Otro concepto es el de
  88. 3:30monoprocesamiento, ¿sí?
  89. 3:32Y otro concepto es el de planificación
  90. 3:34de CPU. O sea, esos tres conceptos
  91. 3:37tienen que quedar claros porque son los
  92. 3:39que nos hacen entender por qué se puede
  93. 3:43eh llegar a un bloqueo del proceso A y
  94. 3:46un bloqueo del proceso B, ¿sí? Así que
  95. 3:48vamos a repasar esos conceptos con esta
  96. 3:50diapositiva. Concepto de
  97. 3:52monoprocesamiento.
  98. 3:54Entonces, eh el ejemplo que estamos
  99. 3:57proponiendo
  100. 3:59eh lo estamos desarrollando o pensando
  101. 4:01sobre un sistema operativo que está
  102. 4:03montado sobre un hardware con un solo
  103. 4:06procesador.
  104. 4:07Entonces, esto es como eh tener una
  105. 4:10bicicleta en casa y somos muchos
  106. 4:12hermanos. Entonces, esa bicicleta hay
  107. 4:15que compartirla. La bicicleta es el eh
  108. 4:18procesador y eh todos nosotros somos
  109. 4:22procesos. Entonces,
  110. 4:24la única forma de usar la bicicleta,
  111. 4:26digamos, sin peligro es usarlo por
  112. 4:30turnos y de a una persona, ¿sí?
  113. 4:33Entonces, un proceso toma el procesador
  114. 4:35y los demás esperan, ¿sí? Su turno.
  115. 4:39Otro concepto, el concepto de
  116. 4:40multiprogramación.
  117. 4:42Y otra vez aparece esta diapositiva.
  118. 4:45Sí, y otra vez aparece el caballito de
  119. 4:47la calesita. Entonces, un proceso está
  120. 4:50running, ¿sí? Cuando está usando el CPU,
  121. 4:53o sea, acá tenemos la bicicleta que está
  122. 4:55siendo usada por un por un hermano, por
  123. 4:57una persona, ¿sí? Ahora bien, puede
  124. 5:00haber una interrupción, entonces, el
  125. 5:02proceso deja la deja la el procesador eh
  126. 5:06o el hermano deja la bicicleta y vuelve
  127. 5:09a esperar por el procesador o por la
  128. 5:11bicicleta. Esa es una posibilidad. O que
  129. 5:14el proceso termine, ¿sí? Que sería lo
  130. 5:16mismo que una persona dice, "Bueno, yo
  131. 5:18ya no uso más la bicicleta." Me
  132. 5:20¿sí? Otra alternativa sería que eh el
  133. 5:24proceso decida hacer otra cosa, llevar
  134. 5:26adelante una actividad. Por ejemplo, el
  135. 5:28proceso dice, "Voy a hacer una
  136. 5:29entrada-salida." O eh la persona que
  137. 5:31está en la bicicleta dice, "Bueno, voy a
  138. 5:33parar este un poco a juntar flores,
  139. 5:35después vuelvo a esperar mi turno para
  140. 5:37eh usar de nuevo la bicicleta." La
  141. 5:39multiprogramación se da cuando un
  142. 5:42proceso
  143. 5:43deja la CPU por una interrupción o
  144. 5:45porque terminó o porque decide hacer una
  145. 5:48espera de entrada salida o espera un
  146. 5:50evento, entonces el sistema selecciona
  147. 5:54un proceso de los que están en ready o
  148. 5:56en listos para que tome la CPU, ¿sí?
  149. 6:00Bueno, ese proceso va a tomar la CPU y
  150. 6:01puede pasar exactamente lo mismo, puede
  151. 6:03ocurrir una interrupción, puede terminar
  152. 6:05o puede también decidir realizar una
  153. 6:07entrada salida o esperar por un evento,
  154. 6:10¿sí? Eh, entonces de nuevo el sistema
  155. 6:14selecciona un proceso eh
  156. 6:17de los que están esperando en listos, en
  157. 6:18ready, para asignarle la CPU, ¿sí?
  158. 6:21Bueno, el proceso de la selección
  159. 6:23después este veremos los planificadores
  160. 6:26de CPU, cuál es el criterio o cuáles son
  161. 6:28los criterios que utiliza el sistema
  162. 6:31para determinar quién qué proceso toma
  163. 6:35la CPU o a ver, ¿a quién le damos la
  164. 6:38bicicleta porque se ganó porque se
  165. 6:39porque se portó bien, ¿sí? Bueno, eh ese
  166. 6:43sería el concepto de multiprogramación
  167. 6:45concurrente, porque hay un solo
  168. 6:47procesador, ¿sí?
  169. 6:48Bueno, acá vemos la estructura del
  170. 6:50proceso A, tal cual lo planteamos este
  171. 6:52al comienzo del video, ¿sí? Ahí vemos la
  172. 6:55sección de entrada, la sección crítica y
  173. 6:57la sección de salida, ¿sí?
  174. 6:59Eh, sin olvidar que los los perdón, los
  175. 7:02semáforos están inicializados
  176. 7:04originalmente en uno.
  177. 7:06Bueno, acá vemos la estructura del
  178. 7:08proceso B
  179. 7:10con su sección de entrada, su sección
  180. 7:12crítica y su sección de salida, pero
  181. 7:15hay un detalle muy importante,
  182. 7:18que en la sección de entrada del proceso
  183. 7:20B
  184. 7:21el primer wait es sobre el semáforo B y
  185. 7:24el segundo wait es sobre el semáforo A.
  186. 7:27En cambio, si volvemos al pseudocódigo
  187. 7:30del proceso A, vemos que en la sección
  188. 7:32de entrada del proceso A, tenemos
  189. 7:34primero el wait sobre el semáforo A y
  190. 7:36después el wait sobre el semáforo B, o
  191. 7:38sea, que están invertidos los wait en
  192. 7:41las secciones de entrada de los eh dos
  193. 7:44procesos, ¿sí?
  194. 7:46Bueno, ahora vamos a entrar en el
  195. 7:47terreno de las suposiciones
  196. 7:49y vamos a suponer que en algún momento
  197. 7:52el semáforo A y el semáforo B están en
  198. 7:54uno, pero resulta ser que eh el sistema
  199. 7:58le otorga el procesador al proceso A.
  200. 8:01Entonces, el proceso A hace un wait del
  201. 8:04semáforo A que está en uno,
  202. 8:06entonces pasa
  203. 8:08eh esa instrucción la pasa porque el
  204. 8:11semáforo A está en uno, entonces después
  205. 8:13de pasarla el semáforo A queda en cero,
  206. 8:15pero justo antes de comenzar a hacer el
  207. 8:17wait del semáforo B hay una
  208. 8:19interrupción.
  209. 8:21Entonces, ya dijimos que es eh en
  210. 8:23diapositivas ante en la en diapositivas
  211. 8:25anteriores que si un proceso está en
  212. 8:27ejecución y hay una interrupción,
  213. 8:30entonces puede pasar que ese proceso
  214. 8:33vaya a a estado de listo, o sea, cambie
  215. 8:36estado de listo y deje la CPU. Bueno, en
  216. 8:38ese momento el sistema operativo decide
  217. 8:40darle el procesador al proceso B, el
  218. 8:42proceso B hace un wait del semáforo B
  219. 8:44que está en uno, entonces lo pasa y lo
  220. 8:46deja en cero y ahora se enfrenta al wait
  221. 8:49del semáforo A. ¿Qué sucede en ese
  222. 8:51momento? Bueno, el proceso B se bloquea
  223. 8:53porque el semáforo A está en cero,
  224. 8:56entonces seguramente
  225. 8:59el sistema le va a quitar el procesador
  226. 9:01y se lo va a dar a otro proceso,
  227. 9:03entonces suponemos que se lo da
  228. 9:05nuevamente al proceso A, pero el proceso
  229. 9:07A entra ahora en el wait sem B, entonces
  230. 9:10ahora el semáforo B está en cero,
  231. 9:12entonces el proceso A también queda
  232. 9:14bloqueado, ¿sí?
  233. 9:16Bueno, ahí estamos en la explicación de
  234. 9:18por qué en algún momento de eh la
  235. 9:20ejecución los procesos pueden quedar
  236. 9:23bloqueados.
  237. 9:24Bueno, vamos a ver qué pasa en el Linux.
  238. 9:28Como siempre, primer paso, crear
  239. 9:30semáforos.
  240. 9:32Bueno, estos pasos los vamos a hacer
  241. 9:33rápido porque ya lo venimos viendo en
  242. 9:35otros videos, así que bueno, ejecutamos
  243. 9:37el comando ipcs -s.
  244. 9:40Vemos que no tenemos ningún semáforo
  245. 9:41creado, vamos a editar
  246. 9:44el programa fuente que crea semáforos.
  247. 9:47Acá lo tenemos, vamos a indicar
  248. 9:49solamente que
  249. 9:50en este programita ahí marco solamente
  250. 9:53que queremos crear dos semáforos, el
  251. 9:55semáforo cero y el semáforo uno.
  252. 9:59Así que ya compilé para no perder tiempo
  253. 10:03y vamos a ejecutar crea.
  254. 10:05Perfecto y ahora
  255. 10:08entonces tenemos dos semáforos en el
  256. 10:11array 589840,
  257. 10:13con clave de usuario
  258. 10:15número hexadecimal A, ¿sí? Bueno.
  259. 10:18Primer paso cumplido.
  260. 10:20Segundo paso, inicializar semáforos.
  261. 10:24Bueno, vamos a ver el programa que
  262. 10:28inicializa los semáforos.
  263. 10:30Eh, acá tenemos
  264. 10:33el semcontrol para iniciar el semáforo
  265. 10:36cero, que sería el semáforo A en uno
  266. 10:38y el semcontrol para inicializar el
  267. 10:41semáforo uno, que sería el semáforo B en
  268. 10:43uno, o sea, que ya tenemos
  269. 10:45cuando ejecutemos este programa, vamos a
  270. 10:48tener los dos semáforos inicializados en
  271. 10:50uno.
  272. 10:51Bueno, ya lo compilé para no, para hacer
  273. 10:53más rápido.
  274. 10:55Bueno, no nos dio ningún tipo de de
  275. 10:58información en el shell, así que
  276. 10:59suponemos que ejecutó bien. Entonces,
  277. 11:02ahora vamos a ejecutar el programa que
  278. 11:04ve
  279. 11:05eh, qué valor tienen los semáforos.
  280. 11:08Vamos a mostrarlo.
  281. 11:10Versem.
  282. 11:15Bueno, acá tenemos el código de versem.
  283. 11:18El semcontrol, ¿sí? Dentro de un printf
  284. 11:22para mostrar el valor del semáforo A.
  285. 11:25Eh, mostrame, dame el valor, devolveme
  286. 11:27el valor del semáforo cero
  287. 11:30y lo mismo para el semáforo 1,
  288. 11:32devuélveme el valor de el semáforo 1,
  289. 11:35que es el semáforo B.
  290. 11:37Bien.
  291. 11:38Ya lo tengo compilado, así que
  292. 11:41vamos a ejecutar ver. Ahí vemos, la
  293. 11:44inicialización fue correcta.
  294. 11:47¿Sí? Así que ya tenemos el paso 2
  295. 11:50hecho.
  296. 11:51Bueno, vemos los códigos de los eh
  297. 11:54procesos A y B.
  298. 11:56Vamos a ver el código del proceso A.
  299. 12:02¿Sí? Bien. Bueno, acá tenemos el ciclo
  300. 12:05infinito,
  301. 12:07la sección de entrada,
  302. 12:10la sección de entrada del proceso A, un
  303. 12:13wait del semáforo A, o un wait del
  304. 12:15semáforo B,
  305. 12:17la sección crítica
  306. 12:19y la sección de salida, un signal del
  307. 12:21semáforo B y un signal del semáforo A.
  308. 12:25Bien.
  309. 12:26Y
  310. 12:29ya habíamos explicado
  311. 12:31qué sucedía con la sección de entrada
  312. 12:34del proceso B,
  313. 12:36¿sí? Está invertida, los wait ahora
  314. 12:39corresponde el primer wait al semáforo B
  315. 12:42y al segundo wait del semáforo A en la
  316. 12:44sección de entrada y la sección de
  317. 12:46salida es indistinto si hacemos un
  318. 12:50signal de A y después un signal de B o
  319. 12:52un signal de B y después un signal de A.
  320. 12:55¿Sí? Recuerden las operaciones P de
  321. 12:58proberen, de wait, B de verogen, de
  322. 13:02signal, ¿sí? Eh y
  323. 13:06recuerden que hay un archivo que se
  324. 13:08llama
  325. 13:09P y B,
  326. 13:11¿sí? Que configura
  327. 13:14que configura el este
  328. 13:18la operación wait y la operación signal,
  329. 13:21¿sí? Esto lo podemos sacar ya.
  330. 13:26Bien.
  331. 13:29Bueno,
  332. 13:31ya hemos eh compilado con el script
  333. 13:35compilar,
  334. 13:37¿sí? Hay que enlazar los objetos,
  335. 13:41pero lo ejecutamos de nuevo, ahí está,
  336. 13:45así que ya tenemos nuestros ejecutables
  337. 13:48proceso A PA y proceso B PB, ¿sí?
  338. 13:53Bueno, ahora solo nos queda ejecutar y
  339. 13:55ver qué pasa.
  340. 13:57Bueno, ahí abrimos dos terminales, una
  341. 13:59para ejecutar el proceso A
  342. 14:03y otra para ejecutar el proceso B.
  343. 14:05Recuerden que son procesos
  344. 14:07independientes,
  345. 14:10¿sí?
  346. 14:11Así que bueno, vamos a ver qué pasa si
  347. 14:12mandamos ejecutar el proceso A. Fíjense
  348. 14:15que tenemos una secuencia infinita,
  349. 14:17¿sí? Sin ningún problema.
  350. 14:20Eh y vamos a ver ahora si mandamos
  351. 14:23ejecutar el proceso B.
  352. 14:25Fíjense, se bloqueó, ¿sí? Ahí tenemos un
  353. 14:28bloqueo.
  354. 14:29¿Sí? Esto puede suceder o no puede
  355. 14:32suceder, eso depende, ¿sí? Se pueden
  356. 14:34generar distintos tipos de secuencias,
  357. 14:38¿sí? Puede haber bloqueo o no
  358. 14:40necesariamente puede haber bloqueo, ¿sí?
  359. 14:42Vamos a Fíjense que también se canceló
  360. 14:45acá, se bloqueó el proceso se bloqueó el
  361. 14:48proceso A, ¿no?
  362. 14:49Bueno, vamos a cerrar esto, vamos a
  363. 14:51terminar el proceso porque están
  364. 14:52bloqueados
  365. 14:54con control C, sigint.
  366. 14:57Bien, vamos eh a hacer otra prueba.
  367. 15:03Bien, vamos a ver cómo quedaron los
  368. 15:06semáforos.
  369. 15:09En cero, ¿ven? Están los dos semáforos
  370. 15:10en cero, así que vamos a inicializarlos
  371. 15:12de nuevo.
  372. 15:15Ahí está.
  373. 15:17Bien, los dos semáforos quedaron en
  374. 15:18cero, si se los procesos A y B están
  375. 15:20bloqueados es porque los dos semáforos
  376. 15:21están en cero. Lo iniciamos ya, lo
  377. 15:23inicializamos de nuevo, lo vemos,
  378. 15:25limpiamos y ahora vamos a mandar
  379. 15:27ejecutar primero el proceso B. Fíjense,
  380. 15:31ahí tenemos una secuencia infinita de B
  381. 15:33y ahora mandamos ejecutar el proceso A.
  382. 15:35Fíjense que ahora ni siquiera
  383. 15:38ahí tenemos otra secuencia porque ahí se
  384. 15:40bloqueó y ni siquiera este el proceso A
  385. 15:44pudo eh hacer una vez la sección
  386. 15:47crítica. En el ejemplo anterior este
  387. 15:50entró una vez a la sección crítica. Así
  388. 15:52que bueno, podríamos seguir probando y
  389. 15:54seguramente tendríamos distintas
  390. 15:57este veríamos distintas secuencias de
  391. 15:58ejecución, ¿sí? Y si modificamos eh el
  392. 16:02nivel de multiprogramación
  393. 16:04o si ponemos más instrucciones dentro de
  394. 16:05la sección crítica, seguramente las este
  395. 16:09digamos las secuencias van a ir
  396. 16:11cambiando, pero obtuvimos un dos
  397. 16:13ejemplos con bloqueo. Bueno,
  398. 16:16perfecto.
  399. 16:19Bueno, espero que haya aclarado algunas
  400. 16:21dudas y bueno, acá termina el video.
  401. 16:25Eh bueno, en realidad no, el video no
  402. 16:27termina acá, termina acá la explicación.
  403. 16:28Ahora viene el video sigue, pero para
  404. 16:30los que se quieran quedar, para los que
  405. 16:32se quieran ir, este cerrar la ventana
  406. 16:35puede pueden hacerlo sin ningún
  407. 16:36problema. De hecho no los estoy mirando,
  408. 16:38así que
  409. 16:41este bueno, eh le quiero agradecer a
  410. 16:44Nahuel por su comentario en el video
  411. 16:47anterior a este, en el último.
  412. 16:49Eh
  413. 16:51en el último anterior a este, por su
  414. 16:52comentario, la verdad que me me cayó muy
  415. 16:54bien.
  416. 16:55Eh Nahuel dice en el en el en el
  417. 16:58comentario que extraña eh mis
  418. 17:00carcajadas, la verdad que me cayó muy
  419. 17:02bien ese comentario y me hizo
  420. 17:05reflexionar porque tenía un poco
  421. 17:08olvidada esa parte de mí. Este así que
  422. 17:11bueno, decidí reflotar o mejor dicho
  423. 17:14decidí
  424. 17:15ser el que fui siempre, ¿no? Pero bueno,
  425. 17:18por motivos que todos estamos viviendo
  426. 17:20un poco la carcajada, este, no no tenía
  427. 17:24con quién compartirla en casa, si me
  428. 17:26yo me río, pero
  429. 17:28algunas veces se cansan de escucharme
  430. 17:29reír, así que bueno,
  431. 17:31este, y bueno, eh cuando estoy en el
  432. 17:34aula no se cansan porque porque me
  433. 17:36tienen respeto nada más.
  434. 17:39Y miedo quizás, no sé.
  435. 17:41Pero entonces dije, bueno, no, vuelve la
  436. 17:44carcajada, pero bueno, decidí
  437. 17:46yo decidí convertirme en un en un
  438. 17:49superhéroe sin poderes o en un
  439. 17:50antiheroe, un tipo Hancock, Hancock
  440. 17:52tiene poderes, ¿no? Pero yo si fuera un
  441. 17:54superhéroe seguramente sería muy
  442. 17:55parecido a Hancock. Este, pero sin
  443. 17:58poderes, así que bueno, este,
  444. 18:01me voy a poner nombre, me voy a poner
  445. 18:03nombre, este,
  446. 18:05voy a ser el payaso Risota, ¿sí? Mmm, si
  447. 18:09quieren que me lo cambie después me
  448. 18:11dicen, cámbiese el nombre que Risota no
  449. 18:12me gusta, pero una vez que uno, este, eh
  450. 18:15ya saca Risota, este,
  451. 18:19le va a quedar de por vida, así que
  452. 18:20bueno, y yo no sé si voy a poder sacarme
  453. 18:23esto alguna vez, mmm porque intento
  454. 18:25sacármelo hace ya hace desde que leí el
  455. 18:27comentario duermo con esto y no me lo
  456. 18:30puedo sacar, la nariz tampoco me la
  457. 18:31puedo sacar, así que bueno, sé, me baño
  458. 18:33con esto, este, después tengo que salir
  459. 18:35al sol para secarme, así que bueno, pero
  460. 18:37bueno, eh Risota, que es un tipo un
  461. 18:40payaso, con el perdón de los payasos
  462. 18:42profesionales, este, yo soy realmente un
  463. 18:46payaso,
  464. 18:47¿sí? Así que bueno, eh bienvenido Risota
  465. 18:51al mundo de de la risa y bueno, mmm me
  466. 18:56autoprocla me autoproclamo
  467. 18:58paladín de la risa, ¿sí? Así que bueno,
  468. 19:01muchas gracias Nahuel, este, me hiciste
  469. 19:04reflexionar y bueno, entonces
  470. 19:08cuidado con Risota,
  471. 19:10que es de temer.
  472. 19:12que es de temer.

About this transcript

This page contains the full transcript of C Linux Posible Abrazo Mortal - 08 by juancarlosjromer, generated from the public captions YouTube serves with the video. The transcript has 2,769 words across 472 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.