Free YouTube Transcribe

Video transcript

AULA 1 - SISTEMAS OPERACIONAIS - 53/2026 - 25/08/2026 - 20h40

Cluster de Tecnologia EAD Unicesumar · 14,755 words · 68 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

0:01He.

0:03>> [música]

0:09[música]

0:30>> Boa noite, Acadêmicos, sejam muito

0:33bem-vindos

0:34à primeira aula ao vivo da disciplina de

0:37sistemas operacionais com ilustre

0:39professor Fausto Andrade dos Santos. Eu

0:42sou Gimena Braás, a professora mediadora

0:44dessa disciplina e irei acompanhá-las,

0:46certo? Então fiquem à vontade, falem

0:49comigo através da opção fale com

0:51mediador. Estou à disposição de vocês

0:53para eh trocarmos ideias e vocês tirarem

0:57todas as suas dúvidas, certo? Então

0:59contem comigo, estou sempre à

1:00disposição, OK? Vou passar alguns avisos

1:02para vocês e em seguida o professor

1:05Fausto iniciará a sua aula.

1:10Estão disponíveis já para vocês a

1:12atividade um com data limite para

1:14entrega até o dia 13/09 e a atividade

1:17mapa até o dia 9, até o dia 20 de

1:20setembro. É muito importante que vocês

1:22realizem todas as atividades

1:23avaliativas, pois elas somam pontuação

1:26para o cálculo da média na disciplina de

1:28vocês, certo? Então, qualquer dúvida,

1:30entra em contato comigo, não fale com

1:32mediador. Temos também a opção eh do

1:35fórum, já está disponível, ele não é

1:38avaliativo, não pontua, mas é de suma

1:40importância que vocês participem, pois

1:42agrega valores de conteúdo e interação

1:43com os colegas da turma. Os vídeos das

1:46atividades AE1 e atividade mapa estão

1:49disponíveis no material da disciplina.

1:52Então lá os professores estão explicando

1:53como vocês devem desenvolver a atividade

1:55de vocês. Então assistam os vídeos e

1:58façam as suas atividades com êxito.

2:01Temos também está disponível a atividade

2:05da semana eh de conhecimentos gerais,

2:07onde vocês têm um questionário para

2:09responder e vocês podem receber um

2:11certificado de até 16 horas de

2:14atividades complementares. Então,

2:15excelente oportunidade para vocês

2:17adquirirem mais conhecimento e também

2:19pontuação para as notas de vocês.

2:23Vamos falar sobre eh realizar as

2:27atividades de extensão que vocês já têm

2:29disponível no ambiente estudo de vocês.

2:31Cliquem na opção extensão e verifiquem

2:32as opções que vocês têm disponíveis para

2:34vocês já iniciarem com essas projetos de

2:37extensão que são obrigatórios, tá? Eh,

2:39fiquem atentos a todos os comunicados,

2:41são muito importantes. Qualquer dúvida,

2:43entra em contato. E ao final dessa aula

2:45eh haverá uma enquete liberada e peço

2:49que se vocês puderem responder, será de

2:51grande eh eh avaliação para nós, tá bom?

2:55Nós estamos estamos com projeto já para

2:58o módulo 5127

3:00sobre a escolha do livro digital ou

3:03livro físico para algumas disciplinas de

3:05cursos. Então, na opção, no menu lateral

3:08esquerdo, no meu papel no mundo, tem a

3:11opção bora participar. Vocês podem

3:13acessar e podem fazer a escolha de

3:14vocês, se estiverem disponíveis para as

3:16disciplinas do curso de vocês, ok? Temos

3:19também o programa Racatom, que tá com a

3:23proposta maravilhosa sobre desbloqueia a

3:26possibilidade dos dados. é um projeto

3:28incrível de imersão para desenvolver eh

3:31protótipos de inteligência artificial

3:33inteligentes para que eh construja

3:37possível construir esses agentes

3:39inteligentes para eh eh solucionar

3:41problemas do dia a dia. Então são coisas

3:43muito interessantes, tem muita coisa

3:44importante, interessante acontecendo e

3:46vocês têm que ficar por dentro.

3:48O Santander continua com a inscrição

3:50para bolsa de R$ 3.000 para um apoio

3:53financeiro acadêmico. Então você que

3:56está aí precisando de um apoio na sua

3:58área acadêmica para investir, não fique

3:59de fora. Faça sua inscrição até o dia 31

4:02de agosto, ok? Boa noite, obrigada pela

4:05presença de todos vocês. Vocês vão ficar

4:06agora com o professor Faustso e uma aula

4:09incrível de sistemas operacionais.

4:14>> Boa noite, professora. Obrigado aí pela

4:16pelas informações iniciais. Prazer estar

4:18com vocês nessa aula maravilhosa de

4:20sistemas operacionais. E vamos lá, hein?

4:23Vamos lá para esse assunto tão

4:24importante. Essa aula, infelizmente,

4:26como o assunto é muito extenso, eu vou

4:29ter que eh pedir um pouco do do

4:32entendimento aí do do colega aí do do

4:34Libras, porque a gente vai pegar pesado

4:37agora, né? porque vamos botar em

4:38velocidade dois a nossa aula aqui.

4:40Valeu. Mas olha só, gente, vamos lá pro

4:42nosso assunto.

4:44esse assunto tão importante pra

4:45carreira, sistemas operacionais, é um

4:47dos assuntos que eu sempre falo, aluno,

4:50você quer entrar pra TI, você precisa de

4:53quatro áreas de conhecimento com eh com

4:56vigor, com profundidade, que são

5:00arquitetura de computadores, tem que

5:01entender como o computador funciona,

5:04sistemas operacionais, como a gente

5:07interage com o hardware, como o

5:09computador funciona e como a gente

5:10interage com ele. é algoritmos e e

5:13lógica de programação para você entender

5:16como os programas são feitos e como as

5:18coisas funcionam na computação e redes

5:20de computadores para você conseguir

5:22fazer a comunicação entre computadores

5:24de uma forma coerente, correta e e

5:27cellery. Com esses quatro elementos,

5:29você forma uma base sólida para outras

5:32áreas que queira estudar. Se você for

5:34estudar segurança, vai precisar dos

5:36quatro. Se você for estudar programação,

5:38vai precisar dos quatro. análise de

5:40sistemas, análise de negócio, precisa

5:43dos quatro. Então, qualquer área de TI

5:46que você vira a estudar, você vai usar

5:48essas quatro áreas. E sistemas

5:50operacionais, eh, não é a mais

5:53importante, mas também não é a menos

5:54importante, ela é em igual tom com as

5:56outras três que eu falei, tá? São as

5:57quatro áreas que você tem que dominar,

5:59tá? E hoje a gente vai começar falando

6:02sobre esse assunto eh eh no CERNE, no no

6:07centro dele, naquilo que de fato eh

6:11vocês precisam internalizar de

6:13conhecimento, porque esse funcionamento

6:16principal, por mais que ele seja

6:17conceitual, pareça um pouco confuso de

6:20começo, pareça um pouco, para alguns

6:23pode até falar: "Não, isso é inútil, não

6:24preciso saber disso", você vai perceber

6:27que ele se aplica no em tudo que você

6:29fizer em computação.

6:31Eh, tem uns colegas aí

6:33[limpando a garganta] que tão falando

6:35sobre travando, coisa assim. Eu tenho

6:38percebido, pelo menos para mim aqui, a

6:40transmissão do do da tradução em Libras

6:43do professor Líver ali tá tá tudo certo

6:45e as mensagens estão chegando em tempo.

6:47Talvez se vocês voltarem um pouco na

6:49gravação, né, pegar um alguns segundos

6:51antes, não pegar ao vivo, pode ser que

6:53ela já esteja melhor para assistir. E se

6:56vocês tiverem muita dificuldade de

6:57assistir e ficar travando, volto sempre

7:00no que eu falo, assista de novo com

7:03calma. Eh, esse vídeo é feito para

7:06assistir mais de uma vez, porque os

7:08conceitos não é em 15 minutos que você

7:10vai aprender a internalizar. Vale a pena

7:12assistir de novo, dar pausa, eh pegar as

7:15dicas ali, as palavras-chave, as siglas,

7:18pesquisar, ler no material. É assim que

7:21você vai estudar na sua eh no seu na

7:24formulação que é o curso à distância. A

7:26aula ao vivo é para dar direção pro seu

7:29estudo, é para você ter uma base, um uma

7:33visão geral do que precisa ser estudado.

7:36E o seu aprofundamento vai ser

7:38individual no seu material, na sua, no

7:40seu tempo de pesquisa para completar a

7:43quantidade de horas que a disciplina

7:45prevê. A gente vai ter aí em torno de eh

7:47acho que das 6 horas ao vivo, né?

7:50Considerando ainda a atividade de estudo

7:52de caso, vamos dizer que dá 7 horas no

7:54total. 7 horas de aula ao vivo, não dá

7:58para passar tudo que vocês precisam se

8:00dedicar para aprender o assunto, tá?

8:02Normalmente uma disciplina dessas você

8:04vai demorar 50, 60, 70 horas para

8:07começar a a internalizar o assunto.

8:10Então, entenda que esse tempo extra

8:12precisa ser dedicado fora das aulas ao

8:15vivo. Beleza? [roncando] E vamos lá. A

8:19aula que eu trouxe para vocês hoje, eu

8:20espero completar esse sumário, né? Vamos

8:23começar com os conceitos e tentar chegar

8:24lá nos últimos elementos da lista.

8:27Sistema operacional. Que raios é isso,

8:29professor? O que eu faço? Para que esse

8:31sistema operacional? Ele é o primeiro

8:33software que executa no seu computador.

8:36Porque vamos lá, o que que é um

8:38computador? Ele é um hardware, uma

8:40máquina que faz cálculos. Então você, de

8:44uma forma ordenada, se você der

8:46instruções para ele, ele vai realizar

8:48cálculos em uma forma sequencial, uma

8:50maneira ordenada ali sequencial. Só que

8:52se eu precisar eh realizar esses

8:54cálculos e tiver que fazer um programa

8:56rodar nele, eu vou fazer um programa

8:58rodar e ele vai começar e terminar e vai

9:01acabar o que precisa ser feito. Só que

9:04no começo lá, quando tudo era mato

9:06ainda, né, e não, a computação ainda eh

9:09tava iniciando, a gente eh eh

9:14era suficiente fazer um programinha

9:17rodar no computador, era suficiente.

9:19Hoje já não é. Hoje, enquanto a gente tá

9:21aqui gravando a aula, tem pode estar

9:23aqui com uma tela do lado, eh, com um

9:26navegador na internet vendo a

9:30previsão do tempo, outra janela aqui com

9:32um editor de texto e etc, tudo

9:34acontecendo meio que ao mesmo tempo.

9:37Então, eu preciso de vários programas na

9:39memória, cada um rodando uma finalidade.

9:42E se eu for fazer isso na mão, na unha,

9:45programador fazendo isso na unha, é

9:46inviável, porque eu vou ter que lidar

9:48com questões de paralelismo,

9:50concorrência, impasses entre aplicações.

9:53E o sistema operacional, ele vem para

9:55essa finalidade. Ele precisa trabalhar,

9:58ele precisa intermediar a comunicação

10:01entre os processos, os programas que

10:04estão rodando e fazer com que eles

10:07coexistam de forma harmônica na eh na

10:10função do computador. Então vamos lá. O

10:13computador, como eu falei, é um hardware

10:15que faz conta. O sistema operacional é o

10:17primeiro software que vai executar para

10:20eh permitir que você interaja com esse

10:24hardware. Interaja de que forma?

10:27pegando o tempo desse hardware para

10:29executar outras outros processos, eh

10:34interagindo com os dispositivos de

10:35entrada e saída de uma forma coordenada

10:38para que cada processo tenha um tempo

10:41para fazer essas essas consultas

10:44e por aí vai. Então o sistema

10:46operacional ele gerencia os recursos do

10:49computador de forma a arbitrar, né? Quem

10:52pode usar o que, em que momento, OK? no

10:55tempo e no espaço, digamos assim.

10:58E

11:00o que que é o sistema operacional?

11:01Então, eh, de que forma eu eu gosto

11:04muito dessa abstração do professor

11:05Tanemba no livro dele de Sistemas

11:07Operacionais Modernos, que ele escreveu

11:09lá nos anos 90, mas de lá para cá sempre

11:12foram sistemas operacionais modernos,

11:14eh, comparados com sistemas operacionais

11:16dos anos 70 que não eram modernos. Veja,

11:20esses sistemas operacionais modernos que

11:22ele escreveu, ele fala muito dessa

11:24abstração em que o hardware vai ser

11:26usado por programas aplicativos, ou

11:28seja, que tem uma aplicação,

11:30aplicabilidade

11:31específica e ele precisa entregar acesso

11:35ao hardware. Mas como que um programa

11:37vai acessar uma área de memória? Bom, a

11:40área de memória tem um endereço lá

11:42complicado de navegar e por vezes que o

11:46programa ele precisa alocar essa

11:48memória, mas ele não pode fazer isso

11:49diretamente, porque se ele fizer isso

11:51diretamente, ele pode entrar em conflito

11:53com outros programas. Precisa que haja

11:55um árbitro intermediando essa

11:58comunicação para que eh de fato eh a

12:01entrega da memória seja uma área que

12:03esteja disponível, que ninguém usou

12:05ainda, né? Então, eh, por conta dessa

12:09particularidade, o sistema operacional

12:11precisa, eh, intermediar. E o professor

12:15Tanebal, quando ele colocava lá no, no

12:17livro dele essa essa perspectiva, ele

12:19fala assim: "Tudo que o hardware mostra

12:21é feio." Por que que é feio? Porque você

12:24tem dificuldade para identificar o que

12:26aqueles bits significam. você não sabe o

12:29que tá escrito em determinada área de

12:31memória. O hardware ele escreve lá e

12:33você fica sem saber se se representa a

12:36posição que mouse que mudou, se

12:38representa uma letra que foi escrita,

12:40uma tecla apertada, se é uma impressora

12:43pedindo eh um sinal específico.

12:46Então você não sabe o que tá

12:47acontecendo, mas o sistema operacional

12:51ele vai decodificar essas

12:54e essas mensagens feias e vai criar o

12:58que a gente chama de interface bonita.

13:00Ele vai dar uma uma interface de

13:02programação, eh, uma API que a gente

13:05fala, né? uma interface de aplicação

13:07específica

13:09pro pras pros programas acessarem esse

13:12hardware. Então, quando eu quiser saber

13:14qual é a tecla que foi apertada do

13:16teclado, eu vou perguntar pro sistema

13:18operacional essa exatamente essa

13:20pergunta e ele vai lá no hardware e

13:22verifica qual foi a tecla apertada,

13:25porque ele sabe decodificar isso, a

13:27interface feia paraa interface bonita.

13:29Beleza? Então, eh, a frase dele é sempre

13:33essa, né? Sistemas operacionais

13:34transformam o hardware feio em

13:36abstrações bonitas. Se eu quiser

13:38perguntar, eh, se eu quiser gravar na

13:40área de vídeo, eu vou ter uma função lá

13:42do sistema operacional e digo: "Olha,

13:44desenha na tela para mim essa janela". E

13:47ele vai eh desenhar lá na memória de

13:49vídeo do jeito que a memória de vídeo

13:51aceitar. Mesmo que eu não saiba como

13:53isso é internamente, mas ele vai fazer

13:55do jeito correto. Esse é o objetivo do

13:57sistema operacional. O sistema

13:59operacional, claro, intermediar os o

14:03hardware significa que ele vai gerenciar

14:05recursos críticos e quais sejam eles, o

14:09uso do processador. Então, o processador

14:12é um recurso finito, ele precisa ser eh

14:15o que a gente vai falar depois

14:16escalonado, precisa ser eh feito uma

14:19fila de prioridades em que cada processo

14:21vai usar o processador eh ordenadamente.

14:24E é um por vez. O processador não pode

14:26ser usado vários ao mesmo tempo. É um

14:30por vez. Ah, mas meu computador tem 16

14:33núcleos de CPU. Pois é, são 16 que vão

14:36ser usados cada um uma vez, um por vez.

14:40Pode ser usar os 16 ao mesmo tempo, mas

14:43é finito. É, são aqueles 16. Eu sou do

14:46tempo ainda que os os processadores eram

14:49que a gente chamava falava de monocor,

14:52ou seja, um núcleo. Então era um

14:55processo por vez terminado, ele vinha o

14:58próximo e assim vai. Então, era a luta

15:02que que a gente que a gente sobreviveu,

15:04né, que a minha geração sobreviveu

15:06daqueles processadores daquele jeito.

15:09E e basicamente é isso. Ele vai

15:11gerenciar recursos críticos ali,

15:13recursos que são limitados de eh eh

15:17fazendo com que os processos acessem

15:19ordenadamente, respeitando os limites

15:22uns dos outros. seja o gerenciamento de

15:25memória, ou seja, ou quer dizer, eh, a

15:29memória sendo alocada, respeitando os

15:32espaços ali para cada processo, os

15:34dispositivos sendo alocados eh

15:37ordenadamente numa janela de tempo em

15:39que o processo vai ter a resposta que

15:42ele solicitar no momento oportuno,

15:44quando o dispositivo responder.

15:46arquivos. Quando você tiver um um

15:48compartilhamento de arquivos, eles sejam

15:51eh compartilhados

15:54quando eles sejam abertos por um

15:56processo, outro processo seja sinalizado

15:59antes de tentar abrir também. Esse tipo

16:01de controle é o sistema operacional que

16:02faz. Desenhar na interface gráfica tem

16:05que ser limitado só o sistema

16:07operacional que realiza as questões de

16:09segurança e controle de acesso todo

16:13também nessa ideia. o acesso à rede

16:14também controlado pelo sistema

16:16operacional. Então ele é um gerenciador

16:18de recursos, ele é o árbitro que

16:20intermedia o acesso aos recursos por

16:23parte dos processos, né? Então ele vai

16:26ter os recursos todos que a gente já

16:27falou

16:30no sentido aí memória, dispositivos de

16:33entrada e saída e outros recursos que se

16:36visualizar. a processadora, é um recurso

16:37também [roncando]

16:39e organizados no tempo e no espaço, no

16:42tempo de acesso e no espaço,

16:44considerando eh espaço de armazenamento

16:46e tal, como a gente já mencionou, tá?

16:49aqui esse diagrama, só para ter uma

16:51ideia, né, como o sistema operacional

16:54gerencia tudo isso.

16:56E o sistema operacional também eh tem

17:00essa perspectiva de ser o intermediário

17:04pro do usuário para o hardware e o

17:07usuário, lógico, vai ter suas aplicações

17:09de nível de usuário que vão querer

17:11acessar o hardware.

17:13Ah, as aplicações elas podem estar e

17:17usar uma interface de acesso chamada

17:20comando de linha, ou seja, um terminal

17:23comando de linha sendo o caminho de

17:27entrada de comandos ou de interação com

17:29o usuário. Ou você pode usar interface

17:32gráfica. Então, são as duas formas, as

17:34duas manifestações de interação do

17:36usuário. Além disso, os processos quando

17:39são iniciados, eles vão ter privilégios

17:42no nível usuário ou privilégios no nível

17:45núcleo. O que quer dizer isso? quer

17:48dizer que os os processos, quando eles

17:50tiverem privilégios de nível usuário,

17:52eles vão ter recursos limitados, eles

17:55vão ter acessos limitados ao ao nível de

17:59acesso previsto para ele. Então, eh ele

18:02vai ter acesso à sua própria memória,

18:05acesso eh que a segurança permita para

18:07aquele usuário que iniciou o processo,

18:09aquilo que está no escopo de atuação

18:11dele, limitado daquela forma. E

18:14processos de modo núcleo a gente

18:16considera como se fosse processo do

18:18administrador, que tem privilégio

18:20elevado, tá? Então, basicamente, modo

18:23usuário é o privilégio básico e modo

18:25núcleo é o privilégio elevado em que ele

18:28pode fazer mais, muito mais, talvez tudo

18:30inclusive, e que eh levanta a

18:34necessidade de você eh se precaver, né,

18:36de ter certeza se é o caso de realizar

18:39certas operações, porque elas podem

18:41inclusive danificar o funcionamento do

18:43sistema operacional, tá?

18:46E

18:48tem uma pergunta interessante aí. Ozinho

18:51colocou Linux é um exemplo de ambos,

18:53correto, professor? Linux é um exemplo

18:56de ambos que tem Cli e GUI. É isso que

18:58você quer dizer? O Windows também tem

19:01hoje em dia, tá? Eh, se você comprar

19:04Windows Server, eh, eu não lembro se é

19:06Nano ou Core, que é o nome da

19:08distribuição, ele vem só com comando de

19:10linha também, tá? Mas é claro que sua

19:12sua observação está correta. Linux é um

19:15exemplo que tem o modo comando de linha,

19:18que você não vem com interface gráfica

19:19acoplada e você pode acoplar uma

19:21interface gráfica e iniciar por ali, tá?

19:24Eh, mas bacana a sua observação.

19:26Obrigado pela pela ideia aí. E fica essa

19:29dica que o Windows também tem, o Windows

19:31Server também tem, é somente comando de

19:34linha. Eh, se você ligar

19:37o Windows,

19:40não, mas acho que o Windows novo, ele

19:42vai entrar na interface gráfica de

19:43qualquer maneira, mesmo que você queira

19:45entrar no modo de reparação. É que no

19:47modo de reparação você entra na

19:48interface eh comando de linha, fica

19:51limitado ali, mas funciona mouse, tem

19:53interface gráfica também, então não dá

19:55para comparar. Eh,

19:59a Gisele Oliveira fez uma pergunta

20:00interessante. A aula de hoje abrange

20:02unidades um e dois, tá? E aulas

20:04conceituais, eu não tenho certeza, não

20:06sei fazer esse paralelo não, mas a ideia

20:08é que a gente vai progredir no conteúdo

20:11e pode ser que o meu material fique um

20:13pouco assíncrono com a o material

20:16didático, porque tem elementos que eu

20:18gosto de inserir para aumentar um pouco

20:21a o aproveitamento de vocês na

20:23disciplina. O material tem que ser lido

20:25de ponta a ponta e entendido de ponta a

20:27ponta, mas as minhas aulas são para

20:30complementá-lo e as aulas conceituais

20:32também. Então são três fontes de

20:33conhecimento, além de vocês terem que

20:35pesquisar na internet, pesquisar em

20:37livros, ah, os conceitos que a gente

20:39fala em aula, beleza? Muito bacana.

20:41Obrigado pela observação. Eh, e vamos

20:44lá. O que que é que raios é um sistema

20:46operacional, né? Continua a pergunta

20:48inicial lá. Sistema operacional foi tudo

20:50isso que a gente falou e ele está ali

20:52entre o software e o hardware, OK? Eh,

20:56ele tem uma as formas de conversar com

20:59os programas, com os programas, os

21:02aplicativos que você instalar. Eh,

21:05[limpando a garganta]

21:06eles têm eh formas de comunicar que são

21:09as chamadas que os aplicativos vão pedir

21:12recursos avançados e o hardware também

21:16pode interagir. Os dois primeiros ali, a

21:18chamada de sistema significa quando o

21:22aplicativo precisa de de um privilégio

21:24elevado, ele pede pro sistema

21:26operacional essa chamada de privilégio

21:28elevado. E é quando ele também precisa

21:31de interrupção de software, quando ele

21:33precisa é mudar de de nível, né? São as

21:37duas formas que ele vai interagir com o

21:39sistema operacional para mudar de modo

21:42usuário para modo núcleo. Além disso, o

21:44hardware também pode conversar com o

21:46sistema operacional avisando o que a

21:48gente chama de interrupções, né? A gente

21:50vai falar de interrupções nessa, não sei

21:52se dá tempo nessa aula, mas

21:53provavelmente na próxima. A ideia da

21:55interrupção é que quando um dispositivo

21:58estiver pronto, né, uma chamada que foi

22:01feita para ele antes, ele terminou,

22:03resolveu, aí ele vai fazer uma

22:04interrupção avisando: "Estou pronto para

22:06que o sistema operacional eh eh entregue

22:09aquele resultado para o processo que

22:11pediu. Por exemplo, eu vou pedir um dado

22:13que está no HD, mas eu não vou ficar com

22:15o processador parado aguardando isso. É

22:17muito ciclo de CPU perdido para isso.

22:19Então ele vai deixar o HD lendo o dado e

22:24vai entregar esse dado para eh eh vai

22:27aguardar esse dado lá e vai aguardar

22:29não, na verdade vai continuar

22:30processando outros processos. Quando o

22:33dado ficar pronto, o HD faz a

22:35interrupção, ó, estou pronto. E aí o

22:37sistema operacional vai chamar de novo o

22:39processo que pediu para que ele eh trate

22:42aquele dado que ele pediu. Beleza? Isso

22:44que é para por isso que existe a

22:46interrupção de hardware. E por isso que

22:48eu falei lá no começo que estudar

22:50arquitetura de computadores é importante

22:52para você associar com essas informações

22:53aqui e compreender como as coisas

22:55funcionam, como o sistema operacional

22:57trata isso e como isso vai influenciar

22:59seu desenvolvimento de sistema, sua eh

23:02arquitetura de sistemas, como você vai

23:05eh montar sua estratégia de software

23:07para que ele tenha desempenho ótimo. OK?

23:12Muito bacana a pergunta do Alan John

23:14ali, ó. STMD e Power Shell, os dois

23:16conversam com o hardware?

23:18D é o a interface comando de linha, é o

23:22Cli, certo? Embora está numa janela no

23:25ambiente gráfico e o PowerShell também,

23:28né? Os dois eh materializam o CLI numa

23:31interface gráfica, né? Pou essa

23:33confusão, mas ele é a interface comando

23:35de linha. Eles não falam com o hardware,

23:38tá? Eles são entradas de comando para

23:41você chamar aplicativos. Os aplicativos,

23:45os programas, os processos que vão

23:47rodar, eles vão pedir pro sistema

23:49operacional acesso ao hardware, da forma

23:52como a gente tem ali um e dois. Por

23:54exemplo, vamos pegar aqui casos, eh,

23:57vamos pegar casos específicos aqui, mais

24:01específicos. Esse do Scorpio eu vou

24:03responder daqui a pouquinho.

24:05Eu vou eu vou falar daqui a pouquinho,

24:06tá? Primeiro eu vou continuar falando do

24:08sem Porschell rapidamente e eu já falo

24:11do do da pergunta do Scorpion ali. Aí,

24:14olha só,

24:16chamada do sistema, ele vai, vamos supor

24:17aqui, caso, ah,

24:22é, beleza, digamos ali um caso de, vamos

24:25pegar um formatar pen drive lá, vamos

24:27pegar o formatar dis sket que era eh,

24:30não, o formatar de pen drive também dá.

24:32Se eu escrever lá no no meu comando de

24:34linha formate, sei lá, F2 pont, né, a

24:38unidade do do pen drive, ele vai

24:40formatar, né, eh vai formatar completo.

24:43RQ seria, então, quer dizer, eu estou

24:45chamando um comando que vai executar uma

24:48formatação, mas que no padrão que é hoje

24:51o o Windows,

24:54ele vai precisar conceder privilégios

24:56elevados para esse comando, para ele

24:59poder chegar no fazer as chamadas

25:01específicas pro hardware. Embora ele

25:03sempre vai estar intermediando, mas vai

25:04usar o driver lá do hardware para isso.

25:07De qualquer maneira, vai fazer uma

25:08chamada de sistema que a gente acabou de

25:10exemplificar para subir o privilégio do

25:14comando formate para ele chegar lá no

25:15pen drive, tá? Então o formate f2/q vai

25:19fazer a formatação rápida e se fizer o

25:21formate C2/Q, você vai perder seu

25:24sistema operacional e vai ter que eh vai

25:26perder essa aula, vai demorar um pouco

25:27para você continuar estudando. Não façam

25:29isso em casa, crianças. Eh, voltando pra

25:32pergunta Scorpion, Scorpions Ges ali,

25:35essa chamada de sistema seria aquela

25:36mensagem que aparece pergunta app fazer

25:38alteração no Windows? É, é um momento em

25:41que o sistema operacional te pergunta se

25:44você autoriza o processo a elevar o

25:48nível dele eh naquela execução. É a

25:50forma como o Windows 7 paraa frente

25:53criou mecanismos de mudar o o nível do

25:56usuário. Até o Windows XP eh tudo rodava

25:59em modo núcleo. Então você conseguia, ao

26:02mesmo tempo que você tava rodando editor

26:04de texto, você conseguia apagar arquivos

26:06do sistema operacional sem pedir licença

26:08para ninguém. E era um problema, porque

26:10quando você reiniciasse o computador,

26:11ele pararia de funcionar, né? Até

26:12naquele momento já poderia parar de

26:14funcionar. Mas muito obrigado pela

26:15pergunta aí. Eu eu agora eu entendi a

26:17correlação que que havia ali, né? Eh,

26:23o Luís Fernando fez uma pergunta um

26:25pouco fora da do objetivo,

26:27que é: "Professor, se eu compro com

26:29Windows ou Linux um notebook, né? Eh,

26:33vou comprar um computador com Windows ou

26:35Linux?" Eu acho que vai depender do que

26:37você quer fazer, tá? Se for por questão

26:39de preço, o com Linux vai ficar mais

26:41barato. Se for por questão de você

26:44trabalhar, talvez com Windows seja

26:45melhor, caso o seu cliente, seu freguês,

26:48eh, use aplicativos ali, sei lá, você

26:50vai programar em DNET, embora tem DNET

26:53para Linux, né? Mas, eh, você vai

26:55trabalhar com Photoshop, Photoshop roda

26:57melhor no Windows, então tem que ver o

26:59que você vai fazer, tá? Eh, eu confesso,

27:02eu no meu trabalho lá, eu eu sou DBA e

27:06hoje sou DB, né? Estou DBA.

27:08E

27:10eu uso o Linux o tempo todo, já tem bem

27:12uns tem quase, tem mais de 15, tem quase

27:1520 anos que eu uso o Linux direto e

27:19só que em casa eu uso Windows, então

27:21quer dizer, para gravar a aula aqui é

27:22mais prático no Windows. Tudo vai

27:24depender do que você precisa fazer, tá?

27:25Não existe esse negócio de ser xita, só

27:28funciona um, só funciona outro. Tem cada

27:30caso um caso, né? Eh,

27:34a Vânia fez uma pergunta interessante

27:36ali também. Podemos comparar o sistema

27:38operacional a um hospedeiro, não? Eh, é

27:42um, desculpa, hospedeiro. Claro,

27:44hospedeiro, sim. Não, um hóspede, né?

27:45Hospedeiro, ele é ele, ele ele é um

27:48hospedeiro para os processos, né? Para

27:51os programas que vão ser hospedados ali,

27:53tá? Eh, de fato, quando a gente cria a

27:55virtualização, a gente tá criando

27:57processos hóspedes naquele ambiente

28:00hospedeiro. Bacana isso aí. Bacana sua

28:03observação. Obrigado. Eh,

28:06e aqui eu eu só espero que vocês não

28:08fujam muito do tema porque a nossa aula

28:10ela é ela é bem intensa e a gente eu

28:13quero muito conversar com vocês, mas é

28:14bom a gente focar nos objetivos aqui. Eu

28:16vou tentar seguir aqui as perguntas que

28:18vocês fizeram, mas tentem não fugir dos

28:20assuntos, tá? Professor? Não sei se pode

28:23ser considerado relíquia, mas conforme

28:25pera um pouquinho, pera um pouquinho.

28:27Passou. Conforme passou as novas

28:28atualizações operacional

28:30impossibilitário de acessar o DOS. como

28:32era isso e faz parte dessa conexão com

28:34hardware, não é? Porque foi atualizado o

28:36DOS, ele ele tem uma obsolescência

28:39intrínseca que eh dificulta o

28:41funcionamento de sistemas modernos. A

28:43exemplo do que eu falei do modo núcleo

28:45nativo, né? Você não troca de modo

28:47usuário para modo núcleo, fica sempre

28:49modo núcleo e ele é inseguro, né? Se

28:51torna inseguro, por isso que bloqueou.

28:54Então você precisa do PowerSell e das

28:57das eh derivações do Power Shell para

29:00proteger o ambiente quando você quiser

29:01executar alguma coisa, eh pelo menos

29:04mudar de modo usuário para modo núcleo.

29:06Bacana sua pergunta. Obrigado, viu,

29:07Vinícius?

29:10Ã,

29:12deixa eu ver aqui.

29:15Eu tô vendo vocês conversando. Eu só vi

29:17se tinha mais alguma pergunta

29:18específica. Se eu deixar alguma pergunta

29:20de vocês para trás, talvez

29:24eh

29:27ali o Alex ele fala ali, parece a

29:29pergunta do colega sobre qual comprar.

29:30Pode ser o Windows e fazer comparação,

29:32repartição para uso do Linux, certo? É

29:34uma alternativa também você ter os dois,

29:36mas você ter os dois, você vai usar usar

29:38só um e não vai ficar trocando,

29:40entendeu? Melhor na verdade é você ter

29:43um e usar aquele. E se ele não for o

29:46ideal pro seu trabalho, você vai lá e

29:48troca, né? Embora ficar trocando sistema

29:49operacional é complicado, né? Então se

29:52você instalar o Linux e acostumar,

29:54excelente. Se você instalar o Windows e

29:55acostumar, excelente também, tá? Eu

29:58penso dessa forma. Eh, aí tem uma

30:01pergunta aqui, professor, o Dnet hoje

30:02funciona em Linux com DNET core? Ah,

30:04obrigado. Não era pergunta, era

30:05afirmação. Beleza, obrigado. É isso

30:07mesmo, Igor. Professor, então o sistema

30:09operacional, uma camada entre hardware e

30:11usuário, ele tem dois níveis. É uma

30:12camada entre as aplicações que o usuário

30:15vai usar, certo? E o hardware é ali,

30:19veja os dois níveis que tá aparecendo

30:21ali, o software, que é o rosinha desse

30:22diagrama, né? Eles são ali o editor de

30:25texto, eh, o navegador de internet, eles

30:28estão acima do sistema operacional e

30:30eles usam as chamadas do sistema

30:31operacional para conversar com o

30:33hardware, para imprimir na tela, para

30:35ler o que o teclado tá escrevendo, para

30:36ouvir da placa de rede e por aí vai.

30:41Ah, olha que pergunta interessante aí.

30:43Eh, professor, desculpa ignorância, mas

30:45na sua função DBA precisa aprofundar

30:47conhecimento de sistemas operacionais.

30:49Poderia explicar a importância na sua

30:50função? Muito obrigado pela pergunta,

30:52Alan. Como é que diz? Finalmente alguém

30:54reconheceu meu papel, né? Brincadeira

30:56fora da parte aí. Mas é que eh embora a

31:00minha função de DBA é a principal, mas

31:02eu também faço gestão de configuração de

31:04software, ou seja, eu mantenho a camada

31:07de aplicação dos sistemas funcionando e

31:11mantenho a configuração delas, versão de

31:13sistemas e tal. Eh, são duas funções

31:15separadas, mas a de DBA é

31:18importantíssimo o sistema operacional

31:19porque o banco de dados ele conversa

31:22diretamente com o sistema operacional.

31:23Eu preciso manter as chamadas sistema

31:26operacional eh adequadas, versões

31:28corretas, eh versão do sistema

31:32compatível com a versão do meu banco de

31:33dados. Ã, ah, beleza, chegou o colega

31:36aí. Obrigado lá o colega que saiu.

31:38Bem-vindo aí, viu? E vamos lá. Eh, eu

31:43preciso manter essa compatibilidade

31:44entre as versões de de todos os

31:47softwares e os e o banco de dados. ele

31:50vai utilizar esse chamado sistema

31:51operacional para otimizar tudo aquilo

31:53que ele realiza. Por exemplo, eh, se eu

31:56fizer leituras em sequência, as chamadas

31:59elas podem precisar a quero pegar um

32:02exemplo mais concreto. Ahã.

32:06Deixa eu pegar um exemplo concreto de

32:08banco, né? No fim das contas, tudo que

32:11você vai, vamos, vamos pegar aqui bancos

32:12de dados, Postigres, Postgres no

32:14Windows, ele vai ter eh uma estrutura de

32:17de de

32:21como é que fala? eh

32:25uma infraestrutura de implantação dele,

32:29vamos dizer que você vai ter o diretório

32:31que ele vai ficar instalado, você vai

32:33ter o serviço dele, vamos lá, no

32:35Windows, o serviço que vai ser eh

32:37configurado, as permissões desse

32:39serviço. Então, conhecer o sistema

32:41operacional com profundidade para você

32:43hospedar o serviço de forma adequada.

32:45Por vezes, você vai precisar entender

32:47como a segurança do sistema operacional

32:49opera para você proteger os arquivos do

32:52seu banco. Eh, muito comum você ter, eh,

32:56como eu falei, o postgris, você instala

32:58ele de uma forma errática ou eh uma

33:01forma qualquer e depois ele vai ter

33:04problemas para expandir armazenamento.

33:06Aí você descobre que foi instalado num

33:08disco lento ou que o diretório não tá

33:10com permissionamento correto. Então,

33:12essas questões elas vão influenciar

33:13diretamente a minha vida de DBA. Eh, na

33:16hora de implantar eu costumo implantar

33:19em Linux, OK? Mas se eu precisar

33:22implantar em Windows, eu também preciso

33:23conhecer o sistema operacional e suas

33:25particularidades na hora de subir.

33:27Depois a gente vai ver as questões de

33:28contêiners que também influenciam a

33:30implantação, porque eu posso usar

33:33contêiners e que vai ter outro

33:34comportamento na hora de implantar.

33:36Muito bacana essa

33:38eh eh essas perguntas, né?

33:42E eu queria avançar no assunto, pessoal.

33:44Eu vou responder uma última pergunta. Eu

33:46acho que vocês falaram várias coisas. Se

33:48eu tiver esquecido de alguma coisa, a

33:50professora puder eh identificar ali.

33:54Eh, se eu tiver esquecendo alguma coisa,

33:56professora Gimena, se quiser, como é que

33:58é, interceder aí, não tem problema, tá?

34:01Eh, eu agradeço as perguntas, elas são

34:02muito boas por esse momento, mas a gente

34:03tem que avançar na teoria, senão a

34:05disciplina vai ficar quebrada, né? E se

34:07eu tiver esquecido alguma coisa, por

34:09favor, me avisem. Eu é só repetir a

34:10pergunta, beleza? Eu vou avançar nesse

34:12assunto. Isso aqui é muito legal, mas a

34:14gente tem que avançar.

34:16A gente precisa falar de classificação

34:18de sistemas operacionais, porque em

34:19algum momento vocês vão precisar desses

34:21elementos para definir como vai ser a

34:23solução de software que você vai

34:25implementar, como vai ser a estratégia

34:27que você vai usar. Então, a gente

34:28precisa entender o que que é sistema

34:30operacional monusuário. É o sistema

34:32operacional que só dá para ter um

34:35usuário por vez, não é? Porque eh

34:38[limpando a garganta]

34:40no fim das contas acaba sendo também que

34:42se você pode ter cadastros de múltiplos

34:45usuários, naturalmente o sistema

34:47operacional vai acabar te permitindo

34:49múltiplos acessos simultâneos. Mas a

34:51ideia de monousário significa aqueles

34:54sistemas operacionais antigos, né?

34:56muitas vezes monolíticos que só

34:59permitiam um acesso por vez e se você

35:01quisesse trocar tinha que sair, entrar

35:03outro, tal. O DOS, como era eh o antigo

35:08DOS, ele rodava de um jeito que não

35:10tinha tela de login, era entrar e usar,

35:13porque não havia eh critérios de

35:17segurança para separar isso aí. Depois

35:19com a implantação de outros sistemas

35:21operacionais, né, na verdade já existiam

35:23os outros, né, os baseados em Unix já

35:25tinham essa ideia de usuário e

35:28separavam, né, os espaços de usuário e

35:31consideravam a ideia de múltiplos

35:33usuários.

35:34A quantidade de tarefas também é

35:37particular, porque você pode implementar

35:39um sistema operacional monotarefa

35:42hoje, não tem problema. Em que

35:44circunstância, professor? Bom, eu usaria

35:48um sistema monotarefa pensando em

35:50mineração de Bitcoin. Por quê? Porque eu

35:53vou dar toda a todo o processamento para

35:57um processo só e vou deixar ele usar o

35:59máximo da capacidade do hardware

36:02eh para aquela finalidade que é ganhar

36:04dinheiro, né? Fazer dinheiro.

36:06E então monotarefa faz sentido em algum

36:09contexto, tá? Eh, sistemas embarcados,

36:12sistemas especialistas também podem ser

36:14monotarefa, mas aí vai depender, lógico,

36:17do objetivo que se espera, né, da

36:19finalidade que se planeja. Então, o

36:21monotarefa ainda tem finalidade se a

36:23gente for analisar. Eu vou dizer para

36:25vocês que não é porque é, mas poderia

36:28ser, como eu falei, a questão de

36:30mineração de Bitcoin poderia ser

36:31monotarefa, mas hoje em dia, por

36:33praticidade não é, né? a gente acaba

36:36embarcando em sistemas operacionais

36:38multitarefa e tal, e os processamentos

36:41ali de Bitcoin vão acontecer em

36:42ambientes eh que ainda vai ter essa

36:45burocracia, esse overhead de chaveamento

36:48de tarefas.

36:50Ã,

36:52eu vejo aqui

36:56eh algumas perguntas interessantes. O

36:58Edson falou ali: "Então,

37:00ter múltiplos acessos facilitam um

37:02vazamento de dados?" Claro, eh, ter

37:05múltiplos acessos significa que você tá

37:06compartilhando, alguém pode vazar essa

37:08informação, tá? É natural, mas eh todo

37:12sistema que você for trabalhar, você vai

37:14ter que trabalhar com multitarefa, multi

37:16múltiplos acessos e naturalmente você

37:19vai ter que conviver com essa

37:21possibilidade.

37:22Fortn,

37:24eu não lembro o que que é esse Fortnet,

37:26Vinícius, Fortnet pode ser considerado

37:27monotarefa. Fortnet.

37:30Eu não tô identificando o que é o

37:32Fortnite que você está falando, meu

37:33amigo. Se você puder dar um

37:36contextualizar melhor o que é o Fortnet,

37:39[limpando a garganta] tá? Eh, ah, tá. O

37:42Edson falou, refiro múltiplos usuários.

37:44É, de fato, foi o que eu entendi também.

37:46Múltiplos usuários. De fato, você tem a

37:49possibilidade de vazamento, porque tem

37:50vários usuários, várias senhas para

37:52vazar, né? Uma delas pode vazar e dar

37:54problema para você.

37:57Eh, mesmo se vários usuários, terá

38:00sempre um administrador. Sim, não é o

38:02caso de você ter todo mundo ser

38:04administrador, então ninguém administrar

38:05nada, né? Na verdade, todo mundo eh todo

38:08mundo pode, né? Fica esquisito, né?

38:11Então, [roncando] mas o Fortnet, agora

38:14entendi, Fortnall, ele é multitarefa.

38:17Multitarefa, possivelmente multiusuário

38:19também. Se não me engano, Fortnet é um

38:22fire baseado em Linux também, tá? Então

38:25ele por trás lá tem eh um sistema Linux

38:28embarcado, sistema dedicado ali

38:30especialista, tal e e ele é multitarefa,

38:34ele você vai olhar lá dentro, ele tem

38:36vários processos acontecendo, tá?

38:39Fortgate, tá? O Fortgate é Fortnet é a

38:43marca, né? O Fortgate que é o o Firewall

38:45lá, ele a princípio é isso aí. Outras

38:47marcas de Fel certamente vão também usar

38:50sistemas multitarefa, porque

38:52eh é evidente que ele vai trabalhar com

38:55múltiplas conexões e se for um processo

38:58só chaveando múltiplas conexões, ele vai

39:01eh vai se perder. Ele precisa de

39:03múltiplos

39:05processos e eh trabalhando

39:07individualmente as conexões, tá?

39:10Bacana. Obrigado aí pelos

39:11esclarecimentos. E por fim, ali a

39:13quantidade de processadores, a gente vai

39:14perceber que tem uma uma

39:18um conjunto de, digamos, de complexidade

39:21tratando quando é monoprocessado

39:24para multiprocessado.

39:26Beleza?

39:28Ah, então a gente tem essas

39:30características aí para lidar. A

39:32classificação de sistemas operacionais

39:34quanto ao escalonamento, ou seja, quanto

39:36a regra, ao mecanismo de chaveamento

39:40entre processos. Ele pode ser em lote,

39:43ou seja, um processo por vez em

39:45sequência. Eu faço um script lá, uma

39:48sequência de tarefas e ela vai rodar em

39:50lote, tá? As duas palavras aparecem, né?

39:53O bet e tradução literal em lote, né? Em

39:57sequência, em pacote.

39:59E elas vão acontecer em sequência, um

40:01por vez. Não é porque chama um, chama o

40:03outro, chama o outro e vai fazendo. Não.

40:05Chama o primeiro, termina, chama o

40:07próximo, termina, chama o próximo e

40:09termina. Então é em sequência de fato.

40:13Tempo compartilhado é a estratégia

40:15normal, é o computador de vocês aí

40:17rodando, assistindo essa aula e tal,

40:20porque os processos eles vão pegando

40:22fatias de tempo e cada um faz um

40:24pouquinho. Como a gente tem bilhões de

40:26instruções por segundo, você consegue

40:28fazer muita coisa no mesmo segundo e

40:31parece que foi ao mesmo tempo, mas na

40:33verdade foi em sequência. inúmeras

40:35coisas acontecendo em sequência que

40:38foram muito rápidas aparentemente como

40:40se fosse ao mesmo tempo. E o sistemas em

40:43tempo real, eu não lembro se eu coloquei

40:45slides aqui para dar essa

40:48eh acho que eu coloquei para explicar. E

40:50o tempo real significa significa quando

40:54você tem um sistema que precisa

40:56responder no imediato instante em que um

40:59evento acontece.

41:00Eh, vamos pegar,

41:03vamos pegar sistemas tempo real,

41:04sistemas que

41:06eh eu que eu não queria usar exemplos

41:08que o hardware resolve, né? Porque se a

41:11gente falar, vamos dizer assim, um

41:12exemplo, um sistema que protege contra

41:16tiro, né? Aquele sistema lá os

41:18israelenses tem lá o o escudo de ferro

41:20lá que protege contra mísseis e tem o

41:23que protege contra disparo também. Ele

41:25tem que trabalhar no pentelhéso de

41:27segundo lá no no detalhe. E quando

41:30houver um um disparo vindo,

41:33outro evento tem que acontecer. Aquele

41:35lá é o hardware acontecendo, fazendo

41:38acontecer. Mas os sistemas em tempo real

41:40eles têm que dar resposta. por exemplo,

41:43eu quero responder na tela o nanosegundo

41:47que aconteceu um evento. Então, ele quer

41:49em tempo real e eu quero eh no momento

41:52que o evento aconteceu, eu quero

41:55registrar o o tempo do relógio que está

41:57lá na eh armazenado lá no relógio do

42:00computador e pegar esse tempo de relógio

42:02e mostrar na tela. Veja, é um exemplo de

42:04tempo real.

42:06Ah, o tempo real ele só vai acontecer se

42:10houver apoio de hardware, de contadores

42:13específicos, relógios específicos, ah,

42:16físicos, né, dando sinais pro sistema

42:18operacional para que ele entregue esse

42:21recurso. OK?

42:24Ah,

42:26eh, bacana que o Alan Felipe respondeu

42:28de domo, né? é o domo de ferro lá do dos

42:30israelenses lá que que protege lá da das

42:33questões de

42:35como é que é? De eh de ataques, né,

42:37ataques externos. E ele faz isso no

42:40nível hardware, né, não é o sistema

42:41operacional que vai definir, né, senão

42:43vai dar tela azul lá no no disparador do

42:45do do sistema de defesa, né? Então tem

42:49que ser o hardware fazendo aquilo lá.

42:51Então aqui a gente tá dando exemplos de

42:54situações em que acontece sistemas em

42:55lote. Eu dei uma ideia geral lá, a gente

42:57dá uma acelerada aqui nos nos exemplos.

43:01Ah, e o Alan Jones fez uma pergunta.

43:03Sistema operacional dá prioridade no

43:07tipo no escalonamento, tipo, se eu estou

43:09em um processo longo e preciso e preciso

43:12abrir uma aplicação mais simples e

43:14rápida, então ele executa, ele para,

43:16executa mais rápido e volta. Isso pode

43:18ser uma estratégia de escalonamento, mas

43:21ela tem que ser implementada. No fim das

43:23contas, o sistema operacional, ele tem

43:25que implementar a regra de escalonamento

43:28que seja mais justa, tá? A gente, eu, eu

43:31sempre falo sobre isso, que eh a

43:34política de escalonamento tem que ter

43:36pensar em justiça, OK? E por ela pensar

43:39em justiça, talvez ela tenha que

43:41terminar o que tá fazendo para começar

43:42outro ou eh ir alternando um pouco de

43:46cada um até e atender todos de forma

43:49equânime.

43:51Então, é parecido com o que você pensou,

43:52mas não é bem o que você pensou.

43:56Ã, só porque a aplicação é mais simples

43:58e rápida, não quer dizer que ele vai

43:59fazer primeiro, a não ser que dê um

44:01critério de prioridade para isso. Aí

44:03você vai estabelecer outro critério de

44:05escalonamento. Beleza? Bacana.

44:08Eh,

44:10é que faltava esse critério da

44:10prioridade, por isso que eu eh por isso

44:13que eu falei. Vamos lá. Então, em Bet a

44:16gente tem os sistemas multiprogramados,

44:18ou seja, eh não é monoprogramado, não é

44:21um processo somente, eu tenho múltiplos

44:23processos, mas eu vou executar somente

44:26um por vez em sequência, tá? E os

44:28sistemas em Bet costumam ser interação

44:31com o usuário. É aquele que você põe

44:33para executar, espera ficar pronto. Você

44:35sai de perto e deixa fazer funcionar.

44:38Ele demora para responder, mas costuma

44:40ser o desempenho melhorado quando

44:42comparado com sistemas interativos, né?

44:44Us de tempo compartilhado. Observa, a

44:46gente tem ali o processador e os

44:48processos vão chaveando, né? Primeiro

44:51um, depois outro, depois outro, depois

44:52outro, um pouquinho para cada um. E se

44:54todos rodarem um pouquinho de cada um,

44:56no mesmo segundo eu posso rodar todos,

44:58talvez até mais de uma vez, né? A ponto

45:01de parecer que tá sendo ao mesmo tempo.

45:05Ah, tem uma pergunta nova ali do Tom Tom

45:08Chess. Eh, esse escalonamento funciona

45:12em conjunto com as expectativas de

45:14requisitos mínimos de hardware que as

45:16empresas impõem sistema operacional como

45:17Windows 11?

45:19Não, o escalonamento é um algoritmo que

45:22é implementado pelo sistema operacional,

45:25seja o Windows 11, seja Linux, seja Free

45:27BSD, ele vai implementar essa

45:31eh essa política de chavear entre os

45:34processos, tá? e vai ser processos de

45:37usuário, processos do sistema

45:38operacional, todos os processos vão

45:40entrar no escalonamento. Ele vai ter os

45:42critérios lá estabelecidos no algoritmo.

45:45Eh, quando você fala em conjunto com as

45:47expectativas de requisitos mínimos de

45:48hardware,

45:51ele não é em conjunto, ele ele meio que

45:54usa, né, usa o hardware e se o hardware

45:57for a quem da necessidade, ele vai rodar

45:59lento. Eu vi um, não tem muito tempo

46:02ainda, esse ano falaram que um era um

46:06processador antigo, foi iniciar um

46:09sistema operacional moderno e levou tipo

46:12dias para abrir a tela de login, um

46:14negócio assim. Colocaram lá para

46:15processar. Como o processamento era

46:17muito lento comparado com o nosso nosso

46:19atual e por mais que o sistema

46:22operacional fosse pequeno, para ele

46:24abrir a tela de login, ele levou dias,

46:26mas mas rodou, entendeu? Eh, o hardware

46:29era abaixo do requisito mínimo, mas

46:30rodou. Então,

46:33sistemas em tempo compartilhado estão

46:35relacionados a sistemas

46:37multiprogramados, senão não seria tempo

46:38compartilhado, compartilhado de um só,

46:40né? Vai chavear de um só. E a fatia de

46:42tempo entre os processos. Eh, nós que

46:45fizemos escalonamento ao próprio sistema

46:47operacional. Isso mesmo, Vânia. É o

46:49sistema operacional que faz. O que a

46:51gente precisa saber nesse momento é que

46:53ele faz. E as regras gerais que ele faz.

46:56Outro aspecto que eu gosto de falar nas

46:59aulas, que é justamente o que que me

47:01atrai mais, inclusive paraa carreira que

47:03vocês escolheram, né, de desenvolvimento

47:05de sistemas, mesmo que tenha alguém aí

47:07na turma que seja de redes, eh mesmo que

47:11eh

47:13mesmo que seja pessoas que vão trabalhar

47:15na segurança, não tem problema.

47:18Vocês vão ter que entender o sistema

47:20operacional, compreender por que a gente

47:22Ah, obrigado aí, Tomess, valeu aí a a

47:25ideia aí. Eh,

47:27na verdade, vamos eh vamos pensar assim,

47:31todas as características que eu tô

47:32falando, elas vão trazer insites,

47:35conhecimento e ideias para vocês de como

47:37os problemas foram resolvidos com o

47:39passar dos anos. Porque imaginem, nós

47:42saímos lá nos nos anos 80, os primeiros

47:46PCs desktop, né, os primeiros

47:48computadores pessoais que surgiram, que

47:49as pessoas levaram para casa, começaram

47:51a programar por conta própria e

47:53começaram a compreender como usar e tal.

47:55eh eles tinham limitações severas na

47:57quantidade de memória, capacidade de

47:59processamento. Então, eh tudo que foi

48:02feito foi feito com muita criatividade

48:05para dar certo, né? Eh, imaginem o Atari

48:082600, ele tinha o quê? Ele tinha quantos

48:11kiles de memória? Acho que era 2 KB ou 4

48:13KB de memória. Imagina você ter isso e

48:17conseguir programar o River Raid lá, o

48:20Enduro, né? Jogos que são até hoje são

48:23divertidinhos, né? Mas eu tinha quilobby

48:25de memória para fazer isso, né? Então,

48:28se vocês procurarem o histórico dessas

48:30tecnologias,

48:32vocês vão ver ideias muito interessantes

48:34para otimizar código hoje em dia, para

48:36fazer soluções interessantes hoje em

48:37dia. E o que eu vou falar daqui paraa

48:39frente em sistemas operacionais são

48:41insites dessas características que hoje

48:44nos acompanham, né? como o escalonamento

48:46começou, os algoritmos eh rudimentares

48:49que apareceram e a combinação deles que

48:52gera o que a gente consegue eh ter de

48:55solução hoje. E eu vejo a discussão de

48:57vocês aí, eu vou ter que avançar no

49:00conteúdo.

49:01Eh,

49:03deixa eu ver aqui. Eh, só tem ali, tem

49:07muitas informações. Se vocês tiverem

49:09alguma pergunta mais específica assim,

49:11por favor, vocês repitam, porque eu vi

49:13que surgiu um monte de mensagem aqui

49:14agora. me perdi. Mas olha só,

49:17classificação dos sistemas em tempo real

49:20é aquela que eu tinha falado lá do do

49:22hardware dar a eh dar apoio para que o

49:25sistema operacional entregue o de fato

49:28tempo real, o o ciclo de CPU ser base

49:31para entregar essa resposta o quanto

49:34antes, né? Então as interrupções de

49:36hardware são mandatórias, né? Para você

49:39ter a resposta ali em tempo real. E os

49:42temporizadores, tanto de software como

49:44de hardware, são mandatórios. A gente

49:47tem aí a classificação de sistemas

49:48operacionais de rede, é uma

49:50classificação eh fundamental porque

49:54eh vocês vão compreender a diferença

49:56deles para outras classificações, porque

49:58ele precisa de características para

49:59comunicação e e o funcionamento. Vamos

50:03lá. O sistema operacional, ele vai

50:05funcionar os aplicativos dele, no escopo

50:08dele, no hardware dele, tal.

50:11Só que quando ele vai falar em rede, ele

50:13não precisa necessariamente conversar

50:15com um sistema operacional igual, ah,

50:18com programas iguais, enfim, ele precisa

50:20de um dialeto comum, né? Um, digamos,

50:24aqui no Brasil a gente fala português,

50:25na China fala mandarim e a gente quer

50:28conversar com eles, a gente não tem um

50:30idioma comum. Vamos falar os dois, vamos

50:31falar inglês, por exemplo. Vamos pegar

50:32um exemplo esdrúxulo aqui, mas é mais ou

50:35menos a ideia. Eu tenho um dialeto comum

50:37para eh que computadores diferentes

50:39conversem. Veja, sistemas operacionais

50:42de rede, né, eles eh coexistem, eles

50:47sabem, você tem noção de que existem

50:49dois computadores, eles têm noção um do

50:51outro e eles não precisam

50:53necessariamente serem iguais, eles podem

50:55ter sistemas operacionais diferentes. O

50:56que interessa é que eles tenham dialeto

50:58para conversar em comum

51:00e eles podem compartilhar recursos em

51:02rede com base nesse dialeto, né? seja

51:05por chamadas estrangeiras, seja por

51:07chamadas remotas, quero dizer, eh, ah, o

51:11Maurício respondeu a pergunta ali, um

51:13exemplo de sistema operacional

51:14compartilhado. É que você fala de tempo

51:16compartilhado, Windows e Linux são de

51:18tempo compartilhado, tá? Eh, que não é

51:21compartilhado, é sistema operacional em

51:23tempo compartilhado, tá? É o tempo

51:25compartilhado entre os processos. Acho

51:27que foi isso que faltou a a o se é isso

51:31que te te gerou confusão, né?

51:34E o Luís Moura fez outra pergunta.

51:35Quando um fabricante homologa um sistema

51:37operacional, significa que ele testou o

51:38sistema em seu hardware? Sim, é isso

51:40mesmo. Ele homologa, é claro, tem que

51:42molhar a mão, né? Quem quer rir, tem que

51:44fazer rir. Eh, eu homolo lá o sistema

51:46operacional porque o o desenvolvedor do

51:49sistema eh combinou comigo, ó, pô, é

51:52homologado, vai impulsionar minhas

51:54vendas porque eu vou vender pro para

51:56quem comprar seu hardware. Então, a

51:57gente faz essa combinação.

51:59Eh, além do que, enfim, você pode vender

52:03a fazer a venda casada, como a gente

52:05compra computadores com

52:07eh computadores com sistema embarcado já

52:09instalado, porque daí você facilita a

52:11implantação dele depois pelo usuário.

52:14Eh,

52:16e aqui a gente começa a falar então

52:18quando a, voltando pro sistema

52:19operacional de rede, que a gente já deu

52:20todos os detalhes, em comparação com

52:23sistemas operacionais distribuídos, que

52:26a gente tem a ideia de sistemas

52:27operacionais multicomputadores, sistemas

52:29em grade, né, em que você tem uma

52:32resposta eh

52:34que é respondida pelo grupo, né? Então

52:37você tem, por vezes, vamos supor, o

52:38Facebook, o Google, você faz lá, abre o

52:41página do Facebook, parece que você tá

52:43indo em um servidor, mas na verdade é um

52:45grupo de servidores que responde pelo

52:47mesmo serviço como se fosse um só. Você

52:50vai na página do Google, eh, e, e é um

52:53grupo de servidores que responde pelo

52:54mesmo serviço, mas parece um só. Então

52:57essa comparação é uma uma ideia de um

52:59funcionamento em grade, o grid, grid

53:02computing, né, ou em cluster, em

53:04conjunto. Ah, o ponto é que esses

53:08sistemas eles respondem como se fosse um

53:10só. Então todos eles têm que ter o mesmo

53:13sistema, o mesmo software rodando, eh as

53:17respostas têm que ser padronizadas

53:18iguais e tal, mas eles respondem como se

53:21fosse um conjunto, tá? a mesma aplicação

53:23executada em vários computadores. Muito

53:25bacana isso aí.

53:28Ainda pela classificação de sistemas

53:29operacionais, é importante a gente

53:31lembrar de sistemas eh interativos

53:34embarcados, computadores pessoais e

53:36servidores. São quatro classificações

53:38fundamentais. Sei, acho que é, eu acabei

53:40colocando sistema interativo, todo

53:41aquele que o usuário pode executar

53:43comando, seja ele servidor, seja ele eh

53:45eh estação de trabalho, eh mesmo o

53:49sistema embarcado é interativo também,

53:51né? A não ser que ele não seja

53:53interativo, né? que você não tem

53:55interface de comando. Ah, professor,

53:56fala um sistema não interativo.

53:59Ahã. Sistema dentro de Arduino. O Arduío

54:04ele provê serviços, ele conversa com

54:06outros servidores, mas ele não é

54:08interativo pro usuário, a não ser que se

54:10coloque uma interface, né? Mas, por

54:11exemplo, um Arduíno que esteja tenha

54:14sensores e esses sensores sejam eh

54:17consumidos por outros sistemas, então

54:19ele vai ter um sistema operacional

54:21embarcado e e não interativo, né? Então,

54:26eh veja uma uma situação aí específica

54:29ali, ó. O suporte TI monitoramento fez a

54:32gente lembrar de uma coisa bem antiga,

54:34de muito antigamente, o Red Novel com

54:36estação terminal burro sem HD, eh, dando

54:40boot pela rede, usando sistema

54:41operacional somente. Então, esse aí você

54:44tá querendo lembrar,

54:46ah,

54:48esse aí parece grade, mas não é grade

54:50não, esse aí é sistema operacional em

54:51rede, tá? Porque quando você roda ele

54:54[limpando a garganta] em terminal

54:55remoto,

54:58o terminal remoto tá rodando o sistema

55:00operacional na rede e tá só visualizando

55:02a tela no remoto. Essa visualização de

55:05tela, mesmo assim, o sistema operacional

55:07é de bacana, bacana esse aí. Eh,

55:12eh, o sistema operacional em rede, ele

55:14tá trabalhando em rede, OK? E o terminal

55:16remoto, só vê a tela projetada lá do do

55:20servidor do do terminal remoto. Ele é um

55:24sistema operacional em rede, tá? Ele não

55:25é grid não, tá? Esse aí não é grid.

55:29A pergunta do Oziel também, ó, em

55:31sistemas distribuídos do sistema

55:32operacional em Linux ou em Windows, dá

55:34para fazer os dois. Você pode ter o eh

55:38em sistemas distribuídos, você pode ter

55:39os dois. A questão aqui é que eh a

55:44tendência é que todos tenham que ser

55:45iguais para eles poderem compartilhar os

55:48recursos de uma forma homogênea. O que

55:50pode acontecer também é você fazer uma

55:52um grid usando contêiner. Aí você vai

55:55ter um sistema Linux, o contêiner eh

55:59embarcado eh hospedado nesse Linux e

56:03conversando em rede, aí você dá para

56:05fazer uma farofa aí. Mas o Windows ele

56:07pode também ter contêiners, né? embora

56:09ele vai usar WS para poder eh eh simular

56:12o ambiente Linux. Então, eh é um é uma

56:15bagunça, é uma bagunça, mas não é

56:17limitado a Linux, não. Eh, sistemas das

56:21lâmpadas inteligentes, olha que pergunta

56:23interessante do Luiz Moura. Sistema de

56:25lâmpadas inteligentes, eles são eh

56:28embarcados, né? Aí os de lâmpada

56:30inteligente, eu acho que ele, eu nem sei

56:32se tem sistema operacional naquilo, eu

56:33acho que não é considerado sistema

56:34operacional. Eu acho que são só

56:37dispositivos mesmo. Ah, mas ele conversa

56:39em rede, né? Aí dependendo se ele se ele

56:42receber eh identificação na rede e

56:46responder em rede TCPIP, aí vai dar

56:48diferença. Eu não tenho certeza para

56:50falar não. Eu tenho a impressão de que

56:52ele nem tem sistema operacional,

56:55porque daí é só o hardware que tá

56:56conversando com você ali, OK?

57:00E ele seria considerado embarcado, seria

57:02considerado embarcado interativo, né?

57:04Porque tem um botão ali de ligar e

57:05desligar.

57:06Eh, bacana, bacana. Mas

57:11eh

57:13tá, o Luís Moura falou, podemos

57:15controlar até pelo celular, mas aí

57:17depende de um controlador, não é isso

57:18que a Vânia falou ali, mas depende de um

57:20controlador. Eu acho que tem que ter um

57:22controlador,

57:23um terceiro no caso, porque se ele for

57:26independente, ele receber IP na sua rede

57:28e você comunicar diretamente, aí

57:30significa que ele tem um sistema

57:32embarcado lá, como se fosse o Arduío que

57:33eu falei, tá? Então aí vai ser um eh

57:38sistema embarcado. E aí aqui a gente tá

57:40falando de sistemas embarcados, que esse

57:41é o elemento. O que que é o sistema

57:43embarcado? É um sistema especialista que

57:45só funciona naquele hardware.

57:48A exemplo da lâmpada inteligente que

57:49você acabou de citar, a exemplo dessa

57:52geladeira aí que tem uma tela ali para

57:54pra pessoa instalar e paraa pessoa

57:56interagir e é específico para

57:59dispositivo.

58:01Beleza? Então, muito bacana as

58:03observações de vocês. Então, sistemas

58:05embarcados interativos ou não, né? Tal

58:08eh o fato dele conversar em rede, ele é

58:11um sistema em rede, mas se ele não tiver

58:13ali uma interface nele mesmo para você

58:16eh interagir, ele não é considerado

58:18interativo. Se ele falar em rede, ele tá

58:21sendo interativo pela rede, não é?

58:23Entendam que os conceitos são

58:24diferentes, né? interagir local nele

58:27diretamente com tela, com mouse,

58:29teclado, seja o que for, botões ali.

58:31Seria a ideia do interativo.

58:34Beleza? Avançando aqui, vamos fugir

58:36dessas filosofias, né? Vamos a aos

58:38fatos. Eh, a questão é que computadores

58:41pessoais são interativos, são eh

58:43multiprocessados agora, são eh

58:46multitarefa, multiusuário. Eu coloquei

58:49essa tela de Windows XP aí só para matar

58:51saudade, né, da do campinho dos

58:52Teletubs.

58:54Mas só pra gente lembrar que é desde

58:56essa época aí de muito antes até, os

58:58sistemas já eram os sistemas de

59:01computadores pessoais e para tarefas

59:03domésticas em comparação com servidores.

59:06Ah, a ideia do servidor é ele prover

59:10serviços. É por isso que a gente fala

59:11servidor. Serve, né? Serve para alguma

59:14coisa. Ele serve o quê? Página web,

59:17serve banco de dados serve serve de

59:20prover, né? Servir. Ah,

59:24ele entrega quaisquer serviço que seja,

59:27compartilhamento de arquivos, etc.

59:29Então, todos esses aspectos,

59:32ã, tornam ele um servidor. Ah, meu

59:35computador em casa pode ser um servidor?

59:37Pode, pode. Se você colocar serviços

59:39nele e consumir de fora, ele está

59:41fazendo papel de servidor, tá? Eh, a

59:44ideia é que o servidor dedicado vai ter

59:48serviços que vão ser usados por um

59:50grupo. Então, a gente acaba criando em

59:52um e esse servidor em um hardware mais

59:55robusto para poder atender o grupo. Ao

59:57passo que seu computador em casa pode

59:59ter 8 GB de memória e vai resolver o

1:00:02problema, eh, o servidor às vezes

1:00:04precisa de 100 GB e talvez fique lento,

1:00:06né? Porque muita gente acessando isso,

1:00:09dando eh eh detalhes eh meramente em

1:00:13termos de memória. A gente tem que

1:00:14pensar também processador, placa de

1:00:16rede. Opa, Liverson, bem-vindo de volta

1:00:19aí. Maravilha. Eh,

1:00:22e então pensando assim, placa de rede,

1:00:25quantidade de processadores, ah, a

1:00:28quantidade de memória que a gente falou,

1:00:30velocidade de armazen do armazenamento,

1:00:31etc., né?

1:00:36Ah, olha que ideia bacana ali. Eh, lá

1:00:39Loureiro falou: "O roteador é um sistema

1:00:41embarcado que controla um sistema

1:00:42específico." Bacana, muito bacana sua

1:00:44ideia. O roteador, de fato, tem um

1:00:46sistema operacional próprio dele,

1:00:48embarcado, eh, específico, que opera em

1:00:52rede e, a princípio é eh, a princípio é

1:00:56multiuário, a princípio é multitarefa,

1:00:58né? Então, a gente tem todas essas

1:01:00classificações pros dispositivos que

1:01:02você agora vocês podem pegar as

1:01:04classificações que nós falamos e sair

1:01:06classificando os dispositivos. Vamos lá.

1:01:08O smartphone. O smartphone que tipo que

1:01:10é? É embarcado? É multitarefa,

1:01:12multiusuário? Então vamos pegando aí.

1:01:14Vamos e por aí vai. Certo? Eh,

1:01:19deixa eu ver.

1:01:21Eu tô vendo que vocês têm bastante

1:01:23interações aí. Eu vou eu vou avançar.

1:01:25Beleza?

1:01:27Agora a gente vem paraas próximas

1:01:28classificações fundamentais que nós

1:01:30temos aí. Uma delas e das principais é

1:01:33processo.

1:01:35Que raiz é processo, professor? processo

1:01:37é quando eu pego um programa, um código

1:01:40lá, uma sequência de instruções, coloco

1:01:42na memória e digo que ele vai ser

1:01:45executado, vai ser processado, vai

1:01:48passar pelo CPU, né, pelo processador

1:01:50central de processamento. Então, por

1:01:53isso que ele se chama processo, que ele

1:01:54está em processo.

1:01:56Ele é basicamente então uma sequência de

1:01:58instruções que vai ser executado e a

1:02:00gente precisa conhecer as

1:02:01características delas dessa sequência de

1:02:04instruções, os metadados que o o eh que

1:02:08o circundam pra gente poder compreender

1:02:11como o sistema operacional manipula esse

1:02:13programa. Porque vamos lá, o sistema

1:02:15operacional vai colocar esse programa em

1:02:16memória, vai trazer esse código paraa

1:02:18memória e vai identificá-lo de uma forma

1:02:21que ele consiga mandar eh eventualmente

1:02:24ele ser processado de forma ordenada.

1:02:27Ele precisa dos metadados para isso. E

1:02:29quais são os metadados? Ah, não, daqui a

1:02:32pouco a gente fala dos metadados. Faltou

1:02:33um detalhe ainda.

1:02:35Se eu carregar o mesmo programa duas

1:02:37vezes na memória, eles são dois

1:02:39processos, tá? Se eu abrir duas vezes o

1:02:41bloco de notas, são dois processos de

1:02:43bloco de notas separados, tá? Se eu

1:02:45tiver dois navegadores, são dois

1:02:47processos de navegador, embora o mesmo

1:02:49código, mas a gente vai ver que a

1:02:50execução deles gera resultados

1:02:52diferentes.

1:02:54Da mesma forma, então os processos eles

1:02:56podem ser de primeiro plano e de segundo

1:02:57plano. O foreground que a gente fala de

1:03:00primeiro plano são os processos que têm

1:03:02interação com o usuário e os processos

1:03:04de segundo plano é o que a gente vai

1:03:05chamar de serviço. Fica eh que só os

1:03:09próprios processos conseguem interagir.

1:03:11nós usuários não conseguimos interagir

1:03:13com os processos de segundo plano,

1:03:15beleza? dos dados ali, então, que são eh

1:03:19estruturados para manipular do processo,

1:03:21a gente tem o contexto de software, o

1:03:22contexto de hardware e os espaços de

1:03:24endereçamento. Essas três perspectivas

1:03:26que são colocadas ali, tá ali no

1:03:28diagrama da direita, é assim, são os

1:03:30metadados que esse processo tem para que

1:03:34o que o sistema operacional consiga

1:03:37manipulá-lo.

1:03:38tipo o process ID, ou seja, o código do

1:03:43processo, o número do processo está em

1:03:45execução que o próprio sistema

1:03:46operacional atribui quando inicia ele.

1:03:49usuário que iniciou, que por vezes é um

1:03:52código também, um número de usuário, a

1:03:55prioridade do processo, a data de

1:03:56criação, o tempo que já usou de CPU, eh

1:04:00quanto tempo já usou e quanto tempo, eh,

1:04:02pode vir a usar, as cotas de CPU, cotas

1:04:05de acesso que ele pode ter, os

1:04:07privilégios que pode ter. Então, todas

1:04:09essas características e outras

1:04:12são controladas pelo sistema operacional

1:04:14para determinar eh quando esse processo

1:04:17vai entrar em execução de novo, tá? São

1:04:19características que vão eh o ser usadas

1:04:22para determinar isso, né? As o contexto

1:04:25de hardware já prevê a instrução que vai

1:04:29ser executada, seja a primeira ou a

1:04:30enésima que que vai ser executada ali

1:04:32naquele momento. Ele precisa guardar

1:04:34essa informação.

1:04:36Eh, por que que é contexto de hardware?

1:04:38Porque tem a ver com o hardware de fato,

1:04:39né? Tem a ver com a posição da memória

1:04:41em que eh está a instrução que vai ser

1:04:43executada. Ah, a pilha de execução,

1:04:46quantos valores tem na pilha de

1:04:48execução, o status do programa, se ele

1:04:50está aguardando a entrada de saída, se

1:04:52ele está pronto, se ele está iniciando,

1:04:54etc.

1:04:56E e os próprios registradores de

1:04:58propósito geral que vão ficar lá no

1:05:00processador eh em termos de eh em termos

1:05:04de uso dele, né? Aí vai depender da

1:05:06arquitetura, inclusive do próprio

1:05:08processador. O espaço de endereçamento é

1:05:11as áreas corresponde às áreas de memória

1:05:14que o processo tem acesso.

1:05:16Então ele processo vai iniciar, precisa

1:05:19de memória, vai alocar essa memória para

1:05:20ele e ele vai ter isso eh registrado

1:05:23para ele lá isolado o a área de memória

1:05:25que ele tem direito. que não estiver no

1:05:27escopo da área de memória que ele tem

1:05:29acesso, o sistema operacional em

1:05:32conjunto com a unidade de gestão de

1:05:34memória vai proibir ele de acessar

1:05:37outras áreas, né? Ele tem que ser

1:05:38primeiro autorizado a essa área de

1:05:40memória para depois ter acesso a essa

1:05:43área de memória. Veja a importância do

1:05:45espaço de endereçamento ser controlado

1:05:47pelo sistema operacional de forma bem

1:05:49decisiva ali, incisiva.

1:05:51Eh,

1:05:53a gente vai falar disso agora mesmo. A

1:05:55Oziosiel perguntou: "Professor,

1:05:56escalonamento que organiza o início do

1:05:57processo". Exatamente, Oziel. É Oziel,

1:06:01né? É o Oziel. Isso é que entrou a

1:06:03mensagem do Alan em seguida. Aí eu eu li

1:06:05O Oziel e de repente eu vi Alan. Aí eu

1:06:08confundi, mas beleza. Eh, escalonamento

1:06:11que inicia, isso mesmo. E o Alan

1:06:13perguntou em seguida, como ele calcula a

1:06:14prioridade de alocação de memória? Aí

1:06:16vai depender da política do sistema

1:06:18operacional. é uma política justa, tão

1:06:20justa quanto possível, mas eh cada

1:06:23sistema operacional eh eh determina

1:06:27a prioridade de alocação de memória. É

1:06:31interessante sua pergunta porque ele vai

1:06:35autorizar a acesso à memória de acordo

1:06:38com a necessidade do processo. O

1:06:39processo fala: "Preciso de memória". Ele

1:06:41vai lá, prioriza esse acesso. Se não

1:06:43houver mais espaço, vai usar memória

1:06:45virtual. se não houver mais espaço, vai

1:06:47falhar miseravelmente e vai dizer: "Não

1:06:50posso mais alocar espaço, o seu processo

1:06:51vai ser terminado". Porque a ideia é

1:06:54atender o que o processo pedir, né? O

1:06:56sistema operacional, ele só vai coibir

1:06:58esse acesso ele for autorizado. Por

1:07:01exemplo, digamos [limpando a garganta]

1:07:03aqui num caso hipotético, o processo tem

1:07:05acesso aos endereços de 0 a 1000.

1:07:09Se ele tentar acessar o 1001, o sistema

1:07:11operacional vai dizer que não pode. Esse

1:07:14que é o ponto, tá? Agora, se ele pedir

1:07:17mais espaço do 1001 até o 2000, o

1:07:20sistema operacional, se estiver

1:07:22disponível, ele vai alocar. Claro que

1:07:24não é o espaço específico de não é o

1:07:28local, a área de memória específica que

1:07:30vai ser alocada, mas sim a quantidade de

1:07:33memória que vai ser alocada. Ah, eu

1:07:34preciso de 1 me ele vai lá, entrega 1

1:07:36mega. Eu preciso de um mais 1 me entrega

1:07:382 me, eu preciso do endereço tal de

1:07:40memória. Se não corresponder ao endereço

1:07:42autorizado, ele não vai deixar acessar.

1:07:44Eu acho que esse é o ponto que que é

1:07:46importante vocês terem a entenderem a

1:07:48diferença. Quando a gente falar de

1:07:50memória, a gente vai falar desses

1:07:52aspectos com mais calma. Provavelmente

1:07:54na entre a segunda e terceira aula vai

1:07:56dar tempo da gente falar exatamente

1:07:58sobre isso.

1:08:00O que que é um processo em memória? Ele

1:08:02vai ter, então, quando eu trago do

1:08:04armazenamento e coloco na memória, eu

1:08:06vou trazer instruções e, provavelmente,

1:08:09dados. E na maior parte das vezes vai

1:08:13ter dados associados eh a um, digamos

1:08:16assim, um estado inicial da aplicação.

1:08:18Eu tenho valores iniciais ali que vão

1:08:20aparecer, mesmo que sejam eh valores que

1:08:25se eu falar em um um texto que aparece

1:08:27na tela eh para um campo que eu vou

1:08:30preencher depois, aquele texto é um

1:08:32valor fixo que a aplicação tem. Então

1:08:35aquilo lá já é um dado, tá? Não é

1:08:36necessariamente uma instrução, é um

1:08:38dado. Por isso que eles vão vir dados e

1:08:40instruções já no corpo lá da aplicação,

1:08:43no arquivo original da aplicação. E

1:08:46conforme ela vai executando, ela vai

1:08:47operar o HIP, que são os objetos,

1:08:50digamos, globais, né? Os os termos

1:08:53globais, as variáveis globais

1:08:56e e a pilha, que é a execução local.

1:08:59Então, quando eu crio um programa, ele

1:09:01vai vir com os dados e instruções,

1:09:02beleza? Aí eu vou começar a criar lá os

1:09:05objetos globais, um eh eh as classes

1:09:08principais, eu vou alocando elas e elas

1:09:10vão ah eh subindo esses objetos em

1:09:13memória, criando os os globais, eles vão

1:09:16ficar no hiço.

1:09:19Ah, eu vou chamar uma função aqui do do

1:09:21calcula, qualquer coisa. Esse calcula

1:09:24vai ter variáveis, vai ter eh

1:09:27parâmetros. Esses valores de parâmetros

1:09:29e variáveis, eles vão paraa pilha, que

1:09:32ela vai ser eh dinâmica. Toda execução

1:09:35vai ter, cada chamada de função vai ter

1:09:38um vai empilhar. Depois que eu empilho

1:09:41os valores dela, executo e termino, eu

1:09:43desempilho esses valores e termino a

1:09:45execução da função. Então a pilha ela é

1:09:48bem dinâmica, ela vai alterando ali

1:09:50dinamicamente, separado da HIP. Essa é a

1:09:53filosofia geral de funcionamento de um

1:09:56processo em memória, tá? Eu posso ter

1:09:58vários processos, cada um deles vai se

1:10:00comportar dessa forma. Eh, se eu

1:10:02precisar de mais espaço para pilha,

1:10:04naturalmente que o sistema operacional

1:10:06vai conceder esse espaço. Se eu precisar

1:10:08de mais espaço para RIP também, mas a

1:10:10ideia é que esses quatro elementos eles

1:10:12existem, eles coexistem dentro do espaço

1:10:15de memória autorizado pro processo. OK?

1:10:19Eh, a gente falou muito desses

1:10:21elementos.

1:10:24Ah, muito bacana a pergunta do Luca

1:10:26Lucas Alves. É, as funções em baixo

1:10:29nível como no debugger.

1:10:31Eh, o debugger e funções de baixo nível,

1:10:34eu acho que a gente tá confundindo os

1:10:35conceitos. O debugger é quando você vai

1:10:39olhar o que está escrevendo conforme as

1:10:41as instruções são executadas. Beleza?

1:10:43Isso é debugar, é o é o analisar o

1:10:47código conforme ele executa. Funções em

1:10:50baixo nível. Eu acho que você está

1:10:52dizendo as funções que você executou lá,

1:10:54as funções que o seu código tem. Digamos

1:10:56que eh são funções específicas, né,

1:11:00conforme eu vou chamando as funções. Eu

1:11:02tenho a função soma, função empilha,

1:11:05desempilha, enfilera.

1:11:08a função inclui no no arrei, a função

1:11:12grava no arrei, ordena, são funções.

1:11:15Cada função dessas vai ter variáveis,

1:11:17vai ter parâmetros e é por isso que elas

1:11:19usam a pilha que eu citei, ok? Então,

1:11:22muito bacana a sua pergunta, Lucas. Mas

1:11:24é só pra gente ter, quando você fala em

1:11:26baixo nível, eu tô entendendo que são as

1:11:27funções implementadas no código. Então,

1:11:30eh, não necessário. Quando a gente, e

1:11:32quando se usa o termo baixo nível, a

1:11:35gente tá considerando, eh, mais próximo

1:11:38da linguagem de máquina, tá? Então, o

1:11:40que a máquina entende lá, os códigos

1:11:41binários que ela entende, a gente diz

1:11:43que é baixo nível. E o alto nível é

1:11:45quando a gente escreve código em PHP,

1:11:48Python, C, é o alto nível que é o que a

1:11:50gente consegue interpretar, que depois

1:11:52vai ser compilado pra máquina poder

1:11:54entender, tá? Só para definir aí esse

1:11:56negócio do baixo nível. Aí o Cadu falou

1:11:59ali, essa memória que você falou é que

1:12:02tem disponível para o sistema ou

1:12:03especificamente, tipo RAM Cash. Memória

1:12:06principal. A memória principal é alocada

1:12:09como sendo a memória RAM, tá?

1:12:12da RAM. Se a gente olhar lá na

1:12:14arquitetura de computadores, quando eu

1:12:15vou executar, eu copio da RAM para Cash

1:12:18e a Cash vai sendo usada pelo

1:12:20processador, no caso, vai copiando da

1:12:22cash pros registradores e executando as

1:12:24instruções, tá? A cash porque é mais

1:12:26próxima do processador e mais rápida e a

1:12:29memória RAM ela é mais ela é maior, né?

1:12:32Então eu consigo trazer o programa para

1:12:34RAM e transferindo para Cash conforme os

1:12:37trechos que vão ser executados. Beleza,

1:12:39pessoal?

1:12:43Muito bacana a sua pergunta. Obrigado

1:12:44pela todas as perguntas que eu tô

1:12:46tentando responder. Vejam que elas têm

1:12:48finalidade, né? A gente tá a gente tá

1:12:50muito tem uma sinergia muito boa aqui,

1:12:52porque eu percebo que as perguntas de

1:12:54vocês estão bem voltadas para pro

1:12:56conteúdo. É desse jeito que vai dar

1:12:58certo. Beleza, pessoal?

1:13:02Fico feliz aí que vocês estão

1:13:03aproveitando as explicações.

1:13:05E vamos lá. A gente já explicou da

1:13:07pilha, falei da RIP.

1:13:10Eh,

1:13:12ah, eh, o Alan falou uma pergunta. A

1:13:15cash deve ser coisa bem específica

1:13:17porque o tamanho pequeno, 16 m por aí.

1:13:20Alan, eu vou falar aqui e talvez quando

1:13:23a gente falar de memória de novo, mas eu

1:13:25eu é uma questão de arquitetura de

1:13:27computadores, então não é sistemas

1:13:28operacionais, mas está totalmente

1:13:29voltado para cá. Eh, a cash ela está

1:13:33próxima do processador. Se o processador

1:13:36tivesse que ler da memória RAM

1:13:38diretamente, ele demoraria vários ciclos

1:13:41de CPU até trazer eh aquele dado para

1:13:45dentro do registrador do processador.

1:13:47Então, é ineficiente esse que é o ponto.

1:13:51Para que a memória eh seja lida tão

1:13:54rápido quanto o processador pode ler,

1:13:57ele tem que estar no cash. Só que se eu

1:13:59fizer a memória RAM com cash, vai ficar

1:14:02caríssimo e vai ficar vai gerar muito

1:14:05calor, porque a memória cash consome

1:14:08muita energia, então fica inviável, você

1:14:10só consegue ter cash pequena. A cash,

1:14:13inclusive ela fica eh fisicamente no

1:14:16processador, tá? ela já vem já eh

1:14:19embutida no processador para ser mais

1:14:21rápida possível que que você tiver

1:14:23acesso. E e ela é pequena justamente por

1:14:27por quanto essas questões físicas que eu

1:14:29falei, né, de custo e geração de calor.

1:14:31E a memória RAM, ela vai ser muito mais

1:14:35rápida do que o armazenamento, então é

1:14:36melhor deixar os programas nela para

1:14:38poder utilizar, mas ainda assim e não é

1:14:43legal ler diretamente da RAM para gravar

1:14:45nos registradores do processador por

1:14:47conta de desempenho. Então a gente lê

1:14:49pedaços da memória RAM e grava na Cash

1:14:52para que na hora de executar seja tão

1:14:54rápido quanto possível, tá? E vai lendo

1:14:56e vai fazendo isso em blocos, tá? Essa

1:14:59que é a filosofia que se faz. Essa

1:15:02filosofia ela acontece na arquitetura de

1:15:04computadores com eh com ah

1:15:09de uma forma, digamos, incisiva, né? O

1:15:11objetivo dela é na arquitetura de

1:15:13computadores. E o sistema operacional

1:15:15usa esses recursos. Não é o sistema

1:15:17operacional que manda copiar para cash,

1:15:20é o hardware, tá? Mas o sistema

1:15:22operacional determina o que vai ser

1:15:24executado e aí o hardware vai fazer as

1:15:26cópias para cash e tal, tá? Às vezes, da

1:15:29forma como eu explico, pode confundir,

1:15:31parecer que o sistema operacional que

1:15:33manda copiar para cash, mas existe uma

1:15:35otimização de hardware em cima disso.

1:15:38Beleza, pessoal?

1:15:40Então, esse é o momento pra gente Ah,

1:15:42obrigado, Razix, aí que tá tá clareando

1:15:45aí, tá compreendendo. Eh, vejam que

1:15:48estudar arquitetura de computadores vai

1:15:49trazer mais clareza ainda para vocês

1:15:51conforme vocês se aprofundarem nos

1:15:53temas. Por isso que a gente precisa

1:15:54falar dos dois. E por isso que eu falo

1:15:56muito que algoritmos está relacionado

1:15:58com isso, porque aqui, ó, a gente falou

1:16:00aqui de como o programa funciona na

1:16:02memória. Na hora de implementar os

1:16:03algoritmos, você vai perceber essas

1:16:06nuances que eu estou falando, OK? Eh,

1:16:11e bacana, vocês estão aí. Que bom que a

1:16:12gente tá avançando no assunto. A gente

1:16:14falou do RIP da cash, falamos do do RIP

1:16:17da pilha, falamos ali do das instruções

1:16:21e dos dados, né? E agora aqui o que é o

1:16:23processo? O processo é esse conjunto da

1:16:26obra que vai sendo executado, ele é um

1:16:28fluxo de execução, ele vai sendo

1:16:30executado as instruções conforme a

1:16:32orientação lá do do o acesso do sistema

1:16:34operacional, recursos gerenciados pelo

1:16:36sistema operacional. Só que alternar de

1:16:39um processo para outro, veja o que que

1:16:41eu falei de tudo isso que está

1:16:42relacionado. Quando eu copio as

1:16:44instruções para cash, eu tive um gasto,

1:16:47um um recurso físico ali que ah, beleza

1:16:51aí. eh um um consumo de recurso que é

1:16:59isso aí. O o Oziel fez a pergunta: "E

1:17:01quem controla essa questão da cash?" O a

1:17:04otimização de hardware no sentido de que

1:17:07eh o que está na memória, o que eh

1:17:09quando der falha de acesso lá de

1:17:12conteúdo, o hardware tem que ajudar a

1:17:13cópia daquele conteúdo para cash, né?

1:17:16Ah, eu quero um conteúdo da memória. Ah,

1:17:18não tá na cash. Então essa é o que eu

1:17:20falei de falha. ele vai trazer da

1:17:22memória principal para cash. [roncando]

1:17:24Eh, isso tem que ser otimizado por

1:17:26hardware, senão fica lento. Mas o

1:17:28sistema operacional que vai dizer qual

1:17:30instrução vai ser executada e aí o

1:17:33hardware vai determinar a instrução na

1:17:36memória principal e se ela não estiver

1:17:37na cash ainda vai ser copiada. Beleza?

1:17:41H, e olha, outra pergunta muito bacana

1:17:44do Scorpion Gas ali, que é uma dúvida

1:17:47que gera por conta dos contextos em que

1:17:50a gente fala a palavra cash. O cash, a

1:17:52gente fala cash de navegador. Cash de

1:17:54navegador é um armazenamento temporário

1:17:57do navegador web que a gente vai limpar

1:17:59frequentemente, mas a cash do

1:18:01processador é uma memória de auto

1:18:03desempenho que é controlada pelo

1:18:05hardware e pelo sistema operacional, né,

1:18:08de uma forma combinada ali, e que ele é

1:18:11automático. A gente não vai mexer nisso

1:18:13nem se a gente programar em C, tá?

1:18:15Porque é um controle que é feito lá no

1:18:17no nível do hardware, tá? Esse cash do

1:18:20sistema, o cash do processador, a gente

1:18:24usa de forma automática, igual o

1:18:27funcionamento do estômago. A gente tá

1:18:29com fome, a gente come, mas a gente não

1:18:30fica pensando em o estômago fazer

1:18:32digestão, ele é automático, tá? O cash

1:18:35do processador é isso aí.

1:18:38Aí, ó, que bacana. Ah, o suporte de

1:18:39monitoramento. Ah, eu já te dei aula no

1:18:42na outra disciplina. Que bacana, cara.

1:18:43Que legal. Bacana a gente se encontrar

1:18:45por aqui de novo. Valeu, pessoal, pelo

1:18:47pelas eh pelos retornos aí. Então, o

1:18:50processo, quando ele está no processador

1:18:52lá no cash, o as instruções estão lá no

1:18:55cash para executar, se eu for trocar por

1:18:57outro, veja, eu tenho que copiar de

1:18:59volta o que está lá no cash. Se não

1:19:01couber, claro, né, um couber o outro,

1:19:03vou ter que colocar outro no lugar.

1:19:04Então, essas trocas é o que a gente

1:19:06chama de caro. Caro por quê? Porque vai

1:19:09ter que vai demorar para fazer essa

1:19:11troca. Então, toda vez que eu troco de

1:19:13um processo para outro, vai haver uma

1:19:15lentidão. É, é o que a gente sentia nos

1:19:18computadores antigos quando trocava do

1:19:20Word pro Excel, quando abria o

1:19:22navegador, voltava pra calculadora, seja

1:19:24o que for, ficava aquela lentidãozinha,

1:19:26pô, por que que tá demorando, né? Porque

1:19:28de fato ele tá trocando o contexto de

1:19:29uma aplicação para outra, tá? E essas

1:19:31trocas elas têm um custo disso.

1:19:35Eh, então beleza, dadas essas

1:19:38características, agora a gente vai

1:19:40começar a falar de outras que são também

1:19:42igualmente importantes de contexto que a

1:19:45gente eh precisa que vocês eh se

1:19:48aprofundem, se se apoderem desses

1:19:50conhecimentos.

1:19:52Eventos de criação, quando que um

1:19:54processo é criado? Ou seja, quando que

1:19:56eu vou trazer um programa para memória

1:19:58para ele começar sua execução? Na

1:20:00inicialização do sistema operacional é

1:20:02um dos eventos. Quando o sistema chama

1:20:05um driver, quando chama um processo do

1:20:08próprio sistema operacional, quando eh

1:20:11ocorre uma situação que vai fazer essa

1:20:13chamada, quando o usuário pede, ah, eu

1:20:15quero abrir o bloco de notas, então vou

1:20:18pedir essa abertura. E em tarefas em

1:20:21lote, o lote de execução, ele vai

1:20:23chamando uma a uma, mas ele vai chamar

1:20:25de fato. Então são situações em que há

1:20:27criação de processo. E quando eles

1:20:30terminam, bom, você tem a o término

1:20:32normal em que você vai lá e fecha o

1:20:34programa e ele sabe que está fechando.

1:20:37Você tem o erro controlado quando o

1:20:41programa executa uma operação que ele

1:20:42sabe que é errada, que ele não pode

1:20:44continuar e que ele precisa terminar.

1:20:47Vamos dizer uma situação lá, a

1:20:48calculadora tenta dividir por zero, aí,

1:20:51pô, aconteceu uma divisão por zero, não

1:20:53pode fazer essa divisão por zero, não é

1:20:56possível, vou preciso fechar. E aí ele

1:20:59fecha ordenadamente, sabendo que está

1:21:01fechando. É o que a gente chama de

1:21:02tratamento de exceções. Quando você

1:21:05programa,

1:21:06você programa calculadora, você sabe que

1:21:09tem operações que não podem ser

1:21:10executadas, né? Então você tem eh

1:21:15eh situações lá, o dividir por zero,

1:21:18deixa eu lembrar outra.

1:21:22Eh, enfim, a gente tem as as operações

1:21:24que vão gerar valores que eu não posso

1:21:26materializar ele na memória, né? divisão

1:21:29por zero, o exemplo, você vai fazer um

1:21:31tratamento de exceções, porque quando eu

1:21:33executar uma divisão, eu preciso eh

1:21:36limitar a resposta, que se der um valor

1:21:39errado, se eu tiver usando uma divisão

1:21:41por zero, eu preciso dar esse tipo de

1:21:43resposta do meu aplicação. Então, se

1:21:46houver tratamento de exceções, é uma

1:21:48saída por erro tratada. Se eu não fizer

1:21:51o tratamento de exceções ou for alguma

1:21:53função que eu não sabia e não fiz o

1:21:55tratamento, eh, eu vou ter um erro

1:21:57fatal. Ele vai tentar executar uma

1:21:59operação que o processador não pode

1:22:01executar e que não foi tratada e que vai

1:22:04gerar uma interrupção involuntária. Esse

1:22:06é o ponto que eu quero, a inflexão que

1:22:09ocorre. a gente tem tratamento de

1:22:11exceção que gera interrupção voluntária

1:22:14que vai ser tratada e é o erro fatal que

1:22:17é o involuntário não tratado. A o erro

1:22:21eh voluntário pode ter perda de dados,

1:22:24mas você diminui a possibilidade de

1:22:26perda de dados. No erro fatal, você vai

1:22:29perder dados porque eles não vão ter eh

1:22:31tratamento posterior. Tudo que tava

1:22:33sendo feito vai ser perdido. Da mesma

1:22:35forma o cancelamento da sua aplicação.

1:22:37Se você cancelar, mesmo que por

1:22:39terceiros, você fala, ó, finaliza isso

1:22:41aí, chega, vai lá no gerenciador de

1:22:43tarefas e finaliza abruptamente. Você

1:22:46vai perder dados. Ah, o programa que

1:22:48travou, eu não consigo mais executar, eu

1:22:49vou finalizar. Pois é, é um cancelamento

1:22:52que vai perder dados, tá? são as

1:22:54situações de finalização.

1:22:57Eh,

1:22:59eh, o Alan Felipe tá falando aí, eh,

1:23:02sabendo, percebeu que tem que estudar

1:23:04bastante. Preparem-se aí para vocês se

1:23:06dedicarem à disciplina aí, pelo menos

1:23:07mais umas 80 horas para cumprir a carga

1:23:10horária da disciplina, tá? porque vocês

1:23:12precisam desse tempo mesmo. E o Vinícius

1:23:16falou ali, o senhor falando de cash,

1:23:18lembrei da modificação que fazia no

1:23:19regedit no nível três,

1:23:22uma forma tentativa de ter maior

1:23:23desempenho, embora não surja efeito por

1:23:25conta deste auto do processador. É, você

1:23:28pensa que tá fazendo cash nível três,

1:23:30mas eu acho que era numa época que não

1:23:32existia cash nível três, tinha cash

1:23:34nível um e dois. Eu tô querendo lembrar

1:23:36de quando era isso, tá?

1:23:39Eh, e é isso aí. estudem bastante, mas

1:23:42eu eu tô querendo lembrar desse regedite

1:23:43aí, mas eu não eu acho que era de uma

1:23:45época que só tinha nível dois. Bom,

1:23:47beleza, falamos do início final e os

1:23:50estados que um processo pode ter durante

1:23:52o funcionamento são aquela situação, ele

1:23:56é um novo processo, então ele está sendo

1:23:58admitido e ele vai ser eh executado a

1:24:03partir dali.

1:24:04Ah, ele vai trazido da do armazenamento

1:24:08e trazido paraa memória. Está sendo

1:24:09admitido. Quando ele chegar na memória,

1:24:12está carregado, ele vai mudar pro status

1:24:14de pronto. Ou seja, o escalonador, o o

1:24:19agendador de tarefas, ele vai dizer que

1:24:21aquele ele vai saber que aquele processo

1:24:23pode ser executado a partir dali, pode

1:24:25ser processado.

1:24:27Todos os processos que estão prontos

1:24:29[limpando a garganta] concorrem ali para

1:24:30usar o processador,

1:24:32né? Considerando aqui uma ideia que só

1:24:34tem um processador, né? E eles vão sendo

1:24:37eh [limpando a garganta]

1:24:38mandados lá para processamento,

1:24:40colocados em processamento. Aí vai ter

1:24:42aquele aquela odisseia, né, de trazer da

1:24:45memória principal, leva na cash, as

1:24:47instruções vão sendo copiadas lá pros

1:24:49registradores e tal. É bom estudar lá na

1:24:51arquitetura de computadores com detalhes

1:24:53para ver como isso acontece. E quando

1:24:55ele terminar de executar ali o quantum

1:24:57dele, o tempo de execução dele, ele vai

1:25:00voltar paraa situação de pronto. O

1:25:02sistema operacional faz isso, o

1:25:04escalonador, o agendador faz isso, fala:

1:25:06"Ó, acabou seu tempo, chega, chega,

1:25:08volta pra fila de pronto". E ele vai

1:25:10tirar o o a gente vai perceber depois o

1:25:13despachador, ele eh vai fazer a troca de

1:25:17contexto que a gente tinha falado,

1:25:18aquela parte cara, né? de tirar o

1:25:20processo do processador,

1:25:22eh, e guardar ele de novo na fila de

1:25:24pronto. Se por acaso durante a execução

1:25:26dele, ele perceber que ele precisa de

1:25:28entrada e saída, ou seja, lê do disco,

1:25:31lê da placa de rede, ler da placa de

1:25:32som, tal, etc., do teclado, mouse, ele

1:25:35vai pra fila de aguardando entrada e

1:25:37saída, ele vai paraa outra fila, porque

1:25:40na fila [limpando a garganta] de pronto

1:25:41ele não tá pronto ainda, ele tá

1:25:42aguardando a entrada de saída. Quando a

1:25:45entrada de saída eh terminar, concluir a

1:25:49a sua carga, ela vai avisar via

1:25:52interrupção pro sistema operacional, pro

1:25:54via hardware: "Estou pronto, o processo

1:25:56pode pegar o resultado aqui." E aí o

1:25:59processo sai da fila de aguardando e

1:26:01volta pra fila de pronto para que na vez

1:26:03dele lá no escalonamento ele possa vir a

1:26:05executar e processar aquele dado que o

1:26:08que a entrada de saída deu para ele.

1:26:10Então vejam, e quando ele terminar, ele

1:26:12vai da situação de executando para

1:26:14terminado. Veja que não tem execução e

1:26:16situação de pronto para terminado, ele

1:26:18vai de executando para terminado, que é

1:26:20o correto, né? Ele vai de pronto para

1:26:23terminado quando for erro fatal ou

1:26:26cancelamento, tá? Mas aqui a gente não

1:26:28modela dessa forma porque são as saídas

1:26:32que que vão ter perda de dados e é o que

1:26:34a gente prefere que não aconteça.

1:26:37Eh,

1:26:39bacana aí as observações de vocês.

1:26:41Obrigado aí pelas observações. Aqui a

1:26:43gente vai finalizar a aula, não agora,

1:26:45né, com um assunto de trads pra gente já

1:26:48ter esse entendimento pra próxima aula,

1:26:50porque infelizmente a gente ainda teria

1:26:53depois das trades ainda tinha que falar

1:26:55do escalonador e a gente vai ter que

1:26:57falar na aula que vem e mas vai dar

1:26:59tempo, vai dar tempo. Essas quatro aulas

1:27:01aí vão ser bem positivas, a gente vai

1:27:02conseguir falar de tudo que precisa.

1:27:04Quando eu tenho, então, um processo,

1:27:07ele tem lá aqueles elementos que nós

1:27:09vimos, só que por vezes eu posso ter

1:27:11trechos dele que ficariam muito bem

1:27:15concorrendo entre eles, tá? OK.

1:27:19Então, a gente vai perceber que eh eu

1:27:23poderia ter uma parte do processo

1:27:25olhando pro mouse, uma parte do processo

1:27:27olhando pro teclado, uma parte do

1:27:29processo conversando com a tela, uma

1:27:31parte do processo conversando com HD. Só

1:27:33que todas elas, concorrendo entre elas,

1:27:36eh, se eu for executar uma por vez, vai

1:27:37ficar esquisito, né? Vai ficar um

1:27:39escravos de Jó esquisito. É melhor eu

1:27:41ter eh esses tratamentos paralelos. Tudo

1:27:45que acontecer eh em, digamos assim, o

1:27:48paralelo virtualmente, né, lógico, o

1:27:50processo uma por vez, mas eu ter esses

1:27:52tratamentos sem que um espere o outro

1:27:54acabar para eu poder começar. Por isso

1:27:57que surgiram as ideias de trads, que eu

1:27:58posso ter várias coisas eh disponíveis

1:28:01acontecendo, como se fosse processo, mas

1:28:04eh tratando de de hardware ou de entrar

1:28:08de saídas diferente de forma tal que

1:28:12elas possam acontecer em paralelo,

1:28:14acelerando o funcionamento, tá?

1:28:17Isso. A ideia do Alan Felipe colocou ali

1:28:19tudo assíncrono. Se o mouse der resposta

1:28:22rápida, ela não precisa necessariamente

1:28:25esperar o teclado dizer que teve

1:28:27resposta ou não. Ele pode pegar a

1:28:28resposta do mouse imediatamente, né? E a

1:28:32do teclado quando acontecer e a da porta

1:28:35de de da placa de rede quando acontecer

1:28:37e assim vai, tá? Então elas são

1:28:40assíncronos ali. E a ideia do

1:28:44do da tradimento

1:28:48de dados sem necessariamente precisar

1:28:51entrar em processo modo núcleo para

1:28:52isso, né? porque a gente sabia lá que o

1:28:54modo núcleo poderia pegar qualquer área

1:28:56do eh da memória, mas para isso não

1:28:59acontecer, eu tenho uma área de processo

1:29:01que eu posso compartilhar e dentro do

1:29:03processo eu compartilho tudo, porque já

1:29:05é do meu processo mesmo. O que que a

1:29:08gente pensa em trades? Então, digamos,

1:29:09um processo, vamos finalizar o o assunto

1:29:12com essa ideia aqui.

1:29:14Eh, se eu copiar um processo, fizer um

1:29:17fork nele, eu vou copiar todos os dados,

1:29:21a pilha, hiip, as instruções dos dados.

1:29:24Se eu tiver um processo e criar uma

1:29:26trade, uma nova trad, eu vou criar, eu

1:29:29vou copiar as instruções, ou seja, eu

1:29:31tenho eh o contexto de hardware copiado,

1:29:34eh por vezes ali algumas coisas do

1:29:37contexto de software, [roncando] os

1:29:39espaços de endereçamento copiados

1:29:41também, porque ela vai ter acesso à

1:29:43aqueles conteúdos e ela só vai ter a

1:29:45pilha de execução, ou seja, a execução

1:29:47local das instruções lá dos das funções

1:29:51separada. e ela vai ter acesso a RIP, a

1:29:54pilha e dados do processo principal.

1:29:56Então essa esse compartilhamento ele é

1:29:58muito positivo porque eh o teclado e eu

1:30:01tenho um processo que lê o teclado e

1:30:03pode gravar no processo principal, né?

1:30:05Eu tenho a trad que lê o teclado e grava

1:30:07no processo principal sem impedir que o

1:30:09processo principal continue executando.

1:30:11A tradicar bloqueada lá aguardando

1:30:14resposta do teclado enquanto o processo

1:30:16continua executando. Quando o teclado

1:30:18responder, né, com a tecla eh tecla

1:30:21pressionada, eu vou lá e gravo na no

1:30:23processo principal essa resposta. Então,

1:30:25veja como isso torna eh muito dinâmico e

1:30:28acelerado o tipo de resposta, porque eu

1:30:30não vou precisar ficar aguardando

1:30:31entrada de saída para tudo, OK?

1:30:35Eh,

1:30:37ah, e aqui a gente vai tá finalizando,

1:30:41né, porque eu acho que acabou nosso

1:30:42tempo, até já passou um pouquinho.

1:30:43Professora, muito obrigado pelo tempo,

1:30:45já deu tempo da gente, mas eu gostei

1:30:47muito da observação da do Ivoni Leal.

1:30:50Foi bem complicada essa aula assim como

1:30:52desenvolvimento de ponteiros, né,

1:30:53estrutura de dados. Muito bacana a

1:30:55comparação, mas é isso mesmo. Tem que

1:30:57sair da zona de conforto, igual os

1:30:58colegas falaram. Mas a ideia de trad,

1:31:01gente, é o que vai salvar o desempenho

1:31:03para vocês aí nos aplicações daqui para

1:31:05frente. Professor, a gente continua

1:31:06depois desse, na próxima aula, a gente

1:31:08continua desse assunto mesmo, né?

1:31:11Obrigado pelo tempo de vocês, aguardando

1:31:12mais um minutinho aí nessa hora da

1:31:14noite, mas eu fico feliz que a gente

1:31:16chegou aí num momento oportuno.

1:31:18Obrigadão, pessoal. Tudo ótimo, deu tudo

1:31:21certo. Foi incrível a sua aula, esse

1:31:23conteúdo é incrível, impressionante, de

1:31:25muito aprendizado. Excelente, professor.

1:31:28Gratidão. Gratidão a todos vocês que

1:31:30participaram, que interagiram, que

1:31:33fizeram perguntas inteligentíssimas de

1:31:35muito conteúdo agregando valor pra nossa

1:31:37aula.

1:31:38>> Gratidão. Boa noite a todos e até a

1:31:40próxima aula, até a próxima terça.

1:31:43>> Valeu, pessoal. Forte abraço. Tchau. C.

1:31:49[música]

Recently added transcripts

Browse the whole transcript library

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.