Courses/Computer Science/CPSC 457.F2013/Lecture Notes/ProblemOS

In this session, we considered some of the driving philosophy behind the course and began to explore what a "program" was.

We discussed the concepts of time and space multiplexing.

Notes

Not only do I want you to come out of this course with an understanding of operating systems principles and the main algorithms involved in resource management, I want you to absorb and nurture some practical skills:


 * using a command line
 * accessing software documentation (i.e., the man pages)
 * experience using C for both user level and kernel programming (and knowing the difference in available environments)
 * understanding the context in which assembly code or machine code is used by the OS for certain critical pieces of functionality
 * understanding and practicing how to use assembly code to invoke system calls
 * the process of configuring and building a large piece of software, including the expense of compiling real large software
 * use of a version control systems (i.e., svn)
 * how to write, compile, and load loadable kernel modules (LKMs)
 * gaining familiarity and comfort navigating a very large code base and;
 * comfort using the LXR tool to navigate such a large code base
 * understand the OS environment as a confluence of several disciplines:
 * computer architecture
 * real software engineering of a complex code artifact
 * computer science concepts for managing concurrency and sets of resources
 * this environment allows you to
 * study how to design and manage hardware to support complex applications
 * see the kernel as a case study of complex applications
 * put into practice some of the software programming and problem solving skills you've learned so far in your undergraduate career

In this session, we became acquainted with a few tools:


 * gcc
 * cat
 * hexdump
 * objdump -d

We used these tools to consider this program:

int main(int argc, char* argv[]) {  int i = 0; i = i++ + ++i; return i; }

Slides

http://www.cpsc.ucalgary.ca/~locasto/teaching/2013/CPSC457-Fall/talks/overview.pdf

Scribe Notes


 * s1
 * s3