Linux系统编程学习问题回顾

1、关于文件——继续学习系统io和文件io的区别,以及讲明白同步与互斥。关于锁,除了pv,还要继续学习自旋锁读写锁。

系统io和文件io的区别
参考博文

同步与互斥
现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行,同时运行可能是真的同时运行(SMP架构中),也可能仅仅是操作系统提供的服务(通过将CPU时间分片,并将时间片分给不同的任务)。在多任务操作系统中,同时运行的多个任务可能

  • 都需要访问/使用同一种资源
  • 多个任务之间有依赖关系,某个任务的运行依赖于另一个任务

这两种情形是多任务编程中遇到的最基本的问题,也是多任务编程中的核心问题,同步和互斥就是用于解决这两个问题的。

  • 互斥:是指散步在不同任务之间的若干程序片断,当某个任务运行其中一个程序片段时,其它任务就不能运行它们之中的任一程序片段,只能等到该任务运行完这个程序片段后才可以运行,最基本的场景就是对资源的同时写,为了保持资源的一致性,往往需要进行互斥访问。
  • 同步:是指散步在不同任务之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务,最基本的场景就是任务之间的依赖,比如A任务的运行依赖于B任务产生的数据。

显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。
也就是说互斥是两个任务之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥)!
因此互斥具有唯一性和排它性,但互斥并不限制任务的运行顺序,即任务是无序的,而同步的任务之间则有顺序关系。

2、关于进程与线程——第二阶段线程资源要回收;第三阶段进程资源要回收。回收的原因需要继续了解线程的四种属性。

线程的四种属性

3、网络编程和ftp项目——说的资源不回收的问题了。socket的多连接能用线程不要用进程,芯片资源有限。

4、socket中,tcp/ip相关的东西。三次握手,四次挥手,滑动窗口,拥塞控制这些。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/265233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tomcat源码 Connector

Connector容器主要负责解析socket请求,在tomcat中的源码位于org.apache.catalina.connector和org.apache.coyote包路径下;通过上两节的分析,我们知道了Connector是Service的子容器,而Service又是Server的子容器。在server.xml文件…

AppDelegate

一、基础知识 1) main.m指定了程序的入口点 UIApplicationMain(argc, argv,nil,NSStringFromClass([StartingPointAppDelegateclass])); 2) AppDelegate的入口点 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptio…

计算机应用基础期末考试要点,计算机应用基础期末复习要点.doc

PAGE 4 / NUMPAGES 5 计算机应用基础 期末复习要点 DATE \ "yyyy-M-d" 2009-1-2PAGE计算机应用基础期末复习要点基础世界上第一台电子数字计算机取名为ENIAC。美籍匈牙利数学家冯诺伊曼提出的计算机的基本工作原理是程序存储。根据计算机使用的主要元器件&#xff0c…

快速对比UART、SPI、I2C通信的区别与应用

参考:带你快速对比SPI、UART、I2C通信的区别与应用! 作者:一口Linux 网址:https://mp.weixin.qq.com/s/4_RSM2jk2W6nTboO1W8HCw 电子设备之间的通信就像人类之间的交流,双方都需要说相同的语言。在电子产品中&#xff…

Java使用线程并发库模拟弹夹装弹以及发射子弹的过程

同样是从网上看到的一个需求,需求描述都在代码中。 不多说了,直接贴代码了。相信大家都能够看得懂的! package cn.yw.bore;import java.util.ArrayList; import java.util.List; import java.util.concurrent.ArrayBlockingQueue; import jav…

计算机结构原理初步教案板书设计,(计算机工作原理)教学设计(教案)

《(计算机工作原理)教学设计(教案)》由会员分享,可在线阅读,更多相关《(计算机工作原理)教学设计(教案)(5页珍藏版)》请在人人文库网上搜索。1、计算机系统的基本组成教学设计基本信息学 科信息技术年 级初二教学形式多媒体教学教 师彭裕红单 位梅州市梅…

U-Boot 移植

目录NXP官方开发板uboot编译测试查找NXP官方的开发板默认配置文件_defconfig配置编译NXP官方开发板对应的uboot烧写验证与驱动测试(定位缺少的驱动)在NXP官方U-Boot 中添加自己的开发板添加开发板默认配置文件添加开发板对应的头文件(mx6ull_alientek_emmc.h)添加开发板对应的板…

江苏计算机信息录入技师选拔考试题,2010年江苏省机关事业单位工人技师资格选拔考试试卷...

考题2010年江苏省机关事业单位工人技师资格选拔考试试卷计算机一、单项选择题1.计算机之所以能按人们的意志自动进行工作,最直接的原因是因为采用()A.二进制数制 B.高速电子元件 C.存储程序控制 D.程序设计语言2.十进制数269转换为十六进制数为()A&#…

打印某个进程下的所有线程--Linux环境

2019独角兽企业重金招聘Python工程师标准>>> 1、ps -mp <进程ID> -o THREAD 在当前用户下&#xff0c;列出pid包含的所有线程。 2、ps -mp <进程ID> -o THREAD,tid 在当前用户下&#xff0c;列出pid包含的所有线程信息及本地线程ID (tid)。 3、ps -…

JavaScript笔记(3)

•位操作符 所有的按位操作符的操作数都会被转成补码形式的有符号的32位整数。 运算符用法描述按位与&#xff08;AND&#xff09;a & b对于每一个比特位&#xff0c;只有两个操作数相应的比特位都是1时&#xff0c;结果才为1&#xff0c;否则为0。按位或&#xff08;OR&am…

转 常见hash算法的原理

散列表,它是基于快速存取的角度设计的&#xff0c;也是一种典型的“空间换时间”的做法。顾名思义&#xff0c;该数据结构可以理解为一个线性表&#xff0c;但是其中的元素不是紧密排列的&#xff0c;而是可能存在空隙。 散列表&#xff08;Hash table&#xff0c;也叫哈希表&a…

Linux 内核顶层Makefile 详解

目录前602行分析make xxx_defconfig 过程Makefile.build 脚本分析make 过程built-in.o 文件编译生成过程make zImage 过程前几章我们重点讲解了如何移植uboot 到I.MX6U-ALPHA 开发板上&#xff0c;从本章开始我们就开始学习如何移植Linux 内核。同uboot 一样&#xff0c;在具体…

android第三次作业

界面&#xff1a; 主要代码&#xff1a; 1.定义一个工具类&#xff0c;在这个类中获取音频文件&#xff0c;并且对歌曲名、歌手和时间等进行格式规范&#xff1a; package com.example.administrator.music;import android.content.Context; import android.database.Cursor; i…

2013年国家计算机一级考试试题,2013年计算机一级的考试试题.doc

2013年计算机一级的考试试题.doc2013年计算机一级考试试题一、单项选择题1、 把计算机分巨型机、大中型机、小型机和微型机&#xff0c;本质上是按_____划分。A 计算机的体积 B CPU的集成度C 计算机总体规模和运算速度 D 计算机的存储容量2、 以微处理器为核心组成的微型计算机…

python try 异常处理 史上最全

在程序出现bug时一般不会将错误信息显示给用户&#xff0c;而是现实一个提示的页面&#xff0c;通俗来说就是不让用户看见大黄页&#xff01;&#xff01;&#xff01; 有时候我们写程序的时候&#xff0c;会出现一些错误或异常&#xff0c;导致程序终止. 为了处理异常&#xf…

Spring+Spring Security+JSTL实现的表单登陆的例子

2019独角兽企业重金招聘Python工程师标准>>> Spring Security允许开发人员轻松地将安全功能集成到J2EE Web应用程序中&#xff0c;它通过Servlet过滤器实现“用户自定义”安全检查。 在本教程中&#xff0c;我们将向您展示如何在Spring MVC中集成Spring Security 3…

数学教师计算机能力提升,深度融合信息技术,提升数学课堂魅力

原标题&#xff1a;深度融合信息技术&#xff0c;提升数学课堂魅力2018年小学数学教学与信息技术深度融合专题网络教研活动2018年10月31日&#xff0c;我校数学科组根据北片指导中心文件精神&#xff0c;进行了一次小学数学教学与信息技术深度融合专题网络教研活动。本次教研活…

Linux 内核启动流程

目录链接脚本vmlinux.ldsLinux 内核入口stext__mmap_switched 函数start_kernel 函数rest_init 函数init 进程看完Linux 内核的顶层Makefile 以后再来看Linux 内核的大致启动流程&#xff0c;Linux 内核的启动流程要比uboot 复杂的多&#xff0c;涉及到的内容也更多&#xff0c…

vs文件上传失败--超过最大字符限制

一、问题 在文件上传时&#xff0c;会遇到大文件上传失败。 》F12查看报错网络请求返回结果 》问题分析 由于vs上传文件默认的字符大小控制。 二、解决方法 》在web.config中修改或添加最大允许上传文件的大小 1 <system.web> 2 <httpRuntime targetFramework&q…

为什么linux默认都没有MP3和视频或者连FLASH都没有呢?

为什么linux默认都没有MP3和视频或者连FLASH都没有呢&#xff1f;这是转自官方的说明。先后明&#xff0c;后面讲一下如何动手来让LINUX支持这些最基本的功能&#xff01;为什么 Fedora 没有包含对专有格式例如 MP3 或 MPEG 的支持&#xff1f; MP3 和 MPEG 格式受专利保护&…