OS(Operating System,운영체제) 는 크게 다음과 같이 정의된다.
이진수로 이루어진 기계어로 프로그래밍을 하던 시절에는 OS 라는 개념이 존재하지 않았다. 그런데, A,B,C 라는 프로그램의 전체적인 기능은 다르지만 I/O 명령 등과 같은 공통적인 기능이 존재한다면 하드웨어 관리 영역은 복잡하고 다루기가 어렵기 때문에 매번 그 기능을 작성하는것은 어렵고 비효율적이다. 또한 시스템에 직접적으로 접근하는 것은 시스템 안전에 큰 영향을 끼칠 수 있다. 그래서 OS는 사용자와 시스템간의 인터페이스 역할 을 하여 사용자의 편리성, 시스템의 생산성 및 안전성을 보장한다.
컴퓨터등의 기기에서 의미 있는 정보를 담는 논리적인 단위 로 OS에서 파일을 저장하는 트리구조 저장 시스템이다.
파일 | 디렉토리 |
---|---|
컴퓨터에서 정보를 저장하는 논리적인 단위 | 폴더 또는 디렉토리로 불림 |
파일은 파일명과 확장자로 식별됨(ex: hello.py) | 파일과 다른 디렉토리를 포함할 수 있음 |
실행,쓰기,읽기 등을 할수 있음 |
컴퓨터 파일의 고유한 위치로, 트리구조상 노드의 연결로 이루어진다.
절대경로 | 상대경로 |
---|---|
root 디렉토리부터 타겟 위치까지의 경로 | 현재 있는 디렉토리 부터 타겟 위치까지의 경로 |
현재에는 GUI(Graphical User Interface) 로 마우스를 이용하여 프로그램을 실행시킬 수 있지만, 이전에는 CLI(Command Line Interface) 인 터미널 을 이용하여 컴퓨터 명령을 입력시켰다. Console, Terminal, CMD 로 불리우며, 과거에는 디스플레이와 키보드가 조합된 장치였으나, 현재에는 CLI로 입력하는 화면으로 지칭된다.
각 터미널에서는 프로그램을 작동하는 shell 이 존재하는데 shell 은 운영체제의 커널과 사용자 사이를 이어주는 역할 을 한다. 커널 이란 운영체제의 일부로서 컴퓨터의 메모리에 항상 떠있는 하나의 프로그램이다.
즉, shell 은 아래 그림과 같이 사용자의 명령어를 해석하고 운영체제(커널) 가 알아들을 수 있게 지시해준다. 다시 운영체제(커널)는 shell 에게서 받은 지시를 해석하여 하드웨어를 위한 지시어로 바꾸어준다.
윈도우 | shell | 설명 |
---|---|---|
cd | cd | 현재 디렉토리 이름을 보여주거나 바꾼다.(Change directory) |
cls | clear | CMD 화면에 표시된것을 모두 지운다(Clear screen) |
copy | cp | 하나이상의 파일을 다른 위치로 복사한다. |
del | rm | 하나 이상의 파일을 지운다.(Delete) |
dir | ls | 디렉토리에 있는 파일과 하위 디렉토리 목록을 보여준다(Directory) |
mkdir | mkdir | 디렉토리를 생성한다.(Make directory) |