DevBlackCat
정보처리기사 필수 학습: 운영체제(2) [운영체제 종류] 본문
운영체제 종류
① 윈도우
- MS-DOS에 멀티캐스팅 기능과 GUI 제공
GUI 제공 | - 인터페이스 제공 |
선점형 멀티 태스팅 | - 동시에 여러 프로그램 실행 - 운영체제가 작업의 CPU이용시간 제어 |
자동감지 기능 제공 | - 하드웨어 설치시 필요한 시스템 환경을 운영체제가 자동으로 구성 |
OLE | -문서에 개체를 삽입하여 편집하는 기능 제공 |
② 리눅스
- 1991년 리누스 토발즈에 의해 오픈소스로 개발된 유닉스 호환 운영체제
다중 사용자 시스템 | - 여러사용자 동시에 접근 가능 |
오픈소스 | - 프로그램 공개 |
파일시스템 | - EXE3~ FAT 까지 다양하게 지원 |
이식성/유연성/확장성 | -C언어로 개발되어 다른시스템에 이식이 가능 |
다양한 배포판 | - 다양한 배포판 존재 |
③ 유닉스 ★
- 1969 켄톰슨이 개발한 운영체제
- 1972년 C언어로 변경
- 현대적 운영체제의 원형
시분할 시스템 | - 대화식 운영체제로서 시분할 시스템을 위해 설계 |
이식성 | - 대부분 C언어라 다양한 하드웨어랑 호환 |
다중 사용자 시스템 | - 여러사용자 동시에 접근 가능 . |
네트워킹 | |
파일시스템 | |
개발용이성 | |
다양한 유틸리티 |
쉘: 명령어 해석기(Bourne Shell, C Shell, Korn Shell)
커널: 일처리는 커널(메모리관리,시스템관리 등등 다양한 기능)
파일시스템 특징
트리구조,파일처리,파일형식
부트블록 | - 부팅시 필요한 코드가 저장되는 블록 |
슈퍼블록 | - 전체 파일 시스템에 정보가 저장된 블록 |
I-node 블록 | - 파일 디렉토리 정보가 담긴 블록 |
데이터블록 | - 파일 데이터가 저장된 블록 |
데이터를 삭제되도 복구 되는이유 : I-node만 지워진 상태라 데이터블록에서 찾음
파일디스크립터(File Descriptor. Fd)
- 유닉스 시스템에서 프로세스가 파일에 접근할떄 사용
- 파일제어블록이라고도 한다.
- 필요한 파일관리 정보를 포함
- 보조기억장치에 저장되어있고, 파일이 열리면 주기억장치로 이동
파일마다 독립적 존재, 시스템에 따라 구조가 다를수있다.
사용자가 직접 참조할수없다.
Unix 주요 명령어
* access : 파일의 접근 가능 여부 결정
* chmod : 파일 또는 디렉토리에 대한 접근 권한을 변경
* close : FCB(File Control Block)를 닫는다.
* chgrp : 파일의 그룹명 변경
* chown : 파일의 소유자 변경
* chdir : 디렉토리 변경 명령
* mkdir : 디렉토리 생성 명령
- fork : 새로운 프로세스를 생성, 복제하는 명령
- getpid : 자신의 프로세스명, 그룹명, 부모 프로세스의 정보를 얻는다.
- getppid : 부모 프로세스의 ID를 얻는다.
- sleep : 프로세스를 일정 시간 동안 중단
- uname : 현재 운영체제의 버전 정보를 확인
- ps : 프로세스 상태 출력
- rmdir : 디렉토리 삭제 명령
- mount : 파일 시스템에 새로운 파일 시스템을 연결할 때 사용
- umount : 파일 시스템에서 서브 디렉토리 제거 시 사용
- exit : 프로세스 종료
- kill : 프로세스 제거
- exec : 새로운 프로그램을 수행시키는 명령
- vi : 편집기 명령어
- cat : 파일 내용을 화면에 출력
- rm : 파일이나 디렉토리 삭제
- cp : 파일을 복사
- mv : 파일 이동
- grep : 파일이나 프로세스를 찾는 명령
- ls : 파일 목록 확인
- du : 파일의 사용량 출력
- finger : 사용자 정보 표시
Linux/Unix 파일 권한 읽는 법과 관리
Linux/Unix에서 파일 권한은 디렉토리나 파일에 대한 읽기, 쓰기, 실행 권한을 설정하고 관리하는 중요한 부분입니다.
1. 파일 권한 구조
파일 권한은 아래와 같은 형식으로 표시됩니다:
- 이 문자열은 10개의 필드로 구성됩니다.
- 각 필드의 의미는 아래와 같습니다:
1 | 파일 유형 | - (일반 파일), d (디렉토리), l (링크) 등 |
2~4 | 소유자(User)의 권한 | 파일의 주인이 가진 권한 |
5~7 | 그룹(Group)의 권한 | 동일 그룹 사용자가 가진 권한 |
8~10 | 기타 사용자(Other)의 권한 | 나머지 모든 사용자가 가진 권한 |
2. 권한의 기본 기호와 값
각 권한은 문자와 숫자로 표현됩니다. 숫자는 권한 값을 설정할 때 사용됩니다.
권한문자숫자 값설명읽기 | r | 4 | 파일을 읽을 수 있음 |
쓰기 | w | 2 | 파일을 수정할 수 있음 |
실행 | x | 1 | 파일을 실행할 수 있음 |
없음 | - | 0 | 권한 없음 |
3. 권한 읽는 방법
- 예: -rwxr-xr--
- 첫 번째 필드: 파일 유형 (- 일반 파일)
- 소유자(User): rwx → 읽기(r=4), 쓰기(w=2), 실행(x=1) → 합계 = 7
- 그룹(Group): r-x → 읽기(r=4), 실행(x=1) → 합계 = 5
- 기타 사용자(Other): r-- → 읽기(r=4) → 합계 = 4
- 숫자 값으로 표현하면: 0754
4. 파일 권한 확인
- 명령어: ls -l
- 결과 예시:
csharp코드 복사-rw-r--r-- 1 user group 1024 Jan 7 10:00 example.txt
- -rw-r--r--: 파일의 권한
- 소유자: 읽기, 쓰기 (6)
- 그룹: 읽기 (4)
- 기타 사용자: 읽기 (4)
5. 권한 변경하기
- 명령어: chmod [숫자] [파일명]
- 예: chmod 751 example.txt
- 7 (소유자): 읽기(r), 쓰기(w), 실행(x)
- 5 (그룹): 읽기(r), 실행(x)
- 1 (기타 사용자): 실행(x)
6. 쉽게 기억하는 법
- 권한은 세 그룹으로 나뉩니다:
- 소유자(User)
- 그룹(Group)
- 기타 사용자(Other)
- 권한 숫자를 합산하면 됩니다:
- 읽기: 4
- 쓰기: 2
- 실행: 1
- 권한을 변경할 때는 세 자리 숫자로 지정합니다:
- 첫 번째 숫자: 소유자 권한
- 두 번째 숫자: 그룹 권한
- 세 번째 숫자: 기타 사용자 권한
7. 실생활 예시
- 755: 일반적으로 프로그램 파일에 사용
- 소유자는 모든 권한 (읽기, 쓰기, 실행)
- 그룹과 기타 사용자는 읽기, 실행만 가능
- 644: 일반적으로 문서 파일에 사용
- 소유자는 읽기, 쓰기 가능
- 그룹과 기타 사용자는 읽기만 가능
자주 사용하는 권한 숫자와 의미
숫자 권한 의미777 | rwxrwxrwx | 소유자: 읽기, 쓰기, 실행 가능 그룹: 읽기, 쓰기, 실행 가능 기타:읽기, 쓰기, 실행 가능 |
755 | rwxr-xr-x | 소유자: 읽기, 쓰기, 실행 가능 그룹: 읽기, 실행 가능 기타: 읽기, 실행 가능 |
700 | rwx------ | 소유자: 읽기, 쓰기, 실행 가능그룹: 접근 불가기타: 접근 불가 |
666 | rw-rw-rw- | 소유자: 읽기, 쓰기 가능그룹: 읽기, 쓰기 가능기타: 읽기, 쓰기 가능 |
644 | rw-r--r-- | 소유자: 읽기, 쓰기 가능그룹: 읽기 가능기타: 읽기 가능 |
600 | rw------- | 소유자: 읽기, 쓰기 가능그룹: 접근 불가기타: 접근 불가 |
711 | rwx--x--x | 소유자: 읽기, 쓰기, 실행 가능그룹: 실행만 가능기타: 실행만 가능 |
555 | r-xr-xr-x | 소유자: 읽기, 실행 가능그룹: 읽기, 실행 가능기타: 읽기, 실행 가능 |
444 | r--r--r-- | 소유자: 읽기 가능그룹: 읽기 가능기타: 읽기 가능 |
400 | r-------- | 소유자: 읽기 가능그룹: 접근 불가기타: 접근 불가 |
2755 | rwxr-sr-x | 소유자: 읽기, 쓰기, 실행 가능그룹: 읽기, 실행 가능 및 권한 상속기타: 읽기, 실행 가능 |
2750 | rwxr-s--- | 소유자: 읽기, 쓰기, 실행 가능그룹: 실행 가능 및 권한 상속기타: 접근 불가 |
위와 같은 정리로 파일과 디렉토리 권한을 쉽게 이해할 수 있습니다. 추가로 권한 관련 질문이 있으면 알려주세요!
umask
- 파일 접근 권한 관리
umask [숫자] 시 앞으로 생성되는 기본 권한이 그걸로 변경
CHOWN
- 명령어: `chown [소유자 이름] [파일명]`
- 예시: `chown hungjik file명`
- 해당 파일의 소유자를 **hungjik**으로 변경
'정보처리기사 > 프로그래밍 언어 활용' 카테고리의 다른 글
정보처리기사 필수 학습: 운영체제(1) [기억장치,운영체제,시스템 소프트웨어] (0) | 2024.12.30 |
---|