本文目录一览:
大家知道ATM自动取款机是什么操作系统的吗
ATM自动取款机是windows XP SP1操作系统。
Windows XP是基于Windows 2000代码的产品,拥有新的用户图形界面,叫做月神Luna,它包括了一些细微的修改;
此外,Windows XP 引入了一个“选择任务”的用户界面,使用户可以由工具条访问任务细节。它还包括简化的Windows 2000的用户安全特性,并整合了防火墙,试图解决一直困扰微软的安全问题。
ATM使用的windows XP SP1 是经过深度定制优化的。
atm系统主要包括哪几个部分?
ATM系统主要由3部分组成:C端、V端、P端。
C端就是我们存取款时操作的部分,也是处理现金和保存现金的部分。
V端是ATM监控系统,作用是实时监控ATM机的运行情况,包括设备故障情况、现金剩余量情况等等。
P端就是银行后台主机,这里面储存着客户的密码、余额,发生交易的时候P端向C端提供数据来源,并授权出钞和记账。
编写一个C语言程序模拟银行ATM机的账户管理功能,系统主要实现以下功能
按照你的愿意把空都填好了,VC++ 6.0下编译能通过,有警告信息,运行基本上能用,不过个人认为这个系统有很大的不足,比如输入账号的时候没有输出反馈信息,以及没有对误操作的处理等等。需要的话可以帮你改改!
#include stdio.h
#include conio.h
#include stdlib.h
#include string.h
#define AN 9 //表示账号8位
#define PN 7 //表示密码6位
#define ASN 3 //表示系统中共有3个账户信息
struct Account
{
char accountnumber[AN]; //表示账号信息
char password[PN]; //表示账户的密码信息
double balance; //表示账户的余额
};
struct Account ats[ASN]={{"00000001","123456",100},{"00000002","123456",200},{"00000003","123456",300}};
//ats数组用于存储系统中三个账户的信息
int isCorrect(char *an,char *psd)
{
int i;
for(i=0;iASN;i++)
if(strcmp(ats[i].accountnumber,an)==0 strcmp(psd,ats[i].password)==0)
return 1;
return 0;
}
double getBalance(char *an)
{
int i;
for(i=0;iASN;i++)
if(strcmp(an,ats[i].accountnumber)==0)
return ats[i].balance;
}
void deposit(char *an,int amount)
{
int i;
for(i=0;iASN;i++)
if(strcmp(an,ats[i].accountnumber)==0)
ats[i].balance+=amount;
}
int withdraw(char *an,int amount)
{
int i;
for(i=0;iASN;i++)
if(strcmp(an,ats[i].accountnumber)==0)
return ats[i].balance-=amount;
}
void main()
{
char AccountNumber[AN]={'\0'};
char psd[PN]={'\0'};
int i,errorcount=0;
while(1)
{
printf("\n请输入8位账号:");
for(i=0;i8;i++)
AccountNumber[i]=getch();
printf("\n请输入6为密码:");
for(i=0;i6;i++)
{
psd[i]=getch();
putchar('*');
}
if(isCorrect(AccountNumber,psd)==1)
{
int tag,amount;
while(1)
{
printf("\n欢迎登录银行账户管理系统,请选择您要的服务:1、查询余额;2、存款操作;3、取款操作;4、退出系统\n");
scanf("%d",tag);
switch(tag)
{
case 1:
printf("您现在的余额为%f元\n",getBalance(AccountNumber));
break;
case 2:
printf("请输入您的存款金额:");
scanf("%d",amount);
deposit(AccountNumber,amount);
printf("存款成功!您的当前余额为:%f元\n",getBalance(AccountNumber));
break;
case 3:
printf("请输入您的取款金额:");
scanf("%d",amount);
if(amount=getBalance(AccountNumber))
printf("取款成功!您的当前余额为:%f元\n",withdraw(AccountNumber,amount));
else
printf("取款失败!\n");
break;
case 4:
break;
}
if(tag==4)
break;
}
}
else
{
errorcount++;
if(errorcount==3)
{
printf("您已经连续三次输入错误,系统将自动关闭\n");
break;
}
}
}
}
自动取款机装的是什么系统
自动取款机上的 Windows XP
不了解 ATM 系统构成的,首先扫一下盲:
ATMC:ATM Client 就是我们常见的自动取款机
ATMM:ATM Manager 自动取款机的监视管理端
ATMP:ATM 后台服务器,从银行的核心系统来看,它是一台前置机,因此 P 可能是指 Prefix 或 Processor 之类,和 POSP(POS机的后台设备)是一种类型。
由于新的 ATMC 是使用 Windows XP SP1 平台,鉴于大家对 XP 太了解了,所以对于银行来说,一定要加强防范。
此方案中大概提了以下一些加固方法:
禁用 Guest、删除不必要的用户、给 Administrator 改名
NTFS 、禁用共享、禁止空连接、禁止显示开始菜单栏等
...
如果这也算安全解决方案的话,我是不敢用这样的 ATM 机的,你呢?
我的回复如下:
由于Windows XP 操作系统功能较为全面,用在 ATM 上必须经过特殊的安全加固措施,或者考虑采用 Windows XP Emebed 操作系统,这样才能充分保证 ATM 的安全性,因为 ATM 的安全性是银行应用系统的安全性的对外直接体现,意义很重大,所以需要在安全性上下很大功夫。
这个安全方案虽然从一定程度了提高了 ATMC 的安全性,但覆盖面仍很不够,工作步骤稍显复杂,且有一些更有效的措施没有采纳,且较为简单。建议参阅微软网站(Technet )上相关文档,进一步合理组织安全方案,并着重考虑以下内容:
1)应考虑所有 ATMC 的统一定制安装,在统一定制安装时,可以通过禁用不必要组件或服务、组策略等措施来加强安全性
2)Windows XP 一定要安装 SP2,这样就具备了自动安装安全补丁,防火墙等功能,还要考虑建立 SUS 自动更新服务器
3)能过 IPSec 和 IP Filter 来提高网络层的安全性
4)通过启用所有安全日志,并自动集中收集分析来反映 ATMC 的安装状况
5) Windows 的安全加固是一个系统工程,建议寻找专业的安全厂商来解决,这样才能完全保证 ATMC 的安全性。