操作系统在线老师(中文授课)
用中文在线教授操作系统
用中文在线教操作系统,从进程、内存到 Linux 命令行都可以教,住在哪里都能上课。价格和时间由你自己定,Clasora 不抽取任何佣金。
概况
- 角色
- 操作系统在线老师(中文授课)
- 地点
- 100% 线上,在哪里都可以
- 工作方式
- 独立授课,价格和时间都由你决定。
- 发布日期
- 适用国家和地区
- 马来西亚, 新加坡, 中国
操作系统这门课,讲的正是程序员平时习以为常、却很少追问的那些事:一个运行中的程序为什么会觉得整台机器都归它一个人用;从调用 read() 到数据真正从磁盘读上来,中间发生了什么;两个线程各把同一个计数器加一百万次,结果为什么几乎从来到不了两百万。很多学生听虚拟内存那一讲时觉得都懂了,可一到要手算地址转换,就卡住了。
这正是老师能帮上大忙的地方。并发程序里的错误不容易看出来,更难复现,课本上的示意图也很少能和屏幕上的代码一一对上。老师把出问题的程序跑起来,指出究竟是哪一种线程交错让它出错,再当着学生的面改好,能替学生省下好几个小时对着代码发呆的时间。实践部分也是一样:有一位耐心的老师在旁边,熟悉 Linux 终端的速度,远比对着一张命令清单自己摸索要快。
为什么 Clasora 在寻找用中文授课的操作系统老师
Clasora 会向学生展示用他们浏览网站时所用语言授课的老师。用中文浏览 Clasora 的学生,看到的是用中文授课的老师。所以,如果你用中文教课,找到你的正是这些学生。
这门课里,术语的分量很重。“上下文切换”“缺页中断”“临界区”“死锁”“竞态条件”都有严格的含义,而中文教材和课件里,这些词又常常和英文原词并排出现,因为文档、手册页和报错信息大多是英文的。老师如果两套说法都熟悉,又能用和课堂一致的词来讲,学生就更容易把理论和终端里看到的东西联系起来。
Clasora 不雇用老师,这也不是一则招聘启事。你是独立授课的:价格和时间都由你自己定,想教多少就教多少。有人在做开发工作之余每周上几节课,也有人教的课多到足以代替一份工作。
在 Clasora 上在线教操作系统,日常是什么样子
所有课程都在线上进行,完全远程,你在自己生活的地方就能授课。
学生直接在你的日历上预约。他们只能看到你标为空闲的时间,而且显示的是学生自己所在的时区。需要提前多久预约、最远能约到哪一天,都由你决定。
课程在浏览器里进行,双方都不用安装任何软件,而屏幕共享和这门课特别合拍。你可以共享一台 Linux 虚拟机上的终端,运行 ps 或 strace,让学生看着进程和系统调用一个个出现;也可以在 gdb 里单步跟踪一段简短的 C 程序,或者在电子白板上画出页表,和学生一起把一个地址转换出来。学生共享自己的屏幕时,编译器的报错你看到的和他看到的完全一样。通话中的聊天框方便粘贴命令,背景虚化则能让你的房间不出现在画面里。
课与课之间,每位学生和你都有一个单独的对话。学生可以把一运行就报 segmentation fault 的源文件、没通过的测试输出,或者代码仓库的链接发过来,你可以回复笔记或一道小练习。消息、文件和分享的链接都放在对应那节课的旁边。你自己的习题可以存放在个人文件空间里,文档可以从 Google Drive 导入;如果你用 Google 日历安排一周的时间,还可以把它和 Clasora 上的日历同步。
学生通常需要哪些帮助
进程与线程:fork、exec、wait 分别做什么,进程有哪些状态,同一进程里的线程共享哪些东西。
CPU 调度:先来先服务、短作业优先、时间片轮转和优先级调度,画甘特图,手算等待时间和周转时间。
同步:竞态条件、临界区、互斥锁、信号量和条件变量,还有生产者消费者问题、哲学家就餐问题等经典题目。
死锁:产生死锁的四个必要条件、资源分配图和银行家算法。
内存管理:分页、页表和 TLB、虚拟内存,以及 FIFO、LRU 等页面置换算法。
文件系统:inode、目录、硬链接和软链接、日志机制,以及删除一个文件时到底发生了什么。
系统调用与内核:用户态和内核态、中断和陷阱,一行代码是怎样变成内核要做的工作的。
编程作业:用 C 写一个简单的 shell、线程池、内存分配器,或者修改 xv6 这样的教学用内核。
Linux 与命令行:管道和重定向、文件权限、进程和信号、SSH 以及 Bash 脚本。
备考:反复练习调度和页面置换的计算题,直到每次都能算对。
在职开发者和转行者:想弄清自己的代码在底层到底做了什么的程序员,以及刚开始接触系统运维或 DevOps 的人。
我们在找什么样的老师
你对操作系统足够了解,能讲清楚程序和硬件之间发生的事,也能看出学生的理解在哪里出了偏差。
你写过并调试过并发代码,熟悉 Linux 终端和 C 语言,这门课的大部分作业都用 C 来写。
你能用中文把问题讲清楚,也能把一个抽象的概念变成一张图,或者一段十来行、能让人亲眼看到效果的程序。
你也许在大学里教这门课,也许是计算机专业毕业,也许是把这门课学得很扎实的在校学生,或者每天都和系统打交道,做系统编程、嵌入式开发或运维。
你有一台带摄像头和麦克风的电脑,网络稳定,还有一台可以用来演示的 Linux 机器或虚拟机。
你已年满 18 岁。
有教学经验更好,但不是必需的。
你能得到什么
零佣金。你定的价格,Clasora 一分不抽。
注册和发布都免费。没有订阅费,发布服务也不收费。
价格你来定。每种课时长度都可以单独定价,也可以提供免费的第一节课。
时间你来定。每周的授课时间和休息日由你选择,提前多久预约、最远能约到哪天,也由你决定。
属于你的公开页面。你的服务有一个独立页面,搜索引擎可以找到,每位访客看到的都是自己语言的版本。页面上有你的照片、自我介绍视频、你教的内容、你会说的语言,以及每种课时长度的价格。
看得出水平的评价。学生从知识、讲解清晰度和投入程度三个方面给你评分。
经过核实的资历。你可以在个人资料里添加学历和证书,由审核员核实。
在浏览器里上课。视频通话支持屏幕共享、背景虚化和通话中聊天,双方都不用安装任何东西。
如何开始
点击本页上的按钮创建账号。
发布一项操作系统的服务。
打开日历,标出你有空的时间。
几分钟就能完成。成为老师时,你需要同意使用条款;服务上线前,审核员会先检查一遍。
老师们常问的问题
我必须参与过内核开发吗?
不必。你需要扎实掌握自己所教的内容,并能讲清楚。如果你有学位或其他资格证明,可以添加到个人资料中,审核员会进行核实。
我可以只教 Linux 和命令行吗?
可以。你在服务里写明教什么,所以既可以教整门课,也可以只讲理论,或者只教实践部分。
上课时怎么展示终端?
用屏幕共享。常见的做法是在 Linux 虚拟机或远程服务器上开一个终端,现场执行命令。学生也可以在和你的对话里把代码和报错信息发给你。
学生自己的电脑需要装 Linux 吗?
上课不需要,有浏览器就够了。课后练习时,很多人会用 Linux 虚拟机,或者在 Windows 上用 WSL。
怎么收费?
银行卡支付目前还没有开通。现在预约无需绑卡即可确认,费用由你和学生直接商定结算。Clasora 不抽取任何佣金。
在 Clasora 开始教课
注册账号,发布一项服务,打开日历。几分钟就好,一分钱不花。