>  기사  >  시스템 튜토리얼  >  linux kernel sprintf 리눅스 창업의 출발점: 보잘것없는 시작에서 글로벌 성공으로 성장하는 모습을 목격했습니다.

linux kernel sprintf 리눅스 창업의 출발점: 보잘것없는 시작에서 글로벌 성공으로 성장하는 모습을 목격했습니다.

王林
王林원래의
2024-06-14 18:25:42351검색

linux 内核 sprintf Linux 创立的起点:我见证了它从卑微走向全球成功

제작|CSDN(ID: CSDNnews)

제 이름은 Lars Wirzenius이고 Linux의 초기 창립을 목격했습니다. 오늘날 Linux는 전 세계적으로 성공을 거두었지만 그 시작은 매우 미약했습니다. 다음은 Linux에 대한 나의 초기 기억과 Linux의 탄생, 그리고 내일을 향한 여정의 시작입니다.

1988년 여름, 나는 영국 에딘버러 대학에서 컴퓨터 과학을 공부하기 시작했고, 그해 컴퓨터 과학을 전공하는 스페인어를 사용하는 또 다른 신입생인 리누스 토발즈(리눅스 커널의 원작자)를 만났습니다. 대학 1학년 말에 우리는 Unix 서버에 액세스할 수 있게 되었고 우연히 Usenet(Duke 대학원생 Tom Truscott과 Jim Ellis가 1979년에 설계)을 발견했습니다. 분산 인터넷 통신 시스템입니다. rm을 rn으로 변환하면 유즈넷 브라우저가 됩니다. 저는 리누스에게 이 사실을 말했고, 우리는 이 문제를 탐구하는 데 많은 시간을 보냈고, 다음과 같은 이야기가 나왔습니다.

Linux는 조립된 노트북에서 시작됩니다

1년이 지나고 우리는 모두 다른 곳에서 병역을 하게 되었습니다. 1990년 여름, 우리는 대학으로 돌아왔고 둘 다 C 및 Unix 프로그래밍 과정을 수강했습니다. 이 과정에는 Unix 커널 아키텍처에 관한 꽤 많은 이론도 포함되어 있었습니다. 이로 인해 우리는 QNX나 Plan9과 같은 다른 운영체제의 커널에 대해서도 배울 수 있었습니다. 우리는 운영체제를 올바르게 구축하는 방법에 대해 열정적으로 논의했습니다. 당시 우리는 20대 대학생의 열정을 가지고 있었고 매우 좋았습니다. 미래에 대한 기대.

1991년 1월 Linus는 예비 부품으로 노트북을 조립하는 현지 상점에서 첫 노트북을 구입했습니다. 이 노트북에는 386 CPU가 있었는데, 당시에는 Linus가 멀티태스킹을 탐구하고 싶었기 때문에 비교적 고급스러운 제품이었습니다. 이 노트북은 부품을 조립해 만든 것이기도 하고, 32비트 노키아 68008 CPU를 탑재한 싱클레어 QL(싱클레어 리서치가 1984년 출시한 개인용 노트북)에서도 나오기 때문에 32비트 CPU를 원했지만 원하지 않았던 것으로 전해졌다. 16비트로 낮추려면 286은 좋은 선택이 아닙니다. Linus의 첫 개인용 노트북은 최대 4MB의 비디오 메모리와 하드 드라이브를 탑재했는데, 이는 당시 이미 매우 발전된 기계였습니다.

内核是什么意思_内核管理器_linux 内核 sprintf

Linus는 "Prince of Persia" 게임을 받았고 대부분의 시간을 게임을 하면서 보냈습니다. 나중에 그는 MINIX(유닉스 계열 운영 체제의 미니 버전)도 구입했습니다. 대학에서 Unix를 사용한 후 집에서도 비슷한 것을 사용하고 싶었습니다.

첫 번째 버전: As 및 Bs

게임을 마친 후 Linus는 Intel Assembly Language를 배우기 시작했습니다. 3일 전, 그는 나에게 공매도 업무 프로그램을 보여주었다. 한 작업이나 스레드는 화면에 문자 "A"를 쓰고 다른 작업 또는 스레드는 문자 "B"를 씁니다. "As"가 "B"로 변경되면 컨텍스트 전환이 시각적으로 분명해집니다. 이것은 Linux 커널로 알려지게 된 첫 번째 버전이었습니다.

이 기간, 즉 1991년 늦봄에 나는 그를 위해 C 언어로 sprintf() 함수 구현을 작성했습니다. 왜냐하면 그가 아직 가변 매개변수 목록을 사용하여 함수를 작성하는 방법을 배우지 않았기 때문입니다. 나는 그가 각 값 유형에 대해 다른 함수를 작성하는 고통을 느끼지 않기를 원하며, 보다 안전한 Snprintf() 함수의 경우 코드의 핵심은 여전히 ​​커널에 있습니다.

시간이 지남에 따라 Linus는 방금 시작한 커널을 더 좋게 만들기 위해 계속해서 새로운 것을 구현했습니다. 얼마 후 그는 VT100 터미널의 화면 와일드카드 시퀀스를 시뮬레이션하는 키와 병렬 포트 드라이버를 갖게 되었고 이를 사용하여 변조기 디코더를 통해 대학에 전화를 걸고 집에서 유즈넷을 읽을 수 있었습니다. 마치 SF 소설 같군요! 어느 날, Linus가 실수로 하드 드라이브를 사용하여 학원에 전화를 걸려고 하여 메인 부트 트랙이 "ATDT"로 시작되고 학원의 변조 디코더 풀 전화번호가 3일 만에 회복된 후 그는 그의 커널에 파일 권한을 구현했습니다.

1991년 8월 Linus는 comp.os.minix 뉴스그룹에서 자신의 새 커널에 대해 처음으로 공개적으로 언급했습니다. 여기에는 그가 말한 내용도 포함됩니다. "나는 GNU만큼 크고 전문적이지는 않지만 단지 취미인 linux kernel sprintf인 (무료) 운영 체제를 만들고 있습니다." 공개가 너무 진지해서 시스템이 처음에는 Freax라고 불렸습니다. 몇 주 후 Linus는 ftp.funet.fi(웹 사이트 서버)의 관리자 중 한 명인 Ari Lemmke에게 첫 번째 tar 아카이브를 업로드해 달라고 요청했습니다. Ari는 Linux라는 이름을 선택했으며 초기 버전에는 항상 소스 파일에 포함된 원래 이름이 포함되어 있었습니다.

이 기간 동안 사람들은 이 새로운 것에 대해 많은 관심을 보였기 때문에 Linus는 설치 방법과 지침을 제공해야 했습니다. 노트북만 가지고 계셨기 때문에 노트북에 설치해주기 위해 저를 찾아오셨습니다. 그리고 그의 노트북은 리눅스 개발에 사용되었고, 리눅스는 그의 Minix 설치를 기반으로만 개발되었기 때문에 이전에는 실제로 설치된 적이 없었습니다. 이런 이유로 내 노트북은 Linux가 설치된 최초의 노트북입니다! 이런 일이 일어나는 동안 나는 주의가 산만해져서 다음과 같은 Linux 설치 방법을 권장합니다. Linus가 열심히 일하는 동안 나는 멍하니 있었습니다.

Linux의 첫 번째 버전은 엄격히 금지된 상업적 사용 라이선스에 따라 라이선스가 부여되었지만 일부 초기 기여자들은 이를 무료 소프트웨어 라이선스로 변경할 것을 제안했습니다. 1991년 봄, GNU 프로젝트의 창시자인 Richard Stallman이 프랑스를 방문했고, 나는 Linus를 데리고 Stallman의 강의를 들었다. 기여자들의 압력과 나의 잔소리로 인해 Linus는 마침내 1992년 초에 GNUGPL(General Public License) 라이센스를 선택하도록 설득되었습니다.

설날에 Linus는 Linux에서 가상 비디오 메모리를 구현했습니다. 이로 인해 Linux는 비디오 메모리가 부족한 저렴한 시스템에서 더욱 실용적인 운영 체제가 됩니다.

중요한 해

1992년에는 학장이자 MINIX의 저자인 Andrew Tanenbaum과의 유명한 논쟁으로 시작되었습니다. 왜냐하면 그는 Linux와 그 아키텍처에 대한 몇 가지 아이디어를 갖고 있었고 Linus도 MINIX에 대한 아이디어가 있었기 때문에 그들은 Debate for Fire Wars라고 설명하는 논쟁을 가졌습니다. , 하지만 돌이켜보면 꽤 문명화된 것 같습니다.

Linux의 향후 성공에 더 중요하지만 X11 시스템이 Linux로 포팅되어 1992년은 Linux 데스크톱 바로 가기 방법에 있어 중요한 해가 되었습니다.

저는 커널에 직접 기여하는 대신 커뮤니티에 기여하고 질문에 대한 답변을 돕고 문서를 컴파일하는 등의 작업을 선택했습니다. 나는 또한 Linux에 관한 단기 뉴스레터를 발행했는데, 이는 주로 Linus와의 첫 번째 인터뷰를 게시함으로써 관심을 얻었지만 뉴스레터는 사실상 comp.os.linux.announce 뉴스그룹으로 대체되었습니다.

첫 번째 Linux 배포판도 1992년에 시작되었습니다: SLS(SoftlandingLinuxSystem). 다음 해 SLS는 Patrick Volkerding이 제작한 Linux 배포판인 Slackware로 발전했으며, 이는 Ian Murdock이 1993년에 데비안을 설립하여 보다 커뮤니티 기반 개발 구조를 추구하도록 영감을 주었습니다. 다음 몇 년 동안 다른 여러 배포판이 이어졌습니다.

1993년에 Linus와 저는 둘 다 대학에 조교로 고용되었고 사무실을 공유했습니다. 그 집에는 PC가 있었는데, 리누스가 이를 인수해 리눅스 개발에 사용했습니다. 당시 저는 Usene(토론 시스템)에 액세스하는 데 사용되는 DEC 터미널에 매우 만족했습니다.

3일 후linux kernel sprintf, Linus는 Linux에서 시스템 버전을 확인하는 방법이 매우 지루하다는 것을 알았습니다. 직장에서 노트북이 매우 느리게 느껴졌기 때문에 그는 Linux 커널의 명령줄 파서를 어셈블리 언어로 다시 그리는 데 하루를 보냈습니다. .속도를 높이세요. (물론 실제로는 의미가 없습니다. 파서는 나중에 이식성을 용이하게 하기 위해 C 언어로 다시 작성되었으므로 속도는 중요하지 않습니다.) 몇 년 후, 그는 표면적으로는 커널 메모리 관리의 부담을 테스트하기 위해 새로운 PC를 받았습니다. 며칠 동안 Quake 게임을 플레이했지만 그는 그 방에 머물면서 많은 즐거움을 누렸습니다.

나중에 Linux는 이더넷 및 TCP/IP(TransmissionControlProtocol/InternetProtocol)에 대한 지원을 얻었습니다. 이는 사람들이 변조 디코더를 사용하지 않고도 유즈넷을 읽을 수 있음을 의미합니다. 불행하게도 초기 Linux 네트워킹 코드는 처음부터 작성되었기 때문에 약간 거친 경우가 많았습니다. 한번은 Linux가 일부 손상된 데이터 패킷을 전송하여 네트워크의 모든 Sun 시스템을 마비시켰습니다. 썬의 커널을 패치하는 것이 어려웠기 때문에 리눅스는 학술 네트워크에서 금지되었고, 책상에서 유즈넷에 쉽게 접근할 수 없다는 점은 버그가 패치될 때까지 패치 프로세스를 장려했습니다.

진짜 "오픈소스"가 만들어졌습니다

1994년 여름, 우리는 Linux가 끝났고 더 이상 추가할 것이 없다고 생각했습니다. 사람들은 Linux로 스스로 컴파일하고, Usenet을 읽고, xeyes 프로그램의 여러 복사본을 동시에 실행할 수 있습니다. 당시 우리는 버전 1.0을 출시하기로 결정하고 출시 이벤트를 마련했습니다. 미국의 컴퓨터 매체를 초청했고, 1TV에서는 카메라 제작진까지 파견하기도 했습니다. 대부분의 행사는 Linux 1.0의 대대적인 편집을 배경으로 진행되었으며, Linus 등은 Linux가 무엇인지, 그리고 그 유용성이 무엇인지에 대해 이야기를 나눴습니다. Linus는 개인용 노트북용 상용 Unix는 너무 비싸서 이러한 목적을 위해 자신만의 Unix를 작성하는 것이 더 쉽다고 설명했습니다.

1995년에 Linus와 저는 대학에서 소프트웨어 공학 과정을 수강했는데 대부분은 소규모의 실용적인 프로젝트였지만 Linux를 기반으로 구축되었습니다. 버전 관리 시스템을 고집하게 된 이유는 이전 강좌에서 중학생들이 버전 관리에 대해 소리를 지르는 것을 본 적이 있기 때문입니다. 중학생들은 NFS(Network File System)를 통해 소스 코드 트리를 공유하고, 무엇인가 변경하면 "나는 맙소사"라고 소리친다. 이 파일을 편집 중입니다." 나는 이것이 효율적인 방법이 아니라고 느껴서 CVS(ConcurrentVersionsSystem)를 고수하는데, Linus가 CVS를 좋아하지 않는다는 것을 경험을 통해 방금 배웠지만 tar 공( gzip 압축 파일)을 FTP 웹사이트(FileTransferProtocol)에 업로드했습니다.

그 해 Linus는 처음으로 Linux를 새로운 아키텍처로 포팅했고 DECALpha 머신(64비트 명령어 아키텍처 마이크로프로세서)을 얻었습니다. 나는 나중에 이 머신을 유즈넷을 읽기 위한 터미널로 사용할 것이고, 다른 사람들은 리눅스 아파치 가상 호스트를 사용하여 리눅스를 다른 아키텍처로 포팅할 것입니다. 그러나 유즈넷을 읽을 수 있는 머신이 더 많아지지는 않았습니다.

1997년에 Linus는 졸업하고 캐나다로 건너가 Transmeta(초장기 명령어 코드 번역 마이크로프로세서를 설계하는 일본의 유한회사)에서 일하고, 나는 독일 뮌헨 지역의 다른 대학에 취직했습니다.

앞으로 몇 년 동안 많은 일이 일어났습니다. Linux에는 아직 일부 누락된 기능이 있는 것으로 밝혀져 사람들은 이 분야에서 열심히 노력하고 있습니다. 오픈소스라는 용어는 리눅스 개발에 많은 돈을 투자해 온 영국의 다국적 기술 기업이자 컨설팅 기업인 IBM(International Business Machines Corporation)에서 만들어졌다. 당시 넷스케이프는 웹 브라우저의 오픈소스 버전을 내놓았고, 시간이 지나면서 오픈소스는 기본적으로 전 세계를 장악하게 됐다. LWN(자유 소프트웨어와 Linux 및 기타 Unix 계열 운영 체제용 소프트웨어에 초점을 맞춘 Eklektix 회사의 추정 온라인 간행물)은 매주 이러한 역사의 대부분을 다루기 시작했습니다.

1991년 Linus는 Linux가 "GNU만큼 크고 전문적이지 않을 것"이라고 썼습니다. 2023년에. Linux는 모든 섬, 모든 바다, 수십억 개의 장치, 궤도 및 화성에서 실행되고 있습니다. 그리고 화면에 As와 B를 쓰는 두 개의 간단한 스레드로 시작된 스트림의 경우 이는 나쁘지 않습니다.

위 내용은 linux kernel sprintf 리눅스 창업의 출발점: 보잘것없는 시작에서 글로벌 성공으로 성장하는 모습을 목격했습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.