近来在专业课的学习中,时不时碰到周期的字眼,借用这个时间将这几个概念整理一下。
在计算机中为了便于管理,常把一条指令的执行过程划分为若干个阶段,每个阶段完成一项工作。比如,与微机系统有关指令命令,如取指令,读、写存储器等,每一项操作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期,通常一个机器周期由若干S周期(状态周期)组成。
通常用内存中读取一个指令字的最短时间来规定CPU周期。
取出并执行一条指令的时间,一个指令周期由若干CPU周期构成。
又称为振荡周期,是处理操作的最基本的单位。
把振荡脉冲的周期定义为节拍(用p表示),振荡周期经过二分频后定义为状态,一个状态就包含两个节拍。
两个振荡周期(时钟周期)组成一个状态周期。
也就是一次通过总线访问存储器或I/O端口的时间,一般一个总线周期包括4个时钟周期,这4个时钟周期又分别称为T1状态、T2状态、T3状态、T4状态
layout: post category: network title: “虚拟机与主机的连接方式” —
主机与虚拟机的连接方式有 bridged(桥连),NAT(网络地址转换模式)和host-only(主机模式),不同的连接方式对应不同的网卡。
在Linux下面ifconfig显示的eth0是第一个网卡ip(eth就是ethenet以太网,这里指网络接口)
1. 桥连方式(bridged)
在桥连方式下你可以把虚拟出来的操作系统看成一部独立的主机,你需要手工为虚拟系统配合ip地址、子网掩码、而且还要和宿主机器处于同一网段,这样虚拟机才能和宿主机器进行通行。从名字上讲,我们可以把宿主系统看作一座桥,连接的就是虚拟机器,利用这种方式连接的机器,就像连接在同一 hub的两台机器。如果你想利用虚拟机的机器提供网络服务,就应该选择 bridged方式。这种方式最简单,直接将虚拟网卡接到一个物理网卡上,和linux下一个网卡绑定两个不同的地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个ip的能力。
2. 网络地址转换(NAT)
说的简单一点,这种方式就是利用虚拟机给虚拟系统(DHCP服务器)给虚拟系统分配一个可上网的ip,简单明了,还可以实现 Host Os和Guest Os的双向访问(这句话明显有错误),但与Host Os同一网段的其他机器无法像桥连方式那样轻松访问Guest Os。
你可以简单的认为虚拟机中的数据都是由宿主系统提供的,虚拟机可以通过网络访问主机,主机无法通过网络访问虚拟机。
ip:10.0.2.15
网关: 10.0.2.2
DNS: 10.0.2.3
最近在折腾虚拟机,因为两个机器之间的访问而忙的焦头烂额,在弄明白主机与虚拟机之间的联系方式后,有些问题还是让我心存疑惑。其中之一,我就纳闷是不是因为我的虚拟机的防火墙没有关闭,导致主机ping不动主机,于是乎,随手google了一下,将这个问题记录一下。奥,忘了,我的宿主系统及虚拟系统是Debian.所有操作是在root权限执行的。
whereis iptables
sudo iptables -L
如果你第一次安装配置 iptables,会得到如下信息, ` Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination `
最近因为在整U-boot的东西,所以有很多操作需要记录下来。
这篇文章总结性的介绍了u-boot的使用,这里就简单说下tftp的使用.
在linux主机上安装一下软件:
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
此时的默认tftp的路径存在于: /srv/tftp/
将文件放置于这个地方接下来可以做一些事情了。
最近又想折腾 LFS,在debian系统上安装了个 VirtualBox,里面也安装了 linxu,突然想到要使用文件传输的功能,最直接的想到了 ftp ,这里简单把安装过程记录一下。 首先,
apt-get install vsftpd
然后配置vsftpd
vi /etc/vsftpd.conf
打开后找到anonymous_enable=YES替换成 anonymous_enable=NO
找到local_enable=YES
, 将前面的#去掉,找到 Write_enable=NO
,将前面的#去掉,改成 YES
在配置文件的最后一行加上chroot_local_user=YES
接下来创建用户组
groupadd ftp
创建用户
useradd -g ftp -d /xx/xx
后面的目录是指定用户登录到哪个目录,然后输入密码两次
passwd user
重启 vsftpd服务
invoke-rc.d vsftpd restart
只能下载的anonymous用户和能上传、下载的ftpuser用户,登录都是进入/var/ftp目录,且无法离开该目录(被chroot),ftpuser可以在 /var/ftp/pub目录中建立目录和上传文件,匿名用户下载限速50kb/s,ftpuser限速500kb/s。可联接的最多客户数为100,每ip可联接的最多客户数为5
## /etc/vsftpd.conf
<pre>
# 接受匿名用户
anonymous_enable=YES
# 匿名用户login时不询问口令
no_anon_password=YES
# 接受本地用户
local_enable=YES
# 可以上传(全局控制).若想要匿名用户也可上传则需要设置anon_upload_enable=YES,若想要匿名用户可以建立目录则需要设置anon_mkdir_write_enable=YES.这里禁止匿名用户上传,所以不设置这两项.
write_enable=YES
# 本地用户上传文件的umask
local_umask=022
# 使用上传/下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file选项修改
xferlog_enable=YES
# 日志使用标准xferlog格式
xferlog_std_format=YES
# login时的欢迎信息
ftpd_banner=Welcome to KingArthur's FTP service.
# 设置的话将覆盖上面的ftpd_banner设置,用户login时将显示/etc/vsftpd/banner中的内容
banner_file=/etc/vsftpd/banner
# 为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
dirmessage_enable=YES
# 本地用户login后所在目录,若没有设置此项,则本地用户login后将在他的home目录(/etc/passwd的第六个字段)中.匿名用户的对应选项是anon_root
local_root=/var/ftp
# 设置为YES则下面的控制有效
chroot_list_enable=YES
# 若为NO,则记录在chroot_list_file选项所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里选择YES.
chroot_local_user=YES
# 若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES
# 若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_deny=NO
# 注意!!!vsftpd还要检察/etc/vsftpd.ftpusers文件,记录在这个文件中的用户将无法login!!
# 服务器以standalong模式运行,这样可以进行下面的控制
listen=YES
# 匿名用户的传输比率(b/s)
anon_max_rate=51200
# 本地用户的传输比率(b/s)
local_max_rate=512000
# 可接受的最大client数目
max_clients=100
# 每个ip的最大client数目
max_per_ip=5
connect_from_port_20=YES
tcp_wrappers=YES
pam_service_name=vsftpd
</pre> 下面是我的/etc/vsftpd.user_list
ftpuser
anonymous
/etc/vsftpd.ftpusers可以使用系统自带的文件 /etc/vsftpd.chroot_list内容为空
接着建立系统用户ftpuser,将他加入ftp组并将/etc/passwd中他的记录的最后一个字段改成/sbin/nologin(禁止本地登录). 设置/var/ftp的所有者和所有组为root,权限为755 设置/var/ftp/pub的所有者为root,所有组为ftp,权限为775
如果需要使本地用户ftpput可以login,只需要将他加入/etc/vsftpd.user_list,要使他可以上传,只需将他加入ftp组. 接着我们可以在/var/ftp下的各个目录(包括/var/ftp)下建立.message文件,这样用户进入这个目录时vsftpd将显示. message的内容,你可以在这里面写上欢迎信息或者注意事项等等.另外可以编辑/etc/vsftpd/banner,建立login时的欢迎信息, 让你的ftp更加个性化.
最近在看于渊编写的«自己动手写操作系统»,里面编写基于 IA32的保护模式下 COM文件,于是乎下载FreeDos iso并在 VirtualBox 安装,其详细手册请参阅
使用网络
在活动界面下,键入 auto 打开 AUTOEXEC.BAT 找到REM LH PCNTPK INT=0X60,将REM去掉,只剩下后面的其他
配置 FTP服务
`copy C:\FDOS\DOC\MTCP\SAMPLE.CFG C:\FDOS\MTCP.CFG
edit C:\fdos\mtcp.cfg`
激活以下选项
`MTU 1472
ftpsrv_password_file c:\fdos\ftppass.txt
ftpsrv_log_file c:\fdos\ftpsrv.log
FTPSRV_FILEBUFFER_SIZE 16
FTPSRV_TCPBUFFER_SIZE 16
FTPSRV_PACKETS_PER_POLL 2`
然后创建FTP服务器的密码
edit C:\fdos\ftppass.txt
编写这个文件时应该按照以下格式 user password [none] [any] all 我的就是 xx xx [none] [any] all
顺便提一下; 我的虚拟机里 FreeDos的ftp的端口是 21 这里用的是NAT连接方式real ip is 10.0.2.15, 并且这种方式在后来的 ftpsrv不可用,至于为什么我 也是暂不得知。 后来我改用 桥连 ftpsrv 居然可用,真是不可思议。 后来的ip是 192.168.1.103,我第一次用 桥连 没有成功,当时是在 CMCC-EDU的环境下开启的,后来我在实验室连接路由器可以,是不是和 这个有关呢?
开始DHCP客户端
首先用auto打开
然后去除"DHCP"前的REM。
一般的ip地址就在 C:\fdos\mtcp.cfg中
开始FTP服务
ftpsrv
然后在 宿主机 上就可以使用 ftp软件进行文件传输了。
本着够用即可的原则,就 freedos的文件交换先介绍到这。 至于安装FreeDos,还是到官网上找帮助手册。
#你的世界,我来了 我也惊恐,我怕自己给不了你的幸福。
就是在这一天,我们牵手,共同吐露心声。我希望你能成为我的新娘…
#11月22日 不是我希望,关键是我有没有那能力,现在的我分文不值,唯有努力,去创造未来。 #11月28日 为了你,加油!chunchun