운영체제 사용자와 하드웨어 사이를 중재한다. 응용 프로그램은 워드프로세서, 크롬 등 사용자를 위한 프로그램이다. 응용 프로그램들은 하드웨어로부터 CPU, 메모리 공간 등 리소스를 얻어와야 하는데, 운영체제가 각 프로그램들이 얻는 리소스들을 관리한다. 커널 커널은 운
시스템 작업의 단위메모리에 적재되어있는 프로그램스택 : 일시적인 데이터들을 저장(함수 매개변수, 함수 리턴값 등), 컴파일 타임에 크기가 결정돼서 무한으로 할당할 수 없음.(스택오버플로우)힙 : 동적인 데이터 저장(동적 배열 등). 런타임에 결정돼서 정해진 크기가 없음
프로세스 : 시스템에서 수행되는 작업의 단위스레드 : CPU를 이용하는 기본 단위스레드는 자신만의 스레드 ID, PC, 레지스터 집합, 스택을 가진다. 코드, 데이터, 힙은 프로세스의 것을 공유한다.멀티 프로세스는 코드, 데이터, 힙, 스택을 전부 새로 만들어야하지만,
커널 데이터, 공유메모리등 여러 프로세스가 공유 자원을 동시에 읽고 쓰는게 가능하다면, 예상치못한 결과를 도출할 수 있다. (ex. 공유 변수 count의 값이 5일 때, 프로세스A는 count--을 하고, 프로세스B는 count++을 할 경우, 프로세스A와 B가 어떤
락을 획득하는 acquire() 과 락을 반환하는release()메서드를 가지고 있다. available 은 위에서 써왔던 lock 변수와 마찬가지로 프로세스가 임계구역에 들어갈 수 있는가 여부를 결정한다.acquire() 과 release() 는 원자적으로 실행되어
아래 4가지를 전부 충족하면 데드락.상호배제(Mutual Exclusion) : 하나의 스레드만 독립적으로 특정 자원을 쓸 수 있다.점유하며 대기(Hold and Wait) : 자원 대기중일 때, 보유중인 자원을 계속 가지고 있는다.비선점(No preemption) :
변수명, 함수명같이 코드에서 볼 수 있는 심볼로 된 주소프로세스마다 가지고 있는 독립적인 주소이다. 해당 프로세스 내부에서만 사용되는 주소이다. 가상 주소(Virtual Address)라고도 한다.각 프로세스마다 0번지 부터 시작하는 주소이다.CPU는 명령어를 실행할
플래터 : 하나 이상의 디스크 집합스핀들 : 모든 플래터를 연결하며 플래터를 회전시킨다.트랙 : 플래터위의 동심원. 한 디스크에 하나 이상의 트랙이 존재한다.실린더 : 여러 개의 플래터에서 같은 위치의 트랙들을 실린더라고 한다.암: 헤드가 원하는 실린더를 가리킬 수 있
파일과 파일시스템이란? File : 이름을 가진 정보 컬렉션 File Attribute : 파일의 메타데이터. 파일의 이름, 위치, 사이즈, 접근권한 등을 저장한다. File System : OS에서 파일을 관리하는 영역. 파일을 저장하고, 파일 저장 방법등을 결정한다
운영체제 책 보고 정리! 파일 시스템 마운팅 파일 시스템은 프로세스들에 의해 사용되기 전에 마운트 되어야한다. 마운트 되지 않은 파일 시스템에는 접근할 수 없다. 저번 시간에 마운팅에 대해 배웠을 때 고정되어 있는 것인 줄 알았는데, 파일 시스템에 접근할 때마다 동적