Familiarizar o aluno com o funcionamento global do software de um sistema computacional, enfatizando conceitos, fundamentos e detalhes da arquitetura e do projeto interno de programas de sistema tais como: carregadores, descarregadores, bibliotecas, relocadores, alocadores, ligadores, editores, expansores de macros, montadores, para que possa analisar, projetar, especificar e selecionar softwares dessa categoria. Desenvolver fora de classe um conjunto de experimentos em computador para preparar uma infraestrutura computacional a ser utilizada na disciplina Laboratório de Sistemas de Programação (na qual são exercitados os aspectos experimentais e de implementação de programas de software básico cujos conceitos e projeto são introduzidos e elaborados na presente disciplina).
Software de um sistema computacional, seus fundamentos e detalhes da arquitetura. Projeto interno de programas de sistema tais como: carregadores, descarregadores, bibliotecas, relocadores, alocadores, ligadores, editores, expansores de macros, montadores.
1. Conceitos, componentes, arquiteturas de sistemas de programação2. Simulação, em nível de registradores, de uma arquitetura de von Neumann3. Comandos básicos para uma linguagem de script de um sistema operacional simples 4. Arquitetura de loaders e dumpers para programas binários absolutos, em formato com redundância5. Programação em linguagem de máquina: binária e simbólica6. Linguagens simbólicas absolutas. Montadores absolutos.7. Linguagens simbólicas relocáveis. Montadores relocáveis.8. Montadores de 2 e de 1 passos para linguagens absolutas e relocáveis: arquitetura, operação, uso e detalhes internos;9. Programas-objeto relocáveis; Bibliotecas; Ambientes de execução10. Relocação e relocadores; Ligadores11. Macros: conceito, programação, definição e expansão de macros12. Linguagens simbólicas com macros; Macro montadores13. Editores de texto14. Expansores de macros de uso geral
1. Leland L. Beck, "An introduction to systems programming" 3rd edition, Addison Wesley 1997 ISBN - 0321211774, 97803212117742. Salomon, D. “Assemblers and Loaders” – Prentice Hall, 1993 – ISBN 0130525642, 13 97801305256423. Calingaert, P. Program Translation Fundamentals: Methods and Issues, Rockville, MD.: Computer Science Prss, 1988, 366 pp.4. Brian W. Kernighan, P. J. Plauger "Software tools in Pascal" Addison-Wesley, 1981 ISBN 0201103427 B040620015. Calingaert, P. Assemblers, Compilers, and Program Translation, Potomac, MD: Computer Science Press, 1979, 270 pp.6. Halstead “A Laboratory Manual for Compiler and Operating System” - American Elsevier, New York, 19757. Presser, L., and J. R. White, Linkers and Loaders, ACM Computing Surveys 4,3(Sep. 1972) 149–167.8. Kent, W., Assembler Language Macroprogramming, ACM Computing Surveys 1,4(Dec. 1969) 183–196.9. Barron, D. W., Assemblers and Loaders, 3rd ed., New York, N.Y.: American Elsevier 1968.