My favorites | Sign in
Project Hosting will be READ-ONLY Thursday at 3:00pm UTC for up to 3 hours for network maintenance.
Project Home Downloads Wiki Issues Source
Search
for
CourseProgram  
Course Program
Updated Feb 4, 2010 by ren...@gmail.com

Material

Slides (in portuguese): http://usp-osdev.googlecode.com/files/intro.pdf

Brief outline

(From the slides)

Welcome to the discipline Operating System II

Objective: To exercise the concepts studies in Operating Systems I (theoretical).

  • to understand how theory applies in practice
  • to gain familiarity with the implementation of OSs
  • to know the state of the art in related technology

Approach

  • Hands-on approach
  • Work with real-world situations

Plan

  • Basic conceptual background (refresh)
  • Development enviroment (the real thing)
  • Warm-up
    • development of a shell for linux (get used to syscalls)
    • linux kernel hacking, make new syscall (see examples)
  • Main project: make an OS from the scratch (for i366 PC arch.)

Material

  • Computer language: C
  • Platform: gnu/linux
  • Tools: gcc, libc, make, svn, qmu (emulator), PC hardware

Bibliograpny

  • GNU website: www.gnu.org (manuals)
  • OSDEV: wiki.osdev.org
  • Intel Architecture Software Development, System Programming
  • kernel newbies: kernelnewbies.org
  • Google: www;google.com

  • best place to learn: /usr/src

Program

  • Tools: 1 class
  • Shell project: 2 classes (deliverable 2 weeks later)
  • Linux hacking: 2 classes (deliverable 2 weeks later)
  • SO Project: the rest of the semester (deliverable, in the workshop)

Workshop

  • By the end of the semester we will make an workshop
  • Every team will present its OS project
  • We will have an evaluation board composed by experts from the industry
  • Other students can attend to the workshop

Evaluation

  • The final score will be computed from the projects evaluation
  • We will have a final examination for validation
    • Who scores at least 5.0 in the test, will have the project scores
    • Who doesn't score at least 5.0, will have the test score
    • The idea is
      • if you really work in the projects, the test will be a piece of cake
      • if you "hitchhike" on the others' work... kkkkkk... sorry... ;-)

How to calculate the final score

#include <stdio.h>
#include <stdlib.h>
int main (void)
{
  float nota_shell, nota_so, nota_prova;      /* entre 0 e 10 */
  float nota_linux;                           /* entre 0 e 1  */
  float media_final;                          /* entre 0 e 10 */
  scanf (“%f %f %f”, &nota_shell, &nota_linux, &nota_so);
  if ( (nota_prova >=5))                                           /* Normal */
     media_final = nota_so*0.6 + nota_shell*0.3 + nota_linux + nota_prova/10;
  else                                                             /* Chii...*/
     media_final = nota_prova;
  if ( (nota_final >=2) && (nota_final <3) && (nota_linux >= 0.5)) /* Canja */
     nota_final = 3
  return  nota_final >=3 ? EXIT_SUCCESS : EXIT_FAILURE;
}                                          /* cat choramingos > /dev/null*/

Tip: if you can't understand the code above, get a good C-book and learn asap!

General Instructions

  • subscribe to http://groups.google.com.br/group/usp-osdev
  • use the list to post questions, comments, etc.
  • answer the questions, comments etc. if you can help
  • create a project in code.google.com and send us the link
  • update your projec regularly
  • mind the check-point dates

Good luck!


Sign in to add a comment
Powered by Google Project Hosting