본문 바로가기

분류 전체보기53

프로그래밍 언어 프로그래밍 언어와 프로그래밍 변화 기계어는 0과 1로 구성되어 있기 때문에 프로그램을 작성하려면 컴퓨터의 내부 구조와 원리를 잘 알아야 한다. 그뿐만 아니라, 이러한 기계어로 프로그램을 작성하려면 시간이 많이 소요된다. 이런 문제를 해결하기 위해서 기계어보다 프로그램을 편하게 하기 위해서 프로그래밍 언어가 개발되었다. 보통의 프로그래밍 언어는 기계 언어보다는 고급 언어로서 제약이 있긴 하나 인간이 이해하고 사용하는데 훨씬 편리하도록 개발되었다. 이러한 고급 프로그래밍 언어로 개발한 프로그램의 결과는 파일로 저장되고 원시 코드라고 한다. 원시 코드로 프로그램을 작성하였더라도 컴퓨터는 이 코드의 프로그램을 이해하지 못하므로 직접 실행할 수는 없다. 실행하기 전, 이 프로그램을 컴퓨터가 이해할 수 있는 0과 .. 2024. 8. 11.
운영 체제의 진화 과정-2 1960년대 초기까지 대부분의 컴퓨터 제조사들은 서로 어울리지 않는 두 개의 독립된 제품을 만들어내고 있었다. 하나는 과학, 공학의 수치 계산을 위한 계산 위주 컴퓨터였고 다른 하나는 은행이나 보험회사에서 테이프를 정렬하고 프린트하는데 널리 사용되던 문자를 기반으로 한 상업용 컴퓨터였다. 집적회로를 사용한 IBM System의 출현을 시작으로 IBM은 이 두 종류의 기계를 호환성이 강한 한 제품 시리즈로 개발하기 시작한다. 여러 가지 혁신 중 하나가 다중프로그래밍이었는데 각자의 메모리 영역을 갖는 여러 프로그램을 동시에 메모리에 위치시킬 수 있도록 하는 기술이었다. 한 잡이 I/O가 마무리되기를 기다리는 동안 다른 잡이 CPU를 사용할 수가 있었고 특수한 하드웨어를 통해 서로가 서로를 방해하지 못하도록 .. 2024. 8. 11.
운영체제의 진화 과정-1 운영체제는 세월에 따라 계속 진화해 왔는데 중요한 특징들을 간단하게 살펴보자. 역사적으로 운영체제는 운영체제가 실행되고 있는 컴퓨터 구조와 밀접한 연관이 있으며, 우리는 각 컴퓨터 세대별로 운영체제가 어떠한 모습을 띄고 있었는지 살펴보는 것이 좋겠다. 최초의 진정한 디지털 컴퓨터는 영국 수학자 Charles Babbage에 의해 설계되었다고 볼 수 있다. 그가 전 생애와 재산의 대부분을 이 '분석하는 엔진'에 쏟아 부었지만 결국 제대로 동작하는 장치를 만들어 낼 수는 없었다. 그의 설계가 순전히 기계적 장치에 의존하고 당시의 기술로는 고도로 정확하게 제작해야 하는 휠, 기어 등을 제대로 만들어 낼 수가 없었기 대문이다. 당연히, 운영체제는 없었다.  Babbage 시도가 실패한 이후 2차 세계 대전까지는.. 2024. 8. 11.
운영체제의 정의 확장된 기계로서의 운영체제 간단하게 말하면, 운영체제란 커널 모드에서 실행하는 소프트웨어라고 볼 수 있다. 대부분의 컴퓨터들의 기계 언어 레벨에서의 구조 (명령 집합, 메모리 구성, I/O)는 아주 원시적이고, 특히 I/O에 대해서는, 프로그램하기 힘들게 되어있다. 최근에는 플로피 디스크를 별로 사용하지는 않지만, 이것의 동작이 현대의 하드 디스크에 비해 훨씬 간단하기 때문에 예로 사용해서 얘기해 보자. 특정 디스크는 16개의 명령들을 사용하며 장치 레지스터에 1~9개의 바이트를 적재하여 각 명령을 지정하게 된다. 이  명령들은 각각 데이터를 읽고, 쓰고, 디스크 암을 움직이고, 트랙을 포맷하는 기능을 제공한다. 그리고 컨트롤러와 드라이브를 초기화하고 읽고, 재설정하고 또 재조정하는 일도 수행한다. 가장.. 2024. 8. 11.
오늘 처음으로 티스토리 홈페이지를 개설해봤다. 매일 유튜브나 네이버 클립만 보다가 우연히 좋은 강의를 알게 되었고 티스토리에 관심이 생겼다.부디 보다 더 알찬 하루하루를 보낼 수 있기를. 2024. 8. 8.