操作系统的分类。
- 二分时操作系统
- 三实时操作系统
- 四网络操作系统
- 五分布式操作系统
一、批处理操作系统
批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一[......]
操作系统的分类。
一、批处理操作系统
批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一[......]
进程间通信的目的
数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间。
共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。
通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通[......]
Linux多线程编程。
线程分类
线程按照其调度者可以分为用户级线程和核心级线程两种。
(1)用户级线程
用户级线程主要解决的是上下文切换的问题,它的调度算法和调度过程全部由用户自行选择决定,在运行时不需要特定的内核支持。在这里,操作系统往往会提供一个用户空间的线程库,该线程库提[......]
记录C程序员面试题、算法、算法导论、Linux、Qt、NS2、Embedded等相关的的博客汇总。
面试题经典跳台阶问题。
题目:
给定一个有N个台阶的楼梯,一个人从下到上开始跳台阶,这个人有两种跳的方式:一次跳一个台阶,一次跳两个台阶;
问:从台阶底端跳到台阶顶端,有多少种跳台阶的方式?
分析:
首先我们考虑最简单的情况。如果只有1个台阶,那么显然只有一种跳[......]
进程死锁及解决办法,
一、要点提示:
(1)掌握死锁的概念和产生死锁的根本原因。
(2)理解产生死锁的必要条件 — 以下四个条件同时具备:
互斥条件、不可抢占、占有且申请、循环等待。
(3)记住解决死锁的一般方法,掌握死锁的预防和死锁的避免二者的基本思想
(4)[......]
寻找最大的K个数,
问题:查找大量无序元素中最大的K个数。
解法一:该解法是大部分能想到的,也是第一想到的方法。假设数据量不大,可以先用快速排序或堆排序,他们的平均时间复杂度为O(N*logN),然后取出前K个,时间复杂度为O(K),总的时间复杂度为O(N*logN)+O(K).
当K=1[......]
C/C++常见面试题,
1. C中static有什么作用
(1)隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,故使用static在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。
(2)static的第二个作用是保持变量内容的持久。存储[......]
MS/Google面试题:寻找丢失的数字,
题目:
有一组数字,从1到N,其中丢失了一个数字,且顺序也被打乱的存储在一个 size 为N-1的数组中
要求:
找出丢失的数字,最好能有程序,最好算法比较快
BTW1:有很多种方法哦,据说O(n)的方法不止一种
BTW[......]
Google面试题:统计1~N中所包含的1的个数,
题目:
输入:一个正整数N,
输出:要求输出从 1 ~ N 中所出现的 1 的个数,如12中所包含的 1 的数为: 1 、10、11、12 总共包含 5个 1
解法1:
可以对从1~N的每个数字进行遍历,分别求出每个[......]