quais os recursos a serem utilizados. As tres principais funcoes sao:1.Alocacao e Designacao: E o programa mestre que supervisiona e controla todas as tarefas do computador. Este supervisor pode trazer para o armazenamento principal um programa secundario transferindo o controle quando necessario, apos o termino deste o controle volta ao supervisor. Alem disso serve como tradutor de linguagem quando le as instrucoes para o sistema operacional que contem as linguagens de comando como mover, copiar, criar, apagar arquivos, selecionar linguagens e ferramentas.2.Escalonamento: Em um computador carias partes do trabalho podem estar sendo utilizados. Esta parte do sistema escolhe quais tarefas serao executadas primeiramente, conforme a necessidade de recursos e dependencia de outros processamentos.3.Monitoramento: Acompanha as atividades do sistema de computador, alem disso mantem e informa registros aos usuarios. O monitoramento de seguranca que armazena os programas utilizados e os usuarios do computador.Alem dessas funcoes principais ele tem funcoes de multiprogramacao(utilizacao de varios recursos de programas ao mesmo tempo); multitarefa(possibilidade de execucao de dois ou mais programas ao mesmo tempo pelo mesmo usuario); multiprocessamento( trabalho em paralelo de 2 CPUs interligados dando eficiencia para o programa); tempo compartilhado(permite que muitos usuarios compartilhem os mesmos recursos, pois cada usuario ganha uma faria de temo para o computador executor de operacoes); armazenamento virtual (subdivisao de programas, o sistema operacional ganha mais eficiencia)*Linguagens de Programacao: Cada software foi desenvolvido com certa linguagem. Foi projetada para resolver determinado tipo de problema. As principais sao:1.Linguagem Assembly: desenvolvida para superar dificuldades de maquina como codigos e simbolos faceis de recordar sao utilizados para representar operacoes e localizacoes de armazenamento de maquina. Faz o uso eficiente dos recursos do computador.2.Fortran: facilita a escrita de software com a resolucao de problemas cientificos, matematicos e de engenharia que apresentam formulas complexas, pois tem facilidade com formulas matematicas.3.COBOL: ajuda na resolucao de problemas comerciais pois foi projetado para processar grandes listas, (dados numericos e alfabeticos).4.PL/1: programado para resolucao de programas cientificos e comerciais. Porem pouco utilizado pelas empresas.5.BASIC: programado para ensinar a usar computadores e ensinar programacao. Executa varios problemas, porem tem pouca eficiencia.6.Pascal: E mais adequado para resolucao dos problemas comerciais e de ensino das praticas eficientes de programacao. E um programa formado por subprogramas ja estruturados.7.Ada: utilizado para comandos militares e sistemas de controle,aplicacoes governamentais nao militares, em problemas comerciais (apesar de nao ser muito aceita por este ramo)8.C: esta linguagem tem o controle e a eficiencia da linguagem assembly, porem e mais facil de aprender. Sua principal aplicacao e comercial, mas tambem cientifica e tecnicamente em grandes computadores.9. Linguagens de quarta geracao: sao linguagens mais adequadas para usuarios finais, que podem desenvolver software por si mesmos e apresentam ganho de produtividade no desenvolvimento de software. As linguagens podem ser de consulta( para o acesso nos dados armazenados do SI); linguagem grafica( softwares especializados em exibir dados computadorizados em forma grafica);geradores de relatorios(extraem dados armazenados para criar relatorios personalizados),geradores de aplicacoes; linguagens de programacao de altissimo nivel( produzem codigos com menos instrucoes aumentado a produtividade). Algumas das linguagens sao: visual C++,Visual Basic, Power Builder, Dhelph e Forte.10. Java: desenvolvida para processamento