2022-2023-1 20221308《计算机基础与程序设计》第九周学习总结
班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK09
作业目标:学习计算机科学概论第10,11章,《C语言程序设计》第8章
作业正文:https://www.cnblogs.com/lzw952755/p/16842201.html
学习目标
·操作系统责任
·内存与进程管理
·分时系统
·CPU调度
·文件、文件系统
·文件保护
·磁盘调度
学习资源
·教材
·阅读 「反作弊」:任何时候发现同学们有抄袭作业,抄袭代码的情况,即时课程总成绩清零
学习任务
·加入云班课,参考本周学习资源
自学教材
·计算机科学概论第10,11章 并完成云班课测试
·《C语言程序设计》第8章并完成云班课测试
教材学习内容总结:
1.CPU调度:
Shortest-Job-First(SJF)调度算法(最短作业优先算法)
CPU Burst time必须很准确,才能确定这种算法。然而实际情况下基本不可能预估准确时间。(预先通报是不可能做到的,这是一个致命问题,导致SJF算法无法实现)。
优先权法(Priority Scheduling)
轮转法(Round Robin,RR)
多层队列(Multilevel Queue)
- 系统进程队列,要实时响应。
- 交互进程队列(要求响应非常及时)—— RR
- 交互编辑队列(人输入键盘,移动鼠标等,响应时间可能半秒也可以,对操作系统来说已经很长了。交互要求不是很高)—— RR
- 批处理进程队列,不需要交互。—— FCFS
2.磁盘调度
- 先到先(FCFS):按照请求到达的顺序处理他们
- 最短寻到时间优先(SSTF):通过尽可能少的读写头移动满足所有未解决的请求(最近优先)
- SCAN磁盘调度:读写头先移动到一端进行满足,再移动到另一端进行满足请求
代码调试过程中遇到的问题
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int a,b,answer,reply,i,R = 0,F = 0,op,m,n;
while(R<7.5)
{
for(i = 0; i < 10; i++)
{
srand((unsigned)time(NULL));
a = rand() % 10 + 1;
b = rand() % 10 + 1;
op = rand()%4 + 1;
switch(op)
{
case 1:
answer = a+b;
printf("%d+%d=",a,b);
break;
case 2:
answer = a-b;
printf("%d-%d=",a,b);
break;
case 3:
answer = a*b;
printf("%d*%d=",a,b);
break;
case 4:
answer = a/b;
printf("%d/%d(整除)=",a,b);
break;
}
scanf("%d",&reply);
if(reply == answer)
{
srand((unsigned)time(NULL));
m = rand()%4 + 1;
switch(m)
{
case 1:
printf("Very good!\n");
break;
case 2:
printf("Excellent!\n");
break;
case 3:
printf("Nice work!\n");
break;
case 4:
printf("Keep up the good work!\n");
break;
}
R++;
}
else
{
srand((unsigned)time(NULL));
n = rand()%4 + 1;
switch(n)
{
case 1:
printf("No. Please try again.\n");
break;
case 2:
printf("Wrong. Try once more.\n");
break;
case 3:
printf("Don’t give up!\n");
break;
case 4:
printf("Not correct. Keep trying.\n");
break;
}
F++;
}
}
printf("总分为:%d\n正确率为:%d%%\n",R*10,(R*100)/(R+F));
}
return 0;
}
循环中没有将M归为零,导致第二次循环累加
死循环最初没有设置结束。
上周错题总结:
Which of the following is executed by the Java Virtual machine?
A. Procedure
B. Interpreter
C. Bytecode
D. Paradigm
E. Compiler
答案:C
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1 | 16 | |
第二周 | 120/120 | 2 | 18 | |
第三周 | 150/270 | 2 | 16 | |
第四周 | 200/470 | 2 | 18 | |
第五周 | 240/710 | 2 | 16 | |
第六周 | 260/970 | 2 | 18 | |
第七周 | 300/1270 | 2 | 22 | |
第八周 | 300/1570 | 2 | 20 | |
第九周 | 400/1970 | 2 | 22 |