Sistema multiprogramável multiusuário. [RESOLVIDO]

1. Sistema multiprogramável multiusuário. [RESOLVIDO]

Hugo Sousa
Goj1

(usa Debian)

Enviado em 01/10/2009 - 21:27h

A definição genérica de sistema multiprogramável multiusuário está ligada a quantidade de usuários que interagem com o sistema, um usuário (monousuário), mais de um (multiusuário). Essa definição é muito genérica, então resolvi pesquisar na net e fiquei mais confuso. Não há exemplos claros.

Alguém poderia definir melhor e dar um exemplo?

O linux, por exemplo, é multiusuário, mas como seria esse multiuso, como ocorre a interação com o sistema de vários usuários simultaneamente?
Que eu saiba isso só é possível em servidores.

Grato pela atenção.


  


2. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Genesco Sousa
gesousa

(usa Ubuntu)

Enviado em 01/10/2009 - 22:21h

Não, qualquer sistema como o window xp ou linux em desktop é multiusuário, por exemplo quando vc utiliza algum comando sudo no seu ubuntu, vc está utilizando o uid ou em termo leigos o usuário root para aquele determinada tarefa ou processo em quanto no ambeinte gráfico o sue usuario está rodando outro processos, vc pode muito bem entrar no sistema via outro terminal em quanto estiver logado em outra conta no modo gráfico... ou seja vc está utilizando mais de um usuário...




3. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 01/10/2009 - 22:43h

Os sistemas operacionais da atualidade ou são multiusuários de nascença (Unix, Linux) ou foram sendo adaptados com o tempo (DOS, Windows), ou seja todos permitem a existência de dois ou mais usuários "simultaneamente".
A palavra acima está entre aspas porque isso na realidade não ocorre, mas apenas parece ocorrer.

Restringindo-nos a Windows e Linux, ambos são multiusuários e multitarefa, sendo neste segundo quesito a prinicipal diferença entre ambos: Enquanto a multitarefa no Windows é apenas cooperativa, no Linux e no Unix ela pode ser também preemptiva.

Trocando em miúdos, uma tarefa em regime cooperativo é comparável a uma fieira de serventes de obra jogando tijolos uns para os outros com a finalidade de depositá-los em outro lugar (quem ainda não viu essa cena?).
Por outro lado, uma tarefa em regime preemptivo é quando houvesse paralelamente a isso outro grupo de pessoas já fazendo as escavações para os alicerces, outro preparando a massa de concreto, outro ainda levando para o local as colheres de pedreiro, os fios de prumo, as desempenadeiras, etc.

Por exemplo, na tarefa preemptiva, ao abrir-se um editor de textos, o sistema já presume que algum texto gerado ou resgatado poderá ser editado, gravado, impresso, etc., e antecipa as ações necessárias para tal, deixando prontos os recursos que seriam necessários para todas essas ações, sem esperar que o usuário primeiro tome uma decisão para somente então agir. Esse processo é absolutamente transparente para o usuário, no caso "os" usuários.





4. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Hugo Sousa
Goj1

(usa Debian)

Enviado em 01/10/2009 - 23:40h

Eu compreendo a multitarefa! O que não concordo é com o conceito de multiusuário, onde vários usuários acessam o mesmo sistema simultaneamente o que, na minha opinião é impossível, não ser quando acesso remoto, invasão ou o usuário de um servidor web onde todos os usuário acessam a mesma pasta contendo os mesmos arquivos, ou seja, o site, ou também em um servidor de impressão.

Mesmo assim eu discordo de tal conceito!

Raciocinem comigo.
Se os processadores são lineares, por mais que executem 1.000.000 de processos por ciclo de clock, é impossível na prática que duas ações no mesmo espaço de tempo. Não concordam?


5. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 02/10/2009 - 23:44h

A arquitetura do Pc trabalha em regime de interrupções sobre o clock.
Para cada tarefa exige-se um "token", uma espécie de senha para ser atendido.
Então um ciclo de clock é dividido em "n" interrupções, e a cada uma delas é atendido um token.
Como o clock é muito rápido, dá impressão de que a coisa funciona simultaneamente, mas a verdade é que as solicitações têm de entrar em fila para que possam ser atendidas de forma sequencial, uma a uma.
Podemos representar o ciclo de clock como se fosse uma roda de uma engrenagem, onde cada dente se encaixa de forma sequencial no momento oportuno.
Para que se tenha uma pálida idéia, um processador que trabalhe a "apenas" 300KHz (300.000 ciclos por segundo) gerará nada menos que 4.500.000 interrupções por segundo.
Lembrando que cada interrupção enseja a entrada de uma solicitação de tarefa.
Teoricamente, cada usuário é responsável por um token (de cada vez).
A fila anda, e todos são atendidos dessa forma, e ficam felizes para sempre...



6. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Hugo Sousa
Goj1

(usa Debian)

Enviado em 02/10/2009 - 23:53h

Nesse caso o conceito de multiusuário não deveria existir!
Eu discordo plenamente desse conceito, eu acho que ele deve ter surgido em alguma tese de algum estudando que não deve compreender o funcionamento de um processador. Não existe nenhuma lógica nisso!


7. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 04/10/2009 - 12:01h

A questão é se um sistema dito "mutiusuário" realmente atende a vários usuários de uma só vez, considerada a velocidade nominal dos humanos, e não do computador.
Na prática, vemos que PELO MENOS 1/10 de segundo do clock do computador é reservado para novas tokens. Portanto, pelo menos dez usuários - ou dez tarefas - são atendidos A CADA SEGUNDO.
E como se pode notar, são sempre MAIS de dez usuários ou dez tarefas sendo atendidos em um mesmo clock, por mais lenta que uma CPU possa ser.
Portanto, acho que os termos "multiusuário" e "multitarefa" tem cabimento, sim.
E como eu sou um pessimista nato, "resolvi" me esquecer momentaneamente que existem outras interrupções acima de 10.
Pessimista porque existem as tais das IRQs (interruption requests) que se referem ao acionamento de dispositivos específicos, e que igualmente entram na fila para poderem entrar em ação. Só que isso acontece a uma velocidade inimaginável para o ser humano.

E com um detalhe: "Servidores" são CPUs como qualquer outra, ou seja, têm os mesmos princípios de funcionamento, sendo a diferença mais notória a sua maior capacidade de armazenamento, a sua rapidez, e possivelmente a existência física de mais de um processador, embora em pequenos sistemas (grupos de trabalho) isso não faça tanta diferença assim.

Vamos citar como exemplo um sistema integrado de gestão comercial (ou qualquer outro termo que venha a significar a mesma coisa):
Geralmente é um programa modular e complexo, onde se emitem notas fiscais, controla-se o estoque, emitem-se duplicatas, controla-se a cobrança, fazem-se os lançamentos contábeis, a conciliação bancária, a folha de pagamentos, etc. etc. etc. (todos esses "etc." dependem de como o programa foi escrito. Em uma indústria, por exemplo, há vários "etc." desses)...
Então, um grupo de funcionários trabalha simultaneamente sobre o mesmo programa, sendo que um emite notas, outro calcula a folha de pagamentos, outro acessa o Contas a Pagar. Isto é multitarefa em regime multiusuário e sobre um só programa. Mas enquanto isso, alguém mais estará editando ou imprimindo um texto no Word, outro fazendo uma planilha, outro jogando paciência e como sempre, haverá um ou mais "parasitas" baixando vídeos (rsrsrs).
Já pensou se um tivesse de esperar pelo outro?


8. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Hugo Sousa
Goj1

(usa Debian)

Enviado em 04/10/2009 - 20:35h

Teixira,

Eu compreendi perfeitamente suas explicações, mas ainda discordo do termo "multiusuário" no que se refere a vários seres humanos usando o mesmo sistema operacional simultaneamente.

Para o exemplo que citou fica claro que o programa/banco de dados, seja lá o que for, está em um servidor onde é acessado simultaneamente (na teoria) por vários usuários. E mesmo que pareça que todas as aplicações aconteçam simultaneamente, isso não acontece na prática pois o processador é linear, como já havia dito.


9. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 05/10/2009 - 20:17h

Bem, eu respeito sua discordância.
Um abraço, amigo.


10. Re: Sistema multiprogramável multiusuário. [RESOLVIDO]

Hugo Sousa
Goj1

(usa Debian)

Enviado em 05/10/2009 - 21:40h

Obrigado pelas explicações Teixeira, serão de grande valia em meu trabalho!

Um abraço.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts