精华内容
下载资源
问答
  • java编写的操作系统

    2013-04-17 15:02:27
    java编写的操作系统,模拟实现了CPU时间片,进程调度,进程优先调度等。
  • 【实例简介】java编写的操作系统,模拟实现了CPU时间片,进程调度,进程优先调度等。【实例截图】【核心代码】OS└── OS├── 002.png├── 17.jpg├── 23.jpg├── 24.jpg├── 42.jpg├── bin│ ├── ...

    【实例简介】

    java编写的操作系统,模拟实现了CPU时间片,进程调度,进程优先调度等。

    【实例截图】

    【核心代码】

    OS

    └── OS

    ├── 002.png

    ├── 17.jpg

    ├── 23.jpg

    ├── 24.jpg

    ├── 42.jpg

    ├── bin

    │   ├── algorithm

    │   │   ├── Algorithm.class

    │   │   ├── Fcfs.class

    │   │   ├── Rr.class

    │   │   ├── Sjf.class

    │   │   └── Tss.class

    │   ├── model

    │   │   ├── MyEvent.class

    │   │   ├── Pcb.class

    │   │   └── PcbFactory.class

    │   ├── swing

    │   │   ├── EventFrame$1.class

    │   │   ├── EventFrame.class

    │   │   ├── MyFrame.class

    │   │   ├── MyPanel$1.class

    │   │   ├── MyPanel$2.class

    │   │   ├── MyPanel$3.class

    │   │   ├── MyPanel$4.class

    │   │   ├── MyPanel$5.class

    │   │   ├── MyPanel$6.class

    │   │   ├── MyPanel.class

    │   │   ├── TableFrame$1.class

    │   │   └── TableFrame.class

    │   └── test

    │   ├── Test$1.class

    │   └── Test.class

    └── src

    ├── algorithm

    │   ├── Algorithm.java

    │   ├── Fcfs.java

    │   ├── Rr.java

    │   ├── Sjf.java

    │   └── Tss.java

    ├── model

    │   ├── MyEvent.java

    │   ├── PcbFactory.java

    │   └── Pcb.java

    ├── swing

    │   ├── EventFrame.java

    │   ├── MyFrame.java

    │   └── TableFrame.java

    └── test

    └── Test.java

    11 directories, 39 files

    展开全文
  • java编写的操作系统

    2012-09-23 23:02:15
    java编写的操作系统,很好的。功能基本实现了操作系统功能,并且代码设计的很美观。
  • Given that Sun Microsystems’ Java istoday one of the most dominantobject-oriented languages, it is nosurprise that Java-based operatingsystems have been attempted. In thisarea, ideally, the kernel ...

    Given that Sun Microsystems’ Java is

    today one of the most dominant

    object-oriented languages, it is no

    surprise that Java-based operating

    systems have been attempted. In this

    area, ideally, the kernel would

    consist of the bare minimum required

    to support a JVM. This is the only

    component of such an operating system

    that would have to be written in a

    language other than Java. Built upon

    that JVM and basic hardware support,

    it would be possible to write the rest

    of the operating system in Java; even

    parts of the system that are more

    traditionally written in a lower-level

    language such as C, for example device

    drivers, can be written in Java.

    Examples of attempts at such an operating system include JX, JNode and JavaOS.

    展开全文
  • 因为我们已经拥有操作系统,主要是. Java并不是设计用于在裸机上运行,​​但这并不像最初看起来那么大.由于C编译器提供了编译为特定指令内部函数,因此...现在是编写操作系统的时候了.设备驱动程序,文件系统,网络...

    因为我们已经拥有操作系统,主要是. Java并不是设计用于在裸机上运行,​​但这并不像最初看起来那么大.由于C编译器提供了编译为特定指令的内部函数,因此Java编译器(或JIT,在此上下文中区别没有意义)可以做同样的事情.处理GC和内存管理器的交互也有点棘手.但它可以做到.结果是一个内核,它有95%的Java并且可以运行jar.下一步是什么?

    现在是编写操作系统的时候了.设备驱动程序,文件系统,网络堆栈,以及使计算机可以执行操作的所有其他组件. Java标准库通常严重依赖系统调用来完成繁重的工作,因为它必须这样做,因为运行计算机是一件痛苦的事.例如,编写文件涉及以下层(至少,我不是操作系统的人,所以我肯定错过了一些东西):

    >文件系统,必须为文件找到空间,更新其目录结构,处理日志,最后确定需要写入哪些磁盘块以及按什么顺序写入.

    >块层,必须调度并发写入和读取以最大化吞吐量,同时最大化公平性.

    >设备驱动程序,它必须让设备保持高兴并将其放在正确的位置以使事情发生.当然,每个设备都以自己特殊的方式打破,需要自己的驱动程序.

    所有这一切都必须正常工作,并保持十几个线程访问磁盘的性能,因为磁盘本质上是一堆巨大的共享可变状态.

    最后,你已经拥有了Linux,除了它不能正常工作,因为它没有在功能和性能方面投入太多精力,而且它只运行Java.可能你从单个地址空间和没有内核/用户空间的区别中获得了性能,但是获得的收益并不值得.

    有一个特定语言操作系统有意义的地方:虚拟机.让底层操作系统处理运行计算机的困难部分,租户操作系统处理将虚拟机转换为执行环境. BareMetal和MirageOS遵循此模型.你为什么要这样做而不是使用Docker呢?这是个好问题.

    展开全文
  • 采用java语言编写的模拟Linux系统文件管理程序。运用面向对象方法,将文件分为目录项、Inode和数据块三个存储结构。实现模拟Linux终端输入部分命令对文件进行操作
  • java编写的一个操作系统模拟程序.
  • Java编写的留言系统

    2009-11-25 10:12:12
    Java编写的留言系统,可以实现简单的登录、留言等操作
  • java编写的考试系统

    2009-11-05 20:50:05
    java编写的考试系统的例子,运用socket,以及文件IO操作,简单的C/S架构应用
  • java编写的pos系统

    2009-10-29 21:57:49
    java编写的简单的pos代码,采用jdbc操纵数据库,操作较简单。可以更好地学习jdbc使用。
  • java 编写的操作系统课程设计 比较不错的例子 有图形页面 包括文件管理 设备管理 存储管理 进程管理和cpu单元
  • 并且每次启动程序都会加载数据文档到程序中,功能一共有普通增删查改,除了查询不需要更改数据外以后每次操作都会在结束时调用存储方法把数据存储到文本中。这里打开文件用不是追加方式,所以会占用运行内存,...

        今天把文件读取加了上去,每次启动会先检验有无数据文档存在没有则会创建。并且每次启动程序都会加载数据文档到程序中,功能一共有普通的增删查改,除了查询不需要更改数据外以后的每次操作都会在结束时调用存储方法把数据存储到文本中。这里打开文件用的不是追加方式,所以会占用运行内存,但是方便许多。如果改为追加模式则在每次删除修改之后都要用删除前的学生信息去数据文件中匹配,然后再修改所在行数据。

        接下来放代码。

    学生类的定义(Student.java)

    package student_manager_system;
    
    public class Student {
    	private String num;
    	private String name;
    	private String  age;
    	private String city;
    	public Student() {
    	}
    	public String getNum() {
    		return num;
    	}
    	public void setNum(String num) {
    		this.num = num;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getAge() {
    		return age;
    	}
    	public void setAge(String age) {
    		this.age = age;
    	}
    	public String getCity() {
    		return city;
    	}
    	public void setCity(String city) {
    		this.city = city;
    	}
    	
    	
    }
    

    学生管理系统类(StudentManagerSystem.java)

    package student_manager_system;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.Reader;
    import java.util.ArrayList;
    import java.util.Scanner;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    
    public class StudentManagerSystem {
    	public static void main(String[] args) throws IOException {
    		
    		Scanner temp = new Scanner(System.in);
    		//学生信息储存在集合类中
    		ArrayList<Student> array = new ArrayList<Student>();
    		//启动应用便开始从硬盘加载数据
    		loadData(array);
    		while (true) {
    			System.out.println("----欢迎来到学生管理系统,请选择操作----");
    			System.out.println("1 查看所有学生");
    			System.out.println("2 添加学生信息");
    			System.out.println("3 修改学生信息");
    			System.out.println("4 删除学生信息");
    			System.out.println("5 退出系统");
    			//输入选项
    			String choice = temp.nextLine();
    			//判断
    			switch (choice) {
    			case "1":
    				query(array);
    				break;
    			case "2":
    				add(array);
    				storeData(array);//修改数据之后立即更新硬盘文件
    				break;
    			case "3":
    				modify(array);
    				storeData(array);//修改数据之后立即更新硬盘文件
    				break;
    			case "4":
    				delete(array);
    				storeData(array);//修改数据之后立即更新硬盘文件
    				break;
    			case "5":
    				System.out.println("感谢您的使用,再见!");
    				System.exit(0);
    			default:
    				System.out.println("您的输入有误,请重新选择!");
    			}
    		}
    	}
    	private static void loadData(ArrayList<Student> array) throws IOException{
    		//初次打开应用会创建文件
    		File file= new File("infm.txt");
    		if(!file.exists()){
    			try {
    				file.createNewFile();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}   
    			System.out.println("初次启动初始化完成!");
    		}
    		//从文件中读取数据进集合
    		BufferedReader br = new BufferedReader(new FileReader(file));
    		String line;
    		while((line = br.readLine())!=null){
    			String [] str = line.split("&");
    			Student s = new Student();
    			s.setNum(str[0]);
    			s.setName(str[1]);
    			s.setAge(str[2]);
    			s.setCity(str[3]);
    			array.add(s);
    		}
    		br.close();
    	}
    	//储存数据到文件中
    	private static void storeData(ArrayList<Student> array) throws IOException{
    		File file= new File("infm.txt");
    		if(!file.exists()){
    			try {
    				file.createNewFile();
    			} catch (IOException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}   
    		}
    		//直接将数据全部存储到文件中,不用追加方法,也方便增删查改
    		//如何信息量比较大就不适应
    		BufferedWriter bw = new BufferedWriter(new FileWriter(file));
    		//将数据存储进文件
    		for(int i=0;i<array.size();i++){
    			Student s = array.get(i);
    			bw.write(s.getNum(),0,s.getNum().length()-1);//导出学号
    			bw.write('&');//间隔不同数据
    			bw.write(s.getName(),0,s.getName().length()-1);//导出姓名
    			bw.write('&');//间隔不同数据
    			bw.write(s.getAge(),0,s.getAge().length()-1);//导出年龄
    			bw.write('&');//间隔不同数据
    			bw.write(s.getCity(),0,s.getCity().length()-1);//导出所在地
    			bw.newLine();
    		}
    		bw.flush();
    		bw.close();
    	}
    	//查询学生信息方法
    	private static void query(ArrayList<Student> array){
    
    		if(array.size() == 0){
    			System.out.println("暂时未存储任何学生信息,请重新选择。");
    			return;
    		}
    		System.out.println("学号\t\t姓名\t年龄\t城市");
    		for(int i=0;i<array.size();i++){
    			Student s = array.get(i);
    			System.out.println(s.getNum()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getCity());
    		}
    	}
    	//添加学生信息方法
    	private static void add(ArrayList<Student> array){
    		Scanner temp = new Scanner(System.in);
    		String num;
    		while(true){
    			System.out.println("请输入新同学学号:");
    			num = temp.nextLine();
    			//判断是否重复学号
    			boolean flag = false;//默认未重复
    			for(int i=0;i<array.size();i++){
    				Student s = array.get(i);
    				if(s.getNum().equals(num)){
    					System.out.println("该学号已经存在,请重新输入!");
    					flag = true;
    					break;
    				}
    			}
    			if(!flag){
    				break;
    			}                                                  
    		}
    		System.out.println("请输入新同学姓名:");
    		String name = temp.nextLine();
    		System.out.println("请输入新同学年龄:");
    		String age = temp.nextLine();
    		System.out.println("请输入新同学所在城市:");
    		String city = temp.nextLine();
    		Student s = new Student();
    		s.setNum(num);
    		s.setName(name);
    		s.setAge(age);
    		s.setCity(city);
    		array.add(s);
    		System.out.println("添加学生信息成功!");	
    	}
    	//修改学生信息方法
    	private static void modify(ArrayList<Student> array){
    		Scanner temp = new Scanner(System.in);
    		int index = -1;//查找标志
    		System.out.println("请输入需要修正的学生学号:");
    		String num = temp.nextLine();
    		
    		for(int i=0;i<array.size();i++){
    			Student s = array.get(i);
    			if(s.getNum().equals(num)){
    				index = i;
    				break;
    			}
    		}
    		if(index == -1){//未找到学生直接返回
    			System.out.println("未找到相应学号所对应学生!");
    			return;
    		}else{
    			System.out.println("请输入需要更改的姓名:");
    			String name = temp.nextLine();
    			System.out.println("请输入需要更改的年龄:");
    			String age = temp.nextLine();
    			System.out.println("请输入需要更改的所在城市:");
    			String city = temp.nextLine();
    			Student s = array.get(index);
    			s.setName(name);
    			s.setAge(age);
    			s.setCity(city);
    			System.out.println("学生信息更新成功!");
    		}
    		
    	}
    	//删除学生信息方法
    	private static void delete(ArrayList<Student> array){
    		Scanner temp = new Scanner(System.in);
    		System.out.println("请输入需要删除的学生学号:");
    		String num = temp.nextLine();
    		for(int i=0;i<array.size();i++){
    			Student s = array.get(i);
    			if(s.getNum().equals(num)){
    				System.out.println("请确认删除信息(Y/N):");
    				System.out.println("学号\t\t姓名\t年龄\t城市");
    				System.out.println(s.getNum()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getCity());
    				String confirm = temp.nextLine();
    				//判断确认删除
    				if(confirm.equals("y") || confirm.equals("Y")){
    					if(array.remove(s)){
    						System.out.println("删除成功!");
    						return;
    					}
    				}else{
    					System.out.println("已取消删除!");
    					return;
    				}
    			}
    		}
    		System.out.println("未找到所对应学生学号,请确认学号信息是否有误!");
    	}
    
    }
    

    附上程序运行效果:

     

     

     

     

     

    展开全文
  • 自己写一个 操作系统课程设计//自己写,不是很完善//运行前手动创建"F:\\address.txt"文件以及 "f:\\ceshi\\"文件夹 //User 类,用于存储用户用户名,密码信息 import java.io.Serializable;public class User ...
  • 操作系统实验报告 进程管理 java编写相关界面.doc 第1页共14页操作系统实验报告计算机学院(院、系)专业班组课学号20姓名TRACY实验日期教师评定实验一进程管理一、实验目的通过实验使学生进一步了解进程、进程状态...
  • Java编写学生管理系统

    千次阅读 多人点赞 2019-07-16 18:54:54
    Java编写学生管理系统 由于刚刚接触Java,只是简单实现了一些学生信息管理。 简述 在这篇文章中,只是简单处理了一些学生信息,由于是一只小白没有什么高端操作,求大佬指教,在这个学生系统中主要执行...
  • MVC模式的Java编写学生管理系统源码

    热门讨论 2011-08-09 20:49:21
    Java编写的学生管理系统源码,采用MVC模式,含有用户操作界面对话框,实现增,查,修,删,排序等功能
  • 针对操作系统的一个模拟系统,内含硬盘管理,内存管理,虚拟显示器,进程管理,作业管理等等功能实现。以及外加完整模拟操作系统设计报告,使用说明书和操作系统设计方案,程序分析报告。是一份很实用模拟操作...
  • 操作系统上课的实验报告及代码。用java编写的 实验1 进程管理 实验2 进程通信 实验3 银行家算法 实验4 内存管理
  • Java编写的一个学生成绩管理系统.它是结构为:.txt文本作为数据库 \使用字符流输入\数据结构为:双向链表 非常经典哦.特别想学IO文件还有想学习双向链表操作的朋友很参考价值;主文件是:MainPro.java
  • 这是一个用JAVA编写的学生成绩管理系统(可以变换为学生信息管理系统),包括增删改查等操作。以供JAVA专业实训参考。
  • 这是一个纯JAVA编写的火车票售票系统,本系统对票可进行管理和操作,与此同时,后台管理起来较为简单方便,因积分不够,所以要把我的作品拿出来与大家分享下,以获得积分,.....呵呵
  • Java编写的小型人事管理系统,带数据库,数据库基于SQL2000。用时候附加数据库脚本或者还原数据库都可以。对Java初级学者来说,学习数据库以及界面方面的相关操作还是不错的范例,希望参考一下哦。
  • 用到对象串行输入输出,先打开年级,在打开班级或添加班级,每种操作之后都会把年级以及各班级成员串行化写到磁盘中,保存为DAT文件
  • java编写图书管理系统

    2019-11-13 18:19:25
    2.1 管理员:姓名,增加书籍,删除书籍,查找书籍,打印书籍信息,退出系统一些简单的操作。 2.2 用户:姓名,查找书籍 ,借阅书籍,归还书籍,退出系统操作。 创建一个BookManage类 package Demo; ...
  • 采用菜单形式,1)该系统主要处理字符串...2)完成以下的操作:初始化字符串、获得字符串长度、在字符串中查找一个字符、在字符串中查找另一个字符串、字符串连接、字符串比较等 注意使用时要放在一个文件夹内!!!!
  • java编写图书馆管理系统16 java编写图书馆管理系统16 PAGE / NUMPAGES java编写图书馆管理系统16 面向对象课程设计报告 课程设计题目图书信息管理系统 学 院 专 业 班 级 学 号 学生姓名 指导教师 2014年7月12日 一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,247
精华内容 2,898
关键字:

java编写的操作系统

java 订阅