OperatingSystem(41)
-
Synchronous/Asynchronous 방식과 Blocking/Non-Blocking 방식에 대해서
Synchronous 방식Synchronous 방식은 스레드가 어떤 함수 작업을 수행할 때 함수 작업 안에 다른 여러가지 작은 작업들을 전체적인 관점에서 순차적으로 완료하는 방식입니다. 예를 들어 다음 그림과 같이 스레드#1 가 함수를 호출 시 함수 안에는 A,B,C I/O 작업이 존재합니다. 스레드#1이 실행하는 함수가 Synchronous 방식으로 작동한다면 전체적으로 볼때 작업들은 순차적으로 완료되어 A -> B -> C 작업 순으로 완료될 것입니다.다음 그림에서 A, C I/O 작업은 블로킹(Blocking) 방식이기 때문에 A, C 작업을 호출한 스레드는 작업이 완료될 때까지 대기하는 것을 볼수 있습니다. 반면에 B 작업은 논블로킹(Non-Blocking) 방식이기 때문에 B 작업이 끝날때까지..
2024.09.10 -
[운영체제][보호와보안] Security & Protection #2 Protection
1. 보호의 목적 보호는 컴퓨터 시스템에 정의된 자원에 접근하는 사용자들과 프로세스들의 인증된 접근을 제어하는 것과 관련되어 있습니다. 보호의 목적은 공유된 자원들을 사용하는 것과 불안정한 인터넷과 같은 통신 플랫폼에 연결된 복합적인 시스템의 신뢰성을 증가시키는 것입니다. 2. 보호의 원칙 최소 특권의 원리 보호를 위한 핵심적인 지침 원칙입니다. 프로세스, 사용자 및 시스템에서도 작업을 수행할 수 있는 충분한 권한이 부여되어야 합니다. 예를 들어 유닉스 사용자 및 파일 권한은 root, sudo, chmod와 같은 것이 있습니다. 권한(permissions) : 악의적인 공격을 경감시키기 위한 기회를 제공하는 것 3. 접근 매트릭스(Access Martix) 일반적인 보호 모델은 접근 매트릭처럼 추상적으..
2022.07.29 -
[운영체제][보호와보안] Security & Protection #1 Security
보안(Security)이란 무엇인가? 보안이란 컴퓨터 시스템의 물리적인 자원인 데이터와 코드에 대한 정보를 보호하기 위해서 사용자의 인증을 보장하는 것을 의미합니다. 보안은 인증받지 않은 접근이나 악의적인 파괴나 변경, 실수에 의한 데이터 변경을 막아야 합니다. 보호(Protection)이란 무엇인가? 보호란 운영체제로부터 적절한 권한을 얻은 프로세스만이 메모리, CPU와 같은 자원을 사용할 수 있도록 보장하는 것을 의미합니다. 보호를 함으로써 사용자에게 허용되는 접근의 종류를 제한함으로써 시스템에 접근하는 것을 제어합니다. 보안 위배(Security Viloations) 쓰레드(Thread) : 쓰레드는 보안을 위반할 수 있는 잠재적인 가능성을 가지고 있습니다. 공격(Attack) : 보안을 부수기 위..
2022.07.29 -
[운영체제][저장장치관리] 저장장치와 입출력(Storage & Input/Output) #4 파일 시스템 구현
1. 파일 시스템의 할당 방법 파일 시스템에서 파일 데이터를 디스크에 할당하는 방법으로 3가지 방식이 존재합니다. 연속 할당(Contiguous Allocation) 연결 할당(Linked Allocation) 색인 할당(Indexed Allocation) 2. 연속 할당(Contiguous Allocation) 연속 할당은 파일을 디스크의 빈공간에 연속되게 저장하는 방식입니다. 디렉터리에는 파일의 시작 위치와 길이에 대한 정보를 저장하면 전체를 탐색할 수 있습니다. 이 방식은 연속적으로 저장되어 잉쓰므로 한번의 탐색으로 많은 양을 전송할 수 있습니다. 그리고 직접 접근(Radnom Access)이 가능합니다. 하지만 외부 단편화가 발생하며, 파일의 크기가 크면 저장할 수 없는 경우가 있습니다. 파일이 ..
2022.07.28 -
[운영체제][저장장치관리] 저장장치와 입출력(Storage & Input/Output) #3 파일 시스템 인터페이스
1. 파일 시스템(File System) 파일 시스템은 운영체제와 모든 데이터, 프로그램의 저장과 접근을 위한 기법을 제공합니다. 시스템 내의 모든 파일에 관한 정보를 제공하는 계층적 디렉터리 구조이고, 파일 및 파일의 메타데이터, 디렉터리 정보등을 관리합니다. 2. 파일 시스템 접근 방법 2.1 순차적 접근(Sequential Access) 가장 단순한 방법으로써 파일의 정보가 레코드 순서대로 처리되는 방식입니다. 카세트테이프를 사용하는 방식과 동일합니다. 현재 위치에서 읽거나 쓰면 offset이 자동으로 증가하고, 뒤로 돌아가기 위해선 되감기가 필요합니다. 2.2 직접 접근(Random Access) 파일의 레코드를 임의의 순서로 접근할 수 있습니다. LP판을 사용하는 방식과 동일합니다. 읽기나 쓰기..
2022.07.28 -
[운영체제][저장장치관리] 저장장치와 입출력(Storage & Input/Output) #2 입출력 시스템
1. 입출력 시스템 컴퓨터의 두가지 주요한 일은 입출력(Input/Output)과 계산입니다. 하지만 컴퓨터는 대부분의 경우에 웹 브라우저, 파일 편집, 유튜브, 게임 등을 위한 입출력에 업무를 하고 있습니다. 입출력에서 운영체제의 역할은 입출력 연산과 기기들을 제어하고 관리하는 것입니다. 다음 그림은 입출력 버스의 구조를 나타냅니다. 위 그림을 보면 각각의 입출력 기기에는 기기를 제어하는 컨트롤러가 있는 것을 알 수 있고 명령어와 데이터가 버스를 통해서 이동되는 것을 알 수 있습니다. 2. Memory Mapped I/O CPU는 입출력을 수행하기 위해서 컨트롤러에게 데이터와 명령을 어떻게 전달하는가? 컨트롤러는 데이터를 위한 다수의 신호 레지스터를 가지고 있기 때문에 이 레지스터들을 이용하여 데이터와..
2022.07.28