Você está na página 1de 8

Software de sistema

Um programa, desde sua criao em uma linguagem de alto nvel, manipulado por um grande
conjunto de outros programas que traduzem seu cdigo para linguagem de mquina e controlam
sua execuo no computador. Este conjunto de programas recebe a denominao genrica de
software de sistema e o objeto de estudo deste texto.

No desenvolvimento de programas, o software de sistema extensamente utilizado, com as vrias


etapas inter-relacionadas para a criao e execuo de um programa (Fig. 1.7). Tipicamente, esse
relacionamento d-se de forma transparente para o programador.

Programas so usualmente descritos em linguagens de alto nvel. O compilador o programa do


sistema que traduz um programa descrito atravs de uma linguagem de alto nvel especfica para
um programa equivalente em linguagem assembly. Esse processo de traduo denominado
compilao.

O montador (assembler) o programa do sistema responsvel por traduzir um programa assembly


para o cdigo de mquina. Esse processo de traduo de um programa-fonte assembly para um
programa em cdigo de mquina denominado montagem; o resultado da montagem um
mdulo objeto contendo pelo menos o cdigo binrio que ser posteriormente executado.

Programas complexos raramente so descritos atravs de um nico arquivo-fonte, mas sim


organizados em mdulos objetos interrelacionados. Tais mdulos podem agregar funcionalidades
da aplicao sendo desenvolvida ou recursos comuns do sistema que devem ser integrados
aplicao. O programa do sistema ligador o responsvel por interligar os diversos mdulos de um
programa para gerar o programa que ser posteriormente carregado para a memria. Essa etapa
de preparao de um programa para sua execuo denominada ligao.

Para que um programa possa ser executado, seu cdigo de mquina deve estar presente na
memria. O carregador o programa do sistema responsvel por transferir o cdigo de mquina de
um mdulo objeto para a memria e encaminhar o incio de sua execuo. O processo de transferir
o contedo de um mdulo objeto para a memria principal denominado carregamento. A
execuo de qualquer programa deve ser precedida por seu carregamento.

Figura: Etapas para execuo de programa.


\includegraphics[width=.9\textwidth]{etapas.eps}
A execuo de cada programa se d sob o controle do sistema operacional. A um programa em
execuo d-se o nome de processo. Alm das instrues do programa, um processo necessita de
todo um conjunto de informaes adicionais para o controle de sua execuo. O estado corrente
dessas informaes associadas a cada programa em execuo constitui o estado do processo. O
sistema operacional o responsvel por gerenciar cada processo no computador, estabelecendo
como ser realizada sua execuo. Ele tambm atua como um programa supervisor que estabelece
uma camada de controle entre o hardware do computador e as aplicaes de usurios. Uma de
suas funes estabelecer uma interface de software uniforme entre o computador, outros
programas do sistema e programas de aplicao de usurios. Outra funo fundamental de um
sistema operacional gerenciar os recursos de um computador de forma a promover sua eficiente
utilizao. Exemplos de sistemas operacionais so MS-DOS, Windows NT, OS/2, Linux e Solaris -estes dois

Sistemas Operacionais
O que um sistema operacional?
Comente abaixo S.Lopes
28/03/2008
Um sistema operacional (SO) uma coleo de programas que inicializam o hardware do
computador. Fornece rotinas bsicas para controle de dispositivos. Fornece gerncia,
escalonamento e interao de tarefas. Mantm a integridade de sistema.
Oi pessoal, vamos l? Sistema operacional(SO)? O que isso? Ser que apenas um grande
software de alto porte que pera simplesmente para digitar um texto qualquer ou jogar pacincia
spider? rs! Errado! Nessa matria vamos saber a verdade sobre o que um sistema operacional.
H muitos tipos de Sistemas Operacionais, cuja complexidade varia e depende de que tipo de
funes provido, e para que computador esteja sendo usado. Alguns sistemas so responsveis
pela gerncia de muitos usurios, outros controlam dispositivos de hardware como bombas de
petrleo.
O sistema operacional funciona com a iniciao de processos que este ir precisar para funcionar
corretamente. Esses processos podero ser arquivos que necessitam de ser frequentemente
atualizados, ou arquivos que processam dados teis para o sistema. Poderemos ter acesso a vrios
processos do sistema operacional a partir do gerenciador de tarefas, onde se encontram todos os
processos que esto em funcionamento desde a inicializao do sistema operacional at a sua
utilizao atual.
O sistema operacional uma coleo de programas que:
Inicializa o hardware do computador
Fornece rotinas bsicas para controle de dispositivos
Fornece gerncia, escalonamento e interao de tarefas
Mantm a integridade de sistema
Um Sistema Operacional muito simples para um sistema de controle de segurana poderia ser
armazenado numa memria ROM (S de Leitura - um chip que mantm instrues para um
computador), e assumir o controle ao ser ligado o computador. Sua primeira tarefa seria reajustar
(e provavelmente testar) os sensores de hardware e alarmes, e ento ativar uma rotina
monitorando ininterruptamente todos os sensores introduzidos. Se o estado de qualquer sensor de
entrada for mudado, ativada uma rotina de gerao de alarme.
RELACIONADO

Qual o melhor sistema operacional, Windows, Linux ou Mac OS?


Em um grande computador multiusurio, com muitos terminais, o Sistema Operacional muito
mais complexo. Tem que administrar e executar todos os pedidos de usurios e assegurar que eles
no interferiram entre si. Tem que compartilhar todos os dispositivos que so seriais por natureza
(dispositivos que s podem ser usados por um usurio de cada vez, como impressoras e discos)
entre todos os usurios que pedem esse tipo de servio. O SO poderia ser armazenado em disco, e
partes dele serem carregadas na memria do computador (RAM) quando necessrio. Utilitrios so
fornecidos para:
Administrao de Arquivos e Documentos criados por usurios
Desenvolvimento de Programas
Comunicao entre usurios e com outros computadores
Gerenciamento de pedidos de usurios para programas, espao de armazenamento e prioridade

Adicionalmente, o SO precisaria apresentar a cada usurio uma interface que aceita, interpreta, e
ento executa comandos ou programas do usurio. Essa interface comumente chamada de
SHELL (=cpsula, manteremos o nome original em ingls) ou interpretador de linha de comando
(CLI). Em alguns sistemas ela poderia ser uma simples linha de texto que usam palavras chaves
(como MSDOS ou UNIX); em outros sistemas poderiam ser grficas, usando janelas e um
dispositivo apontador como um mouse (como Windows95 ou X - Windows).
As Vrias Partes de um Sistema Operacional
Um sistema operacional de um computador que usado por muitas pessoas ao mesmo tempo,
um sistema complexo. Contm milhes de linhas de instrues escritas por programadores. Para
tornar os sistemas operacionais mais fceis de serem escritos, eles so construdos como uma
srie de mdulos, cada mdulo sendo responsvel por uma funo. Os mdulos tpicos em um
grande SO multiusurio geralmente so:
Ncleo (Kernel em ingls - tambm conhecido como "executivo")
Gerenciador de processo
Escalonador (Scheduler, em ingls)
Gerenciador de arquivo
O Ncleo - Um Executivo em Tempo-Real
O ncleo de um sistema operacional algumas vezes chamado de EXECUTIVO em tempo real.
Algumas das funes executadas por ele so:
Chaveamento entre programas
Controle e programao de dispositivo de hardware
Gerenciamento de memria
Gerenciamento de processos
Escalonamento de tarefas
Comunicao entre processos
Processamento de excees e de interrupo
RELACIONADO

Kernel dos Sistemas Operacionais


Nosso sistema simples de monitorao de segurana no teria todas as funes acima, j que
provavelmente seria um sistema mono-tarefa, executando apenas um programa. Como tal, no
precisaria processar permutas entre mais de um programa ou permitir comunicao entre
programas (comunicao entre processos). A gerncia da memria seria desnecessria, j que o
programa residiria permanentemente em ROM ou em EPROM (uma forma programvel especial de
ROM).
Um sistema operacional projetado para manusear um grande nmero de usurios precisaria de um
ncleo para executar todas as funes acima. Programas de usurios geralmente so armazenados
em disco, assim precisa ser carregado em memria antes de ser executado. Isso apresenta a
necessidade de gerncia da memria, j que a memria do computador precisaria ser pesquisada
para localizar uma rea livre para carregar um programa de usurio na mesma. Quando o usurio
tivesse encerrada a execuo do programa, a memria consumida por ele precisaria ser liberada e
se tornaria disponvel para outro usurio quando solicitado.

Gerenciamento e Escalonamento (Scheduling) de processos tambm so necessrios, de forma


que todos os programas possam ser executados razoavelmente. No h como um programa de um
usurio especfico ser executado numa rea de extenso, negando o funcionamento de qualquer

outro programa, e fazendo todos os outros usurios esperarem. Adicionalmente, alguns programas
poderiam precisar ser executados mais freqentemente que outros, por exemplo, checando
comunicaes de rede ou imprimindo. Alguns programas podem precisar ser suspensos
temporariamente, e serem reiniciados depois, assim introduzindo a necessidade da comunicao
inter-programas.
Programando um computador
Um programa uma seqncia de instrues ao computador. Quando o programador de software
(uma pessoa que escreve programas para serem executados em um computador) desenvolve um
programa, este convertido em uma longa lista de instrues que so executadas pelo sistema de
computador.

Em sistemas operacionais ns falamos mais de um processo do que de um programa. Nos sistemas


operacionais modernos, s uma poro de um programa carregada em cada instante. O resto do
programa espera numa unidade de disco at que se precise do mesmo. Isso economiza espao de
memria.

Os programas no computador so executados por processadores. Um processador um chip no


computador que executa instrues de programa. Processadores executam milhes de instrues
por segundo.
Um Processo
Um processo ou tarefa uma poro de um programa em alguma fase de execuo. Um programa
pode consistir de vrias tarefas, cada uma com funcionamento prprio ou como uma unidade
(talvez se comunicando entre si periodicamente).
A Thread (fileira, linha)
Uma thread uma parte separada de um processo. Um processo pode consistir de vrias threads
cada uma das quais sendo executada separadamente. Por exemplo, uma thread poderia tratar
refresh e grficos na tela, outra thread trataria impresso, outra thread trataria o mouse e o
teclado. Isso d bom tempo de resposta em programas complexos. Windows NT um exemplo de
um sistema operacional que suporta multi-thread.
Sistemas operacionais de Multi-processo
RELACIONADO

Qual a diferena entre NTFS, FAT, FAT 32 e exFAT


Alguns sistemas executam s um nico processo, outros sistemas executam mltiplos processos de
cada vez. A maioria dos computadores baseada num nico processador, e um processador pode
executar s uma instruo de cada vez. Assim, como possvel um nico processador executar
processos mltiplos? A resposta mais imediata que ele no faz desse modo. O processador do
computador executa um processo por um perodo pequeno de tempo, e ento muda para o
prximo processo e assim por diante. Como o processador executa milhes de instrues por
segundo, isso d a impresso de muitos processos serem executados ao mesmo tempo.

Em um sistema de computador que suporta mais de um processo de cada vez, algum mecanismo
deve ser usado para intercalar de uma tarefa para outra. H dois mtodos principais usados para
fazer essa troca:
Escalonamento por Cooperao indica que uma tarefa que est sendo executada atualmente
deixar voluntariamente em algum momento o processador e permitir que outros processos
sejam executados.

Escalonamento Preemptivo significa que uma tarefa corrente ser interrompida (forou a se render)
e o processador se dedica a outro processo em estado de espera.
O problema da mudana por cooperao que um processo poderia demorar e assim negar a
execuo de outros processos e poderia resultar em nenhum trabalho ser feito. Um exemplo de um
sistema de cooperao o Windows 3.1. O escalonamento preemptivo melhor. D mais respostas
a todos os processos e ajuda a prevenir (ou reduz o nmero de ocorrncias de) contra o medo de
mquinas travadas. Windows NT um exemplo de tal sistema operacional.
Nota: S para programas de 32bits em Windows 95 h escalonamento preemptivo. Programas de
16bits ainda so escalonados cooperativamente, o que significa que ainda fcil para um
programa de 16bits travar um computador Windows.
Contexto de Troca
Quando o processador muda de um processo a outro, o seu estado (o processador registra e
associa os dados) deve ser salvo, pois algum tempo depois, ser reiniciado o processo e continuar
como se nunca fora interrompido. Uma vez esse estado tenha sido salvo, o prximo processo em
espera ativado. Isso envolve carga nos registradores do processador e na memria, com todos os
dados previamente salvos, e reiniciando na instruo que seria executada quando houve a ltima
interrupo. O ato de mudar de um processo a outro chamado troca de contexto. Um perodo de
tempo que um processo execute antes de ser trocado chamado de time slice ou perodo de
quantum.
Escalonamento (Scheduling)
A deciso de qual o prximo processo deve ser executado chamado escalonamento (scheduling),
e pode ser feito em uma grande variedade de maneiras. Escalonadores por cooperao geralmente
so muito simples, j que os processos so organizados em fila circular (ROUND ROBIN). Quando
um processo corrente se deixa, vai para o fim da fila. O processo no topo da fila ento executado,
e todos os processos se movimentam um lugar para cima na fila. Isso prov uma medida justa,
mas no impede que um processo monopolize o sistema (no se deixando).

Escalonadores preemptivos usam um relgio em tempo real que gera interrupo a intervalos
regulares (digamos, a cada 1/100 de um segundo). Cada vez que uma interrupo ocorre, o
processador muda para outra tarefa. Sistemas que geralmente empregam esse tipo de
escalonamento atribuem prioridades a cada processo, de forma que alguns podem ser executados
mais freqentemente que outros.
Carga do Sistema Operacional
O SO pode ser carregado na memria de um computador de duas maneiras.
J est presente em ROM
carregado a partir do disco quando o computador ligado.
Se o SO j est presente em ROM (para sistemas tipo controladores industriais, bombas de
petrleo, etc), ele ganhar controle imediato do processador ao ser ligado o computador. Para
sistemas mais complexos, o SO armazenado normalmente em mdia secundria (como disco), e
carregado em RAM quando o computador ligado. A vantagem desse tipo de sistema que o
escalonamento para o SO mais fcil de fazer e programar.
O PROCESSO de BOOTSTRAP
Descreve a ao da carga inicial do sistema operacional do disco para a RAM. Uma pequena rotina
armazenada em ROM, chamada de CARREGADOR de BOOTSTRAP ou IPL (Carregador de Programa
Inicial), l uma rotina especial de carga no disquete. Em sistema baseado em disquete, essa rotina
normalmente reside na trilha 00, setor 00 (ou 01), e chamado de setor de booting. O cdigo
contido no setor transferido para a RAM, e ento executada. Tem a responsabilidade exclusiva
de carregar o resto do sistema operacional na memria.

Tipos diferentes de processamentos em sistemas operacionais


Sistemas operacionais so divididos em categorias que definem as suas caractersticas. Sistemas
modernos podem usar combinaes de essas categorias descritas a seguir.
BATCH (em LOTE)
O tipo mais antigo de SO permite s um programa ser executado de cada vez. O programa que
carregado no computador executado completamente. Os dados usados pelo programa no
podem ser modificados enquanto o programa est sendo executado. Qualquer erro no programa ou
nos dados significa comear tudo novamente.
INTERATIVO
Esses permitem a modificao e entrada de dados ainda durante a execuo do programa.
Sistemas tpicos so reservas de vo areo e linguagens como BASIC.
TIME-SHARING/MULTI-USURIO
Esses SOs compartilham o computador entre mais de um usurio, e adota tcnicas de
escalonamento preemptivo.
MULTI-TAREFAS
Mais de um processo pode ser executado concorrentemente. O processador escalonado
rapidamente entre os processos. Um usurio pode ter mais de um processo executado de cada vez.
TEMPO REAL
Principalmente usado em controle de processos, telecomunicaes, etc. O SO monitora vrias
entradas que afetam a execuo de processos, mudando os modelos de computadores do
ambiente, e assim afetando as sadas, dentro de um perodo de tempo garantido (normalmente <
1 segundo).
MULTI-PROCESSAMENTO
Um computador que tem mais de um processador central dedicados na execuo de processos.
Bom. Espero que vocs gostem. At a prxima.

Software livre, freeware, shareware, copyleft: entenda as licenas de software


LILIAN FERREIRA | Do UOL Tecnologia
Entenda o que software livre e outras licenas de softwares.
Software Livre: qualquer programa que tem a liberdade de ser usado, copiado, modificado e
redistribudo. Ope-se ao conceito de software proprietrio. Pode ser vendido ou disponibilizado
gratuitamente. Um caso o da Red Hat que comercializa o Red Hat Enterprise Linux. A
possibilidade de modificaes implica na abertura de seu cdigo fonte. A maioria dos softwares
livres licenciada como GNU GPL ou BSD.
GPL: a Licena Pblica Geral GNU acompanha os pacotes distribudos pelo Projeto GNU (General
Public License). a mais utilizada, sendo adotada pelo Linux. Ela impede que o software seja
integrado em um software proprietrio e garante os direitos autorais. No permite que as
liberdades originais sejam limitadas, nem que sejam impostas restries que impeam a
distribuio da mesma forma que foram adquiridos.
BSD: a licena BSD foi inicialmente utilizada nos softwares da Berkeley Software Distribution. Ela
impe poucas restries sobre as formas de uso, alteraes e redistribuio do software e, por isso,
chamada de copycenter. O programa pode ser vendido e no precisa incluir o cdigo fonte.
Software em Domnio Pblico: o autor do software relega a propriedade do programa e este se
torna bem comum, ou seja, no possui copyright. Entretanto, o autor pode restringir que
modificaes sejam feitas.
Copyleft: retira barreiras utilizao, difuso e modificao do software, mas impedem a
utilizao no-autorizada. Ele requer que as alteraes sejam livres, passando adiante a liberdade
de copi-lo e modific-lo novamente.
Software proprietrio: aquele cuja cpia, redistribuio ou modificao so proibidos pelo
autor em determinado grau. necessrio solicitar permisso ou pagar para utilizar. Pode ser
freeware, shareware, trial ou demo.
Freeware: software proprietrio que disponibilizado gratuitamente, mas no pode ser
modificado.
Shareware: o software disponibilizado gratuitamente por um perodo de tempo ou com algumas
funes abertas, mas que implica no posterior pagamento pela sua licena.
Trial: verso de teste de vrios softwares. disponibilizada algumas funes, geralmente por 30
dias, para que o usurio experimente o programa para saber se ele atende s suas necessidades.
Demo: verso de demonstrao, semelhante ao Trial. possvel usar o programa por um tempo ou
com apenas algumas funes disponveis.
Software Comercial: o software desenvolvido com o objetivo de lucrar.
Open Source: o software de cdigo aberto aquele que disponibiliza seu cdigo fonte e restringese aos termos tcnicos da questo. Pode ser livre, ou proprietrio. Algumas empresas como IBM,
HP, Intel e Nokia investem em software de cdigo aberto

Entenda o que so drivers, para que servem e como instal-los

Drivers so programas responsveis pela comunicao entre o sistema operacional de computador


e o hardware conectado a ele. Este hardware pode ser uma impressora, um mouse, placas de vdeo
e rede, caixas de som, monitor, pen drives etc. J a plataforma deve ser o Windows, Linux, MSDOS, Unix, FreeBSD, OS X, entre outros.
Drivers no Windows 8 (Foto: Reproduo/Tablet Reviews)
atravs dos drivers que o sistema operacional recebe as instrues, processa-as e, a partir de
ento, comea a "conversar" com o perifrico. Tomemos com exemplo uma impressora: ao instalar
o programa, a plataforma passa a saber, por exemplo, em qual porta ela se localiza, se est ou no
ligada, se possui papel, de que forma os dados a serem impressos chegaro, se a impresso em
preto ou colorida, entre outras informaes.
Drivers embutidos
Na maioria dos sistemas operacionais modernos, entretanto, muitos aparelhos sequer requerem a
instalao de um driver para funcionar. Boa parte dos perifricos atuais so suportados
nativamente. Nesses casos, so usados softwares que j vm embutidos no sistema.
A Microsoft, por exemplo, inclui muitos drivers na prpria instalao do sistema. Como o Windows
a plataforma mais utilizada, a empresa busca facilitar a vida de seus clientes, disponibilizando o
mximo possvel de hardwares compatvel e suportado nativamente.
Como instalar
No Windows e no Mac, instalar um driver normalmente se resume a pegar o CD que vem com o
equipamento, coloc-lo na unidade do computador e executar um programa de instalao. O
procedimento no muito diferente da instalao de um programa. J no Linux e seus derivados, o
processo pode ser um pouco mais complicado, ainda que o sistema, atualmente, j venha com um
suporte nativo a muitos perifricos.
O que fazer se perder o CD?
Caso o usurio no tenha o disco de instalao do equipamento que deseja usar, possvel baixar
uma copia do driver ou seu instalador a partir do site do fabricante. Identifique o modelo, entre na
pgina e procure na opo Suporte, Support, Download, Drivers ou qualquer outro nome
relacionado a suporte e instalao de produtos.
saiba mais
Entenda o que driver e a diferena para drive
Como instalar driver de video no Linux com o Intel Graphics Installer?
Veja como instalar componentes de hardware sem ter o CD com os drivers
Se no encontrar, ligue para o fabricante e informe-se. obrigao deles fornecer este programa.
Depois, s baixar o instalador ou pacote de driver e, caso seja necessrio, descompact-lo.
Caso haja dificuldade em identificar o perifrico, possvel usar programas como o AIDA64 e
diversos outros utilitrios para fazer essa tarefa. Depois, basta acessar o site do fabricante e
procurar. Se preferir, use ferramentas como o MyDrivers, que alm de identificar, baixam os drivers
automaticamente e ainda os mantm atualizados.
Como possvel notar, drivers so essenciais para o bom uso dos computadores e j no so mais
algo to complicado como foram no passado. Se voc tiver alguma dificuldade com eles, veja os
tutoriais doTechTudo sobre a instalao de driver para som, rede e webcam, entre outros.
Ainda tem dvidas sobre drivers? Pergunte no Frum do TechTudo!

Você também pode gostar