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.Pseudossistema operacional Definicao A pseudo-OS ("pseudo" significa "falsa" e "OS" significa "sistema operacional") e um sistema operacional que roda dentro de outro sistema operacional. Todos os pseudo-sistemas operacionais nao tem acesso direto ao hardware do sistema e de dados e exigem um sistema operacional "true", ou sistema operacional da maquina, para funcionar. Pseudo-sistemas operacionais se encaixam em quatro categorias: maquinas virtuais, emuladores, sistemas operacionais web (tambem conhecido como Internet pseudo-sistemas operacionais), e executavel. Uma maquina virtual (tais como os produtos da VMware ou Sun Microsystems do Java Virtual Machine) e uma aplicacao de software que roda em um sistema operacional host e executa um sistema operacional de pseudo-dentro de si. Emuladores (como os de videogames ou outros sistemas operacionais) tambem funcionam como uma maquina virtual. A WebOS e um sistema operacional que roda dentro de um navegador web e requer que o navegador web, que por sua vez requer um sistema operacional host, para ser executado. Finalmente, um executavel pseudo-OS e um programa executavel que simula um sistema operacional. Em todos os casos, a memoria do pseudo-OS e hardware tentativas de acesso sao controlados pelo programa que e executado dentro, que por