Operating System

Computer SecurityCIA: 컴퓨터 보안에서 가장 중요한 요구사항 3가지기밀성: 남들이 못 보게 하는 것무결성: 변조되지 않은 것, 데이터가 깨지지 않은 것, 데이터가 변조되거나 위조되거나 수정되지 않은 것가용성Security Problem완벽한 보안 시스템은 없다.burglary: 훔치는 것bribery: 뇌물 주는 것blackmail: 협박bludgeoning: 폭력 vulnerability: 취약점threat: 취약점을 공격할 수 있는 것attack: 취약점을 실제로 공격한 것adversary: 적, attackercountermeasure: 취약점을 공격하는 걸 방어하는 것, 대응책Security Servicesauthentication: 인증, 패스워드 이용, 적합한 사용자인지 확인a..
File System ImplementationOn-disk structure는 전원이 꺼져도 디스크에 존재하는 데이터들이 어떻게 관리되는 것인가운영체제가 부팅이 돼서 프로세스가 파일을 액세스 하는 형태의 동작이 존재하는데 이걸 위한 구현은 In-memory structureon-disk structure 가 더 중요하다.boot control block 부팅 시 필요한 것volume control block 파일 시스템에 대한 정보를 저장directory structure 디렉토리를 어떻게 관리하느냐UFS는 유닉스 파일 시스템NTFS는 윈도우즈In-Memory Structure전원이 켜지고 운영체제가 수행이 돼서 user space에 application process 가 오픈(시스템 콜)을 했을 경우..
Basic Concept전원이 꺼지더라도 오랜 기간 동안 정보를 저장할 필요성이 있는데 이를 지원하는 운영체제의 서브시스템을 파일시스템이라고 한다.파일 시스템에는 파일, 디렉토리가 있다. 둘을 합쳐서 그냥 파일이라고 표현을 한다. 더 정확하게는 파일 중에 파일의 타입이 레귤러 파일이 있고 디렉토리 파일이 있다. 디렉토리는 윈도우즈에선 폴더라고 한다.디렉토리 또는 폴더는 파일들을 논리적으로 관리하기 위한 도구파일과 디렉토리는 여러 프로세스가 공유할 수도 있어야 하고 반대로 다른 프로세스나 다른 사용자는 내가 사용하는 파일을 볼 수 없게 하거나 변경할 수 없게 프로텍션 기능을 제공해야 함Files로우 레벨 프로그래밍할 때 파일을 두 가지 케이스로 나눈다.1. 텍스트 파일: 안에 담겨 있는 데이터는 알파벳 같..
I/OI/O 명령어로 I/O 요청을 수행을 한다. I/O 요청 수행이 다 끝나면 interrupt가 발생해서 다 끝났다고 알려준다.I/O controller도 작은 컴퓨터이기 때문에 결국 컴퓨터가 수행할 명령어를 저장하고 있는 IR과 명령어를 수행하기 위한 DR을 이용해서 I/O controller가 명령어를 수행한다.그 결과가 다 끝났는지 CPU가 체크를 하면서 읽어오는 방법을 풀링, 풀링하면서 실제로 I/O 디바이스가 I/O 작업을 한 결과를 CPU에다가 전달하는데, 전달하는 내용이 32bit, 64bit 와 같이 작은 경우에는 당연히 CPU에 있는 레지스터로 I/O controller가 직접 전달하는데 이런 방식을 Programmed I/O라고 이야기 하고, 디스크와 같이 작업을 해서 실제로 CPU..
Mass-Storage (secondary storage)HDD나 SSD 같은 곳에 파일을 저장했다가 삭제도 했다가, 프로그램을 실행시키기 위해서 운영체제가 관리해 주는 운영체제의 서브시스템 중에 하나를 파일시스템이라고 한다.운영체제의 파일시스템을 HDD나 SSD에 저장함. 그런데 어떤 경우는 RAM을 실제 disk처럼 사용해서 동작하는 시스템도 존재한다.하지만 RAM disk는 전원을 끄고 다시 키면 데이터의 내용이 다 사라진다.Disk AttachmentPC는 다 Host attached를 사용한다.연구실 같은 경우는 NAS로 네트워크를 연결해서 여러 PC에서 공유해서 사용한다. Network attachedNetwork-Attached Storage (NAS)client가 PC여러 사용자가 공유 데..
10장에서 얘기하는 내용들을 3개의 단어로 표현할 수 있다.1. Demand paging2. Page fault3. Page replacement algorithmDemand Paging처음에는 안 하다가 페이징을 요구하는 시점에 페이징을 한다.상황 별로 swapping 이 무엇을 의미하는지 알아야 한다. 10장의 Demand Paging에서 나오는 swapping은 페이지 단위의 swapping. 페이지가 secondary storage로 내려가서 저장이 되고 secondary storage에 있는 페이지가 메인 메모리로 올라오는 것을 swapping.demand paging이 효과적으로 잘 동작하는 이유는 locality프로그램을 수행하면서 참조한 메모리에 점을 찍은 것지금 참조된 영역이 잠시 후 또..
Memory Management앞에 한 내용은 CPU 관리이제 메모리 관리 Batch system 시절에는 운영체제라고 불리기 이전에 운영체제에 해당하는 모니터라는 관리 소프트웨어가 있었음. 모니터가 job(프로그램)을 메모리로 올리고 끝나는지 안 끝났는지 모니터링하다가 끝나면 새로운 프로그램을 올렸다. job 하나가 메모리 전체를 다 사용했음. 실제 램의 주소를 직접 사용해서 동작했다.multiprogramming system 은 여러 개의 프로세스가 메모리에 올라가서 동작해야 하고 프로그램 여러 개가 동시에 실행되어야 하기 때문에 메모리 관리의 필요성이 생겨났다.메모리 관리는 여러 개의 프로세스를 지원해야 한다.한 번에 메모리에 여러 개의 프로세스를 올려서 동작하게끔 해야 한다.실제 피지컬 메모리는 ..
Deadlock Problems두 개의 프로세스가 있고 S와 Q라는 세마포어가 1로 초기화되어 있다.P0가 먼저 수행됐다면 wait 시스템 콜을 통해 S라는 세마포어를 -1 하고 0이 된다. 근데 여기서 interrupt가 걸리고 P0의 상태가 ready가 되고 P1이 스케줄링되면 wait 통해서 Q 세마포어를 -1 하고 0이 된다. 그리고 wait S를 하려고 했으나 값이 0이기 때문에 여기서 wait 함 그러면서 P1의 상태가 waiting 된다. P0가 스케줄 되어서 실행되는데 wait Q를 하려고 했으나 0이기 때문에 wait을 한다. 그러면 깨어날 수가 없다. 서로 계속 기다림P0와 P1은 deadlock 상태에 빠졌다.Deadlock Characterization데드락이 발생될 필요조건 4가지..
SON!
'Operating System' 태그의 글 목록