[Linux] 리눅스 사용자 권한과 chmod 명령어
·
CS/OS
1. 리눅스 사용자 권한 개념리눅스에서 파일과 디렉터리는 소유자(owner), 그룹(group), 기타 사용자(others) 세 가지 범주로 권한이 부여됩니다. ✅ 사용자(User) 유형소유자(Owner, u): 파일을 만든 사용자그룹(Group, g): 같은 그룹에 속한 사용자기타 사용자(Others, o): 위 두 그룹에 속하지 않는 나머지 모든 사용자✅ 권한(Permissions) 유형각 사용자 유형은 다음 3가지 권한을 가질 수 있습니다.기호의미설명r읽기 (Read)파일 읽기, 디렉터리 내용 목록 보기w쓰기 (Write)파일 수정, 디렉터리 내 파일 생성/삭제x실행 (Execute)파일 실행, 디렉터리 이동 (cd 가능) ✅ 권한 확인 (ls -l 명령어 사용)ls -l file.txt 2. ch..
[운영체제] 가상 메모리
·
CS/OS
페이징 기반 메모리 관리 · 프로세스의 모든 메모리 참조는 논리주소이며, 이 주소는 수행시간에 물리주소로 변환됨   ☞  한 프로세스가 그 수행 과정에서 스와핑을 통해 다시 메모리에  적재될 때, 그 이전과 다른 위치에 적재될 수 있음을 의미 -> 재배치 · 한 프로세스의 주소공간은 페이지로 분할될 수 있고, 프로세스 수행 중 이 페이지들은 메모리의 연속된 영역에 위치할 필요가 없음   ☞ 프로세스가 수행될 때 페이지 테이블을 활용해 동적으로 주소를 변환함으로써 가능케 함 ● 만약 두 특성이 만족된다면, 수행 시간에 프로세스의 모든 페이지(혹은 세그먼트)가 주기억장치에 적재되어 있을 필요가 없음 ! 프로세스의 일부 페이지 적재 후 실행 방법 - 운영체제는 초기에 수행될 프로세스의 코드와 데이터가 포함되도..
[운영체제] 스레드 동기화
·
CS/OS
스레드 동기화다수의 스레드가 공유 데이터를 동시에 접근할 때 공유 데이터가 훼손되지 않게 스레드의 실행을 제어하는 기법한 스레드가 공유 데이터 사용을 마칠 때까지 다른 스레드가 공유 데이터에 접근하지 못하도록 제어‣ 임계구역과 상호배제임계구역 : 공유 데이터에 접근하는 프로그램 코드들상호배제 : 임계구역에 먼저 진입한 스레드가 임계구역의 실행을 끝낼 때까지, 다른 스레드가 진입하지 못하도록 보장상호배제 구현 요구조건상호배제가 강제되어야 함임계구역에 접근하고자 하는 스레드의 수행이 무한히 미루어져서는 안 됨임계구역이 비어 있을 때, 임계구역에 진입하려고 하는 스레드는 즉시 임계구역에 들어갈 수 있어야 함일반 코드에서 수행이 멈춘 스레드는 다른 스레드의 수행을 간섭해서는 안 됨스레드 개수나 상대적인 스레드 ..
[운영체제] 컴퓨터 시스템 계층 구조
·
CS/OS
컴퓨터 시스템이 계층 구조로 설계된 이유?-계층 간의 독립성 확보를 위해(추상화)  ‣ 사용자 : OS나 하드웨어에 대한 지식이 없어도 응용 프로그램으로 컴퓨터 활용 가능  ‣ 응용 프로그램 개발자 또는 응용 프로그램     : 장치 타입이나 구조, 제어 방법을 몰라도 개발 가능       컴퓨터 하드웨어가 바뀌어도 응용프로그램 다시 작성할 필요 없음‣ 운영체제       : 장치 관련된 모든 작업을 디바이스 드라이버에게 요청       응용프로그램과 하드웨어 사이 인터페이스 역할 사용자에 대한 운영체제의 역할- 사용자가 하드웨어에 관한 지식이 없어도 컴퓨터를 다루기 용이하게 함- 사용자에게 컴퓨터 시스템을 사용할 편리한 인터페이스 제공- 컴퓨터의 사용을 돕는 여러 도구 응용프로그램(유틸리티) 제공   ..