WEBVTT

00:00.090 --> 00:01.050
Narrador: Nesta lição,

00:01.050 --> 00:03.720
vamos começar a falar sobre alguns sistemas incorporados.

00:03.720 --> 00:05.610
Agora, quando falamos de um sistema incorporado,

00:05.610 --> 00:07.560
trata-se de um sistema de computador projetado

00:07.560 --> 00:10.980
para executar uma função específica e dedicada.

00:10.980 --> 00:13.260
Agora, muitas vezes, quando falamos de um sistema

00:13.260 --> 00:14.490
incorporado, estamos falando

00:14.490 --> 00:18.150
de coisas mais no espaço de fabricação ou no espaço de automação.

00:18.150 --> 00:19.890
Assim, podemos ter um microcontrolador

00:19.890 --> 00:22.770
em um sistema de gotejamento médico que tem uma função.

00:22.770 --> 00:24.840
É para medir a quantidade de volume de fluido

00:24.840 --> 00:27.660
que passa por essa máquina e entra em seu IV, para que você possa

00:27.660 --> 00:29.520
dar ao paciente o que ele precisa.

00:29.520 --> 00:30.510
Você pode ter outro para

00:30.510 --> 00:33.030
um sistema de controle em uma estação de tratamento de água.

00:33.030 --> 00:34.470
E sua responsabilidade é garantir

00:34.470 --> 00:36.870
que a água esteja fluindo em uma determinada taxa.

00:36.870 --> 00:39.000
E eles abrirão ou fecharão válvulas para garantir

00:39.000 --> 00:41.940
que mantenhamos essa quantidade de fluxo no sistema.

00:41.940 --> 00:43.307
Essa é a ideia de um sistema incorporado.

00:43.307 --> 00:45.840
E pode ser um dispositivo muito, muito simples ou pode

00:45.840 --> 00:47.610
ser totalmente complexo e ter um sistema

00:47.610 --> 00:50.550
operacional completo, como Linux ou Android, sendo usado

00:50.550 --> 00:52.890
para executar esse tipo de sistema.

00:52.890 --> 00:54.360
Depende.

00:54.360 --> 00:55.770
Agora, nesta lição em particular,

00:55.770 --> 00:58.710
vou me concentrar mais nos sistemas incorporados específicos

00:58.710 --> 01:00.120
que têm uma única função e têm seu

01:00.120 --> 01:02.400
próprio sistema operacional ou microprocessadores

01:02.400 --> 01:05.100
dedicados para realizar essa função.

01:05.100 --> 01:07.950
Por exemplo, em minha casa, tenho um medidor inteligente.

01:07.950 --> 01:09.900
Assim, se eu for para o lado de fora da minha

01:09.900 --> 01:11.550
casa, posso olhar o medidor de eletricidade

01:11.550 --> 01:14.940
da minha casa e ele me dirá quantos quilowatts por hora estou usando e quanto

01:14.940 --> 01:17.010
usei ao longo do tempo.

01:17.010 --> 01:19.860
Agora, essas informações estão conectadas à Internet, de modo

01:19.860 --> 01:21.120
que a empresa de energia não

01:21.120 --> 01:22.680
precisa enviar alguém à minha casa

01:22.680 --> 01:24.420
para ler o medidor uma vez por mês.

01:24.420 --> 01:26.730
Em vez disso, tudo é feito eletronicamente agora.

01:26.730 --> 01:28.620
Eles fazem isso usando modems de celular

01:28.620 --> 01:30.450
e se conectam por meio da rede de celular

01:30.450 --> 01:32.640
de volta à Internet, à sua sede e aos seus servidores

01:32.640 --> 01:34.680
para alimentar os dados do que usamos para

01:34.680 --> 01:36.600
o consumo de energia.

01:36.600 --> 01:37.770
Se você olhar o medidor de

01:37.770 --> 01:40.200
sua casa, provavelmente tem algo muito parecido.

01:40.200 --> 01:42.030
Atualmente, esses tipos de sistemas incorporados

01:42.030 --> 01:43.980
são considerados ambientes estáticos, nos quais

01:43.980 --> 01:46.530
não são feitas nem permitidas alterações frequentes.

01:46.530 --> 01:48.600
Então, quando foi a última vez que você atualizou o software do seu

01:48.600 --> 01:50.010
medidor de energia elétrica, por exemplo?

01:50.010 --> 01:51.210
Provavelmente você nunca fez isso.

01:51.210 --> 01:53.100
E a empresa de energia provavelmente também não faz

01:53.100 --> 01:54.120
isso com muita frequência.

01:54.120 --> 01:56.190
Essa é a ideia desses sistemas incorporados.

01:56.190 --> 01:57.900
Eles são um sistema muito simplificado,

01:57.900 --> 02:00.870
criado para cumprir um único propósito.

02:00.870 --> 02:03.510
E, ao fazer isso, eles se tornam mais seguros porque

02:03.510 --> 02:05.490
não têm muito código extra.

02:05.490 --> 02:06.720
Porém, se o código original não

02:06.720 --> 02:08.670
tiver sido criado em um bom estado, será difícil

02:08.670 --> 02:10.170
fazer atualizações, pois esses equipamentos

02:10.170 --> 02:11.640
não foram criados para receber atualizações

02:11.640 --> 02:13.860
frequentes de software.

02:13.860 --> 02:14.693
Por esse motivo, os

02:14.693 --> 02:16.980
sistemas incorporados geralmente têm muito pouco

02:16.980 --> 02:19.800
suporte para identificar e corrigir problemas de segurança.

02:19.800 --> 02:21.120
Não é possível ligar para a empresa de energia

02:21.120 --> 02:22.860
elétrica e pedir que venham proteger seu medidor.

02:22.860 --> 02:25.050
Isso simplesmente não faz parte do que eles farão por você.

02:25.050 --> 02:26.400
Eles farão isso da maneira que quiserem,

02:26.400 --> 02:27.840
pois o dispositivo é deles.

02:27.840 --> 02:30.150
E, muitas vezes, se você tiver um sistema incorporado

02:30.150 --> 02:32.700
dentro da sua fábrica ou da sua planta, se estiver em uma área

02:32.700 --> 02:35.220
de produção, terá um suporte limitado do fabricante.

02:35.220 --> 02:36.540
Portanto, essa é uma área em que

02:36.540 --> 02:38.040
você realmente deseja colocar todos

02:38.040 --> 02:39.510
esses dispositivos em uma rede separada

02:39.510 --> 02:42.150
e não conectá-los à Internet em geral, o que pode ser uma grande

02:42.150 --> 02:44.970
área de vulnerabilidade para você.

02:44.970 --> 02:46.410
Agora, quando falamos de sistemas

02:46.410 --> 02:48.240
incorporados, há um termo chamado PLC,

02:48.240 --> 02:51.030
que é um controlador lógico programável.

02:51.030 --> 02:53.310
Esse é um tipo de computador projetado para ser implantado

02:53.310 --> 02:55.230
em ambientes industriais ou externos e pode

02:55.230 --> 02:57.960
automatizar nossos sistemas mecânicos modernos.

02:57.960 --> 02:59.760
Agora, quando você pensar em um PLC, quero

02:59.760 --> 03:01.680
que pense em algo como uma manufatura que abrirá

03:01.680 --> 03:03.420
ou fechará uma válvula para permitir

03:03.420 --> 03:05.370
a entrada de mais ou menos água.

03:05.370 --> 03:07.140
Essa é a ideia de um PLC.

03:07.140 --> 03:09.780
É um controlador lógico programável.

03:09.780 --> 03:12.000
Esses PLCs são executados em firmware porque,

03:12.000 --> 03:14.250
novamente, são sistemas incorporados.

03:14.250 --> 03:16.950
Assim, o firmware, que é um software em um chip, pode ser corrigido

03:16.950 --> 03:18.480
e reprogramado para corrigir vulnerabilidades

03:18.480 --> 03:20.280
quando elas ocorrerem.

03:20.280 --> 03:22.620
Mas, novamente, há um processo muito específico

03:22.620 --> 03:25.230
e, normalmente, o suporte do fabricante é limitado.

03:25.230 --> 03:26.370
Não é como a Microsoft, que

03:26.370 --> 03:28.350
lhe fornecerá um patch toda terça-feira.

03:28.350 --> 03:31.140
Com esses PLCs, você pode receber um patch a cada seis meses,

03:31.140 --> 03:32.550
ou um ano, ou dois anos.

03:32.550 --> 03:35.520
Geralmente, há um intervalo muito longo entre as correções.

03:35.520 --> 03:36.960
Agora, outra coisa sobre a qual queremos falar é sobre

03:36.960 --> 03:38.550
alguns dos sistemas operacionais que eles usam.

03:38.550 --> 03:40.740
Portanto, existe algo conhecido como RTOS,

03:40.740 --> 03:43.020
que é um sistema operacional em tempo real.

03:43.020 --> 03:45.120
Agora, esse é um tipo de sistema operacional

03:45.120 --> 03:48.780
que prioriza a execução determinística das operações.

03:48.780 --> 03:50.910
E isso nos ajudará a garantir uma resposta consistente

03:50.910 --> 03:52.800
para tarefas de tempo crítico.

03:52.800 --> 03:53.880
Agora, pense sobre isso.

03:53.880 --> 03:57.000
Se você estiver operando algo que precise abrir ou fechar uma

03:57.000 --> 03:58.830
válvula dentro de uma usina nuclear,

03:58.830 --> 04:02.040
é possível que ela fique off-line a qualquer momento?

04:02.040 --> 04:03.240
Provavelmente não, certo?

04:03.240 --> 04:05.670
Bem, essa é a ideia de onde usaríamos um RTOS, um sistema

04:05.670 --> 04:07.500
operacional em tempo real.

04:07.500 --> 04:09.420
Isso ocorre porque muitos de nossos sistemas

04:09.420 --> 04:12.000
incorporados normalmente não toleram reinicializações

04:12.000 --> 04:13.710
ou falhas e precisam ter esses tempos

04:13.710 --> 04:16.440
de resposta previsíveis em milissegundos.

04:16.440 --> 04:17.580
Portanto, se eu estiver construindo

04:17.580 --> 04:19.860
algo que vai operar partes de um avião, que vai ajudar

04:19.860 --> 04:22.080
meu piloto automático a voar, e com o piloto automático

04:22.080 --> 04:23.910
precisando fazer ajustes nas asas a cada

04:23.910 --> 04:26.430
dois milissegundos, bem, isso é algo para o qual gostaríamos

04:26.430 --> 04:28.230
de usar um sistema operacional em tempo

04:28.230 --> 04:29.850
real.

04:29.850 --> 04:32.160
Não é possível usar um sistema Windows padrão para isso.

04:32.160 --> 04:33.990
Ele simplesmente não é rápido ou potente o suficiente.

04:33.990 --> 04:36.060
E está sujeito a reinicializações ou falhas, além

04:36.060 --> 04:38.250
de patches de segurança e todas essas coisas.

04:38.250 --> 04:40.620
Portanto, quando você ouvir esse termo, pense nele como

04:40.620 --> 04:42.690
o tipo de sistema operacional que é usado com frequência

04:42.690 --> 04:44.550
em sistemas incorporados, especialmente

04:44.550 --> 04:46.560
em aplicativos críticos.

04:46.560 --> 04:47.700
Agora, outra maneira de fazer

04:47.700 --> 04:49.740
isso é usar o que chamamos de sistema em um chip.

04:49.740 --> 04:51.810
Essa é outra forma de sistemas incorporados.

04:51.810 --> 04:53.910
É aqui que o nosso processador integra

04:53.910 --> 04:56.850
a funcionalidade da plataforma de vários controladores

04:56.850 --> 04:58.470
lógicos em um único chip.

04:58.470 --> 05:01.860
Agora, esse sistema em um chip pode ser muito eficiente em termos de consumo de energia e,

05:01.860 --> 05:04.290
portanto, é usado com frequência em dispositivos menores que precisam

05:04.290 --> 05:05.790
ter um sistema incorporado.

05:05.790 --> 05:06.810
Portanto, se eu precisar criar

05:06.810 --> 05:07.860
algo que tenha um sistema incorporado

05:07.860 --> 05:10.140
e que seja muito pequeno para caber no meu bolso, normalmente

05:10.140 --> 05:12.681
usaria algo como um system-on-a-chip.

05:12.681 --> 05:13.920
Se você estiver usando algo

05:13.920 --> 05:15.300
como um Roomba ou um aspirador de

05:15.300 --> 05:18.090
pó robô, eles usam uma mentalidade do tipo sistema em um chip porque

05:18.090 --> 05:19.950
tentam colocar todas as informações em um

05:19.950 --> 05:21.870
único chip, porque, novamente, ele ocupa menos

05:21.870 --> 05:24.570
espaço e, portanto, você pode deixar mais espaço para as peças

05:24.570 --> 05:27.360
funcionais necessárias, como o aspirador.

05:27.360 --> 05:30.180
Um system-on-a-chip refere-se a um tipo de circuito integrado

05:30.180 --> 05:32.310
que contém todos os componentes de um sistema de

05:32.310 --> 05:33.660
computador em um único chip.

05:33.660 --> 05:36.630
Isso inclui o processador, a memória, o armazenamento, o processador

05:36.630 --> 05:38.670
gráfico e os periféricos, como controladores

05:38.670 --> 05:41.370
USB, circuitos de gerenciamento de energia e rádios sem

05:41.370 --> 05:44.010
fio para Wi-Fi ou Bluetooth.

05:44.010 --> 05:47.160
Um ótimo exemplo de um sistema em um chip é o Raspberry Pi,

05:47.160 --> 05:48.990
que contém um computador totalmente

05:48.990 --> 05:50.880
contido em um único chip.

05:50.880 --> 05:52.650
Agora, muitos desses system-on-a-chips

05:52.650 --> 05:54.570
serão incorporados a outros dispositivos,

05:54.570 --> 05:58.140
como smart TVs e set top boxes, como os dispositivos de streaming Amazon

05:58.140 --> 06:00.750
Fire TV, Roku e Apple TV.

06:00.750 --> 06:02.970
Os designs de sistema em um chip se tornaram muito

06:02.970 --> 06:04.560
populares devido ao baixo consumo

06:04.560 --> 06:07.440
de energia, ao desempenho decente e ao formato pequeno.

06:07.440 --> 06:10.260
Por exemplo, se você tiver um Roku ou Fire TV Stick,

06:10.260 --> 06:12.420
eles têm o tamanho de um pen drive USB.

06:12.420 --> 06:15.450
No entanto, eles oferecem uma funcionalidade de smart TV totalmente funcional

06:15.450 --> 06:16.980
em qualquer televisão existente e podem

06:16.980 --> 06:18.510
processar streaming de vídeo por meio

06:18.510 --> 06:20.913
de uma conexão sem fio usando esses dispositivos.
