操作系统
skr爱码士
学习就完事了
展开
-
操作系统之进程调度
这周学校布置了关于操作系统的知识点论文,正好也写篇博客来好好分析一下关于进程调度的知识点。调度的基本概念在多道程序系统中,进程的数量往往是多于处理机的个数的,这样不可能同时并行地处理各个进程。处理机调度,就是从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行。调度的三个层次高级调度由于内存空间有限,有时无法将用户的作业全部放入内存,因此就需要确定某种规则来...原创 2019-01-06 20:21:05 · 2199 阅读 · 3 评论 -
网络基础知识-应用层
在了解网络整体模型之前学习了套接字编程和一些简单的网络知识。但是网络编程的理论基础是建立在多方面上的,比如数据在每一层是经过了怎么样的封装,每一层使用了哪些协议,每一层的协议又有哪些用途。只有掌握好这些基础知识,才能更好的成为一个服务器开发人员。应用层程序员写的一个个解决我们实际问题,满足我们日常需求的网络程序,都是在应用层完成的。那么应用层使用了哪些协议呢?自定制协议socket编程中...原创 2019-06-18 16:10:51 · 476 阅读 · 0 评论 -
C++-内存管理
参考博客:https://blog.csdn.net/jing0611/article/details/4030237在最开始的学习中,老师一直在说一个关于C++的话题。**C++是一个极度追求性能的语言。**通过学习,这不是开玩笑,在我所学习的语言中,对内存的使用有如此的执着的“较真”也就是C++了。因为性能的缘故,一个内存不合理的分配,都可能在日后成为一个隐患,成为一个令人头疼的BUG。所...原创 2019-06-18 11:05:24 · 10467 阅读 · 0 评论 -
Linux网络套接字编程(2)-TCP传输+多线程+多进程
TCP传输TCP的三次握手图解为TCP协议的传输过程。客户端操作服务端操作1、创建套接字1、创建套接字2、向服务端发起连接2、绑定地址信息3、发送数据3、监听(若有新的客户端,新建socket)4、接收数据4、接收已经连接成功的socket5、关闭套接字TCP传输-socket编程通过C++实现一个类来封装tcp协议//tcp...原创 2019-06-11 18:00:38 · 754 阅读 · 0 评论 -
Linux网络编程
网络编程了解网络名词IP地址:在网络中唯一标识的一台主机port端口:在一台主机上标识一个进程协议:通信双方的约定网络协议:网络通信环境中数据的约定格式通信协议标准:网络互联的前提协议分层在以往的了解知道协议具有多层,而分层就是为了协议分装,为了更好的使用。对服务,接口,协议进行明确的划分;形成标准实现起来就容易了OSI七层模型物理层,数据链路层,网络层,传输层,会话层,表示...原创 2019-06-04 18:07:14 · 265 阅读 · 0 评论 -
TCP的三次握手与四次挥手(生动详细图片解释可保存)
TCP的三次握手与四次挥手关于题目的这个问题,在网络中有着非常重要的地位。因为客户端与服务端之间通过TCP协议,为了进行数据的传输会进行一系列的操作,这中间的操作就是TCP的三次握手与四次挥手。重新回顾TCP协议TCP协议称为数据传输协议,是可靠传输,面向连接的,并且面向字节流的。面向连接:通信之前先建立连接,确保双方在线。可靠传输:在网络正常的情况下,数据不会丢失。面向字节流:传输灵...原创 2019-06-13 21:41:39 · 334 阅读 · 0 评论 -
Linux网络编程套接字-UDP传输
网络编程套接字udp传输客户端1、创建套接字 socket()2、为套接字绑定地址 bind()3、发送数据(如果socket还没有绑定地址,这时候操作系统会选择一个合适的地址端口进行绑定)4、接收数据5、关闭套接字服务端1、创建套接字,通过创建套接字使进程与网卡建立联系,创建struct socket{…}2、为套接字绑定地址信息3、接收数据4、发送数据5、关闭套接字...原创 2019-06-06 15:32:43 · 772 阅读 · 2 评论 -
Linux多线程(3)
线程安全的考虑关乎互斥锁和条件变量消费者与生产者模型当我们去超市买东西时,我们都认为我们是消费者,那些生产商品的都被认为是生产者。那么超市就被当作交易市场。这对比的我们的软件开发过程中:代码的某个模块负责生产数据,但是生产出来的数据不得不交给另一模块来对其进行处理,在这之间我们必须要有一个类似上述超市的东西来存储数据,这就抽象成了生产者与消费者模型其中,产生数据的模块,就形象地称为生产者。...原创 2019-05-31 15:23:35 · 502 阅读 · 0 评论 -
Linux多线程(2)
线程的知识点太多,太重要,所以分成三部分进行总结学习线程安全多个线程并发同一段代码时,不会出现不同的结果。常见对全局变量或者静态变量进行操作,并且没有锁保护的情况下,会出现该问题。多个线程对临界资源进行竞争操作时若不会造成数据二义性时则线程安全;否则,此时就是不安全的如何实现线程安全常见的线程安全的情况每个线程对全局变量或者静态变量只有读取的权限,而没有写入的权限,一般来说这些线程是...原创 2019-05-17 18:26:52 · 8679 阅读 · 5 评论 -
Linux多线程
多线程越深入的学习之后,经常能听到这么一个词----多线程。之前的学习经常会提到多进程,父进程在忙不过来的情况下,会创建子进程进行帮忙,这样就是一个多进程的任务。那么什么是多线程呢?线程概念在传统的操作系统中,进程就是一个运行中程序的描述信息----pcb,控制程序的运行。在Linux操作系统下,pcb是进程,因为Linux下线程是以进程pcb模拟实现线程;也有人称为轻量级进程。但是Lin...原创 2019-05-15 17:04:42 · 604 阅读 · 2 评论 -
Linux进程信号
信号信号概念通知进程发生了某件事情导致了软件中断----会打断当前的阻塞操作,去处理事情信号的种类信号有不同的种类,每个信号都对应了不同的事件通过命令行kill -l可以查看信号的种类在图中可以看到这些都是信号的种类,总共有62个种信号1-31---->每个都有各自对应的事件 非可靠信号/非实时信号34-64---->后续添加的信号 可靠信号/非可靠信号信号...原创 2019-05-01 11:18:44 · 222 阅读 · 0 评论 -
Linux进程间通信
进程间通信一般简称为IPC----InterProcess Communication。是指在不同进程之间传播或交换信息。进程间通信有这么几个方式:管道(命名管道/匿名管道),共享队列,消息队列,信号量进程间为什么要通信呢?因为进程的独立性,因此想要通信必须能够共同访问一个相同的媒介。进程间通信的目的:数据传输,数据共享,进程间的访问控制。也正因为通信的目的不同,使用场景不同,因此操作...原创 2019-04-22 15:00:12 · 296 阅读 · 0 评论 -
Linux-基础IO+minishell重定向
文件的输入输出在c语言之前了解过。比如标准库的IO接口回顾C语言的库函数fopen,fread,fwrite,fseek,fclose这几个函数。关键在于参数的使用。例如fopen,FILE *fopen(const char *path, const char *mode),在不同的模式下打开文件所能作的操作也不同。文件使用方式含义如果指定文件不存在r–只读为了输...原创 2019-04-16 15:13:07 · 285 阅读 · 0 评论 -
Linux进程概念
进程是什么?在操作系统中,我们经常能听到这样的话。我们要终止一个进程或者杀死一个进程,父进程创建了子进程这一类的话。往往我们听到都会觉得很高大上,这跟编程语言完全不同的感觉,操作了整个计算机。进程的概念冯诺依曼体系结构在进程之前首先要提一下我们的“祖师爷”——冯诺依曼体系结构。这个是一个计算机入门第一节课必然会提到的知识。冯诺依曼体系结构提出了计算机采用二进制;计算机应该按照程序顺序执行...原创 2019-04-09 14:38:35 · 10372 阅读 · 5 评论 -
Linux进程控制+minishell
在之前的Linux进程概念中提到了一些关于进程的创建。进程的创建通过fork函数创建子进程。进程终止进程终止顾名思义,进程结束。但是结束有各种可能,可能成功,可能失败,也可能异常。进程常见退出方法正常退出1、从main返回2、调用exit3、_exit异常退出ctrl + cexit函数#include <unistd.h> void _exit(int st...原创 2019-04-12 01:10:36 · 271 阅读 · 0 评论 -
Linux的文件权限
Linux的权限Linux下有两种用户,普通用户和超级用户。超级用户就是我们所说的root,普通用户是我们自己所创建的一个用户,能在有限的权限内进行操作。Linux权限的管理文件访问者的管理文件访问者的管理分为:文件和文件目录的所有者u—user、文件和文件目录的所有者的组的用户g—group、其他用户o—others.文件类型和访问权限上图是我在我的云服务器上输入ll指令出来的当...原创 2019-03-30 18:43:05 · 721 阅读 · 0 评论 -
网络基础知识-传输层
传输层负责端与端之间的数据传输。也就是说进程与进程之间的数据传输,进程用端口来表示,所以也可以叫做端口和端口之间的传输。端口号端口号为065535,一般01023为知名端口,不推荐使用,在一台主机上表示一个进程。操作系统拿到网卡接收的数据之后,通过数据中的端口号知道数据放到哪一个socket缓冲区中五元组一条数据中包含的五个信息。源IP+源端口+目的IP+目的端口+协议主机上网络状态...原创 2019-07-06 16:53:48 · 504 阅读 · 0 评论