欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

苏嵌实训嵌入式 linux C 第7天

程序员文章站 2024-01-19 10:01:34
项目开发日报表项目名称苏嵌实训-嵌入式 linux C 第七天今日进度以及任务Linux下文件编程和多任务编程(进程、线程)任务完成情况课内题目已完成,课堂笔记已整理开发中出现的问题汇总无未解决问题编程速度太慢,有点跟不上,平时练习太少。之后需要多加练习。开发收获了解creat/open/read/write/lseek/close的使用,学习进程,线程的基本操作其他无 课堂内容整理嵌入式Linux C编程:在Linux上使用C语言...

项目开发日报表

项目名称 苏嵌实训-嵌入式 linux C 第七天
今日进度以及任务 Linux下文件编程和多任务编程(进程、线程)
任务完成情况 课内题目已完成,课堂笔记已整理
开发中出现的问题汇总
未解决问题 编程速度太慢,有点跟不上,平时练习太少。之后需要多加练习。
开发收获 了解creat/open/read/write/lseek/close的使用,学习进程,线程的基本操作
其他

课堂内容整理

  • 嵌入式Linux C编程:在Linux上使用C语言调用操作系统功能接口开发应用程序。
  • 文件编程、多任务编程(进程、线程)、网络编程
  • 嵌入式为什么要移植操作系统?
    1、提供软件的移植性;
    2、操作系统提供了多任务操作;
    3、操作系统提供了丰富的网络协议栈;
    4、操作系统将所有设备抽象成文件,方便访问设备;
  • Linux系统构成/划分:用户空间、内核空间
  • 为什么将系统划分为用户空间、内核空间?
        保护内核的安全;
  • 用户该如何访问内核空间?
        通过系统调用
  • 内核提供安全的访问内核的数据及服务的接口:系统调用
  • 用户如何发生系统调用?
        调用系统提供的编程函数接口–API(用户编程接口)


文件编程

  • 文件描述符,系统给的文件ID号(无符号整型)
    知道一个文件描述符、操作这个文件描述符,相当于再操作这个文件
  • 文件描述符的分配方式
        动态分配(只有当你操作这个文件、系统才会给你分配文件描述符,使用完毕之后回收)
        0、1、2这三个文件描述符已经被系统占用,有特殊作用,所以说系统的普通文件id是从3开始的
  • 文件API(记头文件、记函数原型(形参和返回值的作用)、写测试、应用)
        creat\open\read\write`seek\close


多任务编程

  • 什么是多任务?
        单任务:在一个任务执行期间,其他任务不能被调度;

        多任务:当前CPU单核,存在任务并发,不存在并行;
                当前CPU多核,既存在并发,也存在并行

  • 实现多任务的方式:进程,线程
        进程:实现多任务的开销较大,因为每个进程都有4G的独立地址空间,
              导致进程间通信效率不高
              优点:安全。

        线程:实现多任务的开销较小,因为每个线程共享地址空间,通信效率高
              缺点:不安全。

  • 进程切换计算机资源开销大, 进程间数据共享的开销也很大。
  • 进程退出后,进程中所有的线程全部退出
  • 一个进程崩溃后不会对其他进程产生影响,但一个线程崩溃,整个进程都要死掉 线程不可能完全替代进程

本文地址:https://blog.csdn.net/Rain_0000/article/details/107324186