100% found this document useful (1 vote)
24 views50 pages

Hands on system programming with C 1st Edition by Rian Quinn ISBN 9781789131772 1789131774 download

The document is a promotional overview of the book 'Hands-On System Programming with C' by Rian Quinn, which covers system programming concepts using C and C++17. It includes links to download the book and suggests additional related titles for further exploration. The book is published by Packt Publishing and emphasizes practical applications in Unix and Linux systems.

Uploaded by

norocjosten
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
24 views50 pages

Hands on system programming with C 1st Edition by Rian Quinn ISBN 9781789131772 1789131774 download

The document is a promotional overview of the book 'Hands-On System Programming with C' by Rian Quinn, which covers system programming concepts using C and C++17. It includes links to download the book and suggests additional related titles for further exploration. The book is published by Packt Publishing and emphasizes practical applications in Unix and Linux systems.

Uploaded by

norocjosten
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

Hands on system programming with C 1st Edition

by Rian Quinn ISBN 9781789131772 1789131774 pdf


download

https://ebookball.com/product/hands-on-system-programming-
with-c-1st-edition-by-rian-quinn-
isbn-9781789131772-1789131774-20234/

Explore and download more ebooks or textbooks


at ebookball.com
Here are some recommended products for you. Click the link to
download, or explore more at ebookball.com

Fundamentals of Computer Programming With C 1st Edition by


Svetlin Nakov ISBN 9544007733 9789544007737

https://ebookball.com/product/fundamentals-of-computer-programming-
with-c-1st-edition-by-svetlin-nakov-
isbn-9544007733-9789544007737-15862/

Introduction to Game Programming with C 1st Edition by


Alan Thorn ISBN 1598220322 9781598220322

https://ebookball.com/product/introduction-to-game-programming-
with-c-1st-edition-by-alan-thorn-isbn-1598220322-9781598220322-25226/

Beginning Object Oriented Programming with C 1st Edition


by Jack Purdum 1118336925 978-1118336922

https://ebookball.com/product/beginning-object-oriented-programming-
with-c-1st-edition-by-jack-purdum-1118336925-978-1118336922-15290/

C++ GUI Programming With Qt 4 1st edition by Jasmin


Blanchette, Mark Summerfield ISBN 0131872494 9780131872493

https://ebookball.com/product/c-gui-programming-with-qt-4-1st-edition-
by-jasmin-blanchette-mark-summerfield-
isbn-0131872494-9780131872493-12526/
Hands On Machine Learning with Scikit Learn and TensorFlow
Concepts Tools and Techniques to Build Intelligent Systems
1st Edition by Aurelien Geron ISBN 1491962291
9781491962299
https://ebookball.com/product/hands-on-machine-learning-with-scikit-
learn-and-tensorflow-concepts-tools-and-techniques-to-build-
intelligent-systems-1st-edition-by-aurelien-geron-
isbn-1491962291-9781491962299-16116/

Hands On Machine Learning for Cybersecurity Safeguard your


system by making your machines intelligent using the
Python ecosystem 1st edition by Soma Halder, Sinan Ozdemir
9781788990967 178899096X
https://ebookball.com/product/hands-on-machine-learning-for-
cybersecurity-safeguard-your-system-by-making-your-machines-
intelligent-using-the-python-ecosystem-1st-edition-by-soma-halder-
sinan-ozdemir-9781788990967-178899096x-18658/

Hands On Machine Learning With Scikit Learn and TensorFlow


Techniques and Tools to Build Learning Machines 3rd
Edition by OReilly Media ISBN 9781098122461 1098122461
https://ebookball.com/product/hands-on-machine-learning-with-scikit-
learn-and-tensorflow-techniques-and-tools-to-build-learning-
machines-3rd-edition-by-oreilly-media-
isbn-9781098122461-1098122461-15618/

Head First C A Learner Guide to Real World Programming


with C XAML and NET 3rd Edition by Jennifer Greene, Andrew
Stellman ISBN 1449343503 9781449343507
https://ebookball.com/product/head-first-c-a-learner-guide-to-real-
world-programming-with-c-xaml-and-net-3rd-edition-by-jennifer-greene-
andrew-stellman-isbn-1449343503-9781449343507-13752/

Programming 8 Bit PIC Microcontrollers in C With


Interactive Hardware Simulation 1st Edition by Martin
Bates 0750689609 9780750689601
https://ebookball.com/product/programming-8-bit-pic-microcontrollers-
in-c-with-interactive-hardware-simulation-1st-edition-by-martin-
bates-0750689609-9780750689601-15264/
Hands-On System
Programming with C++

Build performant and concurrent Unix and Linux systems with


C++17

Dr. Rian Quinn

BIRMINGHAM - MUMBAI
Hands-On System Programming with C++
Copyright © 2018 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form
or by any means, without the prior written permission of the publisher, except in the case of brief quotations
embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented.
However, the information contained in this book is sold without warranty, either express or implied. Neither the
author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to
have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products
mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy
of this information.

Commissioning Editor: Richa Tripathi


Acquisition Editor: Shriram Shekhar
Content Development Editor: Tiksha Sarang
Technical Editor: Riddesh Dawne
Copy Editor: Safis Editing
Project Coordinator: Prajakta Naik
Proofreader: Safis Editing
Indexer: Tejal Daruwale Soni
Graphics: Jisha Chirayil
Production Coordinator: Arvindkumar Gupta

First published: December 2018

Production reference: 1211218

Published by Packt Publishing Ltd.


Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.

ISBN 978-1-78913-788-0

www.packtpub.com
To my beautiful wife, Charmaine Quinn. Without her, this book would not have been possible.

– Dr. Rian Quinn


mapt.io

Mapt is an online digital library that gives you full access to over 5,000 books and videos, as
well as industry leading tools to help you plan your personal development and advance
your career. For more information, please visit our website.

Why subscribe?
Spend less time learning and more time coding with practical ebooks and videos
from over 4,000 industry professionals

Improve your learning with skill plans designed especially for you

Get a free eBook or video every month

Mapt is fully searchable

Copy and paste, print, and bookmark content

Packt.com
Did you know that Packt offers eBook versions of every book published, with PDF and
ePub files available? You can upgrade to the eBook version at www.packt.com and, as a
print book customer, you are entitled to a discount on the eBook copy. Get in touch with us
at [email protected] for more details.

At www.packt.com, you can also read a collection of free technical articles, sign up for a
range of free newsletters, and receive exclusive discounts and offers on Packt books and
eBooks.
Contributors

About the author


Dr. Rian Quinn is a Chief Technology Officer (CTO) in the Advanced Technologies
Business Unit at Assured Information Security, Inc. focused on trusted computing,
hypervisor related technologies, machine learning/artificial intelligence, and cyber security
for more than 10 years and has 9 years of technical management and business development
experience. He holds a Ph.D. in Computer Engineering, specializations in information
assurance and computer architectures, from Binghamton University. He is the co-founder
and lead developer of the Bareflank Hypervisor, and is an active member of several open
source projects, including Microsoft's Guideline Support Library (GSL) and OpenXT.
About the reviewer
Will Brennan is a C++/Python software engineer based in London with experience of
working on high-performance image processing and machine learning applications.

Packt is searching for authors like you


If you're interested in becoming an author for Packt, please visit authors.packtpub.com
and apply today. We have worked with thousands of developers and tech professionals,
just like you, to help them share their insight with the global tech community. You can
make a general application, apply for a specific hot topic that we are recruiting an author
for, or submit your own idea.
Table of Contents
Preface 1
Chapter 1: Getting Started with System Programming 7
Technical requirements 7
Understanding system calls 8
The anatomy of a system call 8
Learning about different types of system calls 11
Console input/output 11
Memory allocation 12
File input/output 13
Networking 13
Time 13
Threading and process creation 14
System call security risks 15
SYSRET 15
Meltdown and Spectre 16
Benefits of using C++ when system programming 17
Type safety in C++ 18
Objects of C++ 19
Templates used in C++ 22
Functional programming associated with C++ 24
Error handling mechanism in C++ 26
APIs and C++ containers in C++ 27
Summary 28
Questions 28
Further reading 28
Chapter 2: Learning the C, C++17, and POSIX Standards 29
Technical requirements 30
Beginning with the C standard language 30
How the standard is organized 31
Environment 31
Language 31
Libraries 32
How a C program starts 32
All about linking 34
Static libraries 36
Dynamic libraries 37
Scope 37
Pointers and arrays 39
Libraries 42
Table of Contents

Learning about the C++ standard 43


How the standard is organized 44
General conventions and concepts 44
Language syntax 44
Libraries 45
Linking C++ applications 45
Scope 48
Pointers versus references 49
Libraries 51
Beginning with the POSIX standard 51
Memory management 52
Filesystems 53
Sockets 53
Threading 54
Summary 54
Questions 55
Further reading 55
Chapter 3: System Types for C and C++ 56
Technical requirements 56
Exploring C and C++ default types 57
Character types 57
Integer types 61
Floating – point numbers 65
Boolean 67
Learning standard integer types 68
Structure packing 73
Summary 81
Questions 81
Further reading 82
Chapter 4: C++, RAII, and the GSL Refresher 83
Technical requirements 83
A brief overview of C++17 84
Language changes 84
Initializers in if/switch statements 84
Additions to compile-time facilities 85
Namespaces 88
Structured bindings 89
Inline variables 91
Changes in the library 92
String View 92
std::any, std::variant, and std::optional 97
Resource Acquisition Is Initialization (RAII) 99
The Guideline Support Library (GSL) 103
Pointer ownership 103

[ ii ]
Table of Contents

Pointer arithmetic 106


Contracts 108
Utilities 110
Summary 112
Questions 112
Further Reading 112
Chapter 5: Programming Linux/Unix Systems 113
Technical requirements 114
The Linux ABI 114
The System V ABI 114
The register layout 115
The stack frame 116
Function prologs and epilogs 117
The calling convention 120
Exception handling and debugging 124
Virtual memory layout 129
Executable and Linkable Format (ELF) 129
ELF sections 131
ELF segments 137
The Unix filesystem 140
Unix processes 142
The fork() function 143
The wait() function 148
Interprocess communication (IPC) 151
Unix pipes 153
Unix shared memory 157
The exec() function 159
Output redirection 164
Unix signals 167
Summary 170
Questions 171
Further reading 171
Chapter 6: Learning to Program Console Input/Output 172
Technical requirements 172
Learning about stream-based IO 173
The basics of stream 173
Advantages and disadvantages of C++ stream-based IO 174
Advantages of C++ stream-based IO 175
Disadvantages of C++ stream-based IO 175
Beginning with user-defined types 175
Safety and implicit memory management 177
Common debugging patterns 179
Performance of C++ streams 188
Learning about manipulators 189

[ iii ]
Table of Contents

Recreating the echo program 198


Understanding the Serial Echo server example 206
Summary 213
Questions 214
Further reading 214
Chapter 7: A Comprehensive Look at Memory Management 215
Technical requirements 215
Learning about the new and delete functions 216
The basics for writing a program 216
Aligning memory 219
nothrow 224
Placement of new 226
Overloading 229
Understanding smart pointers and ownership 234
The std::unique_ptr{} pointer 234
The std::shared_ptr pointer 243
Learning about mapping and permissions 253
The basics 253
Permissions 256
Smart pointers and mmap() 258
Shared memory 260
Learning importance of memory fragmentation 263
External fragmentation 263
Internal fragmentation 264
Internal over external fragmentation 265
External over internal fragmentation 265
Summary 266
Questions 266
Further reading 266
Chapter 8: Learning to Program File Input/Output 267
Technical requirements 267
Opening a file 268
Different ways to open a file 268
Modes for opening a file 270
Reading and writing to a file 275
Reading from a file 275
Reading by field 275
Reading bytes 277
Reading by line 281
Writing to a file 283
Writing by field 283
Writing bytes 285
Understanding file utilities 294
Paths 294

[ iv ]
Table of Contents

Understanding the logger example 307


Learning about the tail file example 310
Comparing C++ versus mmap benchmark 312
Summary 316
Questions 316
Further reading 317
Chapter 9: A Hands-On Approach to Allocators 318
Technical requirements 319
Introducing the C++ allocators 319
Learning about the basic allocator 320
Understanding the allocator's properties and options 324
Learning the properties 324
The value pointer type 324
Equality 325
Different allocation types 326
Copying equal allocators 330
Moving equal allocators 332
Exploring some optional properties 334
Optional functions 345
Studying an example of stateless, cache–aligned allocator 346
Compiling and testing 348
Studying an example of a stateful, memory–pool allocator 349
Compiling and testing 358
Summary 359
Questions 360
Further reading 360
Chapter 10: Programming POSIX Sockets Using C++ 361
Technical requirements 361
Beginning with POSIX sockets 362
Beginning with APIs 362
The socket() API 362
The bind() and connect() APIs 364
The listen() and accept() APIs 366
The send(), recv(), sendto(), and recvfrom() APIs 367
Studying an example on the UDP echo server 369
Server 369
The client logic 375
Compiling and testing 380
Studying an example on the TCP echo server 381
Server 381
The client logic 386
Compiling and testing 389
Exploring an example on TCP Logger 390
Server 390

[v]
Table of Contents

The client logic 393


Compiling and testing 396
Trying out an example for processing packets 397
The client logic 400
Compiling and testing 401
Processing an example of processing JSON 402
Server 403
The client logic 405
Compiling and testing 406
Summary 407
Questions 407
Further reading 408
Chapter 11: Time Interfaces in Unix 409
Technical requirements 409
Learning about POSIX time.h APIs 410
Learning about the types of APIs 410
The time() API 411
The ctime() typedef 412
The localtime() and gmtime() APIs 413
The asctime() function 413
The strftime() function 414
The difftime() function 416
The mktime() function 417
The clock() function 418
Exploring C++ Chrono APIs 420
The system_clock() API 420
The time_point API 421
Duration 423
The steady_clock function 427
The high_resolution_clock function 428
Studying an example on the read system clock 429
Compiling and testing 430
Studying an example on high-resolution timer 431
Compiling and testing 433
Summary 434
Questions 434
Further reading 434
Chapter 12: Learning to Program POSIX and C++ Threads 435
Technical requirements 436
Understanding POSIX threads 436
The basics of POSIX threads 436
Yielding 440
Synchronization 443

[ vi ]
Table of Contents

Exploring C++ threads 449


The basics of C++ threads 449
Yielding 452
Synchronization 454
Studying an example on parallel computation 466
Compiling and testing 470
Studying an example on benchmarking with threads 471
Compiling and testing 473
Studying an example on thread logging 474
Compiling and testing 478
Summary 479
Questions 479
Further reading 479
Chapter 13: Error – Handling with Exceptions 480
Technical requirements 480
Error handling POSIX-style 481
Learning about set jump exceptions 488
Understanding exception support in C++ 494
Studying an example on exception benchmark 505
Compiling and testing 510
Summary 511
Questions 511
Further reading 512
Assessments 513
Other Books You May Enjoy 519
Index 522

[ vii ]
Preface
With this book, we aim to provide you with an understanding of Linux/Unix system
programming, a reference manual on Linux system calls, and an insider's guide to writing
smarter, faster code using C++. The book will explain the differences between POSIX
standard functions and special services offered by modern C++.

This book will also teach the reader about basic I/O operations, such as reading from, and
writing to, files, advanced I/O interfaces, memory mappings, optimization techniques,
thread concepts, multithreaded programming, POSIX threads, interfaces for allocating
memory and optimizing memory access, basic and advanced signal interfaces, and their
role on the system. This book will also explain clock management, including POSIX clocks
and high-resolution timers. Finally, this book uses modern examples and references to
provide up-to-date relevance to C++ and the wider community, including the Guideline
Support Library and its role in system programming.

Who this book is for


This book is for beginner to advanced Linux and general UNIX programmers working with
C++, or anyone looking for a general overview of Linux, C++17, and/or systems
programming with POSIX, C, and C++. Although this book covers a lot of topics on modern
C++, its focus is on system programming. It is expected that the reader already has a
general familiarity with C and C++, as both will be leveraged throughout this book.

What this book covers


Chapter 1, Getting Started with System Programming, lays the foundation for the book,
helping to define what system programming is by providing some basic examples and
explaining the benefits of system programming with C++.

Chapter 2, Learning the C, C++17, and POSIX Standards, reviews the C, C++, and POSIX
standards, providing an overview of the facilities provided by each standard with respect
to system programming, as well as a general overview of the topics that will be discussed
throughout this book.
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of Marsin
sotavaltias
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Marsin sotavaltias

Author: Edgar Rice Burroughs

Translator: Alpo Kupiainen

Release date: March 20, 2021 [eBook #64884]


Most recently updated: October 18, 2024

Language: Finnish

Credits: Tapio Riikonen

*** START OF THE PROJECT GUTENBERG EBOOK MARSIN


SOTAVALTIAS ***
MARSIN SOTAVALTIAS

Kirj.

Edgar Rice Burroughs

Englanninkielestä suomentanut

Alpo Kupiainen

Kariston nuorisonkirjoja 47.

Hämeenlinnassa, Arvi A. Karisto Osakeyhtiö, 1923.


SISÄLLYS:

I. Iss-virralla
II. Vuorten sisuksissa
III. Auringon temppeli
IV. Piilolinna
V. Kaolin viertotiellä
VI. Sankarina Kaolissa
VII. Uusia liittolaisia
VIII. Haaskaluolien läpi
IX. Keltaisen kansan keskuudessa
X. Vankilassa
XI. Runsauden holvi
XII. "Kulje nuoraa myöten!"
XIII. Magneettivipu
XIV. Ratkaisu
XV. Palkinto
XVI. Uusi hallitsija
ENSIMMÄINEN LUKU

Iss-virralla

Dorin laaksossa, unohdetun Korus-järven tulipunaisia rantaniittyjä


reunustavan metsän pimennossa, Marsin kuiden kiitäessä
meteorimaista rataansa alhaalla kuolevan tähden taivaalla, hiivin
varovasti aavemaisen hahmon jälessä, joka ilmeisesti liikkui huonoilla
asioilla, sillä hän pysytteli huolellisesti synkimpien varjojen peitossa.

Kuuden pitkän marsilaisen kuukauden ajan olin harhaillut


kammottavan Auringon temppelin läheisyydessä. Siellä, hitaasti
kiertävässä komerossa, syvällä Marsin pinnan alla virui prinsessani
kuin haudassa — elävänä vaiko kuolleena? Oliko kiukkuisen
Phaidorin murha-ase osunut rakkaimpani sydämeen? Vain aika
antaisi siihen kysymykseen varman vastauksen.

Minun oli odotettava kuusisataakahdeksankymmentäseitsemän


Marsin päivää, ennenkuin kopin ovi uudelleen joutuisi tunnelin pään
kohdalle, jossa viimeksi olin nähnyt iki-ihanan Dejah Thorisini.

Tämä aika oli puolivälissä, tai olisi huomenna, mutta se näky, joka
oli kohdannut katsettani, juuri ennenkuin tupruava savu sokaisi
silmäni ja se kapea rako, josta olin nähnyt Heliumin prinsessan
koppiin, sulkeutui erottaen meidät toisistamme kokonaiseksi pitkäksi
Marsin vuodeksi, oli vielä muistissani elävänä ja kirkkaana,
himmentäen kaikki sitä ennen ja sen jälkeen sattuneet tapahtumat.

Niin selvästi kuin kaikki olisi tapahtunut eilispäivänä näin vielä


Phaidorin, Matai Shangin tyttären, vimmastuneet, mustasukkaisen
raivon vääristämät kasvot, kun hän tikari koholla karkasi rakastamani
naisen kimppuun.

Näin punaisen neidon, Ptarthin Thuvian, hypähtävän väliin


estämään hirmutekoa.

Palavasta temppelistä kantautunut savu oli sitten verhonnut


murhenäytelmän, mutta uhrin parkaisu iskun sattuessa kaikui
korvissani. Senjälkeen oli kaikki ollut hiljaista, ja savun hälvettyä oli
kiertyvän temppelin kammio, johon kaunotarkolmikko oli teljetty,
ehtinyt pois näkyvistä ja kuuluvista.

Tämän hirveän hetken jälkeen oli sattunut paljon sellaista, johon


minun oli ollut kiinnitettävä huomiotani, mutta sen tapahtuman
muisto ei häipynyt mielestäni hetkeksikään, ja aina kun vain voin
riistäytyä irti niistä monista tehtävistä, joita minulla oli
järjestäessämme uudelleen ensisyntyisten hallitusta, senjälkeen kun
voittoisa laivastomme ja maajoukkomme olivat nujertaneet heidät,
vietin kaiken aikani poikani, Heliumin Carthorisin, äidin kolkon
vankilan läheisyydessä.

Mustaihoinen rotu, joka monia miespolvia oli palvonut Marsin


epäjumalaa
Issusta, oli joutunut perin sekasortoiseen tilaan, kun olin paljastanut
Issuksen vain katalaksi vanhaksi akaksi. Raivoissaan ensisyntyiset
olivat repineet hänet kappaleiksi.

Ylvästelevän itsehyväisyyden korkealta jalustalta ensisyntyiset


olivat suistuneet alennuksen kuiluun. Heidän epäjumalattarensa oli
sortunut ja hänen kanssaan koko heidän valheellinen uskontonsa.
Heidän pelätty ja voittamattomaksi kehuttu laivastonsa oli kärsinyt
musertavan tappion jouduttuaan taistelemaan Heliumin punaisen
kansan ylivoimaisia aluksia ja parempia sotilaita vastaan.

Ulkoisen Marsin keltaisten merenpohjien hurjat vihreät laumat


olivat ratsastaneet villeillä thoateillaan Issuksen temppelin pyhissä
puistoissa, ja heistä kaikista rajuin, Tharkin jeddak Tars Tarkas, oli
istunut Issuksen valtaistuimella halliten ensisyntyisiä, liittoutuneiden
ratkaistessa voitetun kansan kohtaloa koskevia kysymyksiä.

Melkein yksimielisesti pyydettiin minua nousemaan mustaihoisten


ikivanhalle valtaistuimelle, ja ensisyntyisetkin kannattivat kilvan tätä
esitystä. Mutta minä en tahtonut kuulla siitä puhuttavankaan.
Sydämeni ei voisi ikinä sopeutua pitämään tästä rodusta, joka oli
kohdellut loukkaavasti prinsessaani ja poikaani.

Minun ehdotuksestani tuli Xodarista ensisyntyisten jeddak. Hän oli


ollut dator eli ruhtinas, ennenkuin Issus oli riistänyt häneltä arvon,
joten hän eittämättömästi oli sopiva kyseessäolevalle korkealle
paikalle.

Kun Dorin laaksossa rauha oli täten turvattu, niin vihreät sotilaat
hajautuivat autioille merenpohjilleen ja me heliumilaiset palasimme
omaan maahamme. Siellä taaskin tarjottiin minulle valtaistuinta, sillä
Heliumin kateissa olevasta jeddakista, Dejah Thorisin isoisästä
Tardos Morista ja tämän pojasta, Dejah Thorisin isästä Mors
Kajakista, Heliumin jedistä, ei ollut saapunut mitään tietoja.

Toista vuotta sitten he olivat lähteneet tutkimaan pohjoista


pallonpuoliskoa etsien Carthorisia, ja heidän kansansa oli vihdoin
masentuneena uskonut tosiksi epämääräiset, jäisiltä napaseuduilta
tihkuneet huhut heidän kuolemastaan.

Uudelleen kieltäydyin astumasta valtaistuimelle, sillä en jaksanut


uskoa, että uljas Tardos Mors ja hänen yhtä uljas poikansa olivat
kuolleet.

"Ottakaa heidän rintaperillisensä hallitsijaksenne siihen asti,


kunnes he palaavat!" lausuin Heliumin kokoontuneille ylimyksille,
puhuessani heille Palkkion ja Koston temppelissä Totuuden jalustalta
Oikeamielisyyden armoistuimen viereltä, samalta paikalta, jossa
vuosi takaperin olin seisonut kuunnellen, kun Zat Arrras oli julistanut
kuolemantuomioni.

Näin sanoen astuin eteenpäin ja laskin käteni Carthorisin olalle,


joka seisoi eturivissä ympärilleni kaartuneiden ylimysten keskellä.

Kuin yhdestä suusta kajahti ylimysten ja kansan raikuva,


moninkertainen
hyväksymishuuto. Kymmenen tuhatta miekkaa lennähti ilmaan, ja
ikivanhan
Heliumin mainehikkaat soturit lausuivat onnittelunsa Carthorisille,
Heliumin uudelle jeddakille.

Hänet valittiin hallitsijaksi eliniäksi tahi siihen asti, kunnes hänen


isoisänsä tai tämän isä palaisi. Sitten kun tämä Heliumille tärkeä
kysymys oli näin yleiseksi tyytyväisyydeksi järjestetty, lähdin
seuraavana päivänä takaisin Dorin laaksoon ollakseni Auringon
temppelin läheisyydessä siihen ratkaisevaan päivään saakka, jolloin
vankeudessa viruvan rakkaimpani kopin ovi avautuisi.

Hor Vastuksen, Kantos Kanin ja muut oivalliset alapäällikköni ja


auttajani jätin Carthorisin luokse Heliumiin, että hänellä olisi
tukenaan heidän viisautensa, kuntonsa ja uskollisuutensa,
täyttäessään hartioilleen laskettuja raskaita tehtäviä. Vain Woola,
marsilainen koirani, seurasi minua.

Tänäkin iltana uskollinen eläin liikkui äänettömästi kintereilläni.


Perässäni hiipivä shetlantilaisen ponin kokoinen otus, jolla oli kamala
pää, hirvittävät torahampaat ja kymmenen lyhyttä, voimakasta
jalkaa, oli todella pelottavan näköinen. Mutta minusta se oli
rakkauden ja kiintymyksen perikuva.

Edellämme oleva olento oli ensisyntyisten dator Thurid, jonka olin


saanut leppymättömäksi vihamiehekseni kaatamalla hänet paljain
käsin maahan Issuksen temppelin pihalla ja sitomalla hänet omilla
varushihnoillaan mustaihoisten ylhäisten miesten ja naisten
näkyvissä, jotka hetkistä aikaisemmin olivat ylistellen kehuneet
hänen kuntoaan.

Kuten monet toverinsa oli hänkin näköjään nurkumatta sopeutunut


uusiin oloihin ja vannonut uskollisuudenvalan uudelle hallitsijalleen
Xodarille. Mutta tiesin hänen vihaavan minua ja olin varma siitä, että
hän sisimmässään kadehti ja vihasi Xodaria, minkä vuoksi pidin
silmällä hänen puuhiaan, kunnes olikin äskettäin käynyt selville, että
hän punoi jonkunlaisia vehkeitä.

Useita kertoja olin huomannut hänen pimeän tultua poistuvan


muurien ympäröimästä ensisyntyisten kaupungista ja suuntaavan
askeleensa kaamean kolkkoon Dorin laaksoon, jossa kellään
ihmisellä ei voinut olla mitään rehellisiä asioita suoritettavana.

Tänä iltana hän eteni ripeästi pitkin metsän reunaa, kunnes oli
varmasti päässyt kaupungin näkyvistä ja kuuluvista. Sitten hän
poikkesi tulipunaiselle nurmikolle oikaisten sen halki unohdetulle
Korus-järvelle.

Alhaalla taivaalla, juuri laakson kohdalla kiitävän lähemmän kuun


säteet heijastuivat tuhatvärisinä hänen jalokivikoristeisista
varuksistaan ja panivat hänen sileän, kiiltävän mustan ihonsa
välkkymään. Kahdesti hän pälyili taakseen metsään päin kuten
ainakin huonoilla asioilla liikkuva henkilö, vaikkakin hän nähtävästi
varmasti uskoi, ettei häntä seurattu.

En uskaltanut mennä hänen perässään avoimelle kuutamoiselle


paikalle, sillä tarkoitukseni ei suinkaan ollut häiritä hänen puuhiaan.
Toivoin hänen mitään aavistamatta pääsevän päämääräänsä, jotta
saisin tietää, minne tämä öinen hiiviskelijä pyrki ja minkälaisissa
tehtävissä hän liikkui.

Niinpä pysyttelinkin piilossa, kunnes Thurid oli kadonnut järven


jyrkän rantaäyrään taakse noin neljänsadan metrin päässä minusta.
Sitten kiiruhdin Woola kintereilläni niityn poikki mustaihoisen datorin
jälessä. Oli haudanhiljaista salaperäisessä kuoleman laaksossa, joka
lepäsi lämpimänä ja suojattuna kuolevan tähden etelänapaa
ympäröivässä syvänteessä. Maiseman taustana kohosivat Kultaiset
kalliot valtaisena suojamuurina korkealle tähtikirkasta taivasta kohti,
niiden seinämien jalojen metallien ja säihkyvien jalokivien välkkyessä
Marsin loistavien kuiden kirkkaassa valossa.
Takanani oli metsä, jonka kammottavat kasvi-ihmiset olivat
jyrsineet yhtä tasaiseksi ja sileäksi kuin hyvin hoidetun puistikon.

Edessäni lepäsi unohdettu Korus-järvi, ja kauempana kiemursi


salaperäinen Iss-virta Kultaisten kallioiden juurelta Korukseen, jonka
rannoille se lukemattomien miespolvien aikana oli tuonut
ulkomaailman harhaanjohdettuja ja onnettomia, vapaaehtoiselle
pyhiinvaellukselle valheellista taivasta kohti lähteneitä marsilaisia.

Kasvi-ihmiset verta-imevine käsineen ja hirveät valkeat apinat,


jotka olivat Dorin laakson kauhuna päiväsaikaan, olivat piiloutuneet
yöksi pesiinsä.

Enää ei Kultaisten kallioiden parvekkeella Issin yläpuolella ollut


pyhää therniä kutsumassa niitä kaamealla huudollaan uhrien
kimppuun, jotka ikivanhan Issin kylmällä, leveällä pinnalla soluivat
niiden kitaan.

Heliumin ja ensisyntyisten laivastot olivat puhdistaneet thernien


linnoitukset ja temppelit, kun nämä eivät olleet suostuneet
antautumaan ja hyväksymään uutta järjestelyä, joka oli vapauttanut
kauan kärsineen Marsin heidän valheellisesta uskonnostaan.

Muutamissa harvoissa muista eristäytyneissä maissa he olivat vielä


säilyttäneet ikimuistoisen mahtinsa, mutta heidän hekkadorinsa,
thernien isä Matai Shang, oli karkoitettu temppelistään. Olimme
panneet parhaamme saadaksemme hänet vangituksi, mutta hän oli
eräiden lähimpiensä kanssa päässyt livahtamaan käsistämme ja
piileskeli nyt jossakin tuntemattomassa paikassa.

Kun menin varovasti matalan kummun harjalle, ja unohdettu


Korus-järvi avautui silmieni eteen, näin Thuridin juuri lähtevän
rannasta veden välkkyvälle pinnalle pienessä ruuhessa — yhdessä
niistä omituisesti veistetyistä, aavistamattoman vanhoista venosista,
joita pyhillä therneillä oli ollut tapana pappien ja alempien thernien
avulla sijoitella pitkin Issin rantoja, jotta heidän uhriensa olisi ollut
helpompi lähteä pitkälle matkalleen.

Järven rannalle oli minun kohdalleni vedetty parikymmentä


samanlaista venettä, ja kussakin niissä oli pitkä salko, jonka toisessa
päässä oli piikki, toisessa melomisiapa. Thurid ohjaili pitkin rantaa, ja
kun hän kaarsi läheisen niemen taakse, työnsin yhden veneen vesille
ja kutsuttuani Woolan mukaani sysäsin sen irti rannasta.

Thuridin jälessä suuntasin kulkuni pitkin rantaa Issin suuta kohti.


Kaukaisempi kuu oli painumaisillaan näköpiirin taakse, ja järveä
reunustavat kukkulat loivat synkän varjon. Thuria, lähempi kuu, oli
laskenut eikä nousisi ennen kuin lähes neljän tunnin kuluttua, joten
pimeys ainakin niin kauan olisi suojanani.

Musta soturi jatkoi matkaansa aina Issin suulle saakka.


Hetkeäkään empimättä hän sitten voimakkaasti meloen käänsi
aluksensa tämän kaamean virran vuolasta juoksua vastaan.

Pysyttelin hänen perässään, uskaltautuen nyt lähemmäksi häntä,


sillä nyt hänellä oli siksi paljon puuhaa ponnistellessaan vasten
virtaa, ettei hän joutanut silmäilemään taakseen. Hän ohjasi
venettään pitkin rantaa, missä vesi juoksi verkkaisemmin.

Ennen pitkää hän saapui Kultaisten kallioiden juuressa olevalle


luolamaiselle aukolle, josta virta pursusi ilmoille. Mutta yhä
eteenpäin hän meloi venettään, aukon sysimustaan pimeyteen.
Minusta tuntui toivottomalta yritykseltä seurata häntä sinne, sillä
en nähnyt edes kämmenen leveyttä eteeni ja olin jo melkein
luopumaisillani takaa-ajosta ja jättämäisilläni veneeni ajautumaan
virran mukana takaisin sen suulle, kun äkkiä käännyttyäni eräästä
mutkasta näin heikkoa kajastusta edeltäni.

Vainuamani otus oli taaskin selvästi näkyvissä, ja tunnelin


rosoisessa katossa olevien laajojen fosforihohteisten suonien yhä
kirkkaammassa valossa minun ei ollut ensinkään vaikeata pysytellä
hänen jäljillään.

Liikuin Iss-virralla ensimmäistä kertaa ja kaikki silloin näkemäni on


elävästi muistissani kuolemaani saakka.

Niin kaamealta kuin minusta silloin tuntuikin, ei ympäristöni


saattanut lähimainkaan vetää vertoja niille oloille, jotka vallitsivat
aikaisemmin, ennenkuin suuri vihreä soturi Tars Tarkas, musta dator
Xodar ja minä paljastimme totuuden ulkomaailmalle ja estimme
miljoonat ihmiset mielettömästi rientämästä vapaaehtoiselle
pyhiinvaellukselle, jonka loppupäässä he luulivat pääsevänsä rauhan,
onnen ja rakkauden ihanaan laaksoon.

Virran leveässä uomassa siellä täällä olevilla matalilla saarilla oli


vielä nytkin läjittäin sellaisten vaeltajain luurankoja ja puolittain
jyrsittyjä ruumiita, jotka jouduttuaan pelon valtaan tai äkkiä
oivallettuaan totuuden olivat pysähtyneet, saavuttuaan melkein
matkansa päähän.

Näillä kammottavasti löyhkäävillä, hirvittävillä kuolemansaarilla


tappeli mielipuolisesti kirskuvia ja huhuilevia, iljettäviä kuvatuksia
kauheiden juhla-aterioittensa tähteistä. Sellaisilla saarilla, joilla oli
enää vain puhtaaksi kaluttuja luita, ne kävivät toistensa kimppuun,
heikompien sortuessa voimakkaampien ruuaksi, tai kurkottelivat
petolinnun kynsiä muistuttavia käsiään, tarttuen virran mukana
ajelehtaviin turvonneihin ruumiisiin.

Thurid ei kiinnittänyt mitään huomiota olentoihin, jotka kiljuivat


hänelle milloin uhkaavasti, milloin ruikuttaen — hän oli ilmeisesti
tottunut häntä ympäröivään kamalaan näkyyn. Hän jatkoi matkaansa
jokea ylöspäin kenties puolisentoista kilometriä. Sitten hän meloi
virran poikki sen vasemmalle äyräälle ja veti veneensä melkein
veden pinnan tasalla olevalle matalalle kielekkeelle.

En rohjennut mennä hänen jälessään virran poikki, sillä silloin hän


olisi varmasti huomannut minut. Sensijaan painauduin kiinni
vastakkaiseen seinämään ison kallionulkoneman alla olevaan
pimeään varjoon. Sieltä saatoin pitää Thuridia silmällä pelkäämättä
että hän näkisi minua.

Mustaihoinen seisoi kielekkeellä veneensä vieressä tähystäen


virtaa ylöspäin, ikäänkuin olisi odottanut jonkun saapuvan siltä
suunnalta.

Pysytellessäni varjoisan kallion suojassa panin merkille, että sillä


kohdalla tuntui voimakas virtaus, joka kävi suoraan joen keskiuomaa
kohti, niin että minun oli vaikea pitää venettäni liikkumatta. Meloin
syvemmälle pimentoon saadakseni kiinni seinämästä, mutta vaikka
etenin useita metrejä, haparoin yhä tyhjää. Kun sitten varsin pian
olisin menettänyt mustaihoisen näkyvistäni, oli minun pakko jäädä
paikalleni, pysytellen parhaani mukaan asemillani melomalla kiivaasti
takaani kallion alta käyvää virtausta vastaan.

En osannut arvata mistä tämä veden syrjittäinen juoksu aiheutui,


sillä näin selvästi joen valtaväylän sekä sen ja uteliaisuuttani
kiihoittaneen salaperäisen virtauksen väreilevän, pyörteisen
yhtymäkohdan.

Mietiskelin yhä tätä ilmiötä, kun huomioni äkkiä kiintyi Thuridiin,


joka oli kohottanut molemmat kätensä eteenpäin päänsä yläpuolelle
marsilaisten yleiseen tervehtimistapaan, ja hetkistä myöhemmin
kuulin hiljaa, mutta täysin selvästi hänen lausumansa barsoomilaisen
tervehdyksen: "Kaor!"

Käännyin katsomaan jokea ylöspäin, samaan suuntaan, johon hän


tähysti, ja pian sieltä ilmestyi suppeaan näköpiiriin pitkä vene, jossa
oli kuusi miestä. Viisi heistä meloi kuudennen istuessa
kunniapaikalla.

Miesten valkea iho, kaljua päätä peittävä aaltoileva, keltainen


peruukki ja otsalla riippuvaan pyöreään kultalevyyn upotettu komea
jalokivi osoittivat, että he olivat pyhiä thernejä.

Kun he laskivat aluksensa kielekkeelle, jossa Thurid heitä odotti,


nousi keulassa istunut mies ja astui veneestä. Silloin näin, että hän
ei ollut kukaan muu kuin Matai Shang, thernien isä.

Näiden kahden miehen vaihtamien tervehdysten sydämellisyys


ihmetytti minua, sillä Barsoomin musta- ja valkoihoiset olivat
toistensa perinnöllisiä vihollisia, eikä tietääkseni kaksi näihin
kampaankin rotuun kuuluvaa miestä ollut milloinkaan kohdannut
toisiaan muuten kuin taistelussa.

Äskeiset mullistukset, jotka olivat kukistaneet heidän kansojensa


valta-aseman, olivat nähtävästi saaneet nämä molemmat miehet
liittoutumaan keskenään — ainakin yhteistä vihollista vastaan — ja
nyt käsitin, miksi Thurid oli niin usein öisin käynyt Dorin laaksossa.
Hänen salaiset puuhansa olivat sen luontoisia, että ne koskivat hyvin
läheisesti minua ja ystäviäni.

Mielelläni olisin ollut heitä lähempänä, että olisin kuullut heidän


keskustelunsa. Mutta nyt en voinut ajatellakaan joen poikki
melomista, minkä vuoksi pysyin hiljaa paikoillani pitäen heitä
silmällä. Varmastikin he olisivat maksaneet paljon, jos joku olisi
ilmaissut heille, kuinka lähellä minä olin ja kuinka helppo heidän
ylivoimaisina olisi ollut käydä kimppuuni ja surmata minut.

Useita kertoja Thurid viittasi joen poikki minuun päin, mutta


mieleeni ei juolahtanutkaan epäillä, että hänen viittoilunsa olisi
tarkoittanut minua. Pian hän ja Matai Shang astuivat jälkimäisen
veneeseen, käänsivät sen keulan ympäri ja ohjasivat joen poikki
suoraan minua kohti.

Heidän lähestyessään peruutin venettäni yhä syvemmälle


kallioulkoneman alle, mutta vihdoin oivalsin selvästi, että he pyrkivät
samaan suuntaan. Heillä oli viisi miestä melomassa, ja vaikkakin
heidän veneensä oli isompi, lipui se eteenpäin siksi nopeasti, että
sain ponnistaa voimiani äärimmilleen päästäkseni samaa vauhtia pois
heidän tieltään.

Joka hetki pelkäsin veneeni keulan tärähtävän kallioon. Joelta


hohtavaa valoa ei enää näkynyt, mutta kulkusuunnassamme kajasti
heikosti kaukaista himmeätä tuiketta, ja yhä oli selvää vettä
edessäni.

Vihdoin selvisi minulle oikea asianlaita — olin Issin maanalaisen


sivujoen uomassa. Joet yhtyivät juuri siinä kohdassa, jossa olin
piillyt.
Thernien vene oli nyt hyvin lähellä minua. Melani loiske hukkui
heidän veneensä kohinaan, mutta edellä oleva valo läheni, joten he
ennen pitkää huomaisivat minut.

Minun oli toimittava ripeästi ja tehtävä jotakin heti paikalla.


Käänsin veneeni keulan oikealle ja painauduin joen kallioista seinää
vasten, Matai Shangin ja Thuridin saapuessa keskellä jokea, joka oli
paljoa kapeampi kuin Iss.

Heidän tullessaan lähemmäksi kuulin Thuridin ja thernien isän


keskustelevan.

"Sanon sinulle, thern", selitti musta dator, "että haluan vain kostaa
John Carterille, Heliumin prinssille. En vie sinua loukkuun. Mitäpä
etua minulla olisi siitä, jos kavaltaisin sinut niille, jotka ovat syösseet
tuhoon kansani ja sukuni?"

"Pysähtykäämme hetkiseksi, niin että voit esittää suunnitelmasi",


vastasi hekkador. "Kun sitten jatkamme matkaamme, tiedämme
paremmin omat ja toistemme velvollisuudet."

Hän antoi määräyksen melojille, ja nämä ohjasivat veneen kallion


kupeeseen tuskin kymmenen metrin päähän minästä.

Jos he olisivat laskeneet alapuolelleni, niin he olisivat varmasti


nähneet minut kauempaa hohtavaa heikkoa kajastusta vasten, mutta
he menivät ohitseni, joten olin piilossa yhtä turvallisesti käin jos
olisin ollut kilometrien päässä.

Ne muutamat sanat, jotka jo olin kuullut, olivat saaneet


uteliaisuuteni
vireille, ja halusin kovin kiihkeästi saada tietää, minkälaista kostoa
Thurid suunnitteli minulle. Kauan minun ei tarvinnutkaan odottaa.
Kuuntelin henkeä pidättäen.

"En vaadi sinulta mitään, thernien isä", jatkoi ensisyntyinen.


"Thurid, Issuksen dator, ei käy kauppaa. Kun kaikki on tehty, niin
olen iloinen, jos huolehdit siitä, että saan ikivanhan sukuni ja
korkean arvoni mukaisen hyvän vastaanoton jossakin hovissa, joka
on pysynyt uskollisena peritylle uskolleni, sillä en voi palata Dorin
laaksoon enkä liioin minnekään muualle, johon Heliumin prinssin
valta ulottua. Mutta sitäkään en vaadi — määrätköön oma halusi
siinäkin suhteessa."

"Tapahtuu kuten toivot, dator", vastasi Matai Shang. "Eikä siinä


kyllin — saat valtaa ja rikkautta, jos hankit tyttäreni Phaidorin
takaisin minulle ja toimitat Heliumin prinsessan Dejah Thorisin
käsiini. — Oh", jatkoi hän ilkeästi murahtaen. "Maan asukas saa
kärsiä pyhien pyhille tuottamansa häväistyksen johdosta, ei mikään
loukkaus ole liian halpa eikä liian ankara hänen prinsessalleen.
Toivoisinpa, että voisin pakottaa hänet näkemään tämän punaisen
naisen alennusta ja kärsimyksiä."

"Saat naisen valtaasi ennenkuin huomispäivä on päättynyt, Matai


Shang", sanoi Thurid, "kun vain lausut sanan."

"Olen kuullut puhuttavan auringon temppelistä, dator", vastasi


Matai Shang, "mutta tietääkseni ei sieltä voida vankeja vapauttaa,
ennenkuin vankeusvuosi on kulunut umpeen. Kuinka voisit sinä
sitten tehdä tämän mahdottoman työn?"

"Temppelin jokaiseen koppiin voidaan päästä milloin hyvänsä",


vastasi Thurid. "Issus yksin sen tiesi, eikä hänellä ollut tapana
paljastaa salaisuuksiaan enempää kuin oli tarpeellista. Hänen
kuolemansa jälkeen sain sattumalta käsiini temppelin ikivanhat
piirustukset, ja niistä löysin selvästi ja pienimpiä yksityiskohtia
myöten ohjeet, joiden mukaan koppeihin päästään koska tahansa.

"— Ja sain tietää muutakin. Usein oli sinne Issuksen käskystä


mennyt miehiä, aina tehtävänään vankien surmaaminen ja
kiduttaminen. Mutta ne, jotka täten olivat oppineet tuntemaan
salaiset tiet, kuolivat salaperäisesti heti palattuaan ja selostettuaan
retkensä julmalle Issukselle."

"Lähtekäämme sitten!" sanoi Matai Shang vihdoin. "Minun on


luotettava sinuun, mutta samalla on sinunkin luotettava minuun, sillä
meitä on kuusi sinua vastaan."

"En pelkää", vastasi Thurid, "eikä tarvitse teidänkään arkailla.


Vihamme yhteistä vihollista kohtaan on liittävänä takeena siitä, että
olemme vilpittömiä toisillemme, ja häväistyämme Heliumin
prinsessan on meillä vieläkin suurempi syy säilyttää liittomme —
jollen kokonaan erehdy hänen puolisonsa luonteesta."

Matai Shang lausui sanan soutajille. Vene lähti liikkeelle jokea


ylöspäin.

Vaivoin sain hillityksi itseni hyökkäämästä heidän kimppuunsa


surmatakseni molemmat halpamieliset vehkeilijät. Mutta pian oivalsin
kuinka hullun ajattelematon sellainen teko olisi; silloinhan tappaisin
ainoan ihmisen, joka voisi opastaa minua Dejah Thorisin koppiin
ennenkuin se olisi pitkän marsilaisen vuoden päätyttyä kiertänyt
loppuun ympyränsä.

Jos hän kerran opastaisi Matai Shangin siihen pyhään paikkaan,


niin samalla hän opastaisi sinne myöskin John Carterin, Heliumin
prinssin.

Äänettömästi meloen ohjasin veneeni hitaasti heidän


vanaveteensä.
TOINEN LUKU

Vuorten sisuksissa

Kun etenimme ylöspäin virtaa, joka kiemurteli Kultaisten kallioiden


alitse Otz-vuorten uumenista laskeakseen tumman vetensä synkän
salaperäiseen Issiin, muuttui edellämme häämöttävä valo vähitellen
kirkkaaksi hohteeksi.

Joki laajeni muodostaen leveän järven, jonka fosforivälkkeisessä


kupukatossa oli säihkyviä timantteja, safiireja, rubiineja ja Barsoomin
lukemattomia, nimettömiä jalokiviä siroiteltuina puhtaaseen kultaan,
näiden suurenmoisten kallioiden pääasialliseen ainekseen.

Valoisan järviluolan toisella puolella oli pimeätä. Mitä pimeys kätki


taakseen, sitä minun oli mahdoton aavistaakaan.

Jos olisin seurannut thernien venettä järven välkkyvälle pinnalle,


olisivat he huomanneet minut heti, ja vaikka minusta oli vaikeata
päästää Thuridia näkyvistäni hetkeksikään, oli minun pakko odotella
pimennossa, kunnes toinen vene oli kadonnut järven toisesta päästä.

Sitten meloin kiiltävälle vedenpinnalle thernien perässä.


Minusta tuntui kuluvan kokonainen ikuisuus, ennenkuin pääsin
järven yläpäässä alkavaan pimeyteen. Siellä näin, että joki purkautui
niin matalasta aukosta, että minun päästäkseni siitä läpi oli
komennettava Woola laskeutumaan pitkälleen veneen pohjalle ja
itseni kumarruttava kaksin kerroin saadakseni pääni aukon kamanan
alitse.

Toisella puolella laki taaskin heti kohosi, mutta väylä ei enää ollut
kirkkaasti valaistu. Vähäisistä, katossa ja seinissä hajallaan olevista
fosforivälkkeisistä suonista hehkui vain heikkoa hohdetta.

Tähän pienempään kammioon virtasi vettä kolmesta holvimaisesta


aukosta.

Thuridia ja thernejä ei näkynyt — mistä tummasta lävestä he


olivat menneet? Siitä en voinut mitenkään saada selkoa; työnnyin
sen vuoksi keskimmäiseen aukkoon, sillä yhtä todennäköisestihän
osuisin oikeaan suuntaan sen kuin jonkun toisenkin kautta.

Väylä oli siellä pilkkosen pimeä. Joki oli kaita — niin kaita, että
veneeni yhtä mittaa kolahteli toisesta kallioseinästä toiseen joen
kiemurrellessa sinne tänne.

Edestäpäin alkoi ennen pitkää kuulua syvää, kumeata kohinaa,


joka edetessäni kasvoi voimakkaammaksi, kunnes se, käännyttyäni
jyrkästä mutkasta himmeästi valaistuun uomaan, muuttui
korviahuumaavaksi, raivoisaksi pauhuksi.

Joki kuohui edessäni valtavana koskena, joka täytti kapean kuilun


äärestä toiseen ja kohosi useita kymmeniä metrejä yläpuolelleni.
Näky oli suurenmoisimpia, mitä koskaan olen nähnyt.
Mutta pauhu — maanalaisen kallioholvin patoaman, vaahtoisena
myllertävän veden huumaava pauhu! Jollei putous olisi täydelleen
tukkinut tietäni ja siten paljastanut minulle, että olin lähtenyt
väärään suuntaan, niin olisin luullakseni suin päin paennut tämän
huumaavan temmellyksen luota.

Thurid ja thernit eivät olleet voineet mennä tätä tietä. Olin


hairahtunut väärään uomaan, pois heidän jäljiltään, ja he olivat
päässeet niin paljon edelleni, etten kenties tavoittaisikaan heitä,
ennenkuin se olisi liian myöhäistä, jos itse asiassa ensinkään
löytäisin heitä.

Tuntikausia olin saanut ponnistella voimakasta vastavirtaa


putoukselle, ja taaskin kuluisi tunteja palatessani takaisin, vaikkakin
vauhtini kylläkin olisi paljoa nopeampi.

Huokaisten käänsin veneeni keulan myötävirtaan ja rajusti meloen


kiidin uhkarohkeata kyytiä pimeässä ja mutkittelevassa tunnelissa,
kunnes saavuin takaisin luolaan, johon joen kolme haaraa purkautui.

Nyt oli minulla vielä valittavana kaksi tutkimatonta uomaa, enkä


mistään voinut saada vihjaustakaan, kumpi niistä todennäköisemmin
veisi minut vehkeilijöiden jäljille.

Mikäli muistan, en eläissäni ole ollut niin tuskallisen epäröinnin


vallassa. Niin paljon riippui oikeasta valinnasta ja ripeydestä.

Jo nyt menettämäni tunnit saattoivat merkitä verrattoman Dejah


Thorisin kohtalon ratkaisua, jos hän vielä oli elossa — jos vielä
uhraisin tunteja, kenties päiviä toisen väärän väylän hyödyttömään
tutkimiseen, niin turma ehtisi ehdottomasti saavuttaa hänet.
Useita kertoja yritin lähteä oikeanpuolisesta aukosta, mutta aina
tulin takaisin, ikäänkuin joku kummallinen sisäinen ääni olisi minulle
kuiskuttanut, että se ei ollut oikea tie. Vihdoin aloin luottaa tähän
usein toistuvaan varoitusilmiöön ja panin kaikki vasemmanpuolisen
holviaukon varaan. Arkailevasti ja epäillen loin kuitenkin viimeisen
jäähyväissilmäyksen tummaan, kolkkoon veteen, joka hitaasti vieri
oikealla olevasta matalasta, synkästä aukosta.

Mutta juuri katsoessani tuli aukon sysimustasta pimeydestä joen


aalloilla hyppelehtien esiin sorapuspuun suuren, mehuisan hedelmän
kuori.

Saatoin tuskin pidättää riemuhuudahdusta, kun tämä mykkä,


tiedoton sanansaattaja lipui ohitseni Issiä ja Korusta kohti, sillä se
kertoi minulle, että juuri sillä uomalla oli yläpuolellani liikkuvia
marsilaisia.

He olivat syöneet herkullisen hedelmän, jonka luonto oli kätkenyt


kovaan sorapuspähkinään, ja heittäneet kuoren veteen. Heittäjät
eivät voineet olla keitään muita kuin etsimäni seurue.

Heti hylkäsin kaikki ajatukset vasemmanpuoliseen väylään


lähtemisestä ja pian olin tunkeutunut oikealla olevaan aukkoon. Joki
alkoi kohta laajeta ja fosforihohteiset kivisuonet valaisivat taaskin
tietäni.

Etenin nopeasti, mutta arvelin olevani lähes päivän matkan


jälempänä kuin takaa-ajettavani. Woola ja minä emme olleet syöneet
sen jälkeen kuin edellisenä päivänä, mutta koiraan nähden se ei
paljoakaan merkinnyt, sillä jokseenkin kaikki Marsin kuivuneiden
merien pohjilla asustavat eläimet voivat tulla ruuatta toimeen
uskomattoman kauan.
Ei minuakaan nälkä vaivannut. Joen vesi oli hyvänmakuista ja
raikasta, sillä sitä ei, kuten Iss-virrassa, olleet mätänevät ruumiit
turmelleet; mitä ruokaan tuli, niin pelkkä ajatus, että lähenin rakasta
prinsessaani, kohotti minut aineellisten vaatimusten yläpuolelle.

Ylempänä joki kapeni ja sen juoksu muuttui vuolaaksi ja


pyörteiseksi, joten minulle kävi varsin vaikeaksi meloa venettäni
eteenpäin. En varmaankaan päässyt enempää kuin noin sata metriä
tunnissa ja käännyttyäni eräästä mutkasta näin peräkkäin useampia
koskia, joissa vaahtoinen vesi kiiti hirvittävän rajusti.

Rohkeuteni lannistui. Sorapuspähkinän kuori oli ollut valheellinen


sanantuoja, ja sittenkin oli sisäinen ääni ollut oikeassa —
vasemmanpuoliseen väylään minun olisi ollut lähdettävä.

Jos olisin ollut nainen, olisin itkenyt. Oikealla puolellani oli laaja,
hitaasti liikkuva suvantopyörre, joka kiersi syvälle ulkonevan
kallioseinämän alle, ja lepuuttaakseni väsyneitä lihaksiani, ennenkuin
lähtisin paluumatkalle, annoin veneeni ajelehtia pyörteen mukana.

Pettymys oli melkein lamauttanut minut. Taaskin kuluisi vielä puoli


päivää hukkaan, ennenkuin olisin palannut samaa jälkeä ja pääsisin
lähtemään viimeiselle tutkimattomalle väylälle. Kuinka pirullisesti
kohtalo olikaan pannut minut valitsemaan kolmesta tiestä ensiksi
molemmat väärät!

Verkkaisen pyörteen keinuttaessa minua laajassa ympyrässä


kosketti veneeni kahdesti joen uoman kallioseinämää ulkoneman alla
olevassa synkässä pimennossa. Vielä kolmannen kerran se sattui,
hiljaa kuten ennenkin, mutta nyt oli kosketuksen ääni toisenlainen —
se kuulosti puun hankautumiselta puuta vasten.
Heti olivat kaikki aistimeni vireessä, sillä jos tällä vuoren
uumenissa virtaavalla joella oli puuta, niin sen täytyi olla ihmisten
tuomaa. Melkein yhtä aikaa, kun ensi kerran kuulin kahnauksen
äänen, ojensin jo käteni veneen laidan ylitse, ja samassa tunsin
sormieni hapuilevan toisen veneen parrasta.

Kuin kivettyneenä istuin hiljaa ja jännittyneesti kuunnellen ja


koetin katseillani lävistää sysimustaa pimeyttä nähdäkseni, oliko
veneessä ketään.

Siellä olisi varsin hyvin saattanut olla ihmisiä, joilla ei vielä ollut
aavistusta minun saapumisestani, sillä veneen toinen reuna
kahnautui hiljaa kalliota vastaan, joten minun veneeni keveä
kosketus toiseen laitaan olisi helposti voinut jäädä huomaamatta.

Mutta tuijotinpa kuinka hyvänsä, en voinut nähdä pimeään, ja


heristin korviani, kuuluisiko hengitystä läheltäni. Mutta en erottanut
mitään muuta ääntä kuin koskien kohinan, veneiden hankautumisen
ja veden lipatuksen niiden laitoja vastaan. Ajatukseni liikkuivat
ripeästi, kuten tavallisesti.

Veneeni pohjalla oli nuorakimppu. Kiinnitin sen toisen pään


keulassa olevaan pronssirenkaaseen ja menin varovasti toiseen
veneeseen. Toisessa kädessäni oli nuora, toinen puristi terävän
pitkän miekkani kahvaa.

Kenties minuutin verran seisoin liikahtamatta vieraassa veneessä.


Se heilahti painostani vain hyvin lievästi, mutta molempien veneiden
laitojen kahnautumisen ääni olisi todennäköisesti hälyttänyt
veneessäolijat varuilleen, jos siellä oli ketään.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookball.com

You might also like