Вы находитесь на странице: 1из 20

MANUAL DO SISTEMA OPERACIONAL SOMAT Professor Cludio Kirner

1 O que o SOMAT O SOMAT (Sistema Operacional Multiprogramado Aberto para Treinamento) um SO (Sistema Operacional) simplificado multiprogramado com execuo de programas de usurio em tempo partilhado, compartilhamento da UCP (Unidade Central de Processamento) entre seus diversos processos concorrentes e os programas de usurios. E possui a seguinte configurao inicial: Memria: 32 pginas; Disco: 256 pginas; Buffers (E/S): 8 buffers; Descritores: 7 BCPs (Bloco de Controle Programado); Op leitora: 20 ut; Op Impressora: 20 ut; Op disco: 6 ut; Time slice: 20 ut;

O SOMAT manipula os seguintes arquivos: Prog*.ARQ - Exemplos de programas de usurio escritos para o ambiente *.SOS - Arquivos contendo o resultado da execuo de programas

2 Instalao do SOMAT O SOMAT um programa para ser executado em Sistemas Operacionais DOS. Para que isso seja possvel necessrio instalar um software que simule o funcionamento de um ambiente DOS. Para isso existem programas como o DOSBox. Um emulador de arquiteturas x86 (emula CPU 286/286). Seu download pode ser feito no site http://www.dosbox.com/download.php?main=1 Download e Instalao do DOSBox Aps o download, o programa deve ser instalado no computador. Ele possui um processo de instalao em sistemas Windows, relativamente simples: 1. execute o instalador DOSBoxx0.74-win32-installer.exe; 2. clique no boto Next; 3. marque as opes Core files e Desktop Shortcut e Next novamente; 4. Caso deseja instalar o programa em um local diferente do padro, voc pode especificar clicando em Browser..., seno somente clique em install. 5. Clique em close, e ponto est instalado o emulador de DOS. Para alterar o idioma do DOSBox para o portugus http://www.dosbox.com/tools/DOSBox-portuguese-br-lang-074.zip Alterao do Idioma do DOSBox OBS. A pasta onde se encontra o arquivo de configurao do DOSBox foi alterada na verso 0.74 do DOSBox. Agora a pasta esta localizada em: deve-se fazer o download do arquivo

No windows XP: "C:\Documents and Settings\Usuario\Configuraes locais\Dados de aplicativos\DOSBox" No vista/7 : "C:\Users\Usuario\AppData\Local\DOSBox". Substitua "usurio" pelo seu nome do seu usurio no computador. Sempre que for mencionada a pasta de configurao do DOSBox, v at a pasta citada acima. Aps descompactar o arquivo da traduo, para facilitar a instalao da traduo, simplesmente copie os 2 arquivos "portuguese.lang" e "dosbox-0.74.conf" para a pasta de configurao do DOSBox. (Mtodo fcil) Confirme a substituio do arquivo existente na pasta. Se essa pasta no existir, abra o DOSBox e logo em seguida feche-o. Ela dever ter sido criada pelo prprio programa agora.

Download e Execuo do SOMAT O SOMAT pode ser baixado no site www.ckirner.com/apoio/so/somat.zip Aps o download descompacte os arquivos. Sobre alguns arquivos contidos na pasta do SOMAT: Extenso .Exe - Arquivo executvel; Extenso .Hlp Arquivos de ajuda; Extenso Imagens.Fig - Arquivos de informacao Extenso cga.bgi - Arquivos para utilizao do monitor no modo grfico

Para facilitar o uso do SOMAT existe uma opo para abrir o programa automaticamente, sem que haja necessidade de ficar digitando linhas de comandos toda vez que abrir o DOSBox. Para isso: 1. Abra o arquivo dosbox-0.74.conf com (este o arquivo de configuraes do DOSBox) o bloco de notas. 2. Na ltima linha desse arquivo est seo de auto execuo [autoexec] de comandos que sero sempre executados quando o DOSBox for iniciado. Logo abaixo da ltima linha copie e cole o texto abaixo: mount x d:\diretorio onde foi descompactado os arquivos do SOMAT.zip x: x:\somat Uma outra opo tambm clicar, segurar e arrastar o executvel somat.exe para o cone do atalho do DOSBox. Obs. Diretrios com espao tero problemas. Por exemplo diretrio com o nome d:\Sistemas de Informao, no DOS deve ser digitado: d:\SISTEM~1 Para abrir o SOMAT manualmente digite os comandos citados anteriormente e para sair do DOSBox digite exit.

3 Interface do SOMAT Na interface inicial do SOMAT temos as opes Edio, execuo, Diretrio, Visualizao, especificaes e Fim, conforme pode-se visualizar na figura 1. Cada uma delas tem a forma de acesso e funes especificadas a seguir: Edio para selecionar essa opo aperte a tecla e do teclado. O editor permite que novos arquivos de programas sejam criados, ou que arquivos j existentes sejam alterados atravs da insero, alterao e eliminao de pginas.

Atravs do editor de programas o usurio pode montar programas que visam forar a ocorrncia de situaes especificas na operao do SO. Execuo essa opo selecionada pressionando-se a tecla x. Permite que os arquivos de programas, montados pelo editor, existentes no sistema sejam submetidos execuo sob o comando do SO;

Diretrio acessado pela tecla d do teclado. Mostra na tela informaes sobre o contedo dos diretrios, listando o nome dos arquivos existentes nele. Visualizao acionado por meio da tecla v. Permite a visualizao de arquivos de programas quando estes contem especificaes para ter seu resultado direcionado para arquivos do tipo texto, para impresso, ou armazenados em disquete. S permite a visualizao de arquivos com extenso .SOS. Especificaes acessado por meio da tecla s do teclado e contm algumas especificaes acerca do SOMAT, Fim seu acesso se d por meio da tecla f e finaliza a execuo do SOMAT, retornando o controle ao SO DOS.

Durante a execuo de um programa possvel alterar algumas caracteristicas por meio de teclas de atalho, como : M muda o acompanhamento; P Passo a passo (on/off); + - aumenta a velocidade (variando de 1 a 10); - - diminui a velocidade (variando de 1 a 10); I interrompe; F aps interromper a execuo possvel visualizar a situao do sistema; C continua a execuo do programa de onde foi interrompido; Esc fim da execuo do programa em execuo. Para finalizar um programa, deve-se primeiro interrompar sua execuo.

Figura inicial do SOMAT 3.1 Viso do Usurio Essa visualizao permite um acompanhamento simultneo dos diversos programas em execuo. Para poder visualizar a viso do usurio 1. Aperte a tecla x; 2. Selecione a opo execuo de um lote e pressione enter; 3. Digite prog1.arq; 4. Na opo seguinte pode ativar a sada para impressora pressionando a tecla s,

Interface

5. Por ltimo selecione a opo viso do usurio. O programa comea a executar as instrues quando pressionada a tecla p, executando cada etapa automaticamente. Mostra na tela cada processo envolvido na execuo (Job) assim como os comandos de controle (controle). Ao trmino exibida a imagem com informaes como mostra a figura 2. Na parte superior da tela possvel visualizar qual a velocidade que o sistema est operando, o nome do programa em execuo e o nome da tarefa realizada.

Figura 2 fim de execuo de um Job na viso do usurio

Figura 3 execuo de vrios Jobs ao mesmo tempo na viso do usurio 3.2 Viso do Supervisor Permite um acompanhamento do estado de execuo do sistema operacional e das suas aes sobre o programas sendo executados simultaneamente. Para visualizao da viso do supervisor ser utilizado o mesmo procedimento para executar o programa mostrado na viso do usurio. Aps carregado o programa selecione a opo viso do supervisor e tecle enter. A viso do supervisor durante a execuo de um programa pode ser visualizada na figura 4.

Figura 4 Execuo de um Job na viso do supervisor

Figura 5 Execuo de vrios programas (Jobs)

3.3 Viso do SO A interface do SOMAT permite, atravs de procedimentos de animao, observar a ao concomitante dos processos concorrentes do sistema e dos recursos perifricos. Para a visualizao da viso do SO iremos o mesmo programa utilizado na viso do usurio. Por meio desta viso possvel ver como o sistema operacional est executando o Job, como na figura 6. As partes em branco indicam qual o processo est sendo executado.

Figura 6 Viso do SO na execuo de vrios Jobs.

3.4 Viso do Hardware Mostra o contedo dos elementos do hardware e a situao detalhada da memria e do disco durante a execuo, altera os dados na tela a medida que seus valores reais so modificados. Na viso do hardware possvel visualizar como o sistema de hardware do SOMAT trabalha durante a execuo de um job. Como mostra na figura 7. Para a visualizao da viso do SO iremos o mesmo programa utilizado na viso do usurio.

Figura 7 Viso do hardware durante a execuo de vrios jobs.

4 - Computador Simplificado

O hardware do computador simplificado (CS) foi implementado por meio de software e utiliza de procedimentos e estruturas de dados. Dessa forma foi possvel simular um computador com os recursos necessrios para sustentar a multiprogramao e utilizar o SOMAT para gerenci-lo. Ele foi desenvolvido com a finalidade de proporcionar um ambiente, onde fosse possvel utilizar somente suas caractersticas funcionais. Assim, ele no utiliza de detalhes de baixo nvel na sua constituio. 4.1 Estrutura do Hardware A estrutura do hardware, como vista na figura 8, composta pelos componentes descritos a seguir: Uma unidade central de processamento (CPU); Memria principal de acesso rpido; Uma unidade de armazenamento externo (disco); Contador do tempo para execuo de programas (timer); Contador de fatia de tempo da CPU para execuo de cada programa (time slice); Relgio (clock); Unidade de entrada e sada de dados controladas por canais autnomos, Vetor de interrupes.

A unidade central de processamento possui os seguintes registradores: ACC (Acumulador): um registrador, para valores inteiros, para finalidades gerais;

ACC

CP

CP (Contador de Programa): um registrador de dois campos para valores inteiros. Fazem referncia pgina e palavra da prxima instruo de programa a ser executada.

Pag TP Tam FP

Desl

TP (Tabela de Pginas): um registrador que contm o endereo da tabela de pgina de um programa na memria (varia de 0 at 31) e o tamanho do programa, em pginas (varia de 0 at 7).

Pag

FP (Falta Pgina): um registrador para um campo de valor inteiro que armazena o nmero da pgina em falta no programa que estava sendo executado.

CK

CK (Clock): relgio da UCP (valor inteiro).

Timer: registrador para um campo de valor inteiro. inicializado com o tempo previsto para a execuo de um programa e decrementado medida que executado.

TIMER

TS

TS (Time Slice): contador de fatia de tempo atribuda pelo sistema operacional a um programa, para utilizao da UCP na sua execuo.

A UCP do CS foi projetada com o intuito de prover suporte de hardware necessrio execuo de vrios programas com tempo partilhado e paginao na memria do usurio. Dessa forma, foi definida uma memria do usurio composta por 256 palavras e sujeita a controles e manipulao por parte do sistema operacional. Para a implementao de um sistema de paginao e memria virtual, o SO a estruturou em blocos de 8 palavras, formando 32 pginas. O SO mantm uma tabela de pginas para cada programa em execuo. Por ser instalada em uma pgina comum de memria, entretanto, o tamanho dos programas limitado a, no mximo, 8 pginas.

Figura 8 Estrutura do computador simplificado utilizado pelo SOMAT 4.2 Repertrio de Instrues A Unidade Central de Processamento opera atravs de um conjunto simplificado de instrues de mquina. O qual permite a elaborao de programa de usurio, envolvendo manipulao de memria, operaes aritmticas, controle de desvio e parada de programas, e operaes de E/S. Algumas das instrues permitem o endereamento de pginas de memria.

Conjunto de instrues implementados no CS: 1. HLT indica o fim de processamento de um programa. Intruo: 0 -

2. RD XY 0 L da pgina corrente a rea de dados do programa contido no disco e carrega o seu contedo na pgina XY do programa. Mem [0...7] = PagDado

Intruo: 1 XY 0 3. PRN XY 0 imprime, na rea de impresso do disco alocada pelo programa, o contedo da pgina XY desse programa. PagImpr = Mem [0...7] Intruo: 2 XY 0

4. LD XYZ: Carrega no acumulador (ACC) o contedo da palavra Z da pgina XY do programa em execuo. No caso do sistema simulado, a operao carrega no acumulador somente o contedo do primeiro campo da palavra de dados. AC = Mem [Pag, Desl] Intruo: 3 XY Z

5. STR XYZ: Armazena o contedo do acumulador na palavra Z da pgina XY do programa. Atribui o valor do primeiro campo da palavra. Mem [Pag, Desl] = AC. Intruo: 4 XY Z

6. SUB XYZ: atribui ao ACC o valor correspondente ao valor que continha subtrado do valor armazenado no primeiro campo da palavra Z da pgina XY do programa do usurio. AC = AC Mem [ Pag, Desl] Intruo: 5 XY Z

7. ADD XYZ: Idem subtrao, porm, atribuindo ao acumulador o resultado da soma ao invs da subtrao. AC = AC + Mem [ Pag, Desl]

Intruo: 6 XY Z

8. JMP XYZ: Atribui um novo valor para o contador de programa do programa em execuo, que passa a ser executado a partir dessa posio. CP = Pag, Desl CP.PAG = XY CP.DESL = Z Intruo: 7 XY Z

9. JNG XYZ: O contedo do acumulador checado e, caso contenha um valor negativo, o valor de XYZ atribudo ao CP. Caso o ACC no seja negativo, o programa continua sua execuo a partir da prxima instruo em relao ao endereo em que se encontra. AC < 0 CP = Pag, Desl Se ACC < 0 Ento (CP.PAG = XY CP.DESL = Z) Intruo: 8 XY Z

O computador simplificado contm, ainda, um registrador de interrupes que indicam anomalias ou sinais de alerta gerados pelo hardware em determinadas condies. O registrador de interrupes implementado atravs de um vetor de 12 posies. Cada posio do vetor indica um tipo de interrupo, como mostra a figura 9. Os quais podem assumir os valores 0 ou 1. O valor 1, como elemento desse vetor, indica a ocorrncia de uma interrupo a que corresponde. O valor 0 indica a no ocorrncia de uma interrupo.

Figura 9 Vetor de interrupes do Computador Simplificado

5 Programas do Usurio

Para um programa de usurio ser executado, ele lido, armazenado em disco e depois carregado na memria do computador. Depois de carregado na memria, ele passa a ser interpretado e executado, at o trmino de sua execuo ou at uma interrupo fatal ocorrer. Terminada sua execuo, com sucesso ou no, o programa passa a fase de sada e impresso do seu cdigo e dos resultados das suas operaes. Na figura 11pode-se visualizar o diagrama de acesso aos recursos do sistema operacional. Onde so mostrados os recursos usados pelo SO e os processos envolvidos com cada um. Os programas so representados no sistema operacional atravs de Blocos de Controle de Programa (BCP), conforme mostrado na figura 10.

Figura 10 Detalhamento do Bloco de Controle de Programa (BCP) Na rea de dados do SO, so criadas filas de BCPs. Elas contm os descritores dos programas nos diversos estados da transio durante a execuo do sistema operacional. As filas existentes so as seguintes: Fila 0: Fila dos BCPs disponveis; Fila 1: Programa em processo de entrada (spool in); Fila 2: Programas residentes em disco; Fila 3: Programas prontos para execuo; Fila 4: Programas sendo executados; Fila 5: Programas suspensos aguardando operaes de E/S; Fila 6: Programas suspensos por falta de pgina; Fila 7: Programas acabados, Fila 8: Programas em estado de sada.

Outras filas podem, ainda, ser utilizadas para a implementao de sistemas de espera com prioridade, para programas que j entraram no sistema e esto aguardando a operao do loader, ou filas de programas suspensos por situaes diversas. Com o intuito de verificar a organizao de um programa de usurio importante observar algumas caractersticas bsicas do sistema de armazenamento do sistema operacional. Uma palavra formada por trs campos para valores inteiros e pode armazenar uma instruo ou um dado; Uma pgina composta de 8 palavras;

O espao de memria destinado aos programas de usurios contm 32 pginas; Para cada programa mantida uma tabela de pginas, que ocupa uma pgina comum de memria; As instrues, em geral, referem-se a palavras, exceto as instrues LEIA e IMPRIMA, as quais fazem referncia a pginas do programa; Qualquer endereo referenciado por uma instruo ou pelo contador de programa (CP) sempre relativo a uma pgina dentro do programa do usurio e no a uma posio efetiva na memria. Para encontrar o endereo efetivo a que se refere a instruo ou o CP, o SO deve consultar a tabela de pginas desse programa. As palavras da tabela de pginas representam exatamente a organizao em pginas do programa do usurio, ou seja, a palavra O da tabela a corresponde pgina O do programa, a palavra 1 corresponde pgina 1 e assim por diante. Cada palavra da tabela contm informaes sobre a presena ou no da pgina correspondente na memria e, caso esteja presente, o endereo de onde ela se encontra.

Devido s instrues de LEIA PAG e IMPRIMA PAG, o programa possuir o tamanho mximo do programa reduzido. Assim, se for suficiente para o usurio trabalhar com uma pgina de dados e uma pgina de impresso, executando instrues que manipulem as palavras dessas pginas, o programa ficar limitado a 6 pginas (48 instrues), ao invs de utilizar 64 instrues (8 pginas). Em alguns casos, pode ocorrer de uma nica pgina satisfazer as necessidades de E/S. Sendo que a montagem da pgina de impresso feita sobre a pgina de dados, e esta no tem mais utilizao. Ou, pode ocorrer, de ser necessrias mais de uma pgina para leitura ou para impresso, quando os dados manipulados so em nmero maior que a capacidade de armazenamento de uma pgina, ou, ainda, quando a gerao de dados para impresso ocorre em posies seqenciais, exigindo uma rea maior que uma pgina. Deve-se considerar o caso onde o programa dever prover uma rea de trabalho onde ele possa armazenar os valores intermedirios gerados e utilizados pelo programa. Dessa forma: Tamanho mximo do programa = 64 - nmero de palavras da rea de trabalho; - 8 * nmero de pginas simultneas de leitura; - 8 * nmero de pginas simultneas de impresso. Essas limitaes no tamanho do programa do usurio se devem simplicidade do tratamento da tabela de pginas. O espao para a rea de trabalho pode ser reservado atravs da incorporao de pginas em branco no fim do programa, ou atravs da alocao de pginas de rascunho utilizando-se comandos da linguagem de controle de programas do sistema operacional. 5.1 Linguagem de Controle de Programa O SO trabalha sob o comando de linhas de controle preparadas pelos usurios. Estes podem configurar o sistema e pedir a execuo de programas, e passar de programa para programa com um mnimo de tempo e intervenes de operadores. Por meio da linguagem de controle de programas, o SO controla e direciona as operaes de E/S dos programas, controla o armazenamento e a alocao de espaos em disco, determina as prioridades de execuo dos programas e dispes sobre a configurao do sistema. A linguagem de controle de programas do SOMAT possui a seguinte sintaxe para as linhas de controle: *Job {Incio de um novo programa} Identificao do programa Tempo previsto para execuo Nmero de pginas de rascunho Nmero de pginas de impresso *Prog {Incio das linhas de cdigo} Linhas de programa {instrues}

*Dado {Incio das linhas de dados} Linhas de dados {dados} *FIM A interpretao destas linhas fica a cargo do processo de spool de entrada do SO e opera segundo o autmato de

transio de estados ilustra a figura 10. Figura 10 Spool de entrada Autmato de interpretao das linhas de controle

5.2 Programa de Usurio (nvel do processo de leitura)

Figura 11 - Diagrama de acesso aos recursos do sistema operacional

O processo de leitura responsvel pela leitura dos dados do dispositivo de entrada e pelo seu armazenamento em buffers. Assim, ele preenche buffers de entrada com o contedo das pginas de informao (programas e dados) provenientes dos usurios de um terminal. Quando o processo de spool in encontrar um buffer com informaes que indicam o incio de um novo programa, ele ir alocar um BCP disponvel e coloc-lo na fila 1. Esse processo executado sempre que existirem dados para serem lidos, a leitora no estiver ocupada e existirem bufffers disponveis. 5.3 - Programa de Usurio (no disco) Assim que o processo de leitura do programa de usurio realizado e colocado na fila 1, o spool in interpreta as pginas de informaes lidas dos buffers de entrada e passa esse BCP da fila 1 para a fila 2, dos programas residentes em disco. A organizao dos programas em disco funcionam como uma memria secundria de armazenamento externo. O disco utilizado para conter os programas em execuo no SO. No disco h trs reas que um programa precisa alocar no disco: rea de programa para armazenamento do cdigo do programa; rea de dados pginas de dados, lidos do dispositivo de entrada, utilizados pelas operaes de leitura do programa, rea de impresso espao vazio que precisa ser reservado para as operaes de impresso de dados do programa.

5.4 - Programa de Usurio (na memria) O processo loader cria a tabela de pginas dos programas na fila 2, carrega sua primeira pgina de cdigo na memria e transfere os seus BCPs para a fila 3 (dos programas prontos para execuo). 5.5 Execuo do Programa Usurio (rea de cdigo, rea de dados, rea de impresso, leitura de dados, impresso, uso de rascunho) No SO, o escalador escolhe um programa para ocupar a UCP, carrega os registradores com as informaes referentes ao estado de execuo do programa escalado. Um programa em execuo pode ser interrompido pelos seguintes motivos: Programa requer a execuo de uma operao de E/S, e gera uma interrupo. Ao tratar a interrupo, o SO coloca o BCP na fila 5 (dos programas aguardando E/S). O pedao do programa que contm a prxima instruo a ser executada no est presente na memria, isso gera uma interrupo por falta de pgina. O tratamento de interrupes transfere o BCP para a fila 6 (dos programas aguardando paginao). Uma interrupo na execuo do programa gerada devido ao tempo de execuo, trmino normal de execuo, ou ocorrncia de situaes que podem causar um erro fatal (proteo de memria, cdigo de operao invlido, ou overflow em operaes matemticas). O tratamento de interrupo do SO o responsvel pela transferncia do BCP do programa para a fila 7, dos programas terminados aguardando sada do sistema.

5.6 Exemplo de um programa Pgina inicial de comandos *0 * 1991 { Identificador do Job } * 50 { Tempo previsto p execuo : +/- 20 instrues } *3 *2 *1 { Nmero de pginas de cdigo } { Nmero de pginas de rascunho } { Nmero de pginas de impresso }

**Pgina de incio de cdigo *1 *******-

Primeira pgina de cdigo ( pgina 0 ) C RD 0 0 C LD 0 0 C SUB 0 0 C STR 1 6 C STR 1 7 C LD 0 0 C ADD 0 2 C STR 1 0 Segunda p gina de cdigo ( p gina 1 ) C JNG 1 4 C ADD 1 7 C STR 1 7 C JMP 1 6 C ADD 1 6 C STR 1 6 C LD 0 1 C ADD 0 3 Terceira pgina de cdigo ( pgina 2 ) C STR 1 1 C JNG 2 5 C ADD 1 7 C STR 1 7 C JMP 2 7

C ADD 1 6 C STR 1 6 C PRN 1 0 Quarta pgina de cdigo ( pgina 3 ) C HLT 0 0 C C C C C C C Pgina de incio de dados *2 *******Pgina de dados D A [1] D A [2] D B [1] D B [2] D D D D Pgina de fim de programa *3 ****-

***-

6 Editor do SOMAT Interface O editor monta arquivos que contm informaes geradas por um terminal do sistema. As informaes contidas nesses arquivos so trechos de programas e dados de usurios misturados com comandos de controle. Esses arquivos podem conter vrios programas de usurios, seqenciados de forma a simular uma digitao conforme a ordem cronolgica de sua ocorrncia. A insero de comandos entre eles indica os momentos em que o terminal foi utilizado por motivos diversos. Insero de um Programa Para abrir um arquivo para edio, na guia Edio/Enter/Entrar com o arquivo que ser editado.

Carregar os dados do disco na memria: Consiste em ler os dados de entrada de uma pgina de dados, carregada junto com o programa, e armazena em uma pagina de rascunho do programa na memria. Zerar os somadores parciais: Uma vez que a pagina de dados foi carregada na memria, o seu contedo pode ser manipulado atravs das instrues.

Nessa figura, temos a primeira pagina de um arquivo aberto para edio. Na parte superior da pgina, temos alguns comandos. E na parte inferior, as teclas para manipulao do programa. 7 Execuo de Programas no SOMAT Para execuo de um programa, /Execuo/Escolher a opo de execuo desejada, que pode ser execuo de um lote ou busca direta dos lotes. O software pedira um arquivo para entrada, se deseja sada para impressora, e feito isso, o programa poder ser acompanhado por 4 opes.

Algumas teclas uteis para a manipulao do programa:

8 - Visualizao de um Programa Executado Depois de abrir o arquivo e salvar um outro arquivo de sada, teremos a visualizao:

9 Discusso do Uso do SOMAT para a Aprendizagem de SO Com relao a interao do usurio com os recursos do sistema, o ambiente do projeto SOMAT constitudo de um editor de programas, de um procedimento de verificao do contedo dos arquivos de sada, e de procedimentos de visualizao, que permitem a monitorao dos programas e dos recursos, durante a execuo do sistema operacional. O editor de programas corresponde a um editor de arquivos, voltado a manipulao das pginas dos programas a serem executados. A finalidade do procedimento de verificao permitir que o usurio examine o contedo dos arquivos de sada, quando estes forem direcionados para arquivos ao invs da impressora.

Algumas reas de aplicao so: treinamento e estudo em sistemas operacionais, sistemas de tempo real, etc.