전공/시스템 프로그래밍(운영체제) 13

Linux3) 리눅스 사용자 계정

1. 사용자 계정이란 컴퓨터라는 것은 실물 세계에 있는 것을 가상 세계로 연결해준다고 볼 수 있다. 사용자라는 것은 컴퓨터에서 사용자 계정을 말하는 것이다. 사용자 계정은 user ID(UID)라는 것을 통해 시스템에 존재한다. UID로 구현된 사용자는 실제로 시스템에서 UID를 가지고 유지가 된다. 사용자가 로그인할 시 shell이라는 것이 실행된다. 커널을 둘러싼 것이 shell인데 shell은 사용자가 입력한 명령어를 해석해서 커널에게 전달한다. 커널이 리턴하는 값을 shell이 사용자에게 전달한다(화면에 뿌려준다.) 각각의 리눅스의 각각의 프로세스는 로그인한 해당 프로세스를 실행시킨 사용자 아이디인 UID와 실제로 연결되어 있다. 사용자는 UID로 시스템에 저장되지만 우리는 UID를 사용하지 않고..

Linux2) 프로세스

1-1 유닉스에서 프로세스 유닉스 프로세스는 필요에 따라 다른 프로세스를 생성한다. 다른 프로세스를 생성한 프로세스를 부모 프로세스라고 하고 생성된 프로세스를 자식 프로세스 라고한다. 각 프로세스는 고유의 번호 PID를 가지고 있다. 유닉스가 부팅 될 때 모든 프로세스의 조상 프로세스인 init 프로세스가 있는데 고유번호는 1번이다. 1-2 프로세스 OS에서 실행중인 프로그램을 말한다. 디스크에 있는 프로그램 명령어는 실행이 되면 메인 메모리로 load되어 프로세스가 된다. 1-3 데몬 프로세스 유닉스 커널에 의해서 실행되는 프로세스로 특정한 서비를 제공하기 위해 존재한다. 예를 들어 웹 서비스를 제공하기 위해 httpd 프로세스가 동작해야한다. httpd 프로세스를 데몬 프로세스라한다. 데몬은 평소에 ..

Linux1) 리눅스 파일

시스템 프로그래밍 포스팅의 Linux1,2,3) 은 시스템 프로그래밍을 위해 필요한 기본 리눅스 개념만 정리한 것이다. 1-1. 파일 디스크립터 파일 디스크립터란 open을 통해 열면 리턴되는 값으로 파일 디스크립터 정수 값이 리턴되는데 그 값은 open으로 연 해당 파일을 가리키고 있으며 파일 디스크립터에는 다양한 정보를 담고 있다. 1-2. System call: open 파일을 열면 처음부터 읽을 수 있고 중간부터 읽을 수 있다. (사용자가 지정할 수 있다.) 하지만 파일을 열 때 따로 지정을 하지 않고 파일을 처음 읽으면 offset은 0이 되고 (이 값이 –1이 될 수는 없다.) 파일의 끝은 eof가 된다. 1-3. System call: write 그리고 쓸 때 역시 append 모드가 아니면..