Poisson Processes (Oxford Studies in Probability) J.F.C kingman




http://bookzz.org/book/1101923/2628fe

http://www.math.uni.wroc.pl/~pms/files/26.1/Article/26.1.5.pdf




The Poisson process is one of the most important random processes in probability theory. It is widely used to model random "points" in time and space, such as the times of radioactive emissions, the arrival times of customers at a service center, and the positions of flaws in a piece of material. Several important probability distributions arise naturally from the Poisson process--the Poisson distribution, the exponential distribution, and the gamma distribution. The process has a beautiful mathematical structure, and is used as a foundation for building a number of other, more complicated random processes.




This is not a class material for commercial purpose. It's free for student.* 


본 포스팅은 Pure Aloha를 먼저설명하고, Slotted Aloha를 유도한다.



1. ALOHA란?


Random access method의 한 방법으로 1970년대에 제안되었으며 여전히 셀룰러 시스템에서 그 Simplicity를 장점으로 사용된다. assumption


알로하(ALOHA)는 하와이 대학에서 개발되었으며 시분할 다중접속 기술을 사용해 위성과 지구 사이의 무선 전송을 하는 프로토콜이다. 원래의 알로하에서 사용자는 언제든지 전송할 수 있지만, 다른 사용자들의 메시지는 충돌할 위험이 있다. 패킷이 준비되면 브로드캐스트되며, 만약 충돌이 일어나면 일정시간 후에 재전송된다. Slotted Aloha는 채널을 시간대별로 나누어서 충돌 위험을 줄이는 것으로, 각 사용자는 시간대의 시작에서만 전송이 가능하다.


2. Basic working


- 노드는 데이터 전송을 언제든지 할수있고 ACK를 받는다

- 만약 하나의 Frame 이상이 같은 시간에 전송된다면, 그들은 서로 간섭을 겪기때문에 충돌하거나 패킷을 잃어버린다. 

   (Collision or Lost)

- 만약 ACK 패킷이 지정된 시간안에 도착하지 않으면 Timeout이 발생하고 전송을 한 노도는 Backoff time만큼 기다린후 

   다시 전송을 시도한다. 


2-2. Vulnerable period


- Frame의 길이 (전송할 패킷의 사이즈)를 L이라고 둔다면, L 길이 패킷을 전송하는 소요시간은 X = L/R (data rate)이 됨.

consider a frame with starting transmission time to the frame will be successfully transmitted if no other frame 

   collides with it.

     -> any transmission that begins in interval [t0, t0+X], or in the prior X seconds leads to collision

    vulnerable period = [ t0 – X, t0+ X ]


위의 그림은 Unslotted Aloha의 취약구간을 보여준다. L길이 만큼의 패킷이 전송될 동안 앞뒤로 2L길이만큼 다른 노드들의 전송시도가 없어야만 성공적인 전송이 가능하다.



3. Throughput =(def. Number of packets per unit time)


1) Successful throughput : X시간(unit time) 동안의 성공적인 Frame 전송의 평균값을 의미한다.


2) G-load : X시간 동안의 평균적인 전송시도를 의미한다. 

(큰 개념은 굵은 제목들만 봐도 충분히 이해가 된다. 하지만 이를 직접 Code로 구현하기 위해서는 아래의 확률과정에 대해서 충분히 이해해야 한다. G의 개념과 Qa, Qr의 개념만 안다면 코딩가능하다. 필요없는 분은 바로 3)으로 가세요)


"G" refer to the mean used in the Poisson distribution over transmission-attempts that is, on average, there are G transmission-attempts per frame-time in state n.

State (n) of system is number of backlogged nodes.

G(n) = λ + n*Qr

( Qr : re-transmission probability of backlogged stations. ) 


The number of attempted packets per slot in state n is approximately a Poisson random variable of mean g(n)

– P (m attempts) = {(G(n)^k)*exp^-G(n)}/m!

– P (idle) = probability of no attempts in a slot = exp^-G(n)

– p (success) = probability of one attempt in a slot = G(n)*exp^-G(n)

    : idel한 채널상태에서 혼자서 전송을 시도하는 경우 = 성공확률.

– P (collision) = P (two or more attempts) = 1 - P(idle) - P(success)


For any frame-time, the probability of there being k transmission-attempts during that frame-time is: 

{(G^k)*e^(-G)} / k!

If throughput is represented by S, under all load, S = G*Ps, where Ps is the probability that the frame does not suffer collision. A frame does not have collision if no frame are send during the frame time. Thus, in t time Ps=exp^-G.

In pure Aloha, Ps=exp^(-2G), as mean number of frames generated in 2t is 2G. From the above, throughput in pure Aloha S = G*exp^-2G.

*혼잣말: G= a node transmission-attempts , k= k nodes라면.. 2)과 3)의 설명에서 G와 k의 연결고리가 없는 느낌인데..


3) Successful  Probability (Ps): 성공적인 Frame전송의 확률


따라서 Successful throughput = Ps * G-load.가 된다.


if general, if frame arrivals are equally likely at any instant in time, and arrivals occur at an average rate of λ [arrivals per sec]

포아송 프로세스를 따라서 동일 프레임들K개가 T시간동안에 도착한다고 가정한다면, 위의 식으로 표현된다.


in our case, λ=G/X [arrivals per second] and T=2X, hence

그러나 앞서 이야기했듯이 Pure Aloha는 프레임길이의 2배동안 다른 노드들의 프레임전송이 없어야 충돌이 없기 때문에 전송이 성공하기 위한 조건들을 대입하면 아래와 같이 다시 쓸수가 있다. 



accordingly, probability of successful transmission (no collision) is:

이를 푸아송 프로세스의 성질을 이용하여, 어떠한 전송이 없을 확률을 구하면 = 다른 노드들이 모두 전송하지 않을 확률 = 성공확률을 의미한다. 

따라서 Throughput 은 평균적인 전송시도량 * 패킷전송 성공확률로 표현이 된다. 


4. Slotted Aloha

Slotted Aloha는 pure Aloha보다 향상된 성능을 가지는데, 이는 충돌량이 감소했기 때문이다. 

1) Assumption

   - 각각의 슬롯사이즈들은 X=L/R 의 크기로 나눠어 진다. (하나의 프레임전송에 맞는 시간)

   - 노드들은 전송을 슬롯의 시작부분에만 시작한다.

   - 노드들은 동기화를 통해서 슬롯의 시작을  알고있다고 가정한다.      

2) Operation

   (1) when node has a fresh frame to send, it waits until next frame slot and transmits

   (2) if there is a collision, node retransmits the frame after a backoff-time

        (backoff-time = multiples of time-frames)



위의 그림을 보면 왜 Slotted Aloha가 더 좋은 성능을 가지는지 알수있다. 사실 직관적으로 2배정도의 성능을 보일것이라고 생각이 든다.


3) Throughput

packet P will be transmitted successfully if no other packet becomes available for transmission during the same time slot. Pure Aloha에서 전송시 Vulnerable period가 패킷사이즈(L)의 2배시간동안 다른 노드들의 전송이 있다면 충돌이 발생한다고 했다면, Slotted Aloha의 경우는 Packet Size의 길이만큼만 충돌이 없도록 보장이 되기에 2배의 성능을 보인다.


vulnerable period = [ t0 – X, t0 ]




따라서, Slotted ALOHA와  Pure Aloha 의 성능을 비교해보면 아래와 같다. 





Slotted ALOHA의 MAX Throughput 은 G=1일때 0.36을 보인다. 

따라서 실질적인 Channel capacity는 36%이다.  
(legend가 반대로 들어갔습니다. 붉은색 = pure, 파란색이 slotted 입니다. 참고하시길 바랍니다.)




Q. What's the Backlogged packets?


A: 

it's a packet stuck in a buffer, unsent to the recipient because of network congestion. You probably don't see the word much in computer networking because it is used in cellular phone networks. In voice networks, where delivery is time sensitive but dropped packets can be tolerated, a backlogged packet is usually dropped.


네트워크분야에서는, 네트워크의 혼잡으로 (CSMA/CA에서 예를들면, 채널이 busy하거나, 패킷간 충돌이 발생했을때) 인하여 전송하려고 하던 패킷을 버퍼에 넣어두고 기다릴 때 전송지연되는 패킷을 말한다.


ex)

In slotted Aloha, If a transmission has a collision, the node become backlogged. 


Ways to increase Wi-Fi performance. Part One: Bursting, Compression, 

Fast Frames, Concatenation
Read more at http://ixbtlabs.com/articles2/comm/tech-80211g-super.html#8G5M62mYj7e8urzI.99

 

 

Practically all presently manufactured 802.11g wireless adapters have such suffixes as "super G", "turbo", "plus", etc. But suffixes are only half the work. Manufacturers (to be more exact, their marketing specialists) decorate their boxes with the 108 Mbit/s or even 125 Mbit/s labels.

125 - sounds tempting. Can it really be true that wireless adapters work faster than the good old Fast Ethernet with its cables? Maybe we should let them go... those "ancient" Fast Ethernet adapters? Get rid of cables, we are sick and tired of, and long live Radio Ethernet? :)

But look before you leap, as the proverb runs. In our case it means that it would do no hurt to find out more details about these mysterious techniques, how they work, and what data rates they really provide (and the most important thing - under what conditions). In other words, we should make allowance for the most important thing to marketing guys - to sell solutions from their company.

There are many ways "to overclock" the standard 802.11g. To be more exact, every chip manufacturer has its own way (at least - they are called differently). Unfortunately, not all manufacturers explain the details of their techniques. I managed to find information on these techniques only for Atheros and Texas Instruments. But the most informative resource is provided by Atheros - it even has a separate web site, devoted to their Super G and Super AG techniques.

In fact, most part of this article is a compilation of the information from the web sites of Atheros and Texas Instruments and only minute details from other sources.

 

Let's proceed to the techniques.

At first let's have a look at the "pure" 802.11g. Maximum throughput of this mode is 54 Mbit/s. I guess the majority of users know how to convert megabits into megabytes? That's right, you should divide megabits by eight to get the data rate - 6.75 MB/s.

But attentive readers (those who don't just look through introductions and conclusions, but actually browse diagrams with performance readings) know that the regular 802.11g mode does not provide more than ~25 Mbit. Hey, that's only half of the 54 Mbit! Where is the other half? "Where" is a topic in its own right. I can only note that, indeed, user data makes for only half (at best) of the channel bandwidth.

That's the first bad news. There is also the second bad news. Radio waves (it's actually them who transmit data in wireless networks) are transmitted in all directions from the signal source (it's a general case). That is everyone hears the transmitter. Everyone can choose to receive data or not, that's not important. What's important - these people cannot transmit anything on the same frequency at that moment. To be more exact, they can try, but signals from both sources will overlap, which will lead to the distortion and loss of the data. In other words, only one of several sources operating at the same frequency can transmit data at a time in wireless networks. That is the walkie-talkie principle - first you talk, then you keep silence and listen.

Thus, the generously allocated ~25 Mbit are divided between all participants of a wireless network. If the number of clients is 5 hosts and all of them are actively transmitting data, every participant will have the bandwidth of about 5 Mbit (in fact, it will be even a tad lower).

There is also the third bad news. The second bad news about 5 Mbit per each of 5 hosts is true only in case of Ad Hoc network, that is without an access point. If we take a more general case with an access point, those miserable 5 Mbit will have to be divided into two. Any exchange with clients in the Infrastructure mode (with an access point) goes via an access point. At first it should receive data and then retranslate it to the recipient. As a result, we get 2 and a little more megabit per user.

Now let's get back to the figures 108 and 125, which are often printed in large font on product boxes. But you have already got it, right? :)

Divide these figures by two (we'll touch upon the ideal case later). That means 60 Mbit maximum in case of one client and consequently n-times smaller in case of N clients.

If all you want is to find out whether it's time to get rid of wires or "wait a little", you may skip the rest of the article. The answer is it's too early so far. At least wait for WiMAX.

Now let's proceed to a more thorough examination of techniques for increasing wireless throughput compared to the standard 802.11g mode.

I guess all advantages (turbo, etc) of the manufacturers are just the same thing as in TI and Atheros, but under different names. But implementation details may be different, so techniques from different manufacturers may be incompatible with each other.

Atheros technique for 802.11g is called Super G (there is another one - Super AG; it's the same thing, but for 802.11a, i.e. for 5 GHz networks). Atheros Super G allows to increase the throughput to 108 Mbit/s. As Atheros honestly declares, user's data rate may reach 60 Mbit.


Performance is increased by several methods:

Atheros Super G / Super AG techniques:

Feature

Characteristics

Benefits

Bursting

  • more data frames per given period of time
  • increase throughput via overhead reduction

Compression

  • real-time hardware data compression
  • Lempel Ziv compression
  • increased data throughput using precompressed frames
  • no impact on host processor

Fast Frames

  • utilizes frame aggregation (frame size is up to 3000 bytes) and timing modifications
  • increases throughput by transmitting more data per frame and removing interframe pauses

Dynamic Turbo

  • similar to trunking techniques used in Fast Ethernet networks, utilizes dual channels to "double" transmission rates
  • analyzes environment and adjusts bandwidth utilization accordingly
  • maximizes bandwidth using multiple (two) channels

 

Atheros web site contains a colorful diagram that shows the influence of various techniques on data transfer rates:

 




Pic.1, Benefits of various techniques for wireless performance

The base 802.11g or 802.11a mode, where all extended techniques are disabled, allows up to 22 Mbit (net value, that is available to a user). Adding techniques, which will probably be included into the future 802.11e standard (Bursting, Fast Frames, Compression), we can increase the performance up to 40 Mbit inclusive. Activating Dynamic Turbo mode, that is utilizing dual channels for data transfers, may increase performance to the theoretical maximum of 60 Mbit.

The above figures are certainly the maximum possible performance in a given mode (in the ideal case). In reality everything will depend on such conditions as client's distance from an access point, a number of clients operating simultaneously, radio environment around the wireless network, etc.

 

Wireless performance boosts from Texas Instruments are called G-Plus. Some of them resemble techniques from Atheros, the others are characteristic of TI alone.

Texas Instruments G-Plus techniques:

 

Feature

Characteristics

Benefit

Frame Concatenation

  • merging data from several packets into one (packet size - up to 4000 bytes)
  • increases throughput by removing overheads from "extra" frames and interframe latencies

Packet Bursting

  • similar to the technique from Atheros
  • similar to the technique from Atheros

 

Let's dwell on each of the above mentioned techniques - bursting, compression, fast frames, dynamic turbo. Interestingly, all the four techniques work independently, thus maximizing performance simultaneously in several ways.

1. Bursting

Frame Bursting is a transmission technique supported by the draft 802.11e QoS specification. Frame Bursting increases the throughput of any (point-to-point) 802.11a, b or g link by reducing the overhead associated with the wireless transmission. This results in the ability to support higher data throughput in both homogeneous and mixed networks.

Picture 2 shows an example of a standard transmission (without bursting).

 




Pic.2, Standard 802.11a/b/g mode

In standard mode we can see the process of transmitting two frames (frame1 and frame2) from Source to Destination in time. The process of data transmission is divided into time intervals (axis X is time). As only one source can transmit data at a time, each station should contend for airtime during DIFS (Distributed InterFrame Space). If no other station is transmitting, the airtime is free and a frame can be transmitted. After a frame is transmitted (frame1), the transmitter waits for a confirmation on a successful delivery from the destination. The destination must send an acknowledgement (ack) practically immediately after SIFS - Short InterFrame Space (if there was no acknowledgement, the source considers that the frame was not received and must resend it). After receiving an acknowledgement, the sender must again wait for DIFS and only then (if the air is still free) start sending Frame 2. And so on.

Thus, DIFS take up a considerable part of wireless throughput.

Now let's see the picture of Frame Bursting transfer:

 




Pic.3, With Frame Bursting

 

In this mode (Picture 3), the source and the destination capture a channel in turns for their transmissions. After frame1 is transmitted and the acknowledgement is received, the transmitter does not wait the required DIFS. The sender waits only SIFS and then transmits the second data frame, etc. Thus, the sender does not give an opportunity for other stations to start transmissions - they have to wait for the end of this burst transmission.

Of course, the total transmission time in this mode is limited (otherwise, transmission of several gigabytes would have paralyzed other clients of a given wireless network completely). But eliminating DIFS allows a larger chunk of data transmitted over the same period of time, thus saving the channel throughput, that is increasing the total transmission performance.

Atheros announces that all its products support this technique. But devices from other manufacturers, which do not support this technique, may fail to understand this burst mode. So, if communicating with a product that fails to acknowledge a burst transmission, the source falls back to the base mode.

Implementation of Bursting from TI is similar to Atheros. TI provides the following illustration of its technique (Picture 4):

 




Pic.4, Frame Bursting from Texas Instruments

TI also eliminates the "long" interframe space, by reducing overheads on transmission.

Both companies do not provide information on compatibility of burst techniques from TI and Atheros.

 

Similar "bursting" techniques are probably offered by other manufacturers as well. But Atheros went further than that and expanded this technique to "dynamic bursting". It announces that this technique is especially effective in networks with the number of wireless clients exceeding one.

For example, if there are two stations, near and far from an access point. Of course, the far station will operate with an access point at a lower data rate (because of the distance). That's why its transmission (to the near client) of a given size will take more time than it will take the near client to receive the data. In this case bursting activation for the far station allows to reduce the airtime and, strange as it may seem, it also allows the nearby station to receive this data still faster (since it will spend less time contending for airtime). Burst transmission periods also depend on the distance (to be more exact, on data rates). The nearby client is granted a longer burst transmission, as it will burst more frames, while consuming much less airtime.

 

Atheros Compression technique

The second technique from Atheros that extends the 802.11 standard is hardware compression. It's built into all 802.11a,b,g chipsets from this company. It uses the Lempel Ziv algorithm. The same algorithm is used in such archivers as gzip, pkzip, winzip. This engine compresses prior to transmission and decompresses after reception.

Unfortunately, the data is not analyzed before it's compressed, all frames are compressed. Thus, it's not always good - for example, sending an already compressed file may increase the size of wireless transmission.

On the other hand, well compressible data will be transmitted in smaller frames, thus consuming less airtime. This airtime can be used by other wireless stations.

 

Atheros Fast Frames

Fast Frames technique bundles two frames into a single larger frame. Thus we eliminate extra overheads (in the header of the second packet - there is only one header in the new packet left) and interframe spaces:

 




Pic.5, Regular Transmission

 




Pic.6, with Fast Frames

The size of the resulting frame may reach 3000 bytes, which is twice as large as the maximum frame size of a standard ethernet packet. Thus, Fast Frames technique will work even with wireline transmissions with maximum packet size (1500 bytes), by merging each two ethernet packets into a single larger packet. Once FastFrames have been negotiated between an access point and a station, both the AP and the station can send wireless frames of 3000 bytes to the corresponding peer.

Considering that Fast Frames can operate together with Frame Bursting, we get very good data rates. By the way, according to Atheros, most manufacturers, using Frame Bursting in their chips, actually don't support Fast Frames. Atheros is all right - their devices support both techniques.

The Fast Frames technique is also based on the 802.11e draft standard. Nevertheless, it may not be supported by all third party hardware. On the other hand, this technique functions within existing timing parameters (unlike Frame Bursting, which exclusively captures a channel for some time). That's the reason Fast Frames are better for wireless networks that use equipment from various manufacturers.

 

Texas Instruments Frame Concatenation

The Frame Concatenation technique in devices from Texas Instruments uses the same principles as Fast Frames from Atheros.

TI goes further than that. In this case two or more frames are merged (Picture 7):

 




Pic.7, Frame Concatenation

Thus, it gains by eliminating overheads and interframe spaces from one or more frames. TI claims that its Frame Concatenation technique will work with any 802.11b/b+/g devices from TI and (!)other manufacturers. It's not quite clear what this company meant by other manufacturers, if the latter don't support this technique... Perhaps it meant operations with frames that don't exceed the standard size (1500 bytes).

Frame Concatenation incorporates an algorithm that allows to merge only selected packets into mega-frames. For example, if there is only one frame in queue to be sent to a given destination, it will be sent immediately. In other words, only frames to the same destination address (MAC address of a receiver, in this case) will be merged. The algorithm works only with unicast packets - multicast packets as well as control packets are sent without changes.

At present, the maximum size of a Concatenation packet may reach 4096 bytes (which is an indirect sign that this technique is not compatible with its Atheros counterpart).

Conclusion

As we can see, manufacturers are not waiting for the official announcement of the standards (802.11e in this case), but integrate these new techniques into their products. Thus, they obtain good results as far as performance gains are concerned, on the one hand. But on the other hand, techniques from different manufacturers are often incompatible with each other.

We haven't reviewed Dynamic Turbo from Atheros yet. It will be described in the second part of the article.

If we find documentation about such techniques as super/plus/etc from other manufacturers of wireless solutions (or if you post links to such documents in our forum (the link to our forum is right after this article, a tad below)), reviews of these techniques will also be added to the second part of the article.

 

Evgeny Zaitsev (eightn@ixbt.com.)
July 1, 2005.



Write a comment below. No registration needed!


Read more at http://ixbtlabs.com/articles2/comm/tech-80211g-super.html#8G5M62mYj7e8urzI.99



결론: Wi-Fi에서 Burst mode를 사용하는 모듈(Atheros,TI..)을 구매하여 사용해야 하며,  이는 Burst mode 모듈이 Backoff를 수행하지 않고 SIFS만큼만 대기후 연속적으로 데이터를 전송하기 때문에, 다른 기기들의 채널접근을 막는다. 따라서, 단기간만 Throughput을 올리는 목적으로 사용해야한다. 

'N.&C. > Principle of Communication' 카테고리의 다른 글

[Tutorial] Channel Models : A tutorial  (0) 2013.10.08

What is the meaning of the Intended and Offered Load, Forwarding Rate?


I provide explanation of difference between Intended and Offered load and Forwarding Rates:


I note that the Intended load is what is being asked of the test, versus Offered load which is what the actual physical layer can do. Offered load is what should actual be transmitted.

 

The Intended Load is the number of frames per second in which an external source attempts to send to a DUT/SUT for forwarding to a specified output interface(s)."

 

The Offered Load is the number of frames per second that an external source can send to a DUT/SUT for forwarding to a specified output interface(s).

 

Note: 'There may occur an issue where -> Offered Load appears far too much lower than Intended Load.

  

I explain this may be causes when choosing -> Test Parameters -> Improve Time to Test -> Skip to next load when iteration fails.

  

When there is packet loss and because the iteration is configured due to this configuration to abruptly end, the configured rate is not caught by the analyzer.

 

If this is a concern, I recommend to deselect -> Test Parameters -> Improve Time to Test -> Skip to next load when iteration fails and retest in the same manner.'

 

The Forwarding Rate is the number of frames per second that a device can successfully send to the correct destination interface in response to a specified offered load.

 

The throughput is the fastest rate (Offered Load) at which the count of test frames transmitted by the DUT is equal to the number of test frames sent to it by the test equipment.



Site: http://ekb.spirentcom.com/index?page=content&id=FAQ11890&actp=LIST

이번에 미국 학회 출장으로 인해서 렌트카를 사용할 일이 있어서 정리합니다.


1. 해외에서 운전하려면 어떻게 해야하나?

 1) 해외에서 운전면허를 취득한다 -> 당연하므로 패스!

 2) 한국에서 해외운전면허증을 취득한다 -> 어떻게?

    발급기관 : 가까운 면허시험장 또는 경찰서

    

    소요시간 : 신청서 접수후 30분 이내

    유효기간 : 1년 

    필요서류 : 여권, 운전면허증, 사진(3 x 4 사이즈 or  여권사진 사이즈), 신청료(7000원 또는 8500원)

    사용가능한 나라 : 제네바 협약국, 비엔나 협약국 등등 

     (즉, 유럽모든나라와 독일, 미국,하와이,일본,호주 등이 한국이 많이 찾는 휴양지는 대부분 가능)


2. 어떤 렌트카를 사용할까? 

  1) 해외보험을 가입해야하기때문에 확실한 곳을 사용하세요

     : 메이저급 회시가 믿을만 합니다. - 허츠, 에이비스, 식스트, 유럽카, 알라모 등..

  2) 정식 렌트카업체를 통하여 차량비용+보험비+부가세+영업소비용 등등을 한번에 결제하시면 추가부담금이 안듭니다.

  3) 개인적으로 Hertz를 추천합니다. 

    관련 추천 정보는 http://www.leeha.net/

    허츠공식홈페이지는 https://www.hertz.co.kr/rentacar/reservation/

    허츠 골드회원 무료가입법 http://www.kimchi39.com/entry/hertz-gold    


3. 어떻게 할인을 받을까?

   허츠의 경우 "할인행사" 메뉴에서 해당되는 나라나 기종에 대해서 할인행사를 많이 진행합니다.

   또한 각 나라별 기본정책과 혜택도 다릅니다. 본인이 여행가실때 꼭 알아보세요.

   예를 들어, 현재 2014년 8월 이벤트는 아래와 같습니다.  


      대한 항공: 스카이패스 마일리지 최대 4배 적립

      유효기간: ~ 2014년 9월 30일까지 차량 픽업 시


      아시아나 항공: 아시아나 클럽 마일리지 최대 4배 적립

      유효기간: ~ 2014년 9월 30일까지 차량 픽업 시


      미국: 15% 추가할인

      유효기간: ~ 2014년 8월 31일까지


      미국 & 캐나다: 차량 한 단계 무료승급

      유효기간: ~ 2014년 8월 31일까지

   

     등등.. 나라마다 상이한 할인행사가 있습니다. 참고로 미국의 경험 가족운전자 및 회사동료에 한해서 운전자추가가 무료

     입니다.  


     자동차보험에 대한 정보:  http://kin.naver.com/open100/detail.nhn?d1id=9&dirId=9020201&docId=826798&qb=66+46rWtIOugjO2KuOy5tCDrs7Ttl5jsmqnslrQ=&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=R9X4vdpySERssaI%2BntKssssssto-390995&sid=U9uEwHJvLDEAACx7Edc

     운전자추가에 대한 자세한정보 : http://kin.naver.com/qna/detail.nhn?d1id=9&dirId=9020201&docId=76657274&qb=7ZW07Jm466CM7Yq4IOy2lOqwgOyatOyghOyekA==&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=R9X4UlpySp4ssvvGnSdsssssstG-282345&sid=U9uEwHJvLDEAACx7Edc

     허츠 렌트예약의 예시 : http://www.kimchi39.com/m/post/1202


4. 해외 운전시 주의사항

   기본적인 해외운전시 주의사항: http://www.kimchi39.com/entry/rent-a-car-to-know

   해외 운전자 교육사이트 : http://www.sfkorean.com/jsp/information/info_6024_dmv_exam_sign.jsp

   미국에서 운전주의사항: http://www.leeha.net/bin/minihome/neo_main3.htm?subon=1&seq=1973&subkey=100779&cseq=100781&menuname=%2Fbin%2Fminihome%2Fcontents_i.htm


* 참고로 미국에서의 해외추가운전자 발생시, 최초 렌트시 차량인도할때 추가를 하면 되며 추가요금은 없다.

  하지만 나라마다 상이하며, 보통 하루당 10불 정도의 추가요금이 발생한다고 생각하면 된다. 

  (어떤 나라는 배우자는 추가시 무료)






IT용어사전

레거시

[ Legacy ]

과거에 개발되어 현재에도 사용 중인 낡은 하드웨어나 소프트웨어. 새로 제안되는 방식이나 기술을 부각시키는 의미로서 주로 사용된다. 예를 들면 시스템이 구축되지 않은 상태에서 새로운 시스템을 구축하면 구축되지 않은 상태가 레거시가 된다. 레거시 프로그램들은 특정 용도나 환경 아래에서만 작동하게 되어 있으나, 최신 프로그램들은 대부분 개방형으로 개발된다.

[네이버 지식백과] 레거시 [Legacy] (IT용어사전, 한국정보통신기술협회)


  1. 1.
    • [동사](실질적인 증거는 없지만 사실일 것이라고) 추정하다[여기다/생각하다]
    • They are very expensive, I presume?(추정컨대) 그것들은 아주 비싸겠죠?
    • Is he still abroad?' ‘I presume so.'“그가 아직 해외에 있나요?” “아마 그럴 걸요.”
  2. 2.
    • [동사](특히 법정에서 반대되는 증거가 나올 때까지는 무엇을 사실로) 간주하다
    • Twelve passengers are missingpresumed dead.12명의 승객이 실종인데 사망한 것으로 간주된다.
    • In English lawa person is presumed innocent until proved guilty.영국 법에서는 유죄가 입증될 때까지는 무죄로 간주된다.
  3. 3.
    • [동사][타동사][VN](격식) (무엇을 사실로 보고 그것을 기반으로) 상정하다
    • The course seems to presume some previous knowledge of the subject.이 강좌는 그 주제에 대한 (수강자들의) 어느 정도의 사전 지식을 상정하고 있는 것 같다.
  4. 4.
    • [동사][V to inf](격식) 주제넘게 굴다
    • I wouldn't presume to tell you how to run your own business.제가 주제넘게 당신 자신의 사업체를 어떻게 운영해야 한다고 말씀드리지는 않겠습니다.

저장 : 2014.06.30

  1. 1.
    • [형용사]~ (to sth) (더 중요한 행동・행사에 대한) 예비의
    • After a few preliminary remarks he announced the winners.몇 차례 예비 발언이 있은 후 그가 당첨자들을 발표했다.
    • preliminary results / findings / enquiries예비 결과/조사 결과/조사
  2. 2.
    • [명사](pl. -ies) ~ (to sth) 예비 행위[단계]; (말의) 서두; 예선전
    • Research will be needed as a preliminary to taking a decision.결정을 내리기 위한 예비 단계로 연구 조사가 필요할 것이다.
    • I'll skip the usual preliminaries and come straight to the point.통상적인 서두는 생략하고 바로 본론으로 들어가겠습니다.

저장 : 2014.06.27

  1. 1.
    • [부사][문어] 아래 (문장)에; 이 기록[조건]에 따라, 이에 의거하여

저장 : 2014.06.27

  1. 1.
    • [형용사]법률・규칙・규정 등이 엄중한
    • stringent air quality regulations엄중한 대기의 질 관련 규정
  2. 2.
    • [형용사]재정적 조건이 긴박한, 절박한
    • the government's stringent economic policies정부의 긴박한 경제 정책

저장 : 2014.06.27

  1. 1.
    • [형용사](격식) 편재하는, 어디에나 있는
    • These days the media are omnipresent.요즘에는 미디어가 어디에나 있다.

저장 : 2014.06.27

  1. 1.
    • [동사][타동사][VN] 밑줄을 긋다[치다]
  2. 2.
    • [동사]강조하다, 분명히 보여주다
    • The report underlines the importance of pre-school education.그 보고서는 취학 전 교육의 중요성을 강조하고 있다.
    • Her question underlined how little she understood him.그녀의 질문은 그에 대한 그녀의 이해가 얼마나 낮은지를 분명히 보여주었다.

저장 : 2014.06.27

  1. 1.
    • [명사]UC 전개, 배치

저장 : 2014.06.27

[동의어] logarithm
  1. 1.
    • [명사]통나무
    • logs for the fire장작으로 쓸 통나무들
  2. 2.
    • [명사](logbook) (특히 항해・운항・비행 등의) 일지[기록]
    • The captain keeps a log.선장[기장]이 일지를 작성한다.
  3. 3.
    • [명사](비격식)
  4. 4.
    • [동사]일지에 기록하다
    • The police log all phone calls.경찰이 모든 통화는 일지에 기록을 한다.
  5. 5.
    • [동사](특정 거리・시간을) 항해[운항/비행]하다
    • The pilot has logged 1000 hours in the air.그 조종사는 하늘을 1 000시간 비행했다.

저장 : 2014.06.27

  1. 1.
    • [동사](특히 英) (어디를 가서) 가지고[데리고/불러] 오다
    • to fetch help / a doctor도와줄 사람/의사를 데리고 오다
    • The inhabitants have to walk a mile to fetch water.주민들은 물을 길어 오기 위해 1마일을 걸어가야 한다.
  2. 2.
    • [동사][타동사][VN] (특정 가격에) 팔리다
    • The painting is expected to fetch $10000 at auction.그 그림은 경매에서 1만 달러에 팔릴 것으로 예상된다.

저장 : 2014.06.24

  1. 1.
    • ~해야 할 어떤 이유도 없다

저장 : 2014.06.16

  1. 1.
    • for the first timeonly when[afterthen]not...untilat lastat length
    • People do not know the blessing[valueof health until they lose it.사람들은 건강을 잃고 나서 그제야 그 고마움을 안다
    • Then I realized for the first time how horrible a fire was.나는 그제야 화재의 무서움을 알았다

저장 : 2014.06.16

  1. 1.
    • (비교적 격식) …해야만(어떤 일이 가능한 유일한 상황을 진술할 때 씀)
    • Only if a teacher has given permission is a student allowed to leave the room.학생은 교사의 허락이 있어야만 교실을 떠날 수 있다.
    • Only if the red light comes on is there any danger to employees.빨간 불이 들어와 있을 때에만 직원들에게 무슨 위험이 있는 것이다.

저장 : 2014.06.16

  1. 1.
    • [동사]CAUSE SB/STH TO BE STH |[타동사][VN-ADJ](격식) (어떤 상태가 되게) 만들다[하다]
    • to render sth harmless / useless / ineffective…을 무해하게/소용없게/무효로 만들다
    • Hundreds of people were rendered homeless by the earthquake.수백 명의 사람들이 그 지진으로 집을 잃게 되었다.
  2. 2.
    • [동사]GIVE HELP | ~ sth (to sb/sth) | ~ (sb) sth(격식) (특히 어떤 것에 대한 대가로 또는 기대에 따라) 주다[제공하다]
    • to render a service to sb…에게 서비스를 베풀다
    • to render sb a service…에게 서비스를 베풀다
  3. 3.
    • [동사]PRESENT STH |[타동사][VN](격식) (특히 공식적으로) 제시[제출]하다
    • The committee was asked to render a report on the housing situation.그 위원회는 주택 상황에 대한 보고서를 제출하라는 요구를 받았다.
  4. 4.
    • [동사]EXPRESS/PERFORM |[타동사][VN](격식) 표현하다, 연기[연주]하다
    • He stood up and rendered a beautiful version of ‘Summertime'.그는 일어서서 ‘서머타임'을 아름답게 연주했다.
    • The artist has rendered the stormy sea in dark greens and browns.그 화가는 폭풍우 치는 바다를 진녹색과 갈색으로 표현해 놓고 있다.
  5. 5.
    • [동사]TRANSLATE |[타동사][VN] ~ sth (as sth) | ~ sth (into sth) (다른 언어로) 옮기다, 번역하다
    • The Italian phrase can be rendered as ‘I did my best'.그 이탈리아어 관용구는 ‘난 최선을 다했다.'로 번역할 수 있다.
    • It's a concept that is difficult to render into English.그것은 영어로 옮기기 힘든 개념이다.

저장 : 2014.06.14

  1. 1.
    • [형용사]국가・지역・기관이 자주적인, 자치의
    • an autonomous republic/state/province자주 공화국/자주 국가/자치 주/자치 지역
  2. 2.
    • [형용사]사람이 자율[자주]적인

저장 : 2014.06.12

  1. 1.
    • [형용사][명사 앞에만 씀] (두 사건・날짜・사물 등의) 사이에 오는[있는]
    • Little had changed in the intervening years.그 사이의 세월 동안 변한 것이 거의 없었다.

저장 : 2014.05.29

  1. 1.
    • [동사][보통 진행형으로는 쓰이지 않음](격식) (…로) 여기다[생각하다]
    • The evening was deemed a great success.그날 저녁(공연/행사)은 대대적인 성공으로 여겨졌다.
    • She deemed it prudent not to say anything.그녀는 아무 말도 하지 않는 것이 신중한 처사라고 생각했다.

저장 : 2014.05.06

  1. 1.
    • [동사]~ sth | ~ sb from doing sth(격식) (~로 하여금 ~하지) 못하게 하다, (~가 ~하는 것을) 불가능하게 하다
    • Lack of time precludes any further discussion.시간이 부족해서 더 이상 논의하는 것이 불가능하다.
    • His religious beliefs precluded him / his serving in the army.그는 종교적인 신념 때문에 군 복무를 할 수 없었다.

저장 : 2014.05.03

  1. 1.
    • [명사]C ~ (between A and B) | ~ (with sth) 비유; 유사점
    • The teacher drew an analogy between the human heart and a pump.선생님은 인간의 심장을 펌프에 비유했다.
    • There are no analogies with any previous legal cases.이전에 있은 어떤 법률 소송과도 유사점이 없다.
  2. 2.
    • [명사]U 유추
    • learning by analogy유추를 통해 배우는

저장 : 2014.03.25

  1. 1.
    • [형용사]~ (with/to sth)(격식 또는 전문 용어) 인접한, 근접한
    • The countries are contiguous.그 국가들은 인접해 있다.
    • The bruising was not contiguous to the wound.타박상은 상처에 근접해 있지 않았다.

저장 : 2014.03.04

  1. 1.
    • [동사][자동사][V + adv. / prep.] 비롯되다, 유래하다
    • The disease is thought to have originated in the tropics.그 병은 열대 지방에서 비롯된 것으로 여겨지고 있다.
  2. 2.
    • [동사][타동사][VN] 발명[고안]하다
    • Locke originated this theory in the 17th century.로크가 이 이론을 17세기에 창안했다.

저장 : 2014.03.04

  1. 1.
    • [형용사](컴퓨터) 메모리 속에서의 데이터 순서를 정하는 시스템에 관련된.

저장 : 2014.03.04

  1. 1.
    • [명사](pl. -ies)(격식) 독립체
    • The unit has become part of a larger department and no longer exists as a separate entity.그 부서는 다른 큰 부서의 일부가 되었고 더 이상 별개의 독립체로 존재하지 않는다.
    • These countries can no longer be viewed as a single entity.이들 국가들은 더 이상 단일 독립체로 볼 수 없다.

저장 : 2014.03.04

  1. 1.
    • [형용사]~ (in sth)(문예체 호감) (태도・목표가) 변함없는
    • He remained steadfast in his determination to bring the killers to justice.그는 그 살인자들에게 법의 심판을 받게 할 거라는 각오를 변함없이 지니고 있었다.
    • steadfast loyalty변함없는 충성심

저장 : 2014.03.04

  1. 1.
    • [명사](작은) 정보[소식]
    • Have you got any interesting snippets for me?내게 들려 줄 뭐 재미있는 소식 없어?
    • a snippet of information작은 정보 하나
  2. 2.
    • [명사](대화・음악 등의) 한 토막

저장 : 2014.03.03

  1. 1.
    • [형용사][주로 명사 앞에 씀] 인식[인지]의
    • a child's cognitive development아동의 인지 발달
    • cognitive psychology인지 심리학

저장 : 2014.02.27

  1. 1.
    • [명사]U , C(격식) 유사성; 유사점
    • think he exaggerates the parallelism between the two cases.내 생각에는 그가 그 두 사건 사이의 유사성을 과장하는 것 같다.

저장 : 2014.02.19

  1. 1.
    • [형용사]체계적인, 조직적인
    • a systematic approach to solving the problem그 문제를 해결하는 체계적인 접근법
    • a systematic attempt to destroy the organization그 조직을 파괴하기 위한 체계적인 시도

저장 : 2014.02.19

  1. 1.
    • [동사][타동사][VN] ~ sth (on/upon sb/sth) (강력한 반응・감정 등을) 촉발시키다[불러일으키다]
    • The government's proposals unleashed a storm of protest in the press.정부의 그 제안들은 언론의 거센 항의를 불러일으켰다.

저장 : 2014.02.19

  1. 1.
    • [명사]U ~ (with sth) (법・명령 등의) 준수; (명령 등에) 따름
    • procedures that must be followed to ensure full compliance with the law완전한 법률 준수를 보장하기 위해 반드시 지켜야 할 절차들
    • Safety measures were carried out in compliance with paragraph 6 of the building regulations.안전 조치는 건축 규정 6절에 따라 시행되었다.

저장 : 2014.02.18

  1. 1.
    • [동사][타동사][VN] (rati・fies , rati・fy・ing , rati・fied , rati・fied) 비준[재가]하다
    • The treaty was ratified by all the member states.그 조약은 모든 회원국들의 비준을 받았다.

저장 : 2014.02.18

  1. 1.
    • [형용사][명사 앞에만 씀](격식) (앞에 언급한) 그 결과로 생긴[그에 따른]
    • the growing economic crisis and resultant unemployment커져 가는 경제 위기와 그에 따른 실업 문제

저장 : 2014.02.17

  1. 1.
    • [형용사]~ (that…) | ~ (to do sth) | ~ (of sth/of doing sth) 확실한, 틀림없는
    • It is certain that they will agree / They are certain to agree.그들이 틀림없이 동의할 것이다.
    • She looks certain to win an Oscar.그녀가 오스카상을 탈 것이 확실해 보인다.
  2. 2.
    • [형용사]~ (that…) | ~ (of/about sth) 확신하는
    • She wasn't certain (that) he had seen her.그녀는 그가 자기를 보았는지 확신이 서지 않았다.
    • Are you absolutely certain about this?이것에 대해 절대적으로 확신하세요?
  3. 3.
    • [형용사]어떤, 무슨(구체적인 정보 없이 사람・사물 등을 언급할 때 씀)
    • For certain personal reasons I shall not be able to attend.무슨 개인적인 이유가 있어서 제가 참석할 수 없을 거예요.
    • Certain people might disagree with this.어떤 사람들은 이것에 동의하지 않을 것이다.
  4. 4.
    • [형용사](격식) (사람 이름과 함께 쓰여) …라는
    • It was a certain Dr Davis who performed the operation.그 수술을 집도한 분은 데이비스 박사란 분이었다.
  5. 5.
    • [형용사]어느 정도의, 약간의
    • That's trueto a certain extent.그것이 어느 정도는 사실이다.
    • felt there was a certain coldness in her manner.그녀의 태도에서 약간 냉정함이 느껴졌다.

저장 : 2014.02.17

  1. 1.
    • [부사](격식) 그렇게 함으로써, 그것 때문에
    • Regular exercise strengthens the heartthereby reducing the risk of heart attack.규칙적인 운동은 심장을 튼튼하게 해 주고, 그렇게 함으로써 심장병의 위험을 줄여 준다.

저장 : 2014.02.17

  1. 1.
    • 경험하는

저장 : 2014.02.14

  1. 1.
    • [명사](법률의) 시행, 집행
  2. 2.
    • [명사](복종 등의) 강제
  3. 3.
    • [명사](의견 등의) 강조

저장 : 2014.02.14

  1. 1.
    • [형용사]콘크리트로 된
    • a concrete floor콘크리트 바닥
  2. 2.
    • [형용사]사실에 의거한, 구체적인
    • concrete evidence/proposals/proof구체적인 증거/제안/입증
    • It's only a suspicion,' she said, ‘nothing concrete.'“그건 혐의일 뿐이라구요, 사실에 근거를 둔 것이 아니라.” 그녀가 말했다.
  3. 3.
    • [형용사]실체가 있는
  4. 4.
    • [명사]U 콘크리트
    • a slab of concrete콘크리트 판 하나
  5. 5.
    • [동사][타동사][VN] ~ sth (over) 콘크리트를 바르다
    • The garden had been concreted over.정원에는 콘크리트가 다 발라져 있었다.

저장 : 2014.02.14

  1. 1.
    • [형용사][A] 후방의, 후부의, 뒤의
    • the hinder part of the ship배의 뒤쪽
    • the hinder gate뒷문
  2. 2.
    • [명사][pl.] (사람의) 다리(legs)

저장 : 2014.02.14

  1. 1.
    • [형용사]즉각적인
    • an instantaneous response즉각적인 반응
    • Death was almost instantaneous.거의 즉사했다.

저장 : 2014.02.14

  1. 1.
    • [명사]전임자
    • The new president reversed many of the policies of his predecessor.새 대통령은 전임 대통령의 정책들 중 많은 것들을 뒤집었다.
  2. 2.
    • [명사]이전 것[모델]

저장 : 2014.02.14

  1. 1.
    • [형용사]포괄적인, 총칭[통칭]의
    • Vine fruitis the generic term for currants and raisins.‘덩굴 열매'는 currants (작은 씨 없는 포도를 말린 건포도)와 raisins (조금만 말린 건포도)를 총칭한다.
  2. 2.
    • [형용사]상품, 특히 약품이 회사 이름이 붙지 않은, 일반 명칭으로 판매되는
    • The doctor offered me a choice of a branded or a generic drug.의사가 내게 상표명이 붙은 약이나 일반 약품 중에서 하나를 선택하라고 했다.

저장 : 2014.02.14

  1. 1.
    • [형용사](통계) 추계학(推計學)의, 확률(론)적인

저장 : 2014.02.14

  1. 1.
    • [형용사]유망한, 촉망되는; 조짐이 좋은
    • He was voted the most promising new actor for his part in the movie.그는 그 영화에서 한 역할로 가장 촉망되는 신인 배우에 선정되었다.
    • The weather doesn't look very promising.날씨가 그렇게 조짐이 좋아 보이지 않는다.

저장 : 2014.02.14

  1. 1.
    • [형용사]간단한, 쉬운, 복잡하지 않은
    • a straightforward process간단한 절차
    • It's quite straightforward to get here.여기 오기는 아주 쉬워.
  2. 2.
    • [형용사]사람・행동이 솔직한

저장 : 2014.02.14

  1. 1.
    • ~로 구성된

저장 : 2014.02.14

  1. 1.
    • [형용사]조정(調整)[조율]할 수 있는
  2. 2.
    • [형용사](고어) 가락이 맞는, 조화된, 음악적인

저장 : 2014.02.14

  1. 1.
    • [동사](못마땅함) (부당하게) 이용하다
    • He exploited his father's name to get himself a job.그는 취직을 하기 위해 아버지의 이름을 이용했다.
    • She realized that her youth and inexperience were being exploited.그녀는 자신의 젊음과 경험 미숙이 이용당하고 있음을 깨달았다.
  2. 2.
    • [동사](못마땅함) 착취하다
    • What is being done to stop employers from exploiting young people?고용주들이 젊은이[청소년]들을 착취하는 것을 막기 위해 어떤 일들이 이뤄지고 있나요?
  3. 3.
    • [동사](최대한 잘) 활용하다
    • She fully exploits the humour of her role in the play.그녀는 그 연극에서 자신의 역할이 지닌 유머를 충분히 활용하고 있다.
  4. 4.
    • [동사]~ sth (for sth) (사업・산업용으로) 개발하다
    • countries exploiting the rainforests for hardwood단단한 재목을 얻으려고 열대 우림을 개발하는 국가들
    • No minerals have yet been exploited in Antarctica.남극 대륙에서는 아직까지 어떤 광물질도 개발된 적이 없다.
  5. 5.
    • [명사][주로 복수로] 위업, 공적
    • the daring exploits of Roman heroes로마 영웅들의 대담한 위업

저장 : 2014.02.14

  1. 1.
    • [명사](다른 장소나 상황에서 어떤 사람・사물과 동일한 지위나 기능을 갖는) 상대, 대응 관계에 있는 사람[것]
    • The Foreign Minister held talks with his Chinese counterpart.외무 장관이 중국 외무 장관과 몇 차례 회담을 가졌다.
    • The women's shoelike its male counterpartis specifically designed for the serious tennis player.여성화는 남성화와 마찬가지로 테니스를 본격적으로 하는 선수를 위해 특수하게 제작된다.

저장 : 2014.02.13

  1. 1.
    • [형용사]확인된, 인정된, 식별된

저장 : 2014.02.12

  1. 1.
    • [형용사][명사 앞에는 안 씀] ~ (to do sth) (~을) 하고 싶은, (마음이) 내키는
    • She was inclined to trust him.그녀는 그를 믿고 싶었다.
    • He writes only when he feels inclined to.그는 마음이 내킬 때에만 글을 쓴다.
  2. 2.
    • [형용사]~ to do sth ~하는 경향이 있는; ~할 것 같은
    • He's inclined to be lazy.그는 게으른 경향이 있다.
    • They'll be more inclined to listen if you don't shout.당신이 고함을 지르지 않으면 그들이 더 귀를 기울일 것 같다.
  3. 3.
    • [형용사]to agreebelievethinketc. 동의하고, 믿고, 생각하고 싶다 등(자신의 의견을 완곡하게 표현할 때 씀)
    • I'm inclined to agree with you.전 당신의 생각에 동의하고 싶군요.
  4. 4.
    • [형용사][특정한 부사들과 함께 쓰여] …에 소질이 있는; …을 선호하는
    • musically/academically inclined children음악/공부에 소질이 있는 아동들
  5. 5.
    • [형용사]경사진, 기운

저장 : 2014.02.12

  1. 1.
    • [동사](감정・생각을) 넌지시 나타내다[비치다], 은연중에 풍기다
    • Are you implying (that) I am wrong?지금 제가 틀렸다는 뜻인가요?
    • disliked the implied criticism in his voice.나는 그의 목소리에서 은연중에 풍기는 비난이 싫었다.
  2. 2.
    • [동사]암시[시사]하다
    • The survey implies (that) more people are moving house than was thought.그 실태조사는 생각했던 것보다 더 많은 사람들이 집을 옮기고 있음을 시사한다.
    • The fact that she was here implies a degree of interest.그녀가 여기 왔었다는 사실은 어느 정도 관심이 있음을 암시한다.
  3. 3.
    • [동사][타동사][VN] 생각・행동 등이 성공하려면 무엇이 필요함을 의미하다
    • The project implies an enormous investment in training.그 프로젝트는 교육에 엄청난 투자가 있어야 함을 의미한다.





802.15.4를 이해하기위해서 반드시 이해를 해야하는 프리미티브 개념이다.


802.2-1998 표준문서를 참조하면 좀더 자세히 알수가 있다.


보통 통신프로토콜은 계층화되어 하위나 상위계층에서 어떤 정보의 흐름을 만들거나 전달하기위해서는 서비스함수를 거치게 된다. 특히, 오늘 이야기하려는 지그비의 경우 서비스함수(프리미티브)를 Request, Confirm, Indication, Response 4가지를 가진다.


이들 4가지 서비스는 프로토콜 계층화의 설명에 딱 어울리는 형태로 하위에서 상위로, 상위에서 하위로 일련의 동작을 하도록 명령을 하거나 지시받는 서비스로 아래의 그림에 나타나 있다. (수식으로 넣어서 엉망이다..)




어쨌든 위의 그림을 통해서 우리는 Request, Confirm은 하위에서 - 상위 레이어로, Indication, Response는 상위에서 하위레이어로 동작한다는것을 알수가 있다. 각 프리미티브들은 Layer SAP (Service Access Point)를 통해서 전달되며 특정 레이어에서 요구되는 정보나 파라미터를 전달하거나 제공한다는 개념으로 설명될 수 있다. 

(즉, 주거니 받거니의 의미로 분류할수 있다)


프리미티브는 4가지의 형태로 기술할수있다.


1) Request : 서비스 사용자가 상위 레이어에게 특정 기능호출을 요구함


2) Indication :  호출된 서비스에 대해서 상위 레이어는 이를 지시로 받아들인다


3) Response : 지시받은 서비스 (indication)의 완료를 알리는 응답이다


4) Confirm : 처음 서비스 사용자가 호출한 기능이 모두 완료되었음을 확인한다.


#include <stdio.h>


위의 코드는 C언어를 코딩할 때, 정말 수없이 봐오던 문장이다.

위를 통해서 유추할수 있는 전처리기의 특징은

1) #을 적는다

2) 세미콜론; 이 없다

3) 한줄씩 선언되며 #뒤에 어떤 명령이 온다.


짐작했듯이 #뒤에는 include명령 말고도 다양한 명령이 올수가 있다.

대표적인 전처리기의 명령 몇가지만 소개하자면 아래와 같다.



- 파일 처리를 위한 전처리기 문 : #include


- 형태 정의를 위한 전처리기 문 : #define, #undef


- 조건 처리를 위한 전처리기 문 : #if, #ifdef, #ifndef, #else, #elif, #endif


- 컴파일 옵션 처리를 위한 전처리기 문 : #pragma

http://blog.naver.com/since860321?Redirect=Log&logNo=130163293294



이중에서 오늘은 조건처리에 대해서 아래의 지식인 답변을 통해서 이해해보자.





질문

c++ #ifdef #ifndef #endif 이런거 설명좀요 .. 내공25

tto**** 
질문 486건 질문마감률61%
 
2012.03.12 01:20
10
답변
 
3
 
조회
 
8,444

#ifdef

#ifndef

#endif

 

이것들에 설명좀 해주세여요

 

#define 이 되있다면

?

안되있따면?

 

#endif ??

 

제가 보통 사용하는

 

그냥 공통적으로 필요한 헤더를 모아놓고

 

한번만 선언해놓거나 구조체를 모아놔서

 

#define 이란 header 만 하나 추가시켜놓고 거기에 몰아넣어서

 

그냥 선언하는 식으로 사용할떄

 

#ifndef __DEFINES_H__

#define __DEFINES_H__

 

....

 

#endif

 

이런식으로 쓰곤했는데 사실 이게 pragma once인가 그거

 

한번만 선언? 인가.. ( 자세힌 모르지만요 ) 하게 만든다고 하기 위해 한다고 하던데

 

고수님들 소스를 보면

 

#ifdef 소스~~~

#else

 소스~~~

#endif

소스~~~

막 이런식으로 저런게 되게 cpp 에도 잇꼬 header 에도 잇고

 

저런거 어떻게 사용하죵 ??



질문자/네티즌 채택

re: c++ #ifdef #ifndef #endif 이런거 설명좀요 ..

rantsu 
답변채택률96.7%
 
2012.03.12 02:19
답변 추천하기

질문자 인사

진심 감사합니다 아 이런 훌륭한 답변들이 .. !

님이 질문하신것을보고 "전처리기"라고 합니다.

전처리기에 대한 간단한 예를 들자면요.

윈도우를 보면 홈에디션, 프로페셔널 등등 각종 버젼이 있지요?
마이크로소프트에서 윈도우 버전을 만들때 홈에디션 따로, 프로페셔널 따로 만들까요? 
그렇지는 않겠지요?

이와 마찬가지로 님이 만약에 인터넷에서 파일을 다운받는 프로그램을 만들었습니다.
여기에 속도제한을 두고 싶어요. 
무료로 배포할때는 최고 속도를 10으로 돈주고 사는 사람에게는 최고 속도를 100으로 하고 싶습니다.

#ifdef PRO_VER
#define MAX_SPEED 100
#else
#define MAX_SPEED 10
#endif

이렇게 해두고 제어코드는 다음과 같이 하면 되겠지요?
if( speed > MAX_SPEED )
    speed = MAX_SPEED; // 최고속도를 초과하면 강제적으로 최고속도로 되돌림.

자.. 이렇게 작성을 마친후에...

유료버전을 만들기 위해 컴파일러 옵션에서 PRO_VER를 참으로 지정을 해서 컴파일을 합니다.
#ifdef PRO_VER
#define MAX_SPEED 100 <- 여기에 해당되어 컴파일
#else
#define MAX_SPEED 10
#endif
그럼 이 실행파일은 최고속도로 100을 갖게 됩니다.

무료버전을 만들기 위해 PRO_VER를 거짓으로 해서 컴파일을 합니다.
#ifdef PRO_VER
#define MAX_SPEED 100
#else
#define MAX_SPEED 10 <- 여기에 해당되어 컴파일
#endif

자~ 불필요하게 소스코드를 수정하지 않고, 컴파일러 옵션 설정만으로도 유료, 무료버전을 별도로 만들었습니다. 편리하죠?


이밖에 어떤 프로그램을 윈도우 버전, 리눅스 버전을 따로 만들어 배포하고 있습니다.
근데 C코드이기 때문에 대부분이 중복되고, 극히 일부분만 다르기 때문에 코드를 따로 관리하기가 힘듭니다.
그럼 어떻게 하면 되죠?

#ifdef WINDOWS
// 윈도우일때 필요한 코드
#else
// 리눅스일때 필요한 코드
#endif

동일한 코드는 그냥 놔두고, 극히 일부분만 다른 코드만 이런식으로 처리를 해줍니다.
그럼 컴파일할때 역시 코드 수정없이 윈도우버젼, 리눅스버젼 프로그램을 따로 만들 수 있는 겁니다.

뭐.. 이밖에도 통신환경을 설정한다거나 윈도우 버전별로 다른 처리를 하는 등등..
온갖 처리에 전처리기를 사용하게 됩니다.

이해가 되셨는지요?



아주 명쾌하다. 간단한 예제를 통해서 어떤식으로 사용되고있는지 까지 설명을 아우른다.

아무래도 답변자는 제대로 프로그래밍 언어를 아는듯 하다 ㅎ

암튼 몇가지 명령을 모아서 본다면 아래의 표와 같다.



 형식

내용 

 #if 

 ~이 참이라면 

 #ifdef

 ~이 정의되어 있지 않다면

 #ifndef

 ~이 정의되어 있지 않다면

 #else

 #if나 #ifdef에 대용된다

 #elif

 else if의 의미

 #endif

 #if, #ifdef, #infdef가 끝났음을 의미


지시어설명
#include <파일이름>미리 정의된 include 폴더에서 파일을 찾는다.
#include "파일이름"현재의 소스 코드가 저장되어 있는 폴더에서 먼저 찾고,
파일이 없다면 미리 정의된 include 폴더에서 파일을 찾는다.

#error


컴파일러 오류 메시지를 발생


#import


파일을 추가한다.


#elif


Else if


#else


Else


#ifndef


식별자가 정의되어 있지 않으면 참


#ifdef


식별자가 정의되어 있으면 참


#endif


#findef나 #ifdef, #else에 대한 전처리기 부분을 종료


#line


내부 행 넘버를 변경한다.


#undef


식별자를 정의하지 않는다.


#progma

링크할 때 헤더 파일이 한 번만 포함되게 한다







: c++ #ifdef #ifndef #endif 이런거 설명좀요 ..

easyflowinc 
답변채택률34.2%
 
2012.03.12 11:16
답변 추천하기
안녕하세요.

선행 처리기(preprocessor)란 소스프로그램이 컴파일되기 전에 미리 소스프로그램에 대해 일련의 작업을 하는것입니다.

예를들면, 프로그램 상에 기술된 약식표현을 모두 원래의 표현대로 바꾸어주는 역할을 하거나, 다른 프로그램 내에 포함시키는 등의 역할을 합니다. 일반적인 C컴파일러(compiler)는 소스프로그램 전체를 선행 처리기로 일단 처리한 다음 계속해서 컴파일(compile)하고 마지막으로 링크(link)하여 실행 가능한 프로그램(.EXE 파일)을 생성합니다.

 

컴파일러의 입장에서 보면 선행 처리기에 의해서 먼저 처리된 중간 프로그램을 소스프로그램의 일종으로 취급합니다.

즉, 선행 처리기는 목적 프로그램(기계어 프로그램)을 생성하는 것이 아니라, 선행 처리기가 하는 작업은 원시 프로그램을 컴파일하기 좋도록 가공하는 작업이라 할 수 있습니다. 다시 말해서 선행 처리기는 원시 프로그램 내의 모든 선행 처리기 지시어를 컴파일 할 수 있는 C 언어의 문장으로 바꾸어 주는 작업을 수행합니다.

 

선행 처리기의 대표적인 지시어는

#define

#include

#if

#else

#endif

...

등 여러가지가 있습니다.


위와같은 선행처리기 명령들은 조건적인 컴파일을 가능하게 해 줍니다.

큰 프로그램일수록 조건부 컴파일을 많이 합니다.


#ifdef OPTION

 

#include "aaa.h"

#define bbb 5


#else


#include "ccc.h"

#define ddd 15


#endif


위의 프로그램은 이전에 배운 조건문과 비슷한 구조이므로 쉽게 파악할 수 있습니다.

마지막에 endif 는 블럭이 끝남을 알리는 선행 처리기 명령입니다


#ifdef지정어는 그 다음에 오는 명칭,

1. (OPTION)이 선행처리기로 정의되었으면, 그 지점 다음에서 #else 전 까지 사용합니다.

2. (OPTION)이 선행처리기로 정의되어있지 않으면,  #else 다음부터 #endif 전까지 사용합니다.

 

다시말해, OPTION이 정의되었는가에 따라 소스코드를 선택하여 컴파일 할 수 있도록 합니다.


#if SYS == "AndroidPC"

#include "Android.h"

#endif


이러한 조건 컴파일의 용도는 주로 프로그램의 호환성을 높이기 위하여 많이 사용합니다.

파일의 앞 부분에 있는 몇 개의 중요한 정의만 바꾸면 다른 시스템을 위한 다른파일을 포함하여 사용할 수 있습니다.

출처 : http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=147544009&qb=I2lmZGVm&enc=utf8&section=kin&rank=1&search_sort=0&spq=0&pid=RxRH4lpySo8ssZxVfxKsssssssK-050019&sid=UxU5IgpyVo8AAExsNIE


네이버 지식iN. 


다른 전처리기와 관련 예제코드들:

http://blog.naver.com/pointer98?Redirect=Log&logNo=150036254254


명확한 typedef의 사용법 : 

http://blog.naver.com/pure_evil?Redirect=Log&logNo=60196169024





  

'Engineering > C Language' 카테고리의 다른 글

[C언어] 비트연산자와 16진법  (0) 2014.02.27
[C++] 구조체와 클래스  (0) 2014.02.24
[C언어] 메모리구조와 동적할당  (0) 2014.02.21
[본문스크랩] enum의 사용법  (1) 2014.01.28
[C언어] 구조체사용하기  (0) 2014.01.16

임베디드에서 진법연산과 비트연산은 기본중의 기본이다.


코드를 해석하다보면 특히 비트연산이 자주 등장하는데, 이를 이해하고 사용하기 위해서는 16진법에 대해서 알아야 한다.


예를 들어, 이진수 00110011을 16진수로 표현한다면


4개의 비트씩 묶어서 16진수로 표현된다.

        


            0 0 1 1      0 0 1 1 

         0X   3              3        = 33의 의미는 이진수를 16진법으로 표현한 숫자일뿐이며, 이를 해석할때 이진수로 변환하고

                                           MSB & LSB의 순으로 써내려가면 8비트의 원래 이진수값을 알수가 있다.



즉 정리하자면,


10진수 32+16+2+1 = 51은 이진수로 00110011 이며, 이를 16진수로 표현하면 0x33이 된다.



C 언어에서는 16진수를 표시하기 위해서는 숫자 앞에 0x 를 붙인다.



'Engineering > C Language' 카테고리의 다른 글

[C언어] 전처리기의 개념  (0) 2014.03.04
[C++] 구조체와 클래스  (0) 2014.02.24
[C언어] 메모리구조와 동적할당  (0) 2014.02.21
[본문스크랩] enum의 사용법  (1) 2014.01.28
[C언어] 구조체사용하기  (0) 2014.01.16

+ Recent posts