Informações da Disciplina

 Preparar para impressão 

Júpiter - Sistema de Gestão Acadêmica da Pró-Reitoria de Graduação


Escola Politécnica
 
Engenharia de Comp e Sist Digitais
 
Disciplina: PCS3216 - Sistemas de Programação
Programming Systems

Créditos Aula: 4
Créditos Trabalho: 0
Carga Horária Total: 60 h
Tipo: Semestral
Ativação: 01/01/2015 Desativação:

Objetivos
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).
 
To familiarize the student with the overall operation of a computational system software, emphasizing concepts, fundamentals, and architecture details and internal design of system programs such as loaders, dumpers, libraries, relocators, allocators, linkers, editors, macro expanders, assemblers, to analyze, design, specify and select software of that category.

To develop, out of class, a set of experiments on computer to prepare a computational infrastructure to be used in the discipline of Programming Systems Laboratory (in which experimental and implementation aspects of basic software are practiced and the concepts and design of which are introduced and developed in this course).
 
 
Docente(s) Responsável(eis)
1846990 - Ricardo Luis de Azevedo da Rocha
 
Ementa
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.
 
Computational system software, its fundamentals, and architecture details. Internal design of system programs such as loaders, dumpers, libraries, relocators, allocators, linkers, editors, macro expanders, assemblers.
 
 
Conteúdo Programático
1. Conceitos, componentes, arquiteturas de sistemas de programação
2. Simulação, em nível de registradores, de uma arquitetura de von Neumann
3. 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ância
5. Programação em linguagem de máquina: binária e simbólica
6. 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ção
10. Relocação e relocadores; Ligadores
11. Macros: conceito, programação, definição e expansão de macros
12. Linguagens simbólicas com macros; Macro montadores
13. Editores de texto
14. Expansores de macros de uso geral
 
1. Concepts, components, architectures of programming systems
2. Simulation, at register level, of a von Neumann architecture
3. Basic commands for a script language of a simple operating system
4. Architecture of loaders and dumpers for absolute binary programs - with redundancy
5. Programming in machine language code: binary and symbolic
6. Absolute symbolic languages. Absolute assemblers.
7. Relocatable symbolic languages. Relocatable assemblers.
8. Two-step and one-step assemblers for absolute and relocatable languages: architecture, operation, use, and internals;
9. Relocatable object programs; Libraries; run-time systems
10. Relocation and relocators; linkers;
11. Macros: concept, planning, definition and macro expansion
12. Symbolic languages with macros, macro assemblers
13. Text editors
14. Macro expanders of general use
 
 
Instrumentos e Critérios de Avaliação
     
Método de Avaliação
Duas provas. Avaliação de relatórios e exercícios, e do desenvolvimento correto e completo do software.
Critério de Avaliação
Média ponderada das notas da primeira prova (peso 1), segunda prova (peso 2), da média aritmética simples das avaliações de exercícios (peso 1) e dos relatórios de projeto (peso 2). Caso alguma dessas médias parciais seja inferior a 5.0, a nota da primeira avaliação será a menor delas (no máximo 4.9), independente das outras notas e, portanto, o aluno deverá fazer recuperação. Caso contrário, a nota da primeira avaliação será a média aritmética ponderada de todas essas notas.
Norma de Recuperação
Tendo obtido alguma das médias parciais inferior a 5.0 na primeira avaliação, o aluno deverá submeter-se a uma prova de recuperação, referente às partes em que não tenha atingido uma nota de avaliação mínima de 5.0. A nota da segunda avaliação (após recuperação) será obtida mantendo-se as notas superiores a 5.0 já obtidas, e substituindo-se as notas inferiores a 5.0 pelas notas correspondentes, obtidas na prova de recuperação. Nesse caso, a nota final de aproveitamento na disciplina será a média aritmética das notas das duas avaliações (ou seja, não maior que 7.5, pois a nota da primeira avaliação no caso de recuperação nunca será maior que 4.9).
 
Bibliografia Básica
     
1. Leland L. Beck, "An introduction to systems programming" 3rd edition, Addison Wesley 1997 ISBN - 0321211774, 9780321211774
2. Salomon, D. “Assemblers and Loaders” – Prentice Hall, 1993 – ISBN 0130525642, 13 9780130525642
3. 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 B04062001
5. 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, 1975
7. 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.
 

Clique para consultar os requisitos para PCS3216

Clique para consultar o oferecimento para PCS3216

Créditos | Fale conosco
© 1999 - 2025 - Superintendência de Tecnologia da Informação/USP