'이론 관련/컴퓨터 관련'에 해당되는 글 84건

  1. 2011.07.22 EFI 와 BIOS
  2. 2011.07.22 KiB / MiB
  3. 2010.10.23 GPS / A-GPS / S-GPS / D-GPS 2
  4. 2010.05.18 ABI (Application binary interface)
일반적인 PC에는 BIOS가 존재한다.
BIOS는 Basic Input Output System이고 기본적인 입출력을 관할하는데
예전 DOS 시절에는 텍스트 출력 / 비디오 출력 / 키보드 입력등 모든 것들을 관할했는데
요즘에는 커질대로 커지는 것도 문제지만, 대부분이 장치 Driver를 통해 직접 제어하다 보니 효용이 많이 줄은듯 하다.

아무튼 어셈블리 공부를 하다보면
INT 명령어를 통해 인터럽트를 걸어 바이오스에 특정 명령을 날리는데 아무래도 인터럽트라서 성능저하가 있는걸려나?

일단 각설하고,
EFI는 매킨토시에서 도입을 가장먼저 했고, 찾아보니 샌디브릿지 관련 칩셋에서 도입이 되는 중인것으로 보인다.
또한 AMD는 아직.. 소식이 없... OTL (불도저 부터 도입된다는데 소식이 없네..)
일단 EFI를 사용하다 보니 같은 Intel cpu라고 해도 WinXP를 설치하여 작동할수는 없고
WinXP SP3 이후 버전은 가능하다고 한다.


BIOS is primarily associated with the 16-bit, 32-bit, and the beginning of the 64-bit architecture eras, while EFI is used for some newer 32-bit and 64-bit architectures.  

[링크 : http://en.wikipedia.org/wiki/BIOS] 
[링크 : http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface]


---
잡솔

1. Vista의 경우에는 BIOS에 시리얼 키를 넣는식으로 OEM 제품을 인증한다고 한다.
    그래서 메인보드가 바뀌면 인증이 안된다는 슬픈 이야기.
    어떻게 보면 PC 완본체가 아니라 메인보드 인증이라고 해야하나...

2. 비스타는 BIOS로 인증을 하는데, 다르게 말하면 바이오스를 덮어쓰거나 그 값을 흉내낼수 있다면
    그 OEM 버전으로 속일수가 있다. 그러한 방식으로 크랙을 한다는데...

3. 이렇게 크랙을 하는 것 처럼 EFI도 BIOS 처럼 속이면 되지 않냐는 관점에서 나온게
    아마도 해킨토시. Intel CPU에서 작동하는 개발자 버전을 수정해서 EFI가 아닌 BIOS에서 작동하도록 했다고 한다.

4. 아무튼 속설에는 맥북에 Win7 깔면 거의 동일한 스펙의 노트북보다 빠르다는데
    BIOS는 아무래도 16bit real mode에서 돌기 때문에 (게다가 인터럽트를 걸어야 하니)
    이러한 성능적인 하락을 막을수 있는 EFI의 영향이 큰게 아닐까 생각된다.

5. 생각을 해보면 임베디드 장비는 BIOS가 없는 대신 부트로더가 존재하는데
    이 부트로더에서 기본적인 메모리 구획이나 여러가지 설정을 다 잡아주는 역활을 한다.
    즉, BIOS는 프로그래머블 브트로더에 CUI를 입힌 형태이며,
    다르게 말하면 CPU 기동시 0x00000000 번지(초기 프로그램이 위치하는 번지)에 연결된 프로그램이
    BIOS 형태가 아닌 SD 메모리 등에 내장된 부트로더여도 상관은 없다라는 이야기 일수도 있다.
    (물론 이렇게 되려면 여러가지 장비들을 읽을수 있어야 하니 내장된 플래시에 저장을 해 놓는 걸지도)

[링크 : http://ko.wikipedia.org/wiki/OSx86] 해킨토시 
[링크 : http://ask.nate.com/qna/view.html?n=6399684


---
아쉽게도 내용이 날아감
그래서 구글에서 캐쉬된 내용을 저장!



[링크 : http://webcache.googleusercontent.com/...kese111.tistory.com/]
[링크 : http://webcache.googleusercontent.com/...kese111.tistory.com/] 

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VLIW - Very Long Instruction Word  (0) 2013.10.08
펜타일(Pentile) 방식 디스플레이  (2) 2011.10.15
KiB / MiB  (0) 2011.07.22
GPS / A-GPS / S-GPS / D-GPS  (2) 2010.10.23
ABI (Application binary interface)  (0) 2010.05.18
Posted by 구차니
리눅스에서 단위를 보다 보면 KB나 MB kB 이런것도 아닌
KiB 요런녀석들이 보이기 시작했다.

일단 의미적으로는 기존의 KB와 동일하지만
SI 단위인 kilo는 1000 이고 IEC에서 제정(1999)한 Ki(Kibi)는 1024를 의미한다.
하드 디스크의 경우에는 1000을 기준으로 삼으므로 KB가 맞고
메모리 등은 Mib 식으로 메가비트로 기술하고 1024bit 단위로 2^n승을 표기하게 된다.

아무튼, 컴퓨터는 대부분이 2진수로 사용하므로
이런 연유에서 Kibi / Mebi 라는 단위가 새롭게 제정되었다.

[링크 : http://en.wikipedia.org/wiki/Kibibyte]
[링크 : http://en.wikipedia.org/wiki/Kibibit]

정리가 잘되어 있는 아래글!
[링크 : http://www.liberotown.com/2011/05/09/iec-standard-and-si-standard/

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VLIW - Very Long Instruction Word  (0) 2013.10.08
펜타일(Pentile) 방식 디스플레이  (2) 2011.10.15
EFI 와 BIOS  (0) 2011.07.22
GPS / A-GPS / S-GPS / D-GPS  (2) 2010.10.23
ABI (Application binary interface)  (0) 2010.05.18
Posted by 구차니
왜 아이폰에서 사진을 찍으면 데이터요금에 나올까? 라는 글을 읽다 보니 S-GPS라는 신기한 용어가 눈에 띄었다.

일단 GPS 부터 시작하자면
GPS는 미국 군사기술로, 3개 이상의 위성의 신호를 받아 삼각측량을 통해 자신의 위치를 얻어내는 기술이다.
위성의 위치는 시간에 따라서 계산이 가능하므로(예측가능한 정확한 위치를 지난다고 가정하고)
지구상의 한곳에서 각각의 위성이 보내는 신호의 시간편차(미묘하게 거리 차이가 날테니)를 역산하고
이러한 시간 편차를 위성과 GPS 수신기의 신호를 동기화 함에 따라 얻어진다.

아무튼 이러한 GPS 좌표 수신의 첫단계(?)가 바로 시간정보의 획득인데
A-GPS는 이러한 시간 정보를 3G 망이나 wifi 등을 통해 time server에서 받아오며,
일부는 핸드폰의 Cell 정보를 통해 위치를 얻고, 이러한 정보들을 모바일 기기보다 빠른 서버에서 계산을 대신하여
더 빠른 속도로 초기의 위치를 얻게 되는 장점이 있다.

Assisted GPS, generally abbreviated as A-GPS, is a system which can, under certain conditions, improve the startup performance, or TTFF (Time To First Fix) of a GPS satellite-based positioning system. It is used extensively with GPS-capable cellular phones as its development was accelerated by the U.S. FCC's 911 mandate making the location of a cell phone available to emergency call dispatchers.[1]


Assistance falls into two categories:

  1. Information used to more quickly acquire satellites
    • It can supply orbital data or almanac for the GPS satellites to the GPS receiver, enabling the GPS receiver to lock to the satellites more rapidly in some cases.
    • The network can provide precise time.
    • The device captures a snapshot of the GPS signal, with approximate time, for the server to later process into a position.
    • Accurate, surveyed coordinates for the cell site towers allow better knowledge of local ionospheric conditions and other conditions affecting the GPS signal than the GPS receiver alone, enabling more precise calculation of position. (See also Wide Area Augmentation System and CellHunter.)
  2. Calculation of position by the server using information from the GPS receiver
    • The assistance server has a good satellite signal, and plentiful computation power, so it can compare fragmentary signals relayed to it by GPS receivers, with the satellite signal it receives directly, and then inform the GPS receiver or emergency services of the GPS receiver's position.

[링크 : http://en.wikipedia.org/wiki/Assisted_GPS]


S-GPS
는 모바일 기기에서 긴급911 전화(이건 미국 이야기) 전화시에 위치정보를 주기위해 주로사용되는 기술로
핸드폰에 시분할로 음성정보와 위치정보를 주는 방법이라고 한다. (그래서 Carrier 라고 한거였군 -_-)
언급된 내용은 일단 아래가 전부이므로 어떤 식으로 구성이 되는지 모호하지만, 일단 Cellphone에서는
Cell 단위로 기지국의 위치를 주어지게 되므로 이러한 위치정보를 핸드폰에 주고 몇개의 위치를 받아들여
그 핸드폰이 받아들이는 위치정보들의 중간값을 자신의 위치로 대략적으로 쓰는건 아닐까 추측해본다.

Simultaneous GPS or S-GPS is a method to enhance a mobile phone's satellite-based position reporting ability to a carrier.

Ordinarily, a built-in GPS device is used to determine the location of an E911 call made from CDMA phones. By using a time-multiplexed scheme called TM-GPS, the reception of the telephone call and the GPS signal are alternated one after the other, requiring only one RF radio.

As the name implies, Simultaneous GPS allows a cellphone to receive both GPS and voice data at the same time, which improves sensitivity and allows service providers to offer location-based services. The use of two radios with a single antenna imparts new design challenges, but the commercial availability of S-GPS chipsets, from manufacturers such as Qualcomm, has led to adoption of the method in newer handsets.

[링크 : http://en.wikipedia.org/wiki/S-GPS]


D-GPS
는 좌표신호의 정확성을 올리는 역활을 한다.
아무래도 신호가 우주에서 보다 보니 대기권을 뚫으면서 각종 신호의 왜곡이 생기게 되는데
같은 대기권 내에서 GPS 신호를 보내면 이러한 왜곡이 사라지므로 좌표의 정확도가 올라가게 된다.

A reference station calculates differential corrections for its own location and time. Users may be up to 200 nautical miles (370 km) from the station, however, and some of the compensated errors vary with space: specifically, satellite ephemeris errors and those introduced by ionospheric and tropospheric distortions. For this reason, the accuracy of DGPS decreases with distance from the reference station. The problem can be aggravated if the user and the station lack "inter visibility"—when they are unable to see the same satellites.

[링크 : http://en.wikipedia.org/wiki/Differential_GPS]


아무튼, 정리하고 보니 무슨 갤럭시A, S , D ,F 드립도 아니고
GPS - ASD 그리고 F가 나올 기세야 ㄱ-

[링크 : http://en.wikipedia.org/wiki/Gps]
[링크 : http://en.wikipedia.org/wiki/Assisted_GPS]
[링크 : http://en.wikipedia.org/wiki/Differential_GPS]
[링크 : http://en.wikipedia.org/wiki/S-GPS]
   [링크 : http://www.eetkorea.com/ART_8800493645_480603_NT_0fc3db56.HTM]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VLIW - Very Long Instruction Word  (0) 2013.10.08
펜타일(Pentile) 방식 디스플레이  (2) 2011.10.15
EFI 와 BIOS  (0) 2011.07.22
KiB / MiB  (0) 2011.07.22
ABI (Application binary interface)  (0) 2010.05.18
Posted by 구차니
머.. 대충 번역을 해보지만, 어떤 의미인지 좀 모호하다.
한글판에서는 영문판에는 존재하지 않는, WinXP와 Win98 간의 바이너리 호환성을 ABI라고 하는 부분이 추가되어 있다.
일단 결과론적으로 바이너리 파일이 특정 하드웨어에 종속적이거나.
모든 하드웨어 플랫폼을 포괄하는 특정 파일포맷을 통해, 라이브러리 종속성만 해결한다면
cross-compile이나 Virtual Machine을 통하지 않고, 바이너리 레벨에서 호환성을 제공하여
"Write Once, Run Everywhere" 를 이룰수 있다.

그러고 보니.. win98의 프로그램이 winXP에서 작동되는건
단순히 PE 포맷을 따르는 것 뿐만 아니라, 동일 Intel 계열이기 때문인 영향도 있는 건가?

ABI는 변수의 크기, 메모리 정렬, 스택에 넣는 순서(calling convention), 시스템 콜의 번호, 그리고 완전한 OS ABI의 경우 목적파일의 이진포맷, 프로그램 라이브러리 등을 포괄한다. 예를 들어 인텔 이진 호환 표준(iBCS) 와 같은 완전한 ABI에서는
ABI를 지원하는 하나의 운영체제에서 그러한 다른 시스템으로 공유 라이브러가 존재하고 이와 비슷한 선결조건을 충족시킨다면 어떠한 수정도 가하지 않고 실행될수 있다.

다른 ABI들은 컴파일러와 동일 플랫폼에서 사이의 C++ 이름 맹글링, 예외 전파, 그리고 스택에 넣는 순서(calling convention)과 같은 것들을 표준화 하였지만, 교차 플랫폼 호환성을 요구하지 않는다.

ABI는 호출할 루틴의 라이브러리를 정의하고, 자료구조를 조작하고, (종종 언어에 특화된) 특정 API를 사용하는 프로그램의 작성에 사용되는 오프젝트 클래스와 같은 API(Application Programming Interface)와는 혼동해서는 안된다.

ABIs cover details such as data type, size, and alignment; the calling convention, which controls how functions' arguments are passed and return values retrieved; the system call numbers and how an application should make system calls to the operating system; and in the case of a complete operating system ABI, the binary format of object files, program libraries and so on. A complete ABI, such as the Intel Binary Compatibility Standard (iBCS),[1] allows a program from one operating system supporting that ABI to run without modifications on any other such system, provided that necessary shared libraries are present, and similar prerequisites are fulfilled.

Other ABIs standardize details such as the C++ name mangling,[2] exception propagation,[3] and calling convention between compilers on the same platform, but do not require cross-platform compatibility.

An ABI should not be confused with an application programming interface (API) which defines a library of routines to call, data structures to manipulate, and/or object classes to use in the construction of an application using that particular (often language specific) API.


[링크 : http://en.wikipedia.org/wiki/Application_binary_interface]

ABI는 소프트웨어 개발시 많은 장점을 가지고 있다. 예를 들면 마이크로소프트윈 도 98에서 사용되던 응용 프로그램이 윈 도 XP와 호환되는 것은 마이크로소프트가 ABI를 지원하기 때문이다. 유닉스 계통리눅스, BSD(FreeBSD/OpenBSD/NetBSD)에서 도 ABI를 제공하고 하지만 아직 완벽하다고 할 수는 없다.

[링크 : http://ko.wikipedia.org /wiki/응용_프로그램_2진_인터페이스]


'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

VLIW - Very Long Instruction Word  (0) 2013.10.08
펜타일(Pentile) 방식 디스플레이  (2) 2011.10.15
EFI 와 BIOS  (0) 2011.07.22
KiB / MiB  (0) 2011.07.22
GPS / A-GPS / S-GPS / D-GPS  (2) 2010.10.23
Posted by 구차니