달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2012. 1. 4. 21:18

프로세스 관리 - 파일시스템 & 파일 OS이야기2012. 1. 4. 21:18

각 프로세스는 자신이 실행되고 있는 파일시스템에 대한 정보와 파일에 대한 정보를 유지함

struct fs_struct {
atomic_t count;
rwlock_t lock;
int umask;
struct dentry *root, *pwd, *altroot;
struct vfsmout *rootmnt, *pwdmnt, *altrootmnt;


프로세스가 종료될 때는 exit_fs() -> __exit_fs()함수를 호출해서 이 구조체에 대한 정보를 제거
#define __exit_fs()  task_lock(current); current->fs =NULL; task_unlock(current);

files_struct 구조체는 프로세스에서 파일을 열면 그에 해당하는 정보를 관리한다.

프로세스가 종료될 때는 exit_files() ->__exit_files() 함수의 호출순서로 호출

static inline void __exit_files(struct task_struct *task)
{
struct files_struct files = task->files;

if(files)
{
task_lock(task);
files = NULL;
task_unlock(task);
put_files_struct(files); //NULL인데?
}

'OS이야기' 카테고리의 다른 글

프로세스 생성 (2.4)  (0) 2012.01.04
프로세스 관리 - execv() fork()  (0) 2012.01.04
C 컴파일러 과정  (0) 2012.01.04
페이지 벡터  (0) 2012.01.04
LRU/k  (0) 2012.01.03
:
Posted by НooпeУ


Code Start Code End