Courses/Computer Science/CPSC 457.F2013/Lecture Notes/ProblemOS
From wiki.ucalgary.ca
< Courses | Computer Science | CPSC 457.F2013 | Lecture Notes
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/2014/CPSC457/talks/overview-2014.pdf
Scribe Notes