학교생활 18

[운영체제] Ch3(1)Process개념과 작동

Process Concept Process: 프로그램을 수행하는 것(멈춰있는 것이 아니라 움직이는 것-active) [Process의 구성 요소] text section: 소스코드(명령어) program counter: cpu 안의 레지스터 값( 다음에 수행해야 할 번지수) stack: 일시적인 데이터 보관 장소 Data section: 데이터 저장 장소1 Heap: 데이터 저장 장소2 한 프로그램에 여러 프로세스가 존재 가능하다. (한 설명서에 여러 사람들이 보고 만드는 것) text, data: 사이즈 고정 stack, heap: 프로그램 수행 중 사이즈 늘었다 줄었다. data: global variable stack: local variable, argc, argv, 또 다른 함수 부를 때 hea..

[운영체제] Ch2(2) linkers and loaders & OS설계와 디버깅

Linkers and Loaders 큰 프로그램은 여러 사람들이 만든 소스코드들로 이루어져 있다. Linker는 이런 여러 소스코드들을 하나의 single binary executable file로 만들어 준다. loader는 linker로 인해 만들어진 executable file을 가져와 실행헤준다. (file를 클릭하여 수행할 때) 하지만 dynamically linked libraries는 필요할 때만 로드되어 사용된다. system call이 시스템마다 틀리기 때문에 한 운영체제에서 만든 system call은 다른 운영체제에서는 돌아가지 않는다. --> 이 때 가상의 VM을 만들어서 실행시킬 수 있다. Application Binary Interface: 오브젝 레벨의 인터페이스. 오퍼레이팅 ..

[운영체제] Ch2(1) OS Services & System call

OS Services 운영체제는 프로그램을 수행하기 위한 환경을 만들고 유저들에게 다양한 경험을 주어야 한다. [OS Services 종류들] User interface(명령어를 입력하기 위해) Program execution(프로그램 수행 과정 지원) I/O operations File-system manipulation Communications Error detection Resource allocation(Cpu cycles, main memory, file storage, I/O devices) Logging Protection and Security User interface CLI(Command Line Interface) 사용자가 명령어를 알아서 찾아 입력해야 함. (주로 개발자가 사용) ..

[운영체제] Ch1(5)

Protection – OS에서 정의한 리소스에 대한 프로세스 또는 사용자의 액세스를 제어하는 모든 메커니즘 Security – 내부 및 외부 공격에 대한 시스템 방어(서비스 거부, 웜, 바이러스, 신원 도용, 서비스 도용을 포함한 광범위한 범위) 시스템은 일반적으로 먼저 사용자를 구분하여 누가 무엇을 할 수 있는지 결정합니다. 사용자 ID(사용자 ID, 보안 ID)에는 이름과 관련 번호가 포함됩니다(사용자당 하나씩). 액세스 제어를 결정하기 위한 해당 사용자의 프로세스, 모든 파일과 연결된 사용자 ID 그룹 식별자(그룹 ID)를 통해 사용자 집합을 정의하고 제어한 후 각 프로세스, 파일에도 연결할 수 있습니다. 권한 확대를 통해 사용자는 더 많은 권한을 가진 유효한 ID로 변경할 수 있습니다. Virt..

[운영체제] Ch1(3) OS의 기능들

1. process 관리(후에 따로 자세히) 프로세스는 실행 중인 프로그램이다. (프로그램은 수동적 프로세스는 능동적) 프로세스를 수행하는 데 리소스가 필요하다. CPU, 메모리, I/O, 파일 초기화 데이터 프로세스 종료 시 재사용 가능한 리소스를 회수해야 함 단일 스레드 프로세스에는 실행할 다음 명령의 위치를 지정하는 program counter가 하나 있다. 프로세스가 완료될 때까지 한 번에 하나씩 순차적으로 명령을 실행합니다. 다중 스레드 프로세스에는 스레드당 하나의 프로그램 카운터가 있습니다. 일반적으로 시스템은 여러 프로세스, 일부 사용자, 일부 운영 체제가 하나 이상의 CPU에서 동시에 실행되고 있습니다. [OS가 하는 일) 사용자 프로세스 및 시스템 프로세스 모두 생성 및 삭제 프로세스 일..

[운영체제] Ch1(2) Resource management

Storage-Device Hierarchy volatile storage: 휘발성 메모리 nonvolatile storage: 비휘발성 메모리 계층구조 위로 올라갈수록 1. 용량이 낮아짐 2. 접근속도가 빨라짐 3. 가격이 비싸짐 Caching: 자주 사용하는 것을 계층구조 아래에서 계층구조 위로 올리는 것(접근 속도를 높이기 위해) Device Driver: device controller를 사용해 I/O를 관리한다. 메모리 접근 방식 DMA: DIrect memory Access Structure: CPU없이 메모리 계층 구조 간의 접근--> CPU의 부담을 줄여준다. Multiprocessor : 하나의 컴퓨터에서 processor가 여러개 장점: 비싼 CPU를 늘리는 것보다 저렴하다. Multi..

[운영체제] Ch1(1)

OS: HW를 잘 관리해서 다양한 application programs이 HW를 잘 사용할 수 있게 하는 것 What Operating Systems Do 사용자 관점에서 OS가 하는 일: application을 쉽고 빠르게 사용하는 것. (리소스 관리에는 관심이 없음.) application에 따라 리스소 접근방법(clude, blockchain), 배터리나 용량(mobile) 등을 알맞게 조절해야 함. 운영체제란? 운영체제(Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임입니다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨어의 일종으로..