操作系统课程设计-nachos(java版) Project1:Build a thread system
操作系统课程设计Project1,实现内核线程操作
项目地址
https://github.com/ccclll777/nachos_os_design
如果觉得有用,请点个star
nachos初探
刚拿到nachos之后,都不知道从哪里开始下手,只能从目录结构开始,慢慢熟悉整个nachos。
1.Nachos.ag包
有关内核的加载启动类
2.Nachos.machine包
nachos操作系统的主要包
里面有用户程序的加载类coff,coffsection;
3.配置文件的加载类config
4.有关操作系统中断模拟类interrupt
5.内核的抽象类kernel;
6.全局的工具类lib
里面定义一些操作系统内部可用的断言,随机数的生成,文件的加载,字符类型的转化,有关类的检查(检查访问权限),有关类的实例的创建等等。
7.Machine类
机器启动类,里面定义了全局可以使用的每个类的实例,文件的加载,参数的加载,机器线程的启动等等。
8.Openfile类,StubFileSystem类
提供nachos的文件系统的模拟,底层使用java有关文件系统的类实现
9.St ...
Python3中PyQuery的使用
摘要
PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery 是 Python 仿照 jQuery 的严格实现。语法与 jQuery 几乎完全相同,所以不用再去费心去记一些奇怪的方法了。
初始化
像Beautiful Soup一样,初始化pyquery的时候,也需要传入HTML文本来初始化一个PyQuery对象。它的初始化方式有多种,比如直接传入字符串,传入URL,传入文件名,等等。下面我们来详细介绍一下。
字符串的初始化
html = '''<div> <ul> <li class="item-0">first item</li> <li class="item-1"><a href="link2.html">second item& ...
Python3中BeautifulSoup4库的使用
摘要
Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。
Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。
标签选择器
选择元素
from bs4 import BeautifulSouphtml = """<html><head><title>The Dormouse's story</title></head><body><p ...
Python3中Requests库的使用
摘要
Request是一个简答优雅的python HTTP库,相较于python标准库中的urllib和urllib2的库,Requests更加的便于理解使用。
request库基于urllib,比urllib更加方便,是Python更加简单的http库。
使用request库的一个例子:
import requestsresponse = requests.get('http://www.baidu.com')print(type(response))#返回值的类型print(response.status_code)#当前网站返回的状态码print(type(response.text))#网页内容的类型print(response.text)#网页的具体内容(html代码)print(response.cookies)#网页的cookie
具体解释写在了注释里面,request中输出网页的html代码的方法是response.text方法,它相当于urllib库的response.read方法,只不过不需要进行decode操作 ...
Python3中Urllib3库的使用
摘要
Urllib库是Python中的一个功能强大、用于操作URL,并在做爬虫的时候经常要用到的库。
urlopen方法
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
这是urllib.request.urlopen函数,第一个参数是网站的url,第二个参数是发送post请求时需要的数据,第三个参数是超时的设置(如果在规定的时间没有返回,则会报错),后面的三个参数暂时用不到,不过多叙述。
例子1:使用urlopen访问网页(get请求):
import urllib.requestresponse = urllib.request.urlopen('http://www.baidu.com')print(response.read().decode('utf-8'))
.read()方法会返回网 ...