1.
운영체제의 핵심 요소들
- Process management
- Memory management
- Storage management
- Protection and Security
#필기
*컴퓨터 관리를 위한 다양한 관리 기능
2.
프로세스 관리 - 프로세서의 정의
- 프로세스 : 실행 중인 프로그램(활성화된 vmfhrmfoa)
- Job, time-shared 프로그램
- 자원요구와 함께 활성화된 프로그램
ex) word - 하나의 스레드 프로세스는 PC를 가지고 있다.
- 다중 프로그램 인스턴스의 경우, 프로세스를 세분화
- 작업의 단위(Unit)이기도 함
- 운영체제의 프로세스와, 유저의 프로세스로도 구분
#필기
- 프로그램은 원래 디스크에 위치한다, 실행을 함으로써 메모리 -> CPU에서 활성화가 이루어 진다.
- 동일한 프로그램을 여러개 실행하는 경우에는 독립된 프로세스로 취급한다.
- 해당 슬라이드에서 PC는 H/W 쪽의 실행중인 프로그램의 PC(컴구에서 배웠던 레지스터의 개념)가 아니라, 실행 중이던 프로세스의 명령어 위치를 기억하고 value를 개념적으로 소유함으로 갖는 PC이다. 각 프로그램마다 가지고 있는 실행지점을 뜻함.
3.
프로세스 관리 - 스레드와 Task
- 용어적으로 프로세스와 비슷한 개념을 가진 것들
- 스레드
동시에 실행 중인 작업에 대해 2개 이상으로 분리할 수 있는 방법- CPU utilization의 기본 단위(사용)
- 프로세스보다 더 작은 개념
- 각 스레드는 ID, PC, 레지스터 집합, 스택 등을 가짐
- 대부분의 주요 자원들은 공유하면서 사용
- Task
주소 공간에서 실행되고 있는 ...- 메모리에 적지된 프로그램 명령어 집합
- 리눅스 등, 프로세스와 스레드의 개념이 명확하지 않아 이 둘을 합쳐 Task라 부르기도 함
- 스레드
#필기
- 한 프로그램 내에 실행하는 흐름이 2개 이상일 때, 스레드가 n개 만큼 있다고 할 수있다.
- 스레드는 메인 자원들을 공유하는데, 스레드 A가 오픈한 파일을 스레드 B가 읽을 수 있다. 메모리 공간을 공유하는 것
- 프로세스는 작업의 단위로써, 각 침범을 방지하기 위해 protection을 수행한다.
- 스레드는 각각이 고유(공유하지 않는) RSS를 가지고 있다. 해당 요소들의 공통점은 모두 프로그램을 실행할 때 직접적으로 연관이 되어 있는 것들이다.
- 스레드가 공유하는 메인 자원들은 프로그램 코드, 힙, 글로벌 변수들이 있다.
- Q. 하나의 CPU는 한 순간에 하나의 프로세스만 실행이 가능한가?
A. 한 프로세서에서 싱글 스레드만 사용이 가능하다면 답변은 O이지만, 한 프로세스 내에서 스레드를 여러개로 분리(소유)할 수 있기 때문에 아니다.
4.
프로세스 관리 - 운영체제
- 프로세서는 운영체제의 의해서 관리가 된다.
- 프로세스를 생성하고 삭제한다.
- 잠시 실행을 멈추거나, 멈춘 실행을 재기동 한다.
- 또, 프로세스간 동기화를 관장함
- 프로세스는 반드시 운영체제에 의해서 관리된다.
- 프로세스 간 통신
- Deadlock(교착상태) 처리
#필기
- 교착상태는, 프로세스 하나하나 씩 보면 문제가 없는 자연스러운 상황인데 서로 무한하게 기다리게 되는 상황이다.
5.
메모리 관리
- 메인메모리는 현대 시스템의 중심
- CPU가 직접적으로 addressing하고 접근할 수 있는 유일한 저장장치이다.
- CPU와 I/O 장치에 의해서 데이터가 공유됨
- 운영체제의 메모리 관리
- 전체 메인메모리 중, 어떠한 부분이 사용되고 있고 free 상태인지에 대한 기록을 가지고 있어야함
- 메모리 공간 할당과 회수를 관장
- 또, 어떤 프로세스와 데이터가 메모리 내부로 들어올지 나갈지에 대해서도 판단
#필기
- CPU가 직접 접근할 수 있는 유일한 메모리가 메인 메모리다.
- 운영체제가 메모리에 대해서 통제권을 갖는데, 이때 통제권은 메모리 할당과 회수의 권한을 말한다. CPU처럼 메모리를 접근한다는 뜻이 아님.
6.
저장 장치 관리
- logical 파일로 물리적 저장공간을 추상화 함
- Physical storage : 자기 디스크, 광학 디스크 등등
- 모든 종류마다 속도, 용량, 전송속도, 접근 방법 들이 다 다름
- File : 운영체제에 의해서 추상화 되어 제공되는 논리적 저장 유닛이다.
- Physical storage : 자기 디스크, 광학 디스크 등등
#필기
- 각 저장장치마다 접근하는 방법이 전부 다르다.
- 운영체제가 이때 File abstraction을 통해 통합된 기능으로 제공을 하는데, 이때 그것이 파일이다.
- 파일 sys call에서, open close, read, write 등의 표준 인터페이스의 기능을 통해 사용한다.
7.
디바이스 드라이버
- 디바이스 드라이버가 통합된(?) 인터페이스를 제공해줌
#필기
- 지난번에 디바이스 드라이버는 소프트웨어라고 했음
- 하드웨어가 달라도 표준 operation을 제공하는데, 고유의 방법을 추상화해서 제공한다.
8.
Protection n Security
- Protection
- 유저나 프로세스가 자원에 접근하는 것에 대해 컨트롤하는 매커니즘을 일컫음
- 고유한 유저 아이디, 그룹 아이디를 모든 프로세스, 자원들에 전부 할당한다.
- 유저나 프로세스가 자원에 접근하는 것에 대해 컨트롤하는 매커니즘을 일컫음
- 하지만, Protection이 항상 안전하지 않음
- Security
- 외부나, 내부의 불법적인 공격에 대해서 방어하는 것
- Security issue는 정말 최근에 들어서 매우 중요해짐
- 외부나, 내부의 불법적인 공격에 대해서 방어하는 것
#필기
- Protection과 Security는 서로 약간 다르다.
- Protection은 소유자를 지정하고, 유저별로 ID를 지정하는 것인데, ID를 다 찍어서 소유자에게만 허락을 한다.
- 그러나 다른 사람의 ID를 도용하는 경우 Protection이 무력화가 되는 문제점이 있다.
- Security는 다른 계정으로 접근하느 것을 막는 것(?)인데, 남의 이름으로 로그인을 하는 것을 막는다고 한다.
- 문제는 Security는 명확하지 않고, 실제로 방법도 모호하며 security whloe이 많다.
- 그래서 되게 많은 방법들과 넓은 스펙트럼을 가진 방법들이 사용되고 있다.
'무제 메모장' 카테고리의 다른 글
1.4 Operating System Structure and Operation (0) | 2021.04.11 |
---|---|
1.3 Computer System Architecture (0) | 2021.04.09 |
1.1 Chain of Responsibility Pattern (0) | 2021.04.06 |
4.1 Socket Communication Test (0) | 2021.04.06 |
1.2 Computer system organization and operation (0) | 2021.03.16 |