1) 유닉스란 : 고급언어로 개발된 최초의 운영체제
2) 설계 철학
- 단순성 : 최소한의 기능만 제공 => 자원(resource)에 대한 일관된 관점 제공.
- 이식성 : C언어로 작성 => 다양한 플랫폼에 쉽게 이식 가능 (IOS, android 등이 유닉스 계열)
- 개방성 : 소스코드 공개
3) 특징
- 다중 사용자, 다중 프로세서 운영체제 : 여러 사용자, 여러 프로그램 + 슈퍼유저(사용자 관리)
- 쉘 프로그래밍 : 쉘(명령어 해석기)을 통해 시스템과의 대화처럼 시스템을 사용가능=> 명령어, 유틸리티 사용 (쉘 스크립트)
- 계층적 파일 시스템 : 파일시스템이 계층구조 형태로 구성
- 훌륭한 네트워킹 : 다양한 네트워크 응용프로그램 제공 => 유닉스로부터 네트워킹 시작
4) 유닉스 운영체제 구조
- 운영 체제 : 하드웨어 자원(resource) 운영 및 관리, 프로그램 실행환경 제공
- 커널 (kernel) : 하드웨어 운영 및 관리(유닉스)
<커널이 관리하는 것들>
- 프로세스 : 다중 프로그램 실행
- 파일 : 저장장치에 파일 시스템 구성
- 메모리
- 통신
- 주변장치 : 모니터, 키보드 등 관리
- 시스템 호출 (system call) : 커널이 제공하는 서비스에 대한 프로그래밍 인터페이스 역활
- 쉘 (shell) : 사용자와 운영체제 사이의 인터페이스, 명령어 해석기(명령어를 입력받아 해석 및 수행)
운영체제 : 사용자 -> 쉘 -> 시스템 호출 -> 커널
5) 슈퍼유저(superuser)
- root : 슈퍼유저가 사용하는 계정
<슈퍼유저 명령어>
$su [user] : 슈퍼유저 로그인
* sudo를 이용하면 슈퍼유저 로그인 없이 root 권한 사용가능
$sudo apt install : 관리자 권한 설치 (gcc설치 가능)
$sudo passwd root : 관리자 비밀번호 설정
#useradd [user] : 사용자 추가
#userdel [user] : 사용자 제거
#passwd [user] : 사용자 비밀번호 설정
#groupad [-g gid] [groupid] : 그룹 추가
'학교 수업 > 임베디드 시스템' 카테고리의 다른 글
[임베디드 시스템] 3. 포인터와 구조체 (1) | 2022.10.13 |
---|---|
[리눅스 프로그래밍]2. 리눅스 사용 (0) | 2022.10.11 |