文档库 最新最全的文档下载
当前位置:文档库 › 山东大学linux实验4

山东大学linux实验4

山东大学linux实验4
山东大学linux实验4

1 da

dash date

2 m

Display all 130 possibilities? (y or n)

输入n 又显示m

3 administrator@ubuntu:~$ mk

mkdir mkfs.bfs mkfs.ntfs mk_modmap

mkdiskimage mkfs.cramfs mkfs.vfat mknod

mkdosfs mkfs.ext2 mkhomedir_helper mkntfs

mke2fs mkfs.ext3 mkinitramfs mkpasswd

mkfifo mkfs.ext4 mkinitramfs-kpkg mkswap

mkfontdir mkfs.ext4dev mkisofs mktap

mkfontscale mkfs.minix mklost+found mktemp

mkfs mkfs.msdos mkmanifest mkzftree

4 由命令列表知只需再输入字母d即可,其余用tab键补全。但只输入mkd仍有多余命令,只有全部输入后才满足条件。

5 administrator@ubuntu:~$ mkdir newdir

6 administra后,中止tor@ubuntu:~$ ls newdir/

可以使用文件补全功能来实现。

7 administrator@ubuntu:~$ alias

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

alias egrep='egrep --color=auto'

alias fgrep='fgrep --color=auto'

alias grep='grep --color=auto'

alias l='ls -CF'

alias la='ls -A'

alias ll='ls -alF'

alias ls='ls --color=auto'

8 #alias ls=‘ls -l’。

9 #alias ls

10 administrator@ubuntu:~$ ls

总用量 68

-rw-r--r-- 1 administrator administrator 179 2011-11-05 20:14 examples.desktop drwxr-xr-x 2 administrator administrator 4096 2011-11-19 08:23 newdir

drwxr-xr-x 2 administrator administrator 4096 2011-11-12 20:58 this is a test drwxr-xr-x 3 administrator administrator 4096 2011-11-12 20:58 userfile

drwxr-xr-x 2 administrator administrator 4096 2011-11-12 21:00 userfile-hard drwxr-xr-x 2 administrator administrator 4096 2011-11-12 21:01 userfile-soft

-rw-r--r-- 1 administrator administrator 1551 2011-11-12 20:54 usersfile

-rw-r--r-- 1 administrator administrator 7199 2011-11-18 20:30 vitest

drwxr-xr-x 2 administrator administrator 4096 2011-11-05 20:19 公共的

drwxr-xr-x 2 administrator administrator 4096 2011-11-05 20:19 模板

drwxr-xr-x 2 administrator administrator 4096 2011-11-05 20:19 视频drwxr-xr-x 2 administrator administrator 4096 2011-11-05 20:19 图片drwxr-xr-x 2 administrator administrator 4096 2011-11-05 20:19 文档drwxr-xr-x 2 administrator administrator 4096 2011-11-05 20:19 下载drwxr-xr-x 2 administrator administrator 4096 2011-11-05 20:19 音乐drwxr-xr-x 5 administrator administrator 4096 2011-11-19 07:59 桌面11 #\ls

examples.desktop userfile usersfile 模板文档桌面

newdir userfile-hard vitest 视频下载

this is a test userfile-soft 公共的图片音乐

12 #unalias ls

13 #alias ls

14 examples.desktop userfile usersfile 模板文档桌面newdir userfile-hard vitest 视频下载

this is a test userfile-soft 公共的图片音乐

15 #alias cde=‘cd /etc‘

16 ls /bin/*sh

/bin/bash /bin/dash /bin/rbash /bin/sh /bin/static-sh

系统中有bashell,dashell,rbashell,shell,staticshell。

作用:列出在bin目录下的所有以sh结尾的文件。

17 cd /etc

administrator@ubuntu:/etc$ ls

acpi group- passwd-

adduser.conf grub.d pcmcia

alternatives gshadow perl

anacrontab gshadow- pm

apm gtk-2.0 pnm2ppa.conf

apparmor hdparm.conf polkit-1

apparmor.d host.conf popularity-contest.conf apport hostname ppp

apt hosts profile

at.deny hosts.allow profile.d

avahi hosts.deny protocols

bash.bashrc hp pulse

bash_completion ifplugd python

bash_completion.d init python2.7 bindresvport.blacklist init.d rc0.d

blkid.conf initramfs-tools rc1.d

blkid.tab inputrc rc2.d

bluetooth insserv rc3.d

bogofilter.cf insserv.conf rc4.d

bonobo-activation insserv.conf.d rc5.d

brlapi.key iproute2 rc6.d

brltty issue rc.local

ca-certificates https://www.wendangku.net/doc/4b9033453.html, rcS.d

ca-certificates.conf kbd resolvconf

calendar kernel resolv.conf chatscripts kernel-img.conf rmt

checkbox.d kerneloops.conf rpc

compizconfig ldap rsyslog.conf computer-janitor.d ld.so.cache rsyslog.d ConsoleKit ld.so.conf samba

console-setup ld.so.conf.d sane.d

cron.d legal securetty

cron.daily lftp.conf security

cron.hourly libpaper.d sensors3.conf cron.monthly libreoffice sensors.d

crontab lintianrc services

cron.weekly locale.alias sgml

crypttab localtime shadow

cups logcheck shadow- cupshelpers login.defs shells

dbus-1 logrotate.conf skel

debconf.conf logrotate.d snmp

debian_version lsb-base sound

default lsb-base-logging.sh speech-dispatcher defoma lsb-release ssh

deluser.conf ltrace.conf ssl

depmod.d magic sudoers

dhcp magic.mime sudoers.d

dhcp3 mailcap sysctl.conf dictionaries-common mailcap.order sysctl.d

doc-base manpath.config terminfo

dpkg mime.types timezone

emacs mke2fs.conf ucf.conf environment modprobe.d udev

firefox modules ufw

fonts mono updatedb.conf foomatic motd update-manager fstab mtab update-motd.d fuse.conf mtab.fuselock update-notifier gai.conf mtools.conf UPower

gamin nanorc usb_modeswitch.conf gconf netscsid.conf usb_modeswitch.d gdb network vim

gdm NetworkManager vtrgb

ghostscript networks wgetrc

ginn newt wodim.conf

gnome nsswitch.conf wpa_supplicant

gnome-app-install obex-data-server X11

gnome-settings-daemon openoffice xdg

gnome-system-tools opt xml

gnome-vfs-2.0 pam.conf xul-ext

gnome-vfs-mime-magic pam.d zsh_command_not_found

groff papersize

group passwd

18 (1) ls *conf

adduser.conf kerneloops.conf popularity-contest.conf

blkid.conf ld.so.conf resolv.conf

ca-certificates.conf lftp.conf rsyslog.conf

debconf.conf logrotate.conf sensors3.conf

deluser.conf ltrace.conf sysctl.conf

fuse.conf mke2fs.conf ucf.conf

gai.conf mtools.conf updatedb.conf

hdparm.conf netscsid.conf usb_modeswitch.conf

host.conf nsswitch.conf wodim.conf

insserv.conf pam.conf

kernel-img.conf pnm2ppa.conf

gconf:

2 gconf.xml.defaults gconf.xml.mandatory gconf.xml.system

resolvconf:

(2) ls [dD]*

debconf.conf debian_version deluser.conf

dbus-1:

event.d session.conf session.d system.conf system.d

default:

acpid brltty grub nss saned

acpi-support console-setup halt ntpdate speech-dispatcher

alsa cron irqbalance pulseaudio tmpfs

apport cups kerneloops rcS ufw

avahi-daemon dbus keyboard rsync useradd

bootlogd devpts locale rsyslog

defoma:

config fontconfig.subst-rule loc-cset.data xenc-cset.data csetenc-xenc.data2 hints ps-cset-enc.data

depmod.d:

ubuntu.conf

dhcp:

dhclient.conf dhclient-enter-hooks.d dhclient-exit-hooks.d

dhcp3:

dhclient-enter-hooks.d

dictionaries-common:

words

doc-base:

documents

dpkg:

dpkg.cfg dpkg.cfg.d origins shlibs.default shlibs.override

(3) ls ????o*

debconf.conf ld.so.conf networks rc.local shadow

ld.so.cache logrotate.conf protocols sensors3.conf shadow-

ConsoleKit:

run-seat.d run-session.d seats.d

console-setup:

cached.kmap.gz compose.ISO-8859-13.inc compose.ISO-8859-8.inc compose.ARMSCII-8.inc compose.ISO-8859-14.inc compose.ISO-8859-9.inc compose.CP1251.inc compose.ISO-8859-15.inc compose.KOI8-R.inc compose.CP1255.inc compose.ISO-8859-16.inc compose.KOI8-U.inc compose.CP1256.inc compose.ISO-8859-1.inc compose.TIS-620.inc compose.GEORGIAN-ACADEMY.inc compose.ISO-8859-2.inc compose.VISCII.inc compose.GEORGIAN-PS.inc compose.ISO-8859-3.inc remap.inc

compose.IBM1133.inc compose.ISO-8859-4.inc Uni2-Fixed16.psf compose.ISIRI-3342.inc compose.ISO-8859-5.inc vtrgb

compose.ISO-8859-10.inc compose.ISO-8859-6.inc vtrgb.vga

compose.ISO-8859-11.inc compose.ISO-8859-7.inc

depmod.d:

ubuntu.conf

ld.so.conf.d:

GL.conf i686-linux-gnu.conf libasound2.conf libc.conf

logrotate.d:

apport cups pm-utils speech-dispatcher

apt dpkg ppp ufw

consolekit jockey-common rsyslog unattended-upgrades

network:

if-down.d if-post-down.d if-pre-up.d if-up.d interfaces

NetworkManager:

dispatcher.d NetworkManager.conf system-connections VPN

openoffice:

README.dictionary.lst

python:

debian_config

python2.7:

sitecustomize.py

sensors.d:

(4) ls *[tT][aA][bB]*

(5) ls *[0-9]

dbus-1:

event.d session.conf session.d system.conf system.d

dhcp3:

dhclient-enter-hooks.d

gnome-vfs-2.0:

modules

gtk-2.0:

im-multipress.conf

iproute2:

ematch_map rt_dsfield rt_protos rt_realms rt_scopes rt_tables

polkit-1:

localauthority localauthority.conf.d nullbackend.conf.d

python2.7:

sitecustomize.py

X11:

app-defaults fonts xinit Xreset.d Xsession.d

cursors rgb.txt xkb Xresources Xsession.options default-display-manager X Xreset Xsession Xwrapper.config

(6) ls *[!0-9]

19 ls -d ?[!y]*[e-f]

adduser.conf kernel-img.conf pam.conf

blkid.conf kerneloops.conf papersize

bogofilter.cf ld.so.cache pnm2ppa.conf

ca-certificates.conf ld.so.conf popularity-contest.conf debconf.conf lftp.conf profile

deluser.conf libreoffice pulse

doc-base localtime resolvconf

fuse.conf logrotate.conf resolv.conf

gai.conf lsb-base rsyslog.conf

gconf lsb-release sensors3.conf

gnome ltrace.conf timezone

groff magic.mime ucf.conf

hdparm.conf mke2fs.conf updatedb.conf

host.conf mtools.conf usb_modeswitch.conf

hostname netscsid.conf wodim.conf

insserv.conf nsswitch.conf

issue openoffice

最短例如会是abce

20 :/etc$ cd

:~$

21 (1) stu@stu-Lenovo:~$ cat >junk

kdslaaaadsaeiwa

faltjiaothegdsvgdfs

faksldutgjiresfhdse

geothgushbvsd

^C

stu@stu-Lenovo:~$ cat junk

kdslaaaadsaeiwa

faltjiaothegdsvgdfs

faksldutgjiresfhdse

geothgushbvsd

stu@stu-Lenovo:~$ cat >> junk

fjietukdjkjvgdk

gjfdkgjreiuygdsa

hfdwrtweaugei

fds

^C

stu@stu-Lenovo:~$ cat junk

dsaklfweioturiogjdsfkfj

dfhstreywior]

hdfsklthuierwioehfs

dshaoiuyhd

fjietukdjkjvgdk

gjfdkgjreiuygdsa

hfdwrtweaugei

fds

22 (1) administrator@ubuntu:~$ cat junk junk2>cat.out 2>cat.err

(2) administrator@ubuntu:~$ cat.junk junk2>cat.out 2>/dev/null

23 ls |wc -l 19

24 dministrator@ubuntu:~$ ls -l>tempfile

administrator@ubuntu:~$ wc -l tempfile

21 tempfile

administrator@ubuntu:~$ rm tempfile

不一样,此处为对文件tempfile的处理,而7题是定义或显示别名的,在标准输出上打印别名列表。二者是有区别的。

25 administrator@ubuntu:~$ ls >tempfile2

administrator@ubuntu:~$ wc -l tempfile2

20 tempfile2

26 date; who;>file

2011年 11月 19日星期六 14:31:51 CST

administrator tty7 2011-11-19 13:35 (:0)

administrator pts/0 2011-11-19 14:04 (:0.0)

27 administrator@ubuntu:~$ set

administrator@ubuntu:~$ env

28 administrator@ubuntu:~$ localvar=10

administrator@ubuntu:~$ echo $localvar

10

administrator@ubuntu:~$ set

29 administrator@ubuntu:~$ $bash

administrator@ubuntu:~$ echo $localvar

因为变量是本地变量,只在其父进程中有效。

30 export localvar 命令可以将值带到子shell中。

33 administrator@ubuntu:~$ cp /etc/passwd /home/administrator/lspasswd

34 (1) administrator@ubuntu:~$ grep ^s* lspasswd

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

bin:x:2:2:bin:/bin:/bin/sh

sys:x:3:3:sys:/dev:/bin/sh

sync:x:4:65534:sync:/bin:/bin/sync

games:x:5:60:games:/usr/games:/bin/sh

man:x:6:12:man:/var/cache/man:/bin/sh

lp:x:7:7:lp:/var/spool/lpd:/bin/sh

mail:x:8:8:mail:/var/mail:/bin/sh

news:x:9:9:news:/var/spool/news:/bin/sh

uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh

proxy:x:13:13:proxy:/bin:/bin/sh

www-data:x:33:33:www-data:/var/www:/bin/sh

backup:x:34:34:backup:/var/backups:/bin/sh

list:x:38:38:Mailing List Manager:/var/list:/bin/sh

irc:x:39:39:ircd:/var/run/ircd:/bin/sh

gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh nobody:x:65534:65534:nobody:/nonexistent:/bin/sh

libuuid:x:100:101::/var/lib/libuuid:/bin/sh

syslog:x:101:103::/home/syslog:/bin/false

messagebus:x:102:105::/var/run/dbus:/bin/false

avahi-autoipd:x:103:108:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/bin/false avahi:x:104:109:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false

usbmux:x:105:46:usbmux daemon,,,:/home/usbmux:/bin/false

gdm:x:106:114:Gnome Display Manager:/var/lib/gdm:/bin/false

speech-dispatcher:x:107:29:Speech

Dispatcher,,,:/var/run/speech-dispatcher:/bin/sh

kernoops:x:108:65534:Kernel Oops Tracking Daemon,,,:/:/bin/false

pulse:x:109:116:PulseAudio daemon,,,:/var/run/pulse:/bin/false

rtkit:x:110:119:RealtimeKit,,,:/proc:/bin/false

hplip:x:111:7:HPLIP system user,,,:/var/run/hplip:/bin/false

saned:x:112:121::/home/saned:/bin/false

administrator:x:1000:1000:Administrator,,,:/home/administrator:/bin/bash

(2) administrator@ubuntu:~$ grep ^s* lspasswd | wc -l

32

35 administrator@ubuntu:~$ grep -c ^s* lspasswd

32

36 ^ 用于匹配行首,用在字符串前面

$ 用于匹配行尾,用在字符串后面

X* 0个或多个字符X

. 匹配任意单字符

[字符表] 字符表中的任意字符

[^字符表] 任意不在字符表中的字符

\ 屏蔽其后的特殊字符的特殊含义

\{n\} 前导的正则表达式重复n次

\{min,max\} 前导的正则表达式重复min~max次

administrator@ubuntu:~$ grep ^a* lspasswd

37 administrator@ubuntu:~$ vi setdir

dir1=/tmp

dir2=/usr

echo $dir1 $dir2

38 administrator@ubuntu:~$ bash setdir

/tmp /usr

administrator@ubuntu:~$ echo $dir1 $dir2

dministrator@ubuntu:~$ . setdir

/tmp /usr

administrator@ubuntu:~$ echo $dir1 $dir2

/tmp /usr

administrator@ubuntu:~$ chmod +x setdir

administrator@ubuntu:~$ setdir

/tmp /usr

administrator@ubuntu:~$ echo $dir1 $dir2

39 第一种bash启动子进程执行,第二种直接在这个进程中执行,第三种也是启动子进程执行。

第一种为空,第二种输出/tmp /usr,第三种输出为空。

因为一三种都是启动子进程,只有第二种是直接在本进程中执行。

生物化学实验六——酵母RNA的提取与含量测定 山东大学实验报告

实验六——酵母RNA的提取与含量测定 13生物基地 201300140059 刘洋 2015-05-10 同组者:张奕 一、实验目的 1.掌握稀碱法提取酵母RNA的原理和方法。 2.掌握紫外分光光度计的使用。 3.了解和掌握紫外吸收法测定RNA浓度的原理。 二、实验原理 酵母核酸中RNA含量较多,DNA则少于2%。RNA可溶于碱性溶液,当碱被中和后,可加乙醇使其沉淀,由此即可得到RNA制品。但是用碱液提取的RNA有不同的降解。 核酸及其衍生物,核苷酸、核苷、嘌呤和嘧啶有吸收紫外光的性质,其吸收高峰在260nm 左右,且一定浓度范围内其浓度与吸光度成正比(浓度为5μg/ml—45μg/ml吸光度与浓度成正比),利用此性质,可用RNA标准液绘制RNA吸光标准曲线(标准曲线的斜率为0.022-0.024左右),测定样品RNA浓度。由于蛋白质在280nm的光吸收,对核酸测定有一定的干扰作用,最大吸收峰在280nm处,原因是蛋白质组成中常含有酪氨酸和色氨酸等芳香族氨基酸。所以如果有蛋白质的干扰必须得先测260nm处的吸光度,再测280nm处的吸光度,通过计算消除其对核酸的影响。 三、实验器材 干酵母粉 电子天平 量筒 容量瓶100ml 磁力搅拌器 试管 100℃水浴锅pH试纸(pH1-14)烧杯 离心机 722型分光光度计锥形瓶 离心管 四、实验试剂 0.2%氢氧化钠溶液95%乙醇 无水乙醚酸性乙醇(5ml浓Hcl加入到500ml95%乙醇中混匀)RNA标准蛋白溶液(200μg/ml)

1.RNA的提取 (1)称取4g干酵母粉,放入200ml锥形瓶中,加入40ml0.2%的氢氧化钠溶液混匀,在沸水浴中煮沸30min中并冷却; (2)冷却后,把液体倒入离心管中,在4000r/min的条件下离心15min; (3)离心后留上清液加入95%的酸性乙醇40ml,边加边搅拌,静置5min左右,再4000r/min的条件下离心5min; (4)离心后保留沉淀,用20ml 95%乙醇分两次洗涤沉淀,每次洗后在3000r/min的条件下离心5min; (5)离心后的沉淀再用无水乙醇10ml洗涤两次,每次用3000r/min离心5min; (6)离心结束后,收集沉淀与滤纸上,称重备用。 2.RNA样液的配制 (1)取粗RNA0.2-0.25g与烧杯中,加入5mlNaOH溶液,搅拌,溶解,调成糊状。 (2)再加入蒸馏水40ml,搅拌混匀,调PH至7.0后,放入100ml容量瓶中定容。 (3)再分3-4次分别取2ml定容后溶液于100ml容量瓶中继续定容待测,并且把容量瓶依次编号为A、B、C。 3.RNA标准曲线的绘制 (1)取洁净的试管,依次标号为1-10、A、B、C后,按照下表分别往各试管中加所需液体,并用磁力搅拌器混匀。 (2)混匀后以0号试管为参比液,在260nm下测各试管的吸光度A,并根据0-9试管的吸光值绘制出RNA标准曲线,并最终得出样品的浓度。 六、注意事项 1.离心机的使用,使用前一定要将两离心液(包括外壳)在天平上调平,对称放置在离 心机上,防止力臂不对称而损坏离心机。 2.紫外分光光度计的使用,要先预热10分钟,往比色皿中到液体只需到三分之二即可, 防止液体溢出腐蚀仪器,爱护仪器。

桂电智能仪器实验代码(最新lab8000平台汇编)知识讲解

桂电智能仪器实验代码(最新l a b8000平 台汇编)

实验1 ORG 0000H AJMP MAIN ORG 0200H BUFF EQU 60H MAIN:MOV R3,#00H MOV R4,#00H ACALL DISPLAY ACALL KEXAM JZ MAIN ACALL D10ms ACALL KEXAM JZ MAIN MOV R2,#0DFH MOV DPTR,#8004H MOV A,#00H MOVX @DPTR,A KEY1:MOV DPTR,#8002H MOV A,R2 MOVX @DPTR,A MOV DPTR,#8001H MOVX A,@DPTR CPL A ANL A,#0FH JNZ KEY2 MOV A,R3 ADD A,#04H MOV R3,A MOV A,R2 RR A MOV R2,A JB ACC.0,KEY1 AJMP MAIN KEY2:CPL A KEY3:RRC A JNC KEY4 INC R4 AJMP KEY3 KEY4:ACALL DISPLAY ACALL D10ms ACALL KEXAM JNZ KEY4

MOV A,R3 ADD A,R4 MOV BUFF,A KEND:AJMP MAIN KEXAM:MOV DPTR,#8002H MOV A,#00H MOVX @DPTR,A MOV DPTR,#8001H MOVX A,@DPTR CPL A ANL A,#0FH RET DISPLAY:MOV DPTR,#TAB MOV A,60H MOVC A,@A+DPTR MOV DPTR,#8004H MOVX @DPTR,A MOV DPTR,#8002H MOV A,#10H MOVX @DPTR,A RET D10ms:MOV R5,#30H DL:MOV R6,#0FFH DL0:DJNZ R6,DL0 DJNZ R5,DL RET TAB:DB 3FH 06H 66H 07H DB 71H 5BH 6DH 7FH DB 79H 4FH 7DH 6FH DB 5EH 39H 7CH 77H 实验2 ORG 0000H AJMP MAIN ORG 0100H MAIN: ACALL KEXAM ;检查按键 JZ MAIN ;无继续 ACALL D10ms ;延时去抖

山东大学操作系统实验报告4进程同步实验

山东大学操作系统实验报告4进程同步实验

计算机科学与技术学院实验报告 实验题目:实验四、进程同步实验学号: 日期:20120409 班级:计基地12 姓名: 实验目的: 加深对并发协作进程同步与互斥概念的理解,观察和体验并发进程同步与互斥 操作的效果,分析与研究经典进程同步与互斥问题的实际解决方案。了解 Linux 系统中 IPC 进程同步工具的用法,练习并发协作进程的同步与互斥操作的编程与调试技术。 实验内容: 抽烟者问题。假设一个系统中有三个抽烟者进程,每个抽烟者不断地卷烟并抽烟。抽烟者卷起并抽掉一颗烟需要有三种材料:烟草、纸和胶水。一个抽烟者有烟草,一个有纸,另一个有胶水。系统中还有两个供应者进程,它们无限地供应所有三种材料,但每次仅轮流提供三种材料中的两种。得到缺失的两种材料的抽烟者在卷起并抽掉一颗烟后会发信号通知供应者,让它继续提供另外的两种材料。这一过程重复进行。请用以上介绍的 IPC 同步机制编程,实现该问题要求的功能。 硬件环境: 处理器:Intel? Core?i3-2350M CPU @ 2.30GHz ×4 图形:Intel? Sandybridge Mobile x86/MMX/SSE2 内存:4G 操作系统:32位 磁盘:20.1 GB 软件环境: ubuntu13.04 实验步骤: (1)新建定义了producer和consumer共用的IPC函数原型和变量的ipc.h文件。

(2)新建ipc.c文件,编写producer和consumer 共用的IPC的具体相应函数。 (3)新建Producer文件,首先定义producer 的一些行为,利用系统调用,建立共享内存区域,设定其长度并获取共享内存的首地址。然后设定生产者互斥与同步的信号灯,并为他们设置相应的初值。当有生产者进程在运行而其他生产者请求时,相应的信号灯就会阻止他,当共享内存区域已满时,信号等也会提示生产者不能再往共享内存中放入内容。 (4)新建Consumer文件,定义consumer的一些行为,利用系统调用来创建共享内存区域,并设定他的长度并获取共享内存的首地址。然后设定消费者互斥与同步的信号灯,并为他们设置相应的初值。当有消费进程在运行而其他消费者请求时,相应的信号灯就会阻止它,当共享内存区域已空时,信号等也会提示生产者不能再从共享内存中取出相应的内容。 运行的消费者应该与相应的生产者对应起来,只有这样运行结果才会正确。

数据结构实验报告全集

数据结构实验报告全集 实验一线性表基本操作和简单程序 1.实验目的 (1)掌握使用Visual C++ 6.0上机调试程序的基本方法; (2)掌握线性表的基本操作:初始化、插入、删除、取数据元素等运算在顺序存储结构和链表存储结构上的程序设计方法。 2.实验要求 (1)认真阅读和掌握和本实验相关的教材内容。 (2)认真阅读和掌握本章相关内容的程序。 (3)上机运行程序。 (4)保存和打印出程序的运行结果,并结合程序进行分析。 (5)按照你对线性表的操作需要,重新改写主程序并运行,打印出文件清单和运行结果 实验代码: 1)头文件模块 #include iostream.h>//头文件 #include//库头文件-----动态分配内存空间 typedef int elemtype;//定义数据域的类型 typedef struct linknode//定义结点类型 { elemtype data;//定义数据域 struct linknode *next;//定义结点指针 }nodetype; 2)创建单链表

nodetype *create()//建立单链表,由用户输入各结点data域之值,//以0表示输入结束 { elemtype d;//定义数据元素d nodetype *h=NULL,*s,*t;//定义结点指针 int i=1; cout<<"建立一个单链表"<> d; if(d==0) break;//以0表示输入结束 if(i==1)//建立第一个结点 { h=(nodetype*)malloc(sizeof(nodetype));//表示指针h h->data=d;h->next=NULL;t=h;//h是头指针 } else//建立其余结点 { s=(nodetype*) malloc(sizeof(nodetype)); s->data=d;s->next=NULL;t->next=s; t=s;//t始终指向生成的单链表的最后一个节点

Linux 进程管理实验

Linux 进程管理实验 一、实验内容: 1. 利用bochs观测linux0.11下的PCB进程控制结构。 2. 利用bochs观测linux0.11下的fork.c源代码文件,简单分析其中的重要函数。 3. 在fork.c适当位置添加代码,以验证fork函数的工作原理。 二、Linux进程管理机制分析 Linux有两类进程:一类是普通用户进程,一类是系统进程,它既可以在用户空间运行,又可以通过系统调用进入内核空间,并在内核空间运行;另一类叫做内核进程,这种进程只能在内核空间运行。在以i386为平台的Linux系统中,进程由进程控制块,系统堆栈,用户堆栈,程序代码及数据段组成。Linux系统中的每一个用户进程有两个堆栈:一个叫做用户堆栈,它是进程运行在用户空间时使用的堆栈;另一个叫做系统堆栈,它是用户进程运行在系统空间时使用的堆栈。 1.Linux进程的状态: Linux进程用进程控制块的state域记录了进程的当前状态,一个Linux 进程在它的生存期中,可以有下面6种状态。 1.就绪状态(TASK_RUNNING):在此状态下,进程已挂入就绪队列,进入准备运行状态。 2.运行状态(TASK_RUNNING):当进程正在运行时,它的state域中的值不改变。但是Linux会用一个专门指针(current)指向当前运行的

任务。 3.可中断等待状态(TASK_INTERRUPTIBLE):进程由于未获得它所申请的资源而处在等待状态。不管是资源有效或者中断唤醒信号都能使等待的进程脱离等待而进入就绪状态。即”浅睡眠状态”。 4.不可中断等待状态(TASK_UNINTERRUPTIBLE):这个等待状态与上面等待状态的区别在于只有当它申请的资源有效时才能被唤醒,而其它信号不能。即“深睡眠状态”。 5.停止状态(TASK_STOPPED):当进程收到一个SIGSTOP信号后就由运行状态进入停止状态,当收到一个SINCONT信号时,又会恢复运行状态。挂起状态。 6.终止状态(TASK_ZOMBIE):进程因某种原因终止运行,但进程控制块尚未注销。即“僵死状态”。 状态图如下所示: 2.Linux进程控制块:

Linux实验项目四--shell编程

实验项目四shell编程 一、实验目的 (1)了解shell的作用和主要分类; (2)掌握bash的建立和执行方式; (3)掌握bash的基本语法; (4)学会编写shell脚本。 二、实验内容 (1)shell脚本的建立和执行; (2)历史命令和别名定义; (3)shell变量和位置参数、环境变量; (4)bash的特殊字符; (5)一般控制结构; (6)算术运算及bash函数。 三.实验软件 VMWare Workstation 5.0; Red hat linux 9.0; 四.实验主要步骤 1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行脚本。 2、运行history命令,配置历史命令环境。 3、体会bash的命令补齐功能。 4、用alias定义别名,然后执行。 5、编辑如下脚本进行执行: 6、编写一个shell脚本,求斐波那契数列的前10项及总和。 7、设计一个程序cuts,它由标准输入读取数据,获取由第一个参数n和第二个参数m所限定范围的数据,n和m都是整数,即从输入的字符串中抽取第n个字符至第m个字符之间的所有字符(包括这两个字符)。例如: $cuts 11 14 tis is a test of cuts program (输入) tst(显示结果

五.实验结果 1、利用vi建立一个脚本文件,其中包括date,cal,pwd,ls等常用命令。然后以不同方式执行脚本。 2、运行history命令,配置历史命令环境。 3、体会bash的命令补齐功能。 双击tab键,能列出所有符合条件的结果,只有唯一结果时单击可补全。 4、用alias定义别 名,然后执行。 5、编辑如下脚本进行执行:

山东大学信息安全实验报告

山东大学软件学院 信息安全导论课程实验报告 学号:201300301385 姓名:周强班级: 2013级八班 实验题目:缓冲区溢出实验 实验学时:日期: 实验目的: (1)了解缓冲区溢出的原理 (2)利用缓冲区溢出现象构造攻击场景 (3)进一步思考如何防范基于缓冲区溢出的攻击 硬件环境: 软件环境: WindowsXP操作系统 VS2008 实验步骤与内容: (1)了解缓冲区溢出的原理 缓冲区溢出简单来说就是计算机对接收的输入数据没有进行有效的检测(理情况下是程序检测数据长度并不允许输入超过缓冲区长度的字符),向缓冲区内填充数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据。 看一个代码实例,程序如下: void function(char *str) { char buffer[16]; strcpy(buffer,str); } 上面的strcpy()将直接把str中的内容copy到buffer中。这样只要str的长度大于16,就会造成buffer的溢出,使程序运行出错。

(2)利用缓冲区溢出现象构造攻击场景 首先打开Microsoft Visual C++,新建工程和cpp文件,复制实验指导书的代码进行编译连接: 单击运行按钮,然后第1次输入“zhouqianga”,第2次输入2个“ga”,即可看到输出“correct”。

按F10开始进行逐步调试: 当第一次执行gets()函数之前,内存情况如下图所示

在最新的版本中gets被认为是不安全的,gets从标准输入设备读字符串函数。可以无限读取,不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。现在都被要求改为get_s。来防止溢出。 如下图所示。 (3)学习例子程序2:数据被执行 在xp系统下,直接运行Exploit-1.1.exe,如下图所示:

linux进程管理篇

目录:(内容较多,加个目录) |-进程管理 进程常用命令 |- w查看当前系统信息 |- ps进程查看命令 |- kill终止进程 |- 一个存放内存中的特殊目录/proc |- 进程的优先级 |- 进程的挂起与恢复 |- 通过top命令查看进程 计划任务 |- 计划任务的重要性 |- 一次性计划at和batch |- 周期性计划crontab 进程管理的概念 进程和程序区别 1.程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。 2.程序和进程无一一对应关系。一个程序可以由多个时程公用;另一一方面,一个进程在活动中有可顺序地执行若干个程序 父子进程的关系 1.子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程 2.在linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。 3.父进程终止子进程自然终止。 前台进程和后台进程 前台进程 在shell提示处理打入命令后,创建一个子进程,运行命令,Shell等待命令退出,然后返回到对用户给出提示符。这条命令与Shell异步运行,即在前台运行,用户在它完成之前不能执行别一个命令

很简单,我们在执行这个查找命令时,无法进行其它操作,这个查找就属于前台进程 后台进程 在Shell提示处打入命令,若后随一个&,Shell创建子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示。这条命令与Shell同步运行,即在后台运行。“后台进程必须是非交互式的” 再来看这个命令就变成了后台进程,我们用同样的条件进行查找,把查找记过放到hzh/test/init.find这个文件中。不影响我们前台其它的操作。 进程的状态

Linux实验报告(实验四) shell编程实验

实验四 shell编程实验(二) 班级:姓名:学号:上机时间:年月日 任课教师:实验教师:实验成绩: 一、实验目的 综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。 二、实验注意事项 实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。 三、实验内容 1. 编写一个脚本,求斐波那契数列的前10项及总和。 num1=1 num2=1 echo -n “$num1+$num2” sum=2 for((i=1;i<=8;i++)) do tmp=$(expr $num1 + $num2) echo -n “+$tmp” ((num1=num2)) ((num2=tmp)) sum=$(expr $sum + $tmp) done echo “=$sum” 2.编写一个脚本,求一个数的逆序。 echo -n please input num: read num echo -n The num is while [ $num -gt 0 ] do sd=$(($num % 10)) echo -n "$sd" num=$(($num/10)) done echo

3.设计一个Shell程序,在用户主目录下建立一个userdata目录,在此目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。(注意:最后删除自己所建立的目录,恢复原样,以便后面同学做此实验) mkdir -m 754 /home/userdata i=1 temp=/home/userdata/user while[ $i -le 5 ] do mkdir -m 754 $temp$i let”i=i+1”# done 4.用Shell编程,判断一文件是不是普通文件,如果是将其拷贝到/home/student/test 目录下,用命令查看test目录内容,最后再删除test目录。 mkdir -m 777 /home/test echo “Input file name:” read FILENAME if [ -f “$FILENAME” ] then cp $FILENAME /home/test ls /home/test cd test rm $FILENAME cd . ls else echo”The FILENAME is not a regular file!” fi 5.编程实现简单计算器。要求用户输入一个表达式并输入结果,程序会判断用户输入的结果是否正确,并给出提示。直到用户输入‘q’时,才退出执行。 参考程序: #!/bin/bash #fileName:first #note:This is the first title #function:input an expretion and the answer, I will tell you right or wrong # You can try it as many times as you like. echo Hello! @_@ echo Welcom to the calculate testing! echo You can input an expretion such as 2*2 or 3+1, and input the answer echo I will tell you whether you are right or wrong. echo You can input 'q' to exit.

山东大学-中间件实验报告

山东大学软件学院 中间件技术课程实验报告

onResize(); }, error : function(e) { alert('初始化数据错误!'); } }); }); 并从bootstrap上找一些已经写好的布局,作为参考。加入到网页的界面中。 一、数据库操作的封装 1、AutoCreateDB——自动创建数据库 (1)可以根据下列query的结果判断数据库是否存在: Object obj = dao.QueryOnly("SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME=?",new Object[] { DATABASE }); 不存在则创建数据库,则执行executeCreate方法。 (2)AutoCreateDB自动创建数据库的表 遍历表,对于数据库中的每一个表,都执行“检测、若不存在则创建”操作,可以根据该query的结果判断数据库的表是否存在,不存在则创建数据库表,则执行executeCreate方法。 2、JdbcDao数据库相关操作 (1)在JdbcDao 中定义应用与数据库建立连接,其相关参数从 config.properties中获取: /**获取Connection连接*/ public Connection getConnection(){ Connection conn = null; System.out.println(JDBC_URL); System.out.println(USER_NAME); System.out.println(USER_PWD); try { conn = DriverManager.getConnection(JDBC_URL,USER_NAME,USER_PWD);

linux进程管理(一)

进程介绍 程序和进程 程序是为了完成某种任务而设计的软件,比如OpenOffice是程序。什么是进程呢?进程就是运行中的程序。 一个运行着的程序,可能有多个进程。比如自学it网所用的WWW服务器是apache服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户来同时请求httpd服务,apache服务器将会创建有多个httpd进程来对其进行服务。 进程分类 进程一般分为交互进程、批处理进程和守护进程三类。 值得一提的是守护进程总是活跃的,一般是后台运行,守护进程一般是由系统在开机时通过脚本自动激活启动或超级管理用户root来启动。比如在 Redhat中,我们可以定义httpd 服务器的启动脚本的运行级别,此文件位于/etc/init.d目录下,文件名是httpd,/etc/init.d/httpd 就是httpd服务器的守护程序,当把它的运行级别设置为3和5时,当系统启动时,它会跟着启动。 [root@localhost ~]# chkconfig --level 35 httpd on 进程的属性: 进程ID(PID):是唯一的数值,用来区分进程; 父进程和父进程的ID(PPID); 启动进程的用户ID(UID)和所归属的组(GID); 进程状态:状态分为运行R、休眠S、僵尸Z; 进程执行的优先级; 进程所连接的终端名; 进程资源占用:比如占用资源大小(内存、CPU占用量); 父进程和子进程: 他们的关系是管理和被管理的关系,当父进程终止时,子进程也随之而终止。但子进程终止,父进程并不一定终止。比如httpd服务器运行时,我们可以杀掉其子进程,父进程并不会因为子进程的终止而终止。 在进程管理中,当我们发现占用资源过多,或无法控制的进程时,应该杀死它,以保护系统的稳定安全运行; 进程管理

实验四同步与互斥Linux实验报告材料

实验四同步与互斥 【实验目的和要求】 1、掌握进程(线程)的同步与互斥。 2、掌握生产者消费者问题的实现方法。 3、掌握多线程编程方法。 【实验容】 实现生产者消费者问题 1、有一个仓库,生产者负责生产产品,并放入仓库,消费者会从仓库中拿走产品(消费)。 2、仓库中每次只能入一个(生产者或消费者)。 3、仓库中可存放产品的数量最多10个,当仓库放满时,生产者不能再放入产品。 4、当仓库空时,消费者不能从中取出产品。 5、生产、消费速度不同。 【实验原理】 1、信号量mutex提供对缓冲池访问的互斥要求并初始化为1,信号量empty和 full分别用来表示空缓冲项和满缓冲项的个数,信号量empty初始化为n,信号量full初始化为0。 2、定义如下结构及数据: 定义缓冲区的数据类型:typedef int buffer_item; 缓冲区:buffer_item buffer[BUFFER_SIZE];

对缓冲区操作的变量:int in,out; 信号量mutex提供了对缓冲池访问的互斥要求:pthread_mutex_t mutex; 信号量empty和full分别表示空缓冲顶和满缓冲顶的个数:sem_t empty,full; 可以设定生产者的生产速度及消费者的消费速度:int pro_speed,con_speed; 对缓冲区操作的自增函数:#define inc(k) if(k < BUFFER_SIZE) k = k+1;else k=0 3、并定义了如下实现问题的函数模块: 将生产的产品放入缓冲区: int insert_item(buffer_item item) 从缓冲区移走一个产品: int remove_item(buffer_item *item) 生产者进程:void *producer(void *param) 消费者进程:void *consumer(void *param) 生产者结构进程消费者结构进程 【程序代码】 //sx.c #include

山东大学软件测试实验报告

实验一。黑盒测试 一、等价类划分 电话号码问题某城市电话号码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或三位数字; (2)前缀:非'0'或'1'的三位数字; (3)后缀:4 位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 根据题目,分别将地区码、前缀、后缀进行分类,分析结果如下: 输入有效等价类编号无效等价类编号 地区码空白 1 包含其他字符 3 三位数字 2 少于三位 4 多于三位 5 前缀非0或 非1的三位数6 包含其他字符8 包含0的三位数9 包含1的三位数10 少于三位数11 多于三位数12 后缀四位数字7 包含其他字符13 少于四位数14 多于四位数15 根据上图的分析,可的测试用例 测试数据预期结果覆盖类地区码前缀后缀 空白555 4344 接受(有效)1、6、7 232545 4343 接受(有效)2、6、7 A23 322 4343 拒绝(无效) 3 21322 4343 拒绝(无效) 4 2323322 4343 拒绝(无效) 5 232 32A4343 拒绝(无效)8 232 208 4343 拒绝(无效)9 232 1114343 拒绝(无效)10

232 32 4343 拒绝(无效)11 232 322224343 拒绝(无效)12 232 322 4AS2 拒绝(无效)13 232 322 434拒绝(无效)14 232 322 434311拒绝(无效)15 三角形问题根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明不是三角形、三角形是三边不等的、是等腰的、还是等边的。 分析题目中给出和隐含的对输入条件的要求: (1)整数(2)三个数(3)非零数(4)正数 (5)两边之和大于第三边(6)等腰(7)等边 如果 a 、 b 、 c 满足条件( 1 ) ~ ( 4 ),则输出下列四种情况之一: 1)如果不满足条件(5),则程序输出为 " 非三角形 " 。 2)如果三条边相等即满足条件(7),则程序输出为 " 等边三角形 " 。 3)如果只有两条边相等、即满足条件(6),则程序输出为 " 等腰三角形 " 。 4)如果三条边都不相等,则程序输出为 " 一般三角形 " 。 列出等价类表并编号

Linux进程管理-实验报告

(1) 加深对进程概念的理解,明确进程和程序的区别。 (2) 进一步认识并发执行的实质。 (3) 学习通过进程执行新的U 标程序的方法。 (4) 了解Linux 系统中进程信号处理的基本原理。 Red Hat Linux (1)进程的创建 编写一段程序,使用系统调用fork ()创建两个子进程,当此进程运 行时,在系统中有一个父进程和两个子进程活动,让每一个进程在 屏幕上显示一个字符,父进程显示字符“a” ;子进程分别显示字符 “b”和字符“c” ,试观察记录屏幕上的显示结果,并分析原因。 程序代码: # include int main() { int pl ,p2 ; while((p 1 =fork())==-1); if(pl==0) putchar(b); else { while((p2=fork())==-1); if(p2==0) putchar( c 1); else putchar( a r ); } return 0; ) 运行结果:bca 分析:第一个while 里调用fork()函数一次,返回两次。子进程P1 得到的返回值是0,父进程得到的返回值是新子进程的进程ID (正 整数);接下来父进程和子进程P1两个分支运行,判断P1二二0,子 进程P1符合条件,输出%";接下来else 里面的while 里再调用 fork()函数一次,子进程P2得到的返回值是0,父进程得到的返回值 是新子进程的进程ID (正整数);接下来判断P2=:0,子进程P2符 合条件,输出,接下来父进程输出“a” ,程序结束。 (2)进程的控制 ① 修改已编写的程序,将每个进程输出一个字符改为每个进程输出 一 《Linux 实验目的: 实验环境: 实验内容: 操作系统设计实践》实验一:进程管理

2015山东大学 信息与通信工程 复试 通信原理+数字电路--试题

2015山东大学信息与通信工程复试通信原理+数字电路--试题(回忆版) 总体介绍: 试卷分两份,通信原理和数字电路是分开的,共两小时,难度中等,能做完。 通信原理(我用的书是通信原理第六版樊昌信) 一,选择题(1-10) 题目没有按顺序,我按章节回忆的1,信息量的计算,比较题。2,高斯随机过程(书上52页的结论)。3,辨别AM调制波形(课本88页)。4,辨别FM调频式子。5,给R B求奈奎斯特速率(书151页)6,二进制数字调制系统的性能比较(书212页表)。7,辨别PPM,PAM, PDM的波形(书-263的三个图形原题) 8-10 忘啦,以后想起来再补上。 二,简答题 1,什么是门限效应,举例 2,给个三角形,利用奈奎斯特第一准则,求奈奎斯速率,及可能的R B(书149,151,类似例题书176,6-11,6-12)。 3,维特比解码算法的原则或原理(书上359页,360页)。 三,计算题 最佳接受和匹配滤波器(参考书325页例题10-10,10-11) 共两问题 1,求输入和匹配滤波器的波形的卷积。 2,最佳判别准则是什么 四,我的评价,总体难度一般,个别比较偏.

数字电路(我用的书数字电子技术基础第五版阎石) 一,选择填空 都是基本的题目,仔细看看课本就行,就是个别比较偏,比如CMOS的一些基本问题。大家不要担心!二,简答题 1,求,类似例题(书502页10.13)的频率 2,化简ROM表达式,类似例题(书440页8-1,8-2)和(书381-7.5.2原理必须会) 3给个时序电路分析,类似例题(书346页6-2,6-3) 三,设计题 1,记不清啦,以后想起来在补吧! 2,设计ROM类似例题(书440页8-1,8-2)和(书381-7.5.2原理必须会)不过是反过来,给你式子让你画出阵列图。 3,时序电路设计题,类似例题(书319页例题6.4.2)不过难度比这个简单,类似于求(书346页6-2,6-3)的问题,让你自己设计。 四,总体评价:难度一般,个别比较偏,所以要全面复习!

linux操作系统实验报告

LINUX 操作系统实验报告 姓 名 班级学号 指导教师 2011 年 05月 16 日 实验一 在LINUX 下获取帮助、Shell 实用功能实验目的: 1、掌握字符界面下关机及重启的命令。 2、掌握LINUX 下获取帮助信息的命令:man 、help 。 3、掌握LINUX 中Shell 的实用功能,命令行自动补全,命令历史记录,命令的排列、替半径标式,为线敷设资料试案;过关运行要避高中资要求电

换与别名,管道及输入输出重定向。 实验内容: 1、使用shutdown命令设定在30分钟之后关闭计算机。 2、使用命令“cat /etc/cron.daliy”设置为别名named,然后再取消别名。 3、使用echo命令和输出重定向创建文本文件/root/nn,内容是hello,然后再使用追加重定向输入内容为word。 4、使用管道方式分页显示/var目录下的内容。 5、使用cat显示文件/etc/passwd和/etc/shadow,只有正确显示第一个文件时才显示第二个文件。 实验步骤及结果: 1.用shutdown命令安全关闭系统,先开机在图形界面中右击鼠标选中新建终端选项中输 Shutdown -h 30 入命令 2、使用命令alias将/etc/cron.daliy文件设置为别名named,左边是要设置的名称右边是要更改的文件。查看目录下的内容,只要在终端输入命令即可。取消更改的名称用命令命令:在命令后输入要取消的名称,再输入名称。 unalias 3.输入命令将文件内容HELLO重定向创建文本文件/root/nn,然后用然后再使用追加重定向输入内容为word。步骤与输入内容HELLO一样,然后用命令显示文件的全部内容。 4.使用命令ls /etc显示/etc目录下的内容,命令是分页显示。“|”是管道符号,它可以将多个命令输出信息当作某个命令的输入。

小鼠脾脏细胞原代培养及观察计数实验报告-山东大学

小鼠脾脏细胞原代培养及观察计数 【实验目的】 1.学习掌握细胞培养的基本原理以及具体方法,并对小鼠脾细胞进行原代培养; 2.掌握无菌操作的具体过程及无菌操作台的使用; 3.学习掌握染色法鉴别细胞的生死状态的原理及方法; 4.学习使用血球计数板对细胞总数及活细胞数进行计数; 【实验原理】 1.细胞培养 细胞培养指的是在无菌条件下,把动、植物细胞从组织中取出,在体外模拟体的生理环境,使离体的细胞在体外生长和繁殖,并且维持其结构和功能的一种培养技术。动物细胞培养可分为原代培养和传代培养。从供体获得组织细胞,在无菌条件下,用胰蛋白酶消化或机械分散等方法,将动物组织分散成单个细胞开始首次培养长出单层细胞的方法称为细胞的原代培养。当培养的动物细胞生长增殖达到一定密度,形成致密的单层细胞时,用胰蛋白酶将细胞消化分散成单细胞,从一个容器中以1:2或其他比例转移到另一个容器中扩大培养的方法,称为细胞的传代培养。传代培养的累计次数就是细胞的培养代数。 高等生物是由多细胞构成的整体,在整体条件下要研究单个细胞或某一群细胞在体的功能活动是十分困难的。但如果把活细胞拿到体外培养、增殖并进行观察和研究,则要方便和简单得多。被培养的动物细胞是非常好的实验对象和实验研究材料,对体外培养的活细胞进行研究可以帮助人类揭开生、老、病、死的规律,探索优生、抗衰老和防治各种疾病的途径和机制,也可以人为地诱导和改变细胞的遗传性状和特性,使其向有利于人类健康长寿的方向发展。因此动物细胞体外培养技术是研究细胞分子机制非常重要的实验手段,被广泛应用于医学、生物技术、基因工程等研究领域。 细胞培养的意义:具有其他生物技术无可比拟的优点;培养条件易改变和控制,便于单因子分析;便于人们直接对细胞结构、细胞生长及发育等过程的观察;在生物学的各个领域(如分子生物学、细胞生物学、遗传学、免疫学、肿瘤学及病毒学等)已被广泛应用。 细胞培养的局限性:在脱离机体复杂环境下,细胞培养条件与躯体环境有一定距离;观察到的结果有时难以正确反映机体的状况;细胞培养得到的产物少。 培养细胞的条件有水的质量、无菌环境,最适温度、渗透压、气体条件、最适PH、营养条件和培养基质等。 2.细胞死活鉴定 细胞生死状态的鉴别方法主要是化学染色法和荧光染色法。 活细胞和死亡细胞在生理技能和性质上主要存在一下差异: ①细胞膜通透性的差异:活细胞的细胞膜是一种选择性膜,对细胞起保护和屏障作用,只允许物质选择性地通过;而细胞死后,细胞膜受损,其通透性增加。基于此,发展出了以台盼蓝、伊红、苯胺黑、赤藓红、甲基蓝以及荧光染料碘化丙啶或溴化乙啶等为染料鉴别细胞生死状态的方法,上述染料能使死亡细胞着色,而活细胞不被着色。此外,应用植物质壁分离的性质也可鉴定植物细胞的生死状态。活细胞的原生质具有选择透过性,死细胞因其原生质的选择透过性已遭破坏,故与高渗透压溶液接触时不产生质壁分离。 ②代上的差异:活细胞中新代作用强,细胞的酶具有较强的活性和还原能力。基于此,发展处了以荧光素二乙酸酯(FDA)、荧光素二丙酸酯、荧光素二丁酸酯或荧光素二苯甲酰酯等酯化的荧光素鉴别细胞生死状态的方法,上述酯化的荧光素亲脂性提高,容易被细胞吸收进入,活细胞的酯酶具有较强的活性,可将酯化的荧光素分解而释放出能发荧光的荧光素,该物质不能自由透过活的细胞膜,积累在细胞,荧光显微镜下显示有明亮的绿色或黄绿色荧光;而死亡细胞的酯酶因失去活性,不能分解酯化的荧光素,荧光显微镜下显示不发光。另外,可用亚甲基蓝为染料鉴定酵母细胞的生死状态。亚甲基蓝是一无毒染料,氧化型为蓝色,还原型为无色。活细胞因具有较强的还原能力,能使亚甲蓝从蓝色的氧化型变成无色的还原型,故活的酵母细胞在用亚甲基蓝染色后显示无色;死亡酵母细胞或代缓慢的衰老酵母细胞,因无还原能力或还原能力极弱,使亚甲蓝仍处于氧化态,故呈现蓝色或淡蓝色。 3.血球计数板的使用

实验一——Linux环境下的进程管理之欧阳光明创编

软件学院 欧阳光明(2021.03.07) 上机实验报告 课程名称:操作系统 实验项目:实验一:Linux环境下进程管理 实验室:耘慧402 姓名:学号: 专业班级:实验时间:

一、实验目的及要求 1.加深对进程概念的理解,明确进程和程序的区别; 2.进一步认识并发执行的实质; 3.分析进程争用资源的现象,学习解决进程互斥的方法; 4.了解Linux系统中进程通信的基本原理; 二、实验性质 1.进程的创建:编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 2.进程的控制:修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。如果在程序中使用系统调用lockf ()来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 3.用fork( )创建一个进程,再调用exec( )用新的程序替换该子进程的内容;利用wait( )来控制进程执行顺序。 三、实验学时 实验性质:验证性 实验学时: 4学时 实验要求:必做 四、实验环境 1.实验环境: Linux系统开发环境 2.知识准备: (1) Linux系统开发环境搭建; (2) Linux环境下GCC编译器的使用; (3)语言中函数定义与调用、指针和类型的定义与使用、结构的定义、动态

内存的申请等预备知识。 五、实验内容及步骤 ①实验内容: (1)进程的创建 编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 (2)进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。 如果在程序中使用系统调用lockf()来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 (3)用fork( )创建一个进程,再调用exec( )用新的程序替换该子进程的内容;利用wait( )来控制进程执行顺序。 ②实验步骤: 1.进程的创建 1.1 进程 UNIX中,进程既是一个独立拥有资源的基本单位,又是一个独立调度的基本单位。一个进程实体由若干个区(段)组成,包括程序区、数据区、栈区、共享存储区等。每个区又分为若干页,每个进程配置有唯一的进程控制块PCB,用于控制和管理进程。 PCB的数据结构如下: (1)进程表项(Process Table Entry)。包括一些最常用的核心数据: 进程标识符PID、用户标识符UID、进程状态、事件描述符、进程和U区在内存或外存的地址、软中断信号、计时域、进程的大小、偏置值nice、指向就绪队列中下一个PCB的指针P_Link、指向U区进程正文、数据及栈在内存区域的指针。 (2)U区(U Area)。用于存放进程表项的一些扩充信息。 每一个进程都有一个私用的U区,其中含有:进程表项指针、真正用户标识符

相关文档
相关文档 最新文档