오늘은 아침일찍 보르게세 미술관으로 향했다.

보르게세 미술관은 1600년대 보르게세 가문의 수집품을 전시하는 별궁으로 쓰였던 곳인데, 가문이 파산하자 정부가 사들여 미술관으로 바꾼 곳이라고 한다.

사실 예약한 시간에서 30분 정도 지각을 했는데 관람하는데는 크게 지장이 없었다.

다만, 입장 인원수를 제한하고 백팩 및 사이드백을 모두 카운터에 맏겨야 하는 규정은 엄격하게 지켜지고 있었다. 



베르니니 <페르세포네의 납치>


유명한 작품이 많다는 얘기를 들었는데 직접 보니 확실히 조각상의 표정 표현과 역동적인 자세의 퀄리티가 높았다.

게다가 미켈란젤로, 베르니니와 카르바조 등의 유명한 인물들의 작품이 있다보니 좀 더 집중도가 올라가는 느낌이었다.


보르게세에서의 짧은 두 시간을 보내고 젤라또를 먹으러 갔다.

Giolitti라는 젤라또 계에서는 상당히 유명한 집이었는데, 근처에 갔다면 꼭 한번 가볼만한 집으로 추천한다.

특히 수박맛과 메론, 쌀맛이 일품이었다. 아주 맛있었다.



상당히 쫄깃하면서도 부드럽고 고소한 RICE 맛.


트레비 분수로 향했다. 웅장하고도 아름다운, 전형적인 로마식 조각과 분수가 결합된 형태였다.

하지만, 우리가 갔던 8월 첫째주가 이탈리아 자체적으로도 체감온도가 50도에 육박했던 시기였기 때문에 상당히 무더웠다.

관광지 한 곳을 둘러볼 때마다 생수 한통이 필요할 정도로 펄펄 끓었고, 사람 밀집도도 너무나 높았기 때문에 더 덥게 느껴졌다.

그래서일까, 트레비 분수에 뒤돌아서 동전을 던지면 다시 로마에 방문할 수 있다는 얘기가 있었음에도 동전을 던지지 않았다. 여름엔 안 오련다..


다음 차례는 웅장함 그 자체인 판테온이었다.

사람은 많았지만 기다리는 시간은 길지 않았다. 판테온이 워낙 많은 사람을 수용할 수 있고, 막상 들어가면 볼게 그리 많지 않기 때문.

들어가보니 거대한 돔에 뚫린 원형 구멍에서 들어오는 빛이 시선을 끌었다.

돔에서 들어오는 빛의 방향에 따라 내벽에 설치된 작품을 비춰주는 완벽한 원형 구조였다. 로마의 건축력에 혀를 내두를 수 밖에 없었다.

돔 바로 밑 가장 가운데에 위치한 원형판 바닥에서 사진을 찍으면 돔과 원형 구조가 완벽하게 찍힌다고 한다. 하지만 그 근처도 역시 사람들이 바글바글한지라..


이후 나보나 광장을 거쳐 저녁을 먹으러 갔다. 나보나광장은 오벨리스크와 피우미 분수가 인상적이었다.

글을 써 갈수록 감상문이 짧아지는 것은 기분 탓이다.. 사실 로마 건축물이 여행을 할 수록 평범하게 느껴졌기 때문이다.

처음에는 멋있고 거대하고 웅장하게 느껴지지만, 훌륭한 작품들을 계속 보다가 일반적인 건축물을 보면 '아 이런 것도 있구나'하는 생각이 들기 때문일까.



나보나 광장은 오벨리스크와 피우미 분수만을 보러 가기에도 부족하지 않다.


저녁식사는 송아지 고기와 피자, 까르보나라 파스타였다.

이탈리아에서 또 하나 인상적인 부분이 바로 까르보나라 파스타였는데, 확실히 한국의 크림식과는 맛이 달랐다.



정통식 레시피인 치즈와 계란노른자를 이용해서인지 확실히 풍미가 있었다.


레스토랑에서 밖에 진짜 음식들을 진열해뒀는데, 참새와 비둘기들이 가끔씩 날라와 만찬을 즐기고 가곤 했다.. 비위생적이진 않고 친근한 느낌

이탈리아는 어딜 가도 그 집의 대표메뉴를 고르면 성공하는 듯 하다.

유럽사람들이 자신이 하는 일에 대한 자부심이 강하고, 레스토랑의 경우 대표메뉴에 대한 자존심이 있기 때문.

따라서 구글링을 해서 무조건적인 맛집을 찾아가지 말고(열에 아홉은 한국인이 많다) 거리를 걷다가 메뉴판을 보고 적당히 선택하는 것도 좋은 방법이라고 생각한다.

참고로 이탈리아에는 팁 문화가 별로 없는 듯 하다. 팁 줄 돈을 아껴서 젤라또를 사먹자!

'여행을 떠나자 > 해외로' 카테고리의 다른 글

[Day 5] 바티칸 투어, 굿바이 로마  (0) 2017.08.27
[Day 4] 남부의 태양!  (0) 2017.08.26
[Day 2] 정말 로마에 왔구나!  (0) 2017.08.25
[Day 1] 이탈리아 첫인상  (0) 2017.08.24
[Day 0] Seoul to Rome  (0) 2017.08.24

아침 일찍 일어나 콜로세움으로 향했다.

역시나 성수기라 그런지 사람이 바글바글했는데, 전날 준비해둔 E티켓이 신의 한 수가 되었다.

콜로세움 E티켓은 공식 홈페이지를 통해 예약할 수 있다.

성인기준 입장료 12유로 + 예약비 2유로, 총 14유로의 가격으로 꽤 비싼 편이다.


E티켓과 다리환자를 배려해준 안내원 덕분에 빠르게 입장했는데도 불구하고 30분 이상 기다린 후에 콜로세움에 입성하게 되었다.



엄청나게 많은 사람들이 엄청나게 거대한 옛 경기장 속을 누비고 있었다.


밖에서 보던 웅장함에 비해 안쪽은 볼게 많지 않았는데, 0층과 1층에서 한 바퀴를 둘러보면 끝이었기 때문이었을까.

오히려 콜로세움의 옛 도면과 유적, 기념품 샵이 잘 구성되어 있어서 그쪽이 더 마음에 들었다.

사실 전문적인 가이드가 없으니, 사이사이 적혀있는 설명을 보며 내 배경지식과 끼어맞추는 투어를 했다.

그래서 그런지 콜로세움은 내게 크게 와닿지 않았고, 아직도 약간은 아쉬움으로 남아있는 곳 중 하나다.


이후 근처 거리를 걸어다니며 점심식사를 했다.

4명에서 피자 세 판과 파스타 하나를 먹었는데, 양이 너무 많았다!

이탈리아에서 피자가 싸다고 1인 1피자는 생각도 하지 말자.. 4명이면 피자 3판이 적당한듯.


다음 코스는 진실의 입이 있는곳으로 널리 알려져 있는 산타 마리아 인 코스메딘 성당이었다.

전날 끊어둔 HOP-ON HOP-OFF 티켓으로 콜로세움에서 이동했다. 날씨에 따라 걸어갈 수도 있는 거리지만, 왠만하면 버스를 이용하자.

진실의 입에도 역시나 사람이 많았는데, 솔직히 이탈리아에서 소위 '인증샷'을 찍기 가장 좋은 곳이어서 갔을 뿐.. 큰 기대는 없었다.

하지만 안쪽 성당이 잘 꾸며져 있고, 아기자기한 기념품도 많이 팔아서 한번쯤은 가볼 만 하겠다.


그 후 카피톨리노 박물관으로 향했다. 

캄피톨리노 언덕에 위치한 이 박물관은 바토리 궁과 누오보 궁으로 나뉘어져 있으며 조각과 미술품들을 다수 전시 중이다.

시간이 많이 남았기 때문에 다 둘러보자는 마음가짐으로 입장했는데, 생각보다 전시가 잘 되어 있어서 정말로 하나하나 다 둘러볼 수 있었다.

총 네시간동안 관람하며 어릴 적 듣고 읽었던 그리스 로마신화의 장면들과 인물드링 조각상으로 눈앞에 놓여져 있으니 신기할 따름이었다.

또한 생동감 있는 조각상과 웅장한 조각상 등 수많은 작품의 디테일한 부분에 놀라기도, 거대함에 압도당하기도 했다.



로마 조각상은 위엄이 넘친다.


그 중 가장 인상깊었던 부분 중 하나는 2층에서 보는 포로 로마노의 경치였다.

언덕에 위치한 박물관이다보니 포로 로마노 대부분을 시원한 바람과 함께 내려다볼 수 있었다.

개인적으로 너무 더웠기 때문에 포로 로마노는 걷지 않기로 했었는데, 한눈에 보이니 걸을 필요가 없다 싶었다.

멀리 있는 콜로세움도 보일 정도로 날이 맑아서 한동안 전망을 즐길 수 있었다.


오늘의 하이라이트는 생각지도 못한 장소였다.

조국의 제단이라는 나에게 생소한 곳이었는데, 가이드 북에서나 인터넷에서 접해보지 못했던 곳이었다.

얼마나 대단하길래 '조국'이라는 단어를 쓸 정도인가 싶었는데, 직접 보니 수긍이 갈 정도로 웅장하고 거대한 건축물이었다.

특히 가운데 탑에 올려진 말은 그 기개가 느껴질 정도였다. 계단 하나하나와 장식들과 거대한 기둥들이 만들어내는 섬세함 또한 감탄사를 자아냈다.

14~15세기에 어떻게 이런 거대한 건축물을 만들 수 있었을까 싶을 정도로.



보고 있자면 감탄밖에 나오지 않는다.


볼 것도 다 봤겠다, 저녁으로 파스타를 먹으러 레스토랑으로 향했다.

어느덧 해가 저물어가고 있었다. 우리가 찾은 레스토랑은 나보나 광장쪽에 있는 Cantina e Cucina.



백조를 형상화한 호일(?) 안에 들어있던 해산물 파스타는 정말 맛있었다. 내가 유럽, 아니 이탈리아에 왔다는 것을 실감나게 만들어준 맛이었다.

천사의 성과 나보나 광장 근처로 갔다면 한번쯤 가볼 만한 곳으로 추천한다.


오늘 하루는 천사의 성 야경을 보며 마무리했다.

다리에서부터 성까지의 달빛과 조명, 몇 개의 별이 만들어내는 빛은 황홀하고 아름다웠다.

여유가 흐르고 유려한 천사의 빛을 담은 강물이 흐르는 것을 지켜보며 우리는 또 하루 로마에서의 밤을 보냈다.



별을 보아라




'여행을 떠나자 > 해외로' 카테고리의 다른 글

[Day 5] 바티칸 투어, 굿바이 로마  (0) 2017.08.27
[Day 4] 남부의 태양!  (0) 2017.08.26
[Day 3] 로마를 보고, 느끼고 즐기다  (0) 2017.08.26
[Day 1] 이탈리아 첫인상  (0) 2017.08.24
[Day 0] Seoul to Rome  (0) 2017.08.24

이탈리아는 딱히 유럽같다는 생각이 들지 않았다.

14년도에 유럽에 한번 와봐서일까, 평소와 똑같이 친한 친구들이 곁에 있어서일까.

그저 다른 언어, 다른 풍경, 다른 사람들이 있는 우리나라 어딘가에 떨어진 기분이었다.


우리가 예약한 숙소는 로마 중심부에서는 조금 떨어진 곳이었다.



교통만 제외하면 대체로 마음에 들었던 곳. Best Western Globus Hotel


체크인을 하고 얘기를 나누다가 이탈리아도 둘러볼 겸 다섯시쯤 방을 나섰다.

이동하기 가장 용이한 Termini 역까지 310번 버스도 있었지만, 배차간격이 워낙 길어서 그새 피자도 먹었다는 사실..

하지만 근처에 버스티켓을 파는 곳이 없어서 결국 걸어갔다.



날씨는 꽤나 뜨거웠다. 그러나 한국처럼 습도가 높지는 않아서인지 체감온도는 그리 높지 않았다.


이탈리아에서는 버스티켓을 사려면 근처 자동판매기를 이용하거나 Tabacci라는 편의점을 찾아야 한다.

우리는 그 사실을 모르기도 했고, 근처 Tabacci가 영업을 하지 않았다.

이탈리아 사람들은 8월에 휴가를 많이들 간다고 하는데, 근처 Tabacci 사장도 아무래도 휴가를 갔던 듯. 3박 4일 내내 연 적이 없었다.

게다가 Tabacci 자체가 구글맵에 검색해도 잘 나오지 않기 때문에 대중교통을 이용할 일이 있으면 미리미리 사두도록 하자.


Termini는 여행객들로 바글바글했다. 우리가 여차여차하다가 그 곳에 도착했을 때는 이미 9시여서 따로 관광을 하기엔 힘든 시간이었다.

따라서 우리는 『I ♡ Rome』이라는 HOP-ON HOP-OFF 관광버스를 타고 로마의 큰 그림을 그려보기로 했다.

하지만 우리는 버스와 인연이 없는 것일까, 이 관광버스마저 한시간이라는 괴랄한 배차간격으로 인해 다른 관광버스로 옮겨타게 되었다.

갈아탄 『City Rome』의 버스노선은 공화국 광장을 거쳐 콜로세움, 진실의 입, 조국의 제단, 천사의 성 등을 도는 전형적인 루트였다.


로마의 대표적인 맥주인 Peroni와 함께했던 버스 야경투어는 한국어를 지원하지 않아서였을까, 뭐가 뭔지 몰라서 큰 감흥은 없었다.

『City Rome』은 한국어를 지원한다고 홍보하지만 버스 by 버스이니 주의하자. 배차간격과 버스의 수를 볼때 가장 좋은 버스는 역시 『City Sightseeing』이다.

한국어 지원은 가이드북 하나만 읽으면 다 나오는 내용이기 때문에 큰 의미가 없는 수준.

그렇게 로마에서의 첫 날이 저물었다.

출발은 가락동에서 6300번 공항버스를 타는 것이었다.

여행은 네명이서 하기로 했는데, 두 명은 먼저 가족여행으로 떠나서 나랑 친구 한놈이 함께 이동하게 되었다.

이 친구가 여행가기 한달 전쯤에 교통사고로 다리를 다쳐서 거동이 불편하다는 것을 알고는 있었지만, 직접 보니 꽤나 힘들어 보였다.

게다가 목감기에 걸려서 콜록대고 있으니, 더욱 불쌍해 보일 수 밖에.


우리가 탄 항공권은 3월쯤 예약해둔 도하를 경유하는 카타르 항공이었다. 

경유 두 시간을 합쳐서 대략 16시간이 소요되는 이 비행은 생각보다 녹록치 않았다.

도하까지 가는 데 9시간, 도하에서 이탈리아까지 가는데 5시간. 게다가 출발시간도 한국기준 새벽 두시였으니, 정신이 하나도 없었다.

도하 공항은 중동의 바깥 날씨와 다르게 시원하게 운영되고 있었다.

또한 규모가 상당히 큰데 비해 자동화시스템이 잘 구비되어 있어서 여행객들이 움직이기 편한 구조로 되어 있었다.



하지만 도하에서 많은 항공이 경유를 하는 만큼, 환승구에 사람이 어찌나 많던지!

한참을 기다려야 할 뻔 했지만, 친구의 다리가 슈퍼패스 역할(?)을 해서 금방 통과할 수 있었다. 개이득!


이탈리아행 비행기 역시 편하지만은 않았다. 이코노미석을 이용했는데, 아시아나보다는 편하고 대한항공보다는 불편한 느낌이랄까?

또한 카타르 항공에서 아쉬웠던 점은 제공하는 영화의 대부분이 한글자막이 없다는 점이었다.

여튼! 장시간에 거친 비행이 끝나고 우리는 피우미치노 공항에 무사히 도착할 수 있었다. 



알프스 산맥 전경. 카타르항공 문양이 잘 나온 듯.

운영체제가 담당하는 기능 중 하나인 메모리 관리는 쾌적한 프로그래밍과 overhead를 최소화하고 성능을 극대화하기 위해 꼭 필요한 기능이다.


따라서 운영체제는 실행되고 있는 작업(프로세스)들에게 메모리를 적절히 분배하며 작업이 끝나면 할당한 메모리를 회수한다.


운영체제에서 대표적인 메모리 관리 기법으로는 CMA, Paging, Segmentation 등이 있는데,

이 기법들은 메인 메모리(M·M)에 작업들을 어떻게 할당하느냐에 따라 그 성격이 나뉘게 된다.


하나하나 알기쉽게 같이 공부해보도록 하자.



CMA (Contiguous Memory Allocation)

영어로 쓰면 상당히 어려운 개념으로 보이지만, 연속 메모리 할당이라고 간단하게 해석할 수 있다.


프로세스가 실행될 때 프로세스는 OS에게 메모리를 요청한다.

만약 메모리 공간 상에 요청한 만큼의 공간이 남아있으면 메모리를 할당해 주지만, 그렇지 않다면 그만큼의 메모리가 생길 때 까지 기다려야 한다.


CMA방법으로 메모리를 할당해준다는 것은 남아있는 메모리를 계산할 때 따로따로 떨어져있는 메모리를 합쳐서 계산하는 것이 아니라

연속적인 메모리 공간을 계산한다는 것이다.


이른바 작업들을 할당할 때 작업을 분할하지 않고 통째로 메모리에 올린다는 뜻인데, 그림을 한번 살펴보자.


 메인 메모리

              5K

 Job.1    3K 

              2K

 Job.7    5K

 Job.3   4K

             3K

 Job.5    5K


이런식으로 메모리가 할당되어있다고 하자. 작업은 1, 3, 5, 7이 각각 3K, 5K, 4K, 5K만큼 할당되어 있고 비할당 메모리는 총 10K이다.  


이제 Job.11 이 실행하고자 OS에게 6K만큼의 메모리를 요구했다.

CMA 방법에서는 Job을 분할하지 않기 때문에 현재로써는 들어갈 공간이 없다.


따라서 Job들을 메모리 상에서 이동시켜 6K 이상의 공간을 만들어줘야 한다.

이 때 원칙은 가장 적은 메모리 이동으로 하나의(One single hole) 여유공간을 만들어줘야 한다는 것이다.

이 과정을 컴팩션(Compaction)이라고 하는데, 위의 예시를 Compaction시킨 결과는 다음과 같다.


 메인 메모리

              5K

              3K 

              2K

 Job.7    5K

 Job.3   4K

 Job.1    3K

 Job.5    5K


Job.1 을 Job.3 과 Job.5 사이의 빈 공간에 넣어줌으로써 최소한의 이동으로 하나의 여유공간을 만들었다.


이처럼 메모리에 작업단위로 프로세스를 할당시키면 작업이 끊기지 않고 논리적으로 잘 수행될 수 있다는 장점이 있지만,

메모리 공간이 부족할 때 Compaction을 하는 과정에 있으면 작업이 중단되며 오버헤드가 발생한다.


또한 비용도 많이 들기 때문에 실상 잘 사용하지 않는 메모리 관리 기법이라고 할 수 있겠다.



Paging

페이징 기법은 메인 메모리를 일정한 사이즈의 할당공간인 frame으로 쪼갠 뒤 프로세스도 그 크기에 맞게 나누어 할당하는 기법을 말한다.

frame 사이즈에 맞춰 프로세스를 나눈 단위를 page라고 하는데, 이 페이지들은 페이지 테이블에 순서에 따라 저장된다.


하나의 프로세스는 하나의 페이지 테이블을 갖고, 테이블은 인덱스와 내용으로 구성되어 있는데 

인덱스는 페이지의 순서를, 내용은 메인 메모리에 들어가는 위치를 가지고 있다.

그림을 보면서 이해해보도록 하자.


위와 같이 프로세스는 페이지 네 개로 나뉘고 테이블은 페이지의 인덱스를 메모리의 위치에 맞춰 저장하는 것이다.


이처럼 페이징은 메인 메모리가 일정한 단위로 나누어져있기 때문에 추가적인 메모리 할당이 요구될 때 Compaction을 할 필요가 없다.


하지만 논리적으로 같은 메모리 영역에 있어야 할 작업들이 나누어지므로 작업을 수행할 때 메모리를 탐색하기 때문에 오버헤드가 발생한다는 단점이 있다.

heap, stack, function과 같은 요소가 논리적인 작업에 속한다.


또한 만약 3.8K의 프로세스가 있다면 1K씩 페이지를 할당한다고 했을 때 0.2K가 남는 것처럼 불필요한 공간이 생길 수 있는데

이를 internal fragmentation(내부 단편화) 라고 한다.

이를 해결하기 위해서 0.1K 씩 페이지를 할당하게 된다면 내부 단편화 문제는 해결되어도 페이지 수가 많아지기 때문에 테이블의 크기가 커진다는 단점이 있다.



Segmentation

세그멘테이션 기법은 페이징 기법에서 나타나는 내부 단편화 문제를 해결하기 위해 고안된 방법으로

프로세스를 서로 다른 크기로 나누어 메모리에 할당하는 방법을 말한다.


이 때 나눈 부분을 세그멘테이션, 섹터라고 부른다.


세그멘테이션은 일반적으로 페이징 기법에 기반하여 사용되는데,

스택과 힙, 함수와 같이 논리적인 부분만 같은 구역에 넣어주고 나머지 부분은 page로 나누어 메모리에 할당하는 식으로 많이 사용된다.


하지만 이 세그멘테이션 기법은 각각의 섹터에 대해 페이지 테이블이 존재하기 때문에 접근할 때 오버헤드가 발생하고

페이지가 너무 잘게 쪼개져 있어 할당하기가 힘든 external fragmentation(외부 단편화) 문제가 발생하게 된다.



다음과 같이 세 가지 메모리 관리 기법을 알아보았다.


메모리 관리는 운영체제에 있어서 정말 필수적이고도 중요하기 때문에 운영체제를 공부하는 사람이라면

적어도 위의 세 가지 방법은 꼭 숙지하고 있어야 하겠다.



+ Recent posts