Q&A

  • Windows....에 대하여!
Windows같은 운영체재를 델파이로 프로그램하고 싶은 초보입니다.
모든것이 다중요하겠지만 그중에서도 특히 중점을 두어야 할부분이 있다면
고수분들의 고견을 듣고 싶습니다.
2  COMMENTS
  • Profile
    착한천사 2005.05.03 00:00
    우와.. OS(Operating System)를 만들어보실려고 하시는군요..
    그건 굉장히 힘들고, 어려운 작업입니다..
    제일먼저, CPU Type을 먼저 고려하셔야합니다..
    왜냐하면,
    OS는 장치드라이버를 쉽게 다룰수 있게 하는 S/W이기 때문이죠..
    장치드라이버를 다루기 위해서,,
    장치드라이버에 명령어를 하달해야 하는데..
    명령어를 하달하기 위해서 필수적으로 거쳐야 할 곳이..
    바로 CPU죠..
    따라서, CPU에 따라서,
    CPU를 조작하기 위한 기계어 언어가 달라지는데..
    그건, CPU를 만드는 설계과정에서 어떤 규정을 지은것을
    이용하기 위한 것이죠..
    기계어를 직접적으로 다루기 힘들기 때문에..
    Assembly를 사용하고..
    Assembly도 힘드니까..
    C/C++등의 언어를 사용하는 것입니다..

    어쨌든간에..
    CPU Type의 선정을 제1위에 두시고..
    OS를 개발하여야 하며..

    CPU Type을 선정했다면..
    제2위로
    각종 장치드라이버를 이용하기 위한 방법을 아셔야 합니다..

    제3위로는
    각종 장치드라이버를 사용함에 따른
    경쟁원리를 어떻게 잘 배분하느냐라는 문제가 발생합니다..
    즉, 어떤것이 먼저 요청해서, 우선순위를 두고 먼저 처리하느냐
    의 문제이죠..
    또한, 같은 우선순위, 혹은 동시에 수행될때..
    그 수행시점에 같이 사용하는 Resource를 어떻게 관리할지의 문제도 보셔야 합니다..
    전산에서는 이것을 Critical Area라고 합니다..

    대충.. 1~3위의 내용을 만드셨다면..
    마지막으로,
    이제 OS를 사용할 User들이 많은 입력을 하지 않고..
    편리하게 반복적으로 사용할 수 있는 부분이 무엇인지를 염두해서..
    I/O에 대한 처리방법론을 설계하셔합니다..
    (마치, DOS처럼..)
    이것 또한, 우선순위가 있어서..
    우선순위를 관리해야만 합니다..


    이제 각종 드라이버, I/O장치들을 쉽게 제어하고 가능하게
    설계를 하셨다면,
    마지막으로,
    포장을 하는 것이죠..
    마치, Window XP처럼..
    껍데기를 화려하게, 마우스를 사용해서..
    한번의 touch로 모든게 동작할 수 있는 기능(전 포장이라고 생각하지만)을
    추가하는 것이죠..
    OS를 만들기 위해서는 많은 관련서적을 읽어보시거나..
    즉, 기초적인 상관관계에 대한 이론적인 바탕이 있어야 한다는 뜻입니다..
    마지막으로, OS 소스를 훑어보는 노력이 필요합니다..
    답이 되셨는가 모르겠습니다..




  • Profile
    조수석 2005.05.04 03:25
    굉장히 어렵네요...!
    ..아무튼 상세한 답변 너무 감사드립니다.
    감사합니다.
    • 박진규
    • 2005.05.04 06:49
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 도끼로이마까
      2005.05.04 19:47
      TDateTime 형을 쓰시구욤 등록하실때는 DateToStr로 등록하셨다가 다시 TDateTime으로 바꾸실때는 StrToD...
    • 석주현
      2005.05.04 18:47
      그냥 현재 시각에서 더하는 것을 예로 들면요. 헬프를 찾아 보시면 알지만 시간은 Double 형입니다. 결...
    • Runo
      2005.05.04 00:22
      ADO를 패치해야 하는걸로 알구 있구요.... 일단 임시적인 방법으로는 AdoQuery Properties의 LockType을...
    • 민스맘
      2005.05.03 19:06
        with query1 do begin   SQL.clear;   SQL.Add(' update name ...
    • 구자형
      2005.05.03 19:52
    • 손군
    • 2005.05.03 07:47
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 정찬희
      2005.05.03 21:47
      가끔씩 쓰는 방법입니다만... <!--CodeS--> type   TControlAccess = class(TContro...
    • 도끼로이마까
      2005.05.03 18:33
      TControl내에 선언된 Color property는 protected 입니다. TForm의 경우도 마찬가지입니다..TControl로 ...
    • 엄마미안
      2010.01.29 23:02
      2005년 그시절엔 내가 이런 질문을 했었군.. 참.... 그당시는 많이 몰랐네요.
    • 송인화
    • 2005.05.03 03:19
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 도끼로이마까
      2005.05.03 18:39
      웹 서버에 스크립트를 작성하셔야 할 듯합니다. 파일 이름을 인자로받구요... 웹 루트부터 파일과 디렉...
    • 김성진
      2005.05.03 05:05
      제가 생각하기에는 쉬운 방법은 이렇습니다. 1. ftp나 telnet등을 사용하셔서 파일리스트를 가져온다 2. ...
    • nilriri™
      2005.05.03 03:49
      레포트를 작성하실때 빈 폼을 만드시고 퀵레포트 컴포넌트를 올려 놓으시고 작업을 하신듯 하네요 ...
    • D
    • 2005.05.02 22:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 주웰
    • 2005.05.02 22:30
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 도끼로이마까
      2005.05.03 00:25
      <!--CodeS--> {$WARNINGS OFF} FileSetAttr('AAA.TXT', faHidden); {$WARNINGS ON} <!--CodeE...
    • 주웰
      2005.05.03 02:34
      우선 답변 감사 드립니다. 참고로 결백증 절대 아닙니당...^^;; 잘때 항상 뭐 묻은 강아지랑 껴안고 자는...
    • 최용일
      2005.05.03 22:06
      안녕하세요. 최용일입니다. 아마 델파이 6이나 7을 쓰시는것 같은데... Kylix때문에 생긴 경고이구요...
    • 권태훈
      2005.05.02 22:17
      윈속 포함하시고 datalen := ntohs(Word((@recvbuff[2])^)); 하시면 됩니다.
    • 김홍균
      2005.05.02 22:27
      여기 저기 물어보니 swap 이게 바꿔주는거라 하더군요. ntohs 대신 swap 써도 같은 값 나오던데 두개가 ...
    • 이중철
      2005.05.03 02:45
      swap이란 Function이 있었군요 결론적으로는 두개다가 같아요 하는일이.. 저는 몰라서 다 만들어서 썼...
    • 소대봉
    • 2005.05.02 20:40
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이준희
      2005.05.02 23:02
      interface uses Windows; function getSystemFolder():string; var   SysDir: array[0.....
    • 강인규
      2005.05.02 21:00
      <!--CodeS--> const   MAX_PATH = 255; var   dir: array [0..MAX_PATH] ...
    • 박진규
    • 2005.05.02 20:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2005.05.02 21:08
      구현하는것은 큰 문제가 아니나 부동소수점 연산에서 문제가 발생할 것으로 보여집니다. 아래의 코드를 ...
    • 도끼로이마까
      2005.05.03 18:16
      시리얼 포트 프로그래밍에 관련된 문서입니다. 이것을 먼저 공부하시는게 좋을듯 싶습니다... http:/...
    • 조수석
    • 2005.05.02 07:00
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2005.05.03 00:00
      우와.. OS(Operating System)를 만들어보실려고 하시는군요.. 그건 굉장히 힘들고, 어려운 작업입니다.. ...
    • 조수석
      2005.05.04 03:25
      굉장히 어렵네요...! ..아무튼 상세한 답변 너무 감사드립니다. 감사합니다.
    • 양소영
    • 2005.05.02 06:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • nilriri™
      2005.05.03 01:02
      용도가 뭔가요? -1,-2를 인덱스로 가질때 무슨 작업을 하실려구 그런 인덱스값이 필요하신건지? 함수...
    • 세라핌
      2005.05.02 02:33
      istool이라는 프로그램사용하시면 쉽게 됩니다. http://www.istool.org InnoSetup 스크립트를 편하...
    • 화니
      2005.05.02 02:36
      파일하나를 나누는 겁니다. 이쪽에서는 1부터 1000byte까지 저쪽은 1001부터 2000까지 이런식으로요 ...
    • 주선종
    • 2005.05.01 19:47
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 도끼로이마까
      2005.05.03 18:44
      새창을 막을려는 이유를 설명해 주세요.. 델파이는 VCL 자체가 thread safe가 아니기 때문에 thread ...
    • 주선종
      2005.05.03 22:02
      답변주셔서 감사합니다. 새창을 막으려는 이유는 특별한 이유가 있는게 아니라 ActiveX기능에 새창을...
    • 최동열
    • 2005.05.01 00:16
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 착한천사
      2005.05.02 00:42
      결론적으로 그게 가능할까요? RDBMS에서 권한이 없는데, 어떻게든지 사용하게끔 한다? 이것은 해킹하겠다...
    • nilriri™
      2005.05.01 09:19
      자신이 만든 테이블에 대한 권한이 없다?? RDBMS의 사용자 권한 설정에 문제가 있는거 아닐까요? DBA...