o numero de processos em execucao simultanea no computador e maior que o numero de processadores instalados. Cada processo recebe uma fatia do tempo e a alternancia entre varios processos e tao rapida que o usuario pensa que sua execucao e simultanea. Sao utilizados algoritmos para determinar qual processo sera executado em determinado momento e por quanto tempo. Os processos podem comunicar-se, isto e conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados sao:sinais;pipes;named pipes;memoria compartilhada;soquetes (sockets);trocas de mensagens. O sistema operacional, normalmente, deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompivel, o que significa que pode ser interrompido no meio da execucao de uma tarefa.Gerenciamento de memoria O sistema operacional tem acesso completo a memoria do sistema e deve permitir que os processos dos usuarios tenham acesso seguro a memoria quando o requisitam. Varios sistemas operacionais usam memoria virtual, que possui 3 funcoes basicas:assegurar que cada processo tenha seu proprio espaco de enderecamento, comecando em zero, para evitar ou resolver o problema de relocacao (Tanenbaum, 1999);prover protecao da memoria para impedir que um processo utilize um endereco de memoria que nao lhe pertenca;possibilitar que uma aplicacao utilize mais memoria do que a fisicamente existente. Sistema de arquivos A memoria principal do computador e volatil, e seu tamanho e limitado pelo custo do hardware. Assim, os usuarios necessitam de algum metodo para armazenar e recuperar informacoes de modo permanente. Um arquivo e um conjunto de bytes, normalmente armazenado em um dispositivo periferico nao volatil (p.ex., disco), que pode ser lido e gravado por um ou mais processos. Entrada/saida de dados Entrada/saida (em ingles: Input/output, sigla I/O) e um termo utilizado quase que exclusivamente no ramo da computacao (ou informatica), indicando entrada (insercao) de dados por meio de algum codigo ou programa, para algum outro programa ou hardware, bem como a sua saida (obtencao de dados) ou retorno de dados, como resultado de alguma operacao de algum programa, consequentemente resultado de alguma entrada. As interfaces de entrada e saida sao responsaveis pela conexao entre as varias partes de um sistema computacional baseado na arquitetura de Von-Neumann. Esta interface e responsavel por conectar fisicamente o processador e a memoria do sistema ao barramento, tornando-se o terceiro elemento do sistema computacional proposto. Ao contrario do que se pode pensar a interface de entrada e saida nao e so o conector fisico e sim tambem o responsavel pela comunicacao logica entre o barramento e o dispositivo. Essa funcao de conexao foi basicamente desenvolvida para que seja possivel a comunicacao entre varios dispositivos, fazendo com que a velocidade do barramento seja mais bem aproveitada e ainda tanto os perifericos quanto os elementos essenciais tenham programacao/producao mais voltada ao seu desempenho, deixando a interconexao com as interfaces de entrada e saida.Fontes: Andrew s. tanenbaum,sistemas operacionais modernos, Pearson J. GLENN BROOKSHEAR,CIENCIA DA COMPUTACAO: UMA VISAO ABRANGENTE, Bookman, 2005 F. B. Machado; L. P. Maia, Arquitetura de Sistemas Operacionais, LTC, 2007Visoes dos Sistemas OperacionaisDesde a criacao dos primeiros sistemas operacionais ate