quarta-feira, 10 de junho de 2020

Configurando 'Usuário e email' no Git!!!

Após o download do GIT, e vamos empolgados para começar a usar e quando vamos dar um 'commit' ele retorna um aviso informando que devemos informar um usuário e email:


git config --local user.name "Seu_nome_aqui"

git config --local user.email "seuemail@exemplo.com"



BORA CONFIGURAR GALERA!

Abra seu terminal e digite o seguinte comando:

git config --global user.name "Seu nome e sobrenome"

e dê um enter e seu usuário estará configurado!

Logo em seguida digite:

git config --global user.email "seu e-mail pessoal"

dê enter e seu e-mail vai estar cadastrado também e só!


Pra quem aprende mais assistindo vídeo como eu rsrs, recomendo esse canal maravilhoso!

   RBTech



segunda-feira, 1 de junho de 2020

Família de processadores, Módulos e submódulos.

E ai galera aqui vamos entender o que é arquitetura e organização de computadores de maneira mais simples, para começar vamos entender o que são os Módulos, Submódulos e Família de processadores.


Então bora lá:

Família de processadores! 


Todos nós quando vamos baixar um programa, temos que escolher se é para uma máquina de 32 bits ou uma de 64 bits.

Isso acontece porque para cada família de processador existe uma codificação diferente para que esse processador possa ler o programa e executar da devida maneira. Por isso é muito importante saber como comportar seu código para cada família de processador. De maneira mais clara para que você possa entender, uma família de processadores x86 tem o mesmo conjunto de instruções a mesma forma de endereçamento o mesmo espaço de memória para os tipos disponíveis de dados é por isso que podemos executar o mesmo programa em um processador da AMD e um INTEL porque eles fazem parte da mesma família de processadores (x86).



Módulos.

Os módulos é nada mais que coisas que acontecem dentro do computador quando você executa um programa, e eles são classificados em dois tipo (Módulos e submódulos) vamos chegar lá.


Os principais módulos

Conjunto de instruções: 

Gente esse módulo é indispensável, eu chamo ele de tradutor. Isso porque ele é responsável por traduzir as linguagens de baixo de alto nível (c##, Python, Javascript) para uma linguagem de máquina como (assembly).

<Vou fazer uma postagem sobre linguagem de máquina e linguagem de alto nível aqui fiquem atentos!>

Mecanismo de entrada e saída (E/S) (I/O - Input e output):

Entidades responsáveis por realizar a interação com o 'mundo externo' para coletar ou externar informações. São exemplos de memória de E/S: controladores de teclado, de vídeo, HD etc....

Barramento de sistema:

Elemento responsável por realizar a interação dos demais módulos. Os Módulos são distribuídos seguindo uma organização física denominada como topologia.

Submódulos

Registradores: Representam a memória interna do processador, para que sejam carregadas as instruções e as informações a serem manipulados;

ALU: (Arithmetic Logic Unit) - Unidade Lógica e Aritmética: Tem como objetivo de executar operações aritméticas, como adição, subtração, divisão e multiplicação, e operadores lógicos.

Barramento interno: Ele age permitindo a interação entre os demais módulos permitindo o fluxo de informações entre eles.

Unidade de controle: Gerencia o fluxo de informações internamente ao processador, sendo também responsável pelo gerenciamento do processamento entre si.


Essas são funcionalidades básicas que existem dentro do seu computador para que ele possa rodar como conhecemos hoje! Sabemos que nem sempre foi dessa maneira, então para que vc possa entender o porque esses módulos existem, teve uma história por trás, então na próxima publicação vou falar sobre Von Newmann, aguarde!!! 





























Como funciona o sistema operacional durante a usabilidade do usuário, entenda!

{ ' Fala galera, sou aluna de Análise e desenvolvimento de sistemas, e acho interessante publicar minhas conclusões dos meus estudos baseados nas atividades da universidade que estou cursando, colocando em palavras comuns, explicando os termos técnicos para melhor entendimento! Se ficar alguma dúvida pode me perguntar' }






Como um sistema operacional funciona durante a usabilidade do usuário?

Vamos entender o que são processos e programa:

Processos: processos não são somente um conjunto de instruções mas também consome recursos de Hardware como memória, processamento, rede e etc…

Programa: Conjunto de códigos sendo ativamente executados.

Entendendo isso vamos entender como o S.O funciona vamos lá!

Ao carregar o Sistema Operacional, são criados vários processos, deixando pré carregados de acordo com cada usuário. Ele já deixa processos definidos para se preparar para sua utilização, por exemplo <permissões de acesso, senha, usuário, memória e afins>.

O usuário ao dar um duplo clique em qualquer programa que ele queira executar, o SO rapidamente coloca em um processo em um estado chamado New onde ele está carregando as instruções para memória do computador.

Assim que as instruções daquele programa estiver totalmente carregado na memória, ele entra no estado de admissão, nesta fase ele entra para uma fila de prontos, ou seja, os processos dele estão devidamente carregados e aguardando na fila de ‘prontos’ para ser executado.

Quando chega a vez dele de ser executado, o SO envia a informação para executar instrução por instrução.

No processo de execução, quando não há nenhuma interferência que ele possa ser interrompido ou aguardando alguma liberação para finalizar, ele simplesmente é finalizado. Contudo pode existir uma segunda ocasião quando seus processos são interrompidos aguardando instruções externas para dar continuidade, nessa fase ele entra nos status que chamamos de waiting, assim que a solicitação é fornecida ao sistema ele da continuidade e finaliza sua execução.

Sistema operacional multitarefas.

O SO multitarefas garante um tempo específico para o programa executar, caso ele não execute neste tempo estimado pelo SO, ele é interrompido e volta para o final da fila de ‘prontos’ para dar a chance a outro programa que está aguardando nesta fila.

Supondo que na fila de ‘prontos’ há 3 programas aguardando para ser executado:

• programa 1 tem 20 solicitações para executar;

• programa 2 tem 18 solicitações;

• programa 3 tem uma solicitação;

Certamente ele vai priorizar o programa 3, contudo caso ele não execute essa uma solicitação em um certo tempo determinado, ele perde a chance e passa para o próximo.


Bloco de controle de processos (Process Control Block) PCB

O PCB é basicamente um repositório de processos, quando você dá inicio a um processo clicando em um programa para ser aberto, as seguintes informações são salvas nesse ‘repositório’:

Estado do processo: Novo, pronto, executando e etc (status);

Controle de programa: Caso o programa seja interrompido, ao retomar ele precisa saber em qual instrução ele estava (indica o endereço da próxima instrução);

Registradores da CPU: Escalonamento (quais recursos da máquina esse programa usou’ HD, RAM e etc…’), valor dos registradores que o programa ocupou (quanto de RAM e quanto de HD por exemplo ele ocupou em valores).

Informações de escalonamento de CPU: Prioridade do processo (exemplo dado a cima), informações para o escalonamento;

Informações gerenciamento de memoria: Dados como registradores para escalonamento;

Informações de contabilização: Tempo de CPU, número do processo e etc;

Informações de status de E/S: Lista de dispositivos de entrada e saída de dados, lista de arquivos abertos etc…


Lista de escalonamento de processos

Essa lista de escalonamento é importante para o SO entender em quais momentos escalonar certos processos, a lista consiste em:

Fila de tarefas (Job Queue): Conjunto de todos os processos no sistema, (Iniciados ou não);

Fila de processos prontos (Ready Queue): Conjunto de todos os processos que estão na memória principal que estão prontos e esperando para serem executados;

Fila de dispositivos (Device Queue): Conjunto de processos esperando um dispositivo de E/S.


Escalonadores
O escalonador é um software no SO, que define qual processo será enviado para CPU e ser executado, ele define o critério.


• Escalonadores de curto prazo: Assim que um processo acaba, ele já agiliza para o próximo na fila de ‘prontos’ executar.
• Escalonadores de longo prazo: Quando algum processo não tem tanta urgência, principalmente quando o computador não tem mais recursos, então ele ‘ agenda ‘ a execução daquele programa para depois.
• Escalonadores de médio prazo: Quando os programas na fila de ‘pronto’ precisam ser rapidamente executados porém está faltando recursos da máquina, ele envia os processos para o disco do computador (memória virtual), libera a memória principal, e logo após ele remove do disco e volta para memória principal.


Esse procedimento feito pelo escalonador de médio prazo são definidos da seguinte maneira:

• Swap-Out: Com isso, o seu processo é temporariamente suspenso e seu contexto é salvo em disco (HD).
• Swap-in: Após um tempo os processos são trazidos de volta do disco para memória principal e ficam novamente prontos para execução.




Processos IO-Bound e CPU-Bound

IO-Bound: Processo limitado por E/S, gasto mais tempo realizando operações de E/S do que cálculos (poucos processos na fila de prontos, menos utilização da CPU).

CPU-Boud: Processos limitados a CPU, gasta mais tempo realizando cálculos, fera pedidos de E/S com pouca frequência (Poucos dispositivos E/S, muita CPU).


<Criação de processos>

• { Processos podem ser criados e removidos dinamicamente do sistema }

• { Um único processo ‘PAI’ pode criar processos filhos, e esses filhos mais processos filhos assim formando a ‘árvore de processos’ }


<Conclusão>

<O sistema operacional possui vários processos>


• { Inicialmente ao carregar o Sistema Operacional, são criados vários processos};
• { O usuário ao executar programas, cria um processo para cada um deles};
• { É possível também criar processos através de chamadas de sistema (system call) a partir de outro processo}.














quinta-feira, 7 de maio de 2020

Como começar em Python?

Bora começar com um fato!
Para iniciar em qualquer linguagem você precisa começar do começo hahaha.

Bom o Python é uma linguagem que está crescendo demais, principalmente em 2020, caso vocês queiram que eu faça uma publicação melhor de como está o crescimento dessa linguagem, deixe nos comentários. Mas o que vamos falar aqui é sobre como iniciar em Python.

Então, por onde começar?

Primeiro de tudo você precisa instalar o Python no seu computador:

1 - Acesse o site oficial da linguagem:
https://www.python.org/

Se você estiver usando Windows é só fazer o download em 'Downloads' >> 'Python source'>> 'Python 3.8.2'. Até a presente data é essa versão que temos mais atualizada do Python.




Para verificar se o Python foi instalado, abra o CMD do seu computador Windows e digite:
python --version ou só python:





Galera do linux, o python já vem instalado!!!


Para verificar qual versão está no seu linux é só abrir o terminal e escrever o seguinte comando:

python --version



Depois disso galera vamos escolher uma IDE/Editor de texto:


Galera, existe muitas opções de IDE's para escolher! Vou selecionar os que eu conheço e já usei:


Idle
VSCode
Pycharm


Idle:

O Idle ele vem junto com a instalação do Python se for pelo windows, já se for pelo linux, você vai precisar instalar por fora! 

Ele  tem uma interface bem simples, quase como um bloco de notas, mas nele você pode executar seu código sem grandes dificuldades, mas como podemos observar ele não é uma IDE, mas para quem está estudando ele supre todas as necessidades, além de ser levinho caso sua maquina não tenha uma configuração muito boa:




VSCode:

O VSCode é da Mycrosoft, seguro, ele é um pouco mais pesado do que o Idle mas é leve também! Muito usado em muitas empresas e ele tem a versão gratuita do seu editor de texto e IDE, mas denovo, como estamos estudando Python, não há necessidade de uma IDE.


Galera do Linux, se vocês quiserem uma publicação de como instalar todos esses programas no seu pc, deixe nos comentários!!!!




Eu curti muito o VSCode, pela leveza e pela cor viva que ele tem para os códigos! Deixando ele realmente muito bonito! 




Pycharm:

Chegamos nele! Pycharm! Para quem está iniciando as aulas com o nosso Guanabara do Curso em Vídeo, provavelmente já conhece essa IDE! Sim, é uma IDE diferente dos anteriores, a princípio eu usava o Pycharm, mas o que me fez mudar para o VSCode foram algumas dificuldades que eu tive que necessitava de muito conhecimento com a ferramenta! Mas não é porque eu não curti, que você não pode ter gostado! Você é livre haha! 

Bom para baixar o Pycharm: 


Você vai precisar baixar o Pycharm Community como mostra no print! Porque a Professional é paga!


Galera, qualquer dificuldade em executar qualquer uma dessas coisas que eu postei, por favor deixe nos comentários tentarei ajudar na medida do possível.

E muito importante:

Galera do Linux, se vocês quiserem publicações de como instalar essas coisas todas no seu SO, deixe nos comentário viu haha.


Na próxima veremos como executar nosso primeiro código! 


bjussss!