°°°°°°°°°°°

Bem Vindos
A Unidade De Sistema Inteligentes
Fundada Por Carlos Monteiro e Samuel Ronaldo

domingo, 5 de fevereiro de 2012

Nmap Artigo U.S.I
    

Nmap é um software livre que realiza port scan desenvolvido pelo Gordon Lyon, autoproclamado hacker "Fyodor". É muito utilizado para avaliar a segurança dos computadores, e para descobrir serviços ou servidores em uma rede de computadores.
Nmap é conhecido pela sua rapidez e pelas opções que dispõe. O Nmap é um programa CUI (Console User Interface), pelo que corre na linha de comandos, mas este tem uma interface gráfica (GUI), o NmapFE (Nmap Front End), que foi substituido pelo Zenmap em 11 de Outubro de 2007, por ser uma versão portátil e prover uma interface melhor para execução e especialmente para visualização e análise dos resultados do Nmap

  Introduzindo o NMAP


O NMAP é um programa para análise de redes e de sistemas. Ele já está presente em muitas distribuições por padrão, como Debian eFedora e para distribuições que ainda não vem com este maravilhoso programa, a sua instalação é simples e está disponível para outras plataformas, como Windows, FreeBSD, Mac OS, etc. 


Há também uma versão gráfica do NMAP, mas os comandos passados no NMAP nos permitem uma enorme flexibilidade e maior controle sobre o que estamos fazendo. Acompanhe abaixo, a instalação do NMAP em pacotes RPM e através do código-fonte, é importante lembrar que no site do NMAP pacotes *.deb para o Debian também estão disponíveis: 


Ou baixe o arquivo tar.bz2 de www.nmap.org, compile e instale: 

$ bzip2 -cd nmap-VERSION.tar.bz2 | tar xvf -
$ cd nmap-VERSION
$ ./configure
$ make
$ su 
# make install 

A seguir veremos as sintaxes. Caso queira, pode passar para a parte mais prática, mas para uma melhor compreensão é recomendada a leitura.

     Sintaxes de utilização


Nmap, apesar de parecer de difícil utilização, é bem fácil, basta entender sua sintaxe de utilização e explorar ao máximo seus recursos e com um pouco de imaginação também iremos longe... 

Como já dito no início do artigo, trataremos aqui somente da interface em modo texto, apesar de o front-end gráfico também ser muito bom. 

A sintaxe de utilização do Nmap basicamente é: 

nmap <parâmetros> <alvo> -p <portas> 

(Importante ressaltar que o alvo pode ser o endereço IP, o host ou o endereço DNS resolvido. 

Os parâmetros são ajustados de acordo com o resultado que se pretende obter, claro. Os parâmetros mais utilizados são:

  • -sT - Com esse parâmetro é feito um escaneamento através de tentativas de conexão TCP. Essa forma é muito fácil de ser identificada por firewalls e IDS;
  • -sS - Assim a tentativa será com pacotes TCP com a flag SYN ligada, ou seja, como apenas uma requisição de conexão. Essa técnica dificulta um pouco a detecção;
  • -sP - Com essa opção o escaneamento será feito através de pacotes ICMP echo request. Verifica apenas se o host está ativo;
  • -sU - Envia pacotes UDP com 0 byte para determinar o estado dessas portas;
  • -sO - É usado para tentar determinar os protocolos suportados pelo host;
  • -O - Com esse parâmetro é feito uma tentativa de determinar o sistema operacional através de uma técnica conhecida como Active FingerPrint.
  • -A - Verifica a porta e o serviço que está rodando.

Métodos de scanning

Veremos agora a utilização prática dos conceitos aprendidos.

TCP connect()


Forma mais simples de scanning, ela tenta abrir uma conexão na máquina alvo, se for bem sucedida é porque a porta está aberta. Esse método é facilmente detectado pelo firewall da máquina alvo (é o default). 

# nmap -sT alvo 

(alvo é o IP da máquina, ex:127.0.0.1) 

TCP SYN (half open)


Nesse método, um pacote SYN é enviado, caso haja resposta (um pacote SYN-ACK seja recebido), é porque a porta está aberta. Caso seja recebido um RST é porque está fechada. Se a resposta vier positiva (SYN-ACK), o nmap envia outro RST fechando a conexão, de modo que a conexão não se completará. A vantagem desse método é que fica mais difícil a detecção do portscan, pois ele não abre uma conexão TCP completa. 

# nmap -sS alvo 

FIN (Stealth)


Esse método envia pacotes FIN para o alvo, caso não haja resposta, a porta está aberta, caso seja recebido um pacote RST, é porque está fechada. Esse método é útil, pois alguns firewalls podem detectar a chegada de pacotes SYN, detectando o método TCP SYN, esse modo elimina essa possibilidade de detecção. 

# nmap -sF alvo
# nmap -sX alvo 

(Xmas Tree -> envia as flag FIN, URG e PUSH no pacote FIN) 
# nmap -sN alvo 
(null scan -> não envia flag no pacote FIN) 

ACK (ack scan)


Esse método é utilizado para mapear o firewall alvo. Ele pode determinar o tipo de firewall e se ele apenas bloqueia os pacotes SYN. 

# nmap -sA alvo 

ICMP (ping scan)


Nesse método são enviados pacotes "ICMP echo request" para o alvo, caso não haja resposta, é enviado um pacote TCP ACK para a porta 80 ou então um pacote SYN (se nenhum das anteriores responder), isso tudo porque alguns firewalls bloqueiam o "ping". Ele é utilizado para ver se a máquina alvo está ativa ou não. 

# nmap -sP alvo 

UDP


Nesse método, um pacote UDP de 0 byte é enviado, caso seja recebido um "ICMP port unreachable" é porque a porta está fechada, caso contrário, está aberta. 

# nmap -sU alvo 

RPC scan


Esse método combina vários métodos de scan do nmap. Ele considera todas as portas TCP/UDP abertas e as "flooda" com comandos "NULL SunRPC", tentando descobrir quais portas RPC estão abertas, e se possível, o programa e a versão do RPC. 

# nmap -sR alvo 

TCP/IP Fingerprint


Esse método ativa a identificação remota do sistema operacional. Ela usa várias informações recebidas e as compara com a base da dados dos sistemas operacionais conhecidos, detectando qual o sistema usado na máquina. 

# nmap -O alvo 

Além dessas opções, o nmap possui muitas outras, como por exemplo o scan rápido (nmap -F) ou então a opção de não pingar a máquina antes de scaniá-la (nmap -P0). 

Em adição a esses métodos de scan, o nmap oferece a opção de escolher "políticas", de modo a dificultar a detecção pelo IDS da máquina alvo. As opções são "Paranoid", "Sneaky", "Polite", "Normal", "Aggressive" ou "Insane". 

A opção "Paranoid" escaneia de 5 em 5 minutos cada porta, a "Sneaky", de 15 em 15 segundos e assim evoluindo. 

A vantagem do "scan" ser mais lento é que dificulta a descoberta pelo IDS da máquina alvo. A opção padrão é a normal. 

# nmap -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> alvo 

Finalizando

Finalizo meu artigo do NMAP aqui, importante ressaltar que vários comandos podem ser criados, até mais potentes. Isso cabe à imaginação de cada um. 

nmap também aceita caracteres com < > >> |. 

Aguardem que em breve estou planejando complementar este artigo utilizando outras ferramentas e scripts juntos com o NMAP. 

Espero que o artigo tenha sido útil. 
Ass: Carlos Monteiro C¹³ Solo Wikipédia

Equipe: < U.S.I>  



sexta-feira, 11 de novembro de 2011


 Como compilar o kernel do Linux 

O Kernel é o coração do sistema, pois é o kernel que faz a comunicação entre o hardware e o software. Os módulos são como drivers para os dispositivos, ele sobem junto com o sistema quando o mesmo está sendo inicializado. Kernel tem uma pasta com 50MB de módulos, isso pode chegar em torno a 1000 módulos, mas apenas entre 15 a 25 que ficam ativos.


A grande vantagem de possuir módulos é ter a liberdade para ativá-los e desativá-los a hora que for pertinente. Mesmo com toda essas vantagens vocês devem estar indagando:

"Mas porque eu devo compilar o kernel?", essa resposta é bem simples:

1.
Personalizar o kernel de acordo com suas necessidades;

2. Atualização de kernel nos apresenta módulos novos. Ex.: Uma versão antiga que não tem suporte wireless, podemos encontrar em uma versão mais nova.

Muitos tem medo de compilar o kernel, eu mesmo tive durante algum tempo e pesquisei muito antes da minha primeira compilação na distro Debian Linux, achei muita coisa, porém "muita" dessas coisas não foram testadas, isso me fez perder tempo e uma contagem enorme de "kernel panic", mas vou passar para vocês um recorte de todas as coisas que encontrei que realmente deu certo.

Essa compilação é para todas as distros que usam a versão 2.6, não quis me prender a um estilo de compilação de uma distro, pois temos que conhecer Linux e não somente uma distro, a questão de distro vem por gosto.
Antes de começar o compilação do kernel vou pedir para todos estarem cientes dos hardwares da máquina que será compilada. Para ter certeza basta realizar os seguintes comandos:

$ lspci
$ cat /proc/pci (com esse comando você estará ciente com o hardware em geral)
$ cat /proc/cpuinfo (comando para ver a arquitetura do processador)

$ cat /proc/meminfo
ou
$ free -m (para ver sua RAM)

Depois dessa pequena consulta vamos para a parte que realmente interessa:

Passo 1:

Primeiramente vocês terão que baixar o código-fonte do kernel desejado, pelo meu breve conhecimento o mais estável do momento é o 2.6.24, pois alguns amigos me disseram que o 2.6.27 estava dando pau nas placas de rede.

Para baixar entre no seguinte site:

http://www.kernel.org/pub/linux/kernel/v2.6/

ou você pode usar o comando "wget" no terminal, mas isso é pra pessoas com um pouco mais de experiência.

Passo 2:

Depois da conclusão do download vocês terão que descompactar o arquivo tar do código-fonte. Mas lembre-se que isso terá que ser feito em root.

$ sudo su
# tar xjvf linux-2,6,24.tar.bz2 /usr/src

Obs.: O arquivo tem que ser compacto na pasta da arquitetura do kernel antigo: /usr/src

Passo 3:

É necessário criar um link para o novo kernel:

# ls -sf /usr/src/linux-2,6,24 /usr/src/linux

Com esse comando você criará uma nova pasta chamada "linux".

Obs.: Caso você já tenha essa pasta, terá que deletar ela:

# rmdir /usr/src/linux

E repita o passo anterior.

No término entre na pasta:

# cd /usr/src/linux

Passo 4:

Para personalizar seu kernel, entre no arquivo Makefile e altere o Extra Version:

Version=2
PATCHLEVEL=6
SUBLEVEL=24
EXTRAVERSION= -i386-1

Salve o arquivo.

Passo 5:

Nesse passo vamos baixar alguns arquivos para que a compilação seja realizada com sucesso.

No terminal digite:

* comandos para Debian, para outras distro pesquise como baixar esses arquivos.

# aptitude install initrd-tools
# aptitude install linux-initrd-tool

Esses pacotes serão de suma importância para configurar a imagem no GRUB.

Baixe os pacotes abaixo para trabalhar o config em modo gráfico, pois em texto será um tédio.

Caso você queira se aventurar no texto basta executar o:

# make config

Linux: kernel make config
ou baixe as bibliotecas para modo gráfico:

Para menuconfig:

# apt-get install libncurses5-dev

# make menuconfig

Linux: kernel make menuconfig
Para xconfig:

# apt-get install libqt3-mt-dev

# make xconfig

Linux: kernel make xconfig
Obs.: No Debian as dependências serão instaladas automaticamente.

Passo 6:

Agora iremos configurar o kernel:

# make menuconfig

Obs.: Para esse comando lembre que "*" são itens que serão incorporados no kernel e "m" serão modulares.

ou:

# make xconfig

Depois de configurar salve.

Passo 7:

Agora vem a compilação de verdade:

# make bzImage

Obs.: Tem que ser igual o "i", realmente é em maiúsculo, respeite as escritas do comando.

Pode ir tomar um café, pois dependendo da arquitetura do seu CPU isso vai demorar um pouco.

Passo 8:

Vamos ativar os módulos:

# make modules

Linux: kernel make modules
Passo 9:

Agora vamos instalar os módulos:

# make modules_install

Linux: kernel make modules_install
Demora um pouco também.

Passo 10:

Vamos copiar a imagem do novo kernel no /boot.

# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.24-i386-1

# cp /usr/src/linux/System.map /boot/System.map-2.6.24-i386-1

Vamos criar um link para o System.map:

# ln -sf /boot/System.map-2.6.24-386-1 /boot/System.map

Para finalizar o vamos copiar o config para o boot:

# cp /usr/src/linux/.config boot/config-2.6.24-i386-1

Passo 11:

Vamos criar um initrd para execução do boot:

# mkinitrd -o /boot/initrd-2.6.24-i386-1.img 2.6.24-i386-1
Vamos configurar o GRUB.

Ainda logado como root digite:

# cd /boot/grub

# vim menu.lst
ou
# vi menu.lst

Coloque:

title           Debian GNU/Linux, kernel 2.6.24-6-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.24-i386-1 root=/dev/hda1 ro
initrd          /boot/initrd-2.6.24-i386-1.img
savedefault

Salve o arquivo, reinicie a máquina e escolha o modo com o novo kernel...

Para confirmar sua façanha digite no terminal:

# uname -a

Você está na lista dos nerds attack by linuxman ^^ HuHiHiuHuihIUhiuuhi

Caso dê erro vai parecer:

Linux: kernel panic
Qualquer coisa lembre-se do guia do mochileiro das galáxias:

DON'T PANIC

Quem usa o LILO pode me contactar depois... 







Ass: Carlos Monteiro 
Equipe: < U.S.I>


sexta-feira, 4 de novembro de 2011

Cores Básica HTML








Tabela de cores 1 (em base 10)



White


RGB="#FFFFFF"
Red


RGB="#FF0000"
Green


RGB="#33ff33"
Blue


RGB=#0000FF
Magenta


RGB=#FF00FF
Cyan


RGB=#00FFFF
Black


RGB=#000000Y
Yellow


RGB=#FFFF00



Tabela Padrão de Cores


"#FFFFFF" "#FFCCCC" "#FFCC99" "#FFFFCC"
"#CCCCCC" "#FF6666" "#FFCC33" "#FFFF99"
"#C0C0C0" "#FF0000" "#FF9900" "#FFFF00"
"#999999" "#CC0000" "#FF6600" "#FFCC00"
"#666666" "#990000" "#CC6600" "#999900"
"#333333" "#660000" "#993300" "#666600"
"#000000" "#330000" "#663300" "#333300"


"#99FF99" "#CCFFFF" "#FFCCFF"
"#66FF99" "#66FFFF" "#FF99FF"
"#33ff33" "#33CCFF" "#CC66CC"
"#00CC00" "#3366FF" "#CC33CC"
"#009900" "#3333FF" "#993366"
"#006600" "#000099" "#663366"
"#003300" "#000066" "#330033"





Tabela de Cores - Verde



Aquamarine


"#70DB93"
Forest
Green "#238E23"
Green
Yellow "#93DB70"
Spring
Green "#00FF7F"
Dark
Green


"#2F4F2F"
Dark
Green Copper


"#4A766E"
Dark
Olive Green "#4F4F2F"
Lime Green
"#32CD32"
Green
Copper "#527F76"
Hunter
Green "#215E21"
Khaki


"#9F9F5F"
Medium
Aquamarine "#32CD99"
Medium
Forest Green "#6B8E23"
Medium
Sea Green "#426F42"
Medium
Spring Green "#7FFF00"
Pale
Green



"#8FBC8F"
Sea
Green "#238E68"
Yellow
Green "#99CC32"





Tabela de Cores - Marrom



Baker's
Chocolate


"#5C3317"
Brown


"#A62A2A"
Dark
Brown


"#5C4033"
Dark
Tan


"#97694F"
Dark
Wood


"#855E42"
Feldspar


"#D19275"
Firebrick


"#8E2323"
Light
Wood



"#E9C2A6"
Medium
Wood "#A68064"
New
Tan



"#EBC79E"
Semi-Sweet
Chocolate "#6B4226"
Sienna


"#8E6B23"
Tan


"#DB9370"
Very
Dark Brown "#5C4033"





Tabela de Cores - Violeta



Blue Violet


"#9F5F9F"
Dark Orchid "#9932CD" Dark Purple "#871F78" Dusty Rose


"#856363"
Indian Red


"#4E2F2F"
Maroon


"#8E236B"
Violet


"#4F2F4F"
Medium
Orchid "#9370DB"
Medium
Violet Red "#DB7093"
Neon Pink


"#FF6EC7"
Orchid


"#DB70DB"
Pink


"#BC8F8F"
Plum


"#EAADEA"
Spicy
Pink


"#FF1CAE"
Violet
Red


"#CC3299"
Salmon


"#6F4242"





Tabela de Cores - Amarelo



Brass


"#B5A642"
Bright
Gold



"#D9D919"
Bronze


"#8C7853"
Bronze II


"#A67D3D"
Cool Copper


"#D98719"
Copper


"#B87333"
Coral


"#FF7F00"
Gold


"#CD7F32"
Goldenrod


"#DBDB70"
Mandarian
Orange "#E47833"
Medium
Goldenrod "#EAEAAE"
Old Gold


"#CFB53B"
Orange


"#FF7F00"
Orange
Red


"#FF2400"
Scarlet


"#8C1717"
Wheat


"#D8D8BF"





Tabela de Cores - Azul



Cadet
Blue



"#5F9F9F"
Corn Flower Blue


"#42426F"
Dark Slate Blue "#6B238E" Dark
Turquoise "#7093DB"
Light
Blue



"#C0D9D9"
Light
Steel Blue "#8F8FBD"
Medium Blue "#3232CD" Medium Slate Blue "#7F00FF"
Medium
Turquoise "#70DBDB"
Midnight Blue "#2F2F4F" Navy Blue


"#23238E"
Neon Blue


"#4D4DFF"
New Midnight Blue "#00009C" Rich Blue


"#5959AB"
Sky
Blue



"#3299CC"
Slate Blue


"#007FFF"
Steel Blue


"#236B8E"
Summer
Sky "#38B0DE"
Thistle


"#D8BFD8"
Turquoise


"#ADEAEA"





Tabela de Cores - Cinza


Dark Slate Grey


"#2F4F4F"
Dim Grey


"#545454"
Grey


"#C0C0C0"
Light Grey


"#A8A8A8"
Quartz


"#D9D9F3"
Silver


"#E6E8FA"
Very
Light Grey "#CDCDCD"




Carlos Monteiro Equipe U.S.I





quinta-feira, 3 de novembro de 2011

O que é Kernel?

O Kernel é um componente do Sistema Operacional, mas fica tão escondido que a maioria dos usuários domésticos sequer ouviu falar nele. Isso se deve à sua importância: ao contrário do que pode parecer, ele é tão essencial para o funcionamento de um computador que é melhor mantê-lo a salvo de pessoas bisbilhoteiras e inexperientes.

O cérebro do S.O.


Um PC divide-se, basicamente, em duas camadas: hardware e software. Até aí, nenhuma novidade. Onde entra o Kernel na história, então? Pois bem: ele é o grande responsável por fazer a interação entre essas camadas. Em outras palavras, é o Kernel que gerencia os recursos do sistema e permite que os programas façam uso deles.
Simples assim?


Na verdade, não. O fato é que o Kernel é complexo demais para ser explicado de forma técnica a um público leigo no assunto. Basicamente, ele começa a funcionar assim que o computador é ligado; nesse momento ele inicia a detecção de todo o hardware indispensável ao funcionamento da máquina (monitor, placa de vídeo etc.). O Sistema Operacional é carregado em seguida e, uma vez que o usuário faça seu login, o Kernel passa a administrar as principais funções dentro do S.O.: isso inclui o gerenciamento da memória, dos processos, dos arquivos e de todos os dispositivos periféricos.

Dessa forma o Kernel pode ser descrito como um grande organizador: é ele o responsável por garantir que todos os programas terão acesso aos recursos de que necessitam (memória RAM, por exemplo) simultaneamente, fazendo com que haja um compartilhamento concorrente – mas sem oferecer riscos à integridade da máquina.

quarta-feira, 2 de novembro de 2011

Introdução HTML Completa

Um documento HTML (HyperText Markup Language) é um conjunto de instruções em formato ASCII, usada para criar documentos hipertexto e que podem ser visualizados por um browser WWW (como o Netscape).
Para criar uma página HTML voce pode usar qualquer editor que possa salvar arquivos no formato "ASCII com quebras de linhas", como por exemplo o Notepad do Windows, ou então usar um editor HTML específico.A linguagem HTML utiliza Tags (marcações) que informam ao browser como exibir o documento.
As marcações do HTML consistem do sinal <, (o símbolo de "menor que"), seguida pelo nome da marcação e fechada por > ("maior que").
De um modo geral, as tags aparecem em pares, por exemplo, <H1> Cabeçalho</H1>. O símbolo que termina uma determinada marcação é igual aquele que a inicia, antecedido por uma barra (/).
No exemplo, <H1> inicia a formatação do primeiro nível de cabeçalho e </H1> indica que o cabeçalho acabou.
Há excessões a esse funcionamento em pares das marcações. Por exemplo, a que indica um final de parágrafo: <P>, não necessita de um Tag correspondente: </P>. A marcação que indica quebra de linha - <BR> - também não precisa de uma correspondente, e outras tais como <HR> e <LI>..
Importante: HTML não faz diferença entre maiúsculas e minúsculas (não é "case sensitive"). Então a notação <title> é equivalente a <TITLE> ou <TiTlE>. 


Ops = Para visualizar no Netscape um documento que esteja criando basta abrí-lo com o comando Open Local File disponível na opção File do menu.

Exemplo de uma página HTMLTodo documento deve conter um conjunto básico de Tags. Deve ser identificado como HTML (<HTML> </HTML>), ter uma área de cabeçalho (<HEAD> </HEAD>) onde será colocado o título do documento (<TITLE> </TITLE>), e uma área definida como corpo(<BODY> </BODY>) onde estará o conteúdo do documento. Veja um exemplo:
<HTML>
<HEAD>
<TITLE>HTML Básico</TITLE>
</HEAD>
<BODY>
<H1>Este é o primeiro nível de cabeçalho</H1>
Bem-vindo ao mundo do HTML.
Este é o primeiro parágrafo.<P>
E este é o segundo.<P>
</BODY>
</HTML>

Esta página vai aparecer assim:
O título HTML Básicoaparece na barra superior do seu Browser

Este é o primeiro nível de cabeçalho

Bem-vindo ao mundo do HTML. Este é o primeiro parágrafo.E este é o segundo.

Títulos
O título não aparece no corpo da página e sim no alto da tela do seu Browser, e é utilizado para identificar o documento como se fosse um nome do arquivo. É interessante que o título possa sugerir claramente o conteúdo do documento.
A marcação utilizada para títulos é <TITLE> e seu par </TITLE>. Escrito desta forma:

<HTML>
<TITLE> Este é o título</TITLE>
<BODY>

</BODY>
</HTML>
Cabeçalhoscabeçalhos normalmente são usados para títulos e sub-títulos dentro de uma página.
O HTML possui seis níveis de cabeçalhos, numerados de 1 a 6, sendo o número 1 o de maior destaque. Cabeçalhos são exibidos em letras maiores e em negrito.
ATENÇÃO: ao definir o tamanho de um cabeçalho, você não está definindo o tamanho da letra (em pontos). Você apenas define que ele aparecerá com maior tamanho e destaque que o resto do texto. O tamanho exato com que ele será visualizado é definido pelo browser de cada pessoa que acessar a informação.
As notações relativas a cabeçalhos são: <Hy> Texto do cabeçalho </Hy > onde y é um número entre 1 e 6 especificando o nível do cabeçalho.

O conjunto de notações possíveis é o que segue:

<H1>Headings</H1>


<H2>Headings>/H2>

<H3>Headings</H3>

<H4>Headings</H4>

<H5>Headings</H5>
<H6>Headings</H6>
ParágrafosA marcação <P> é utilizada para definir o início de um novo parágrafo, deixando uma linha em branco entre cada parágrafo. HTML não reconhece o caracter de quebra de linha dos editores de texto. Mesmo que exista uma linha em branco, os clientes Web só reconhecem o início de um novo parágrafo mediante a marcação apropriada.

Quebras de Linha
A marcação <BR> faz uma quebra de linha sem acrescentar espaço extra entre as linhas. Veja a diferença do uso de <P> e <BR>:
Vamos separar esta sentença com marcação de parágrafo.<p>
Para verificar a diferença.
Vamos separar esta sentença com marcação de parágrafo.Para verificar a diferença.
Diferença quando separamos duas linhas utilizando <br>
a marcação de quebra de linha <br>
Deu pra notar?
Diferença quando separamos duas linhas utilizando
a marcação de quebra de linha
Deu pra notar?




Ass: Carlos Monteiro 

Sistema operativo


Sistema Operativo ou Operacional


Oque é?

Um Sistema Operativo, ou Sistema Operacional, é uma plataforma de softwares, cujo a função é gerenciar os recursos dos sistemas, os sistema operacional foi criado para facilitar a ingressão de pessoas comuns na informatica, e tambem para facilitar o trabalho de pessoas que trabalham na computação, afinal ninguem merece trabalhar via comandos no MS-DOS (Windows), ou então no Terminal (Linux), e etc.

Como surgiu o primeiro Sistema Operacional?

Alguns ão de dizer-lhe que foi o DOS. Outros dir-lhe-ão que foi o MSDos (ambos são a mesma coisa). Mas a verdade é diferente, veja: 
Um dos primeiros sistemas operacionais de propósito geral foi o CTSS (Compatible Time-Sharing System), desenvolvido no MIT e apresentado em novembro de 1961. Após o CTSS, o MIT, os laboratórios Bell da AT&T e a General Eletric desenvolveram o Multics, cujo objetivo era suportar centenas de usuários. Apesar do fracasso comercial, o Multics serviu como base para o estudo e desenvolvimento de sistemas operacionais. Um dos desenvolvedores do Multics, que trabalhava para a Bell, Ken Thompson, começou a reescrever o Multics num conceito menos ambicioso, criando o Unics (em 1969), que mais tarde passou a chamar-se Unix. Os sistemas operacionais eram geralmente programandos em assembly, até mesmo o Unix em seu início. Então, Dennis Ritchie (também da Bell) criou a linguagem C a partir da linguagem B, que havia sido criada por Thompson. Finalmente, Thompson e Ritchie reescreveram o Unix em C. O Unix criou um ecossistema de versões, onde destacam-se: System V e derivados (HP-UX, AIX); família BSD (FreeBSD, NetBSD, OpenBSD, etc.), Linux e até o Mac OS X (que deriva do Mach e FreeBSD).
Na década de 1970, quando começaram a aparecer os computadores pessoais, houve a necessidade de um sistema operacional de utilização mais fácil. Em 1980, William (Bill) Gates e seu colega de faculdade, Paul Allen, fundadores da Microsoft, compram o sistema QDOS ("Quick and Dirty Operating System") de Tim Paterson por $50.000, batizam-no de DOS (Disk Operating System) e vendem licenças à IBM. O DOS vendeu muitas cópias, como o sistema operacional padrão para os computadores pessoais desenvolvidos pela IBM.
No começo da década de 1990, um estudante de computação finlandês postou um comentário numa lista de discussão da Usenet dizendo que estava desenvolvendo um kernel de sistema operacional e perguntou se alguém gostaria de auxiliá-lo na tarefa. Este estudante chamava-se Linus Torvalds e o primeiro passo em direção ao tão conhecido Linux foi dado naquele momento.