Operating Systems 2017F Lecture 4: Difference between revisions
No edit summary |
|||
Line 2: | Line 2: | ||
Video from the lecture given on September 19, 2017 [http://homeostasis.scs.carleton.ca/~soma/os-2017f/lectures/comp3000-2017f-lec04-19Sep2017.mp4 is now available]. | Video from the lecture given on September 19, 2017 [http://homeostasis.scs.carleton.ca/~soma/os-2017f/lectures/comp3000-2017f-lec04-19Sep2017.mp4 is now available]. | ||
==Notes== | |||
- The textbook | |||
- Is just for reference as supporting material. The class lectures will not follow the text. | |||
- Some concepts from the tutorial | |||
- Running an ltrace on a statically compiled program prints an error. The error just explains that the file was not dynamically compiled "couldn't find .dynsym" | |||
- What is obj code? | |||
- machine code. It is important to have a good mental picture of what is happening. Notice that addresses are unique for each process. | |||
- The point is that the system is not clean, it is complicated and not well understood. | |||
- How to build a Linux machine using virtualbox and an iso image (concepts) | |||
- iso: international organization for standardization for optical disk media | |||
- it's a cd or dvd | |||
- The VM uses a dynamically allocated hard drive. It is a file that has a filesystem and it grows and shrinks as needed. | |||
- Hard drive partition: Creates memory segments on the disk that is used to store different types of data. | |||
- Memory swapping: The processor uses hard disk space when it runs out of RAM. | |||
- Things about linux | |||
- '''Why is the kernel split?''' | |||
- So the various hardware modules can be added to the system when the hardware is installed | |||
- We can see the modules using ls mod or cd /sys/proc | |||
- Environment Variables | |||
- TERM or USER for example. They are capitalized by convention. The significance is that these variables belong to a process (like a shell). | |||
- Child processes inherit the environment variables from the parent; envp[] stores the values of these variables. | |||
- Things that can be done in a shell | |||
- We can run programming commands directly in the shell | |||
- things like loops and conditionals | |||
- $ defines a variable | |||
- echo is the shell's version of printf | |||
- ssh | |||
- used to access remote machines using a secure shell | |||
- The ssh uses a file that stores authorized keys. If a user has a key for the remote terminal then they do not require a password. | |||
- certificates | |||
- used by websites to maintain security | |||
- A secure website encrypts the data so it can't be viewed by hackers. |
Latest revision as of 00:19, 5 October 2017
Video
Video from the lecture given on September 19, 2017 is now available.
Notes
- The textbook - Is just for reference as supporting material. The class lectures will not follow the text.
- Some concepts from the tutorial - Running an ltrace on a statically compiled program prints an error. The error just explains that the file was not dynamically compiled "couldn't find .dynsym" - What is obj code? - machine code. It is important to have a good mental picture of what is happening. Notice that addresses are unique for each process. - The point is that the system is not clean, it is complicated and not well understood.
- How to build a Linux machine using virtualbox and an iso image (concepts) - iso: international organization for standardization for optical disk media - it's a cd or dvd - The VM uses a dynamically allocated hard drive. It is a file that has a filesystem and it grows and shrinks as needed. - Hard drive partition: Creates memory segments on the disk that is used to store different types of data. - Memory swapping: The processor uses hard disk space when it runs out of RAM.
- Things about linux - Why is the kernel split? - So the various hardware modules can be added to the system when the hardware is installed - We can see the modules using ls mod or cd /sys/proc - Environment Variables - TERM or USER for example. They are capitalized by convention. The significance is that these variables belong to a process (like a shell). - Child processes inherit the environment variables from the parent; envp[] stores the values of these variables. - Things that can be done in a shell - We can run programming commands directly in the shell - things like loops and conditionals - $ defines a variable - echo is the shell's version of printf - ssh - used to access remote machines using a secure shell - The ssh uses a file that stores authorized keys. If a user has a key for the remote terminal then they do not require a password. - certificates - used by websites to maintain security - A secure website encrypts the data so it can't be viewed by hackers.