Operating Systems 2022F Lecture 1: Difference between revisions
Created page with "==Video== Video from the lecture given on September 8, 2022 is now available: * [https://homeostasis.scs.carleton.ca/~soma/os-2022f/lectures/comp3000-2022f-lec01-20220908.m4v video] * [https://homeostasis.scs.carleton.ca/~soma/os-2022f/lectures/comp3000-2022f-lec01-20220908.cc.vtt auto-generated captions] Video is also available through Brightspace (Resources->Zoom meeting->Cloud Recordings tab) ==Notes== <pre> Lecture 1 --------- Using openstack - first, run newacc..." |
(No difference)
|
Latest revision as of 01:46, 9 September 2022
Video
Video from the lecture given on September 8, 2022 is now available:
Video is also available through Brightspace (Resources->Zoom meeting->Cloud Recordings tab)
Notes
Lecture 1
---------
Using openstack
- first, run newacct (otherwise you won't have access to the project)
- make sure you're on the Carleton network
- campus wifi
- Carleton VPN
- then go to https://openstack.scs.carleton.ca
- create a VM here
^^^^^ only have to do once
- once you have a VM, connect to it
- use SSH/PuTTY
- use an X2Go client
- DO NOT CREATE SNAPSHOTS
- you don't have the permissions
- they start creating and never finish
- we have to go in and delete them later
- DO NOT USE THE CONSOLE IN A WEB BROWSER
- it is flaky
- it is insecure
- learn how to connect in other way
- when you connect, use the username "student" and the password "student"
- when you first connect, you'll need to change the password immediately,
please change it to
1) something different,
2) not the same as all your other passwords
3) not trivially guessable
What is an operating system?
----------------------------
- software that changes the computer you have into the
computer that you want to program
(developer-centric view)
- you don't want to deal with the *actual* computer
- lots of weird hardware
- unfriendly to interact with
- two basic tasks
- resource management
- abstraction
mass storage => files
RAM, CPU => processes
Ethernet, WiFi => sockets
GPU/Display => windows
Linux is our focus in this class
- a flavor of "UNIX", an OS that goes back to the 1970's, came out of Bell Labs
Major parts of an OS
- kernel <--- this is what "Linux" actually is
- libraries <-- interface with the kernel
- applications <-- services, access control
Linux kernel is everywhere
- used almost everywhere in the "cloud"
- AWS, Google Cloud, even much of Azure
- Android, Chromebooks
- many embedded systems (TVs etc)
But there are other operating systems
- MacOS, iOS
- Windows
- QNX
some architectural differences, but basic concepts are mostly the same
Modern operating systems have to deal with
- many concurrently running programs
- talking with the network, other devices
For the most part, on a modern OS, you don't have to care that there are many programs running at once
- you can act like you have the entire computer to yourself
What is a shell?
- a "shell" around the kernel
- way to run programs that execute directly on the kernel
- a "thin" wrapper over the power of the OS
But then what is a terminal?
- I/O mechanism for interacting with a shell
- traditionally it was a teletype