일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Error
- mysql
- 리눅스 기초
- 노말틱
- nomaltic
- Normaltic
- nomaltic place
- VDI
- 칼리 리눅스
- Web shell
- 네트워크
- 칼리
- virtualbox
- 기초
- MariaDB
- kali
- Virtual Box
- kali linux
- Bandit
- Linux
- Vitual Disk Image
- shell
- 리눅스
- Bitnami
- 보안
- Today
- Total
목록cs (30)
게으른 개발자

Thread Thread : 프로세스 내부에 cpu 수행 단위가 여러 개 있는 경우 프로세스 하나에서 공유할 수 있는건 최대한 공유한다. (프로세스 상태, 각 종 자원) 단, cpu 수행과 관련된 정보는 별도로 관리한다.(프로그램 카운터, 레지스터, stack 공간) 같은 일을 하는 프로세스를 여러개여러 개 하고 싶으면, pc 만 여러 개를 두면 된다.(cpu 수행 단위를 여러 개 둔다.)-> thread 아래 이미지 참고 Thread를 사용할 때 장점. 예시 : 네이버 웹 화면을 띄울때, 스레드를 하나만 사용할 때는 화면이 전부 완성할 때까지는 창이 안 떠서 답답하다. 그러나 여러개의 스레드를 사용하게 되면 화면이 들어온 데이터를 즉각 반영해서 화면에 띄어준다. 스레드를 사용하면 자원 낭비를 줄일 수 ..

PC register가 code의 어느 부분을 가리키고 있다. (실행해야 할 instruction 위치) ALU : 산술 논리 장치 프로세스는 실행 중인 프로그램을 의미한다. 사용자 프로그램이 할 수 없는 일을 운영체제에게 요청을 할 때(system call), 그러면 PC ( 프로그램 카운터)가 커널의 code 영역을 가리키면서 cpu가 작업을 실행한다. 커널 주소공간에서 커널 스택에서 프로세스마다 별도로 두고 있다.!-> 데이터가 꼬이는 것을 방지하기 위해!! Ready : 다른 모든 준비는 완료, cpu만 얻으면 instruction을 실행가능 cpu는 하나씩 프로세스를 실행한다. Process state : 프로세스의 상태 -> running , block , ready... Process ID ..

구현 방법 1 : cpu 낭비, i/o 장치 낭비-> 하나의 i/o만 일어나므로 구현 방법 2 : cpu가 놀지 않고 효율적으로 동작함. 여러 개의 i/o 장치 사용가능. ---> 보통 동기식 입출력에서 이 방법을 많이 사용 DMA : DMA도 직접 메모리에 접근이 가능하다. 일반적으로 좌측 방식을 많이 사용함. -> i/o를 수행하는 special instruction 우측 -> memory mapped i/o Volatility : 휘발성 연두색 -> 휘발성, 핑크색 -> 비휘발성 primary : cpu 가 직접 접근이 가능 | secondary : cpu 가 직접 접근 불가 cpu가 직접 접근이 가능하려면 byte 단위로 접근이 가능해야 한다. 하드디스크는 섹터단위로 접근해야 하기 때문에 바이트 ..

운영체제 2개의 난관 중 첫 번째 고비! 전체 오버뷰인데 잘 따라와야 한다. I/O : Input/Output memory : cpu의 작업공간, cpu는 매 클럭사이클마다 메모리에서 기계어(instruction)를 하나씩 읽어서 실행을 하게 됨. device controller : i/o-device을 cpu 대신 컨트롤 한다. ---> 작은 cpu 역할을 한다. 제어정보 register는 메인 CPU에서 지시한 내용을 저장하기 위한 register라고 보면 된다. ex) 어떤 사용자 프로그램에서 화면에 출력하고 싶을 때. -> 사용자 프로그램 메모리 영역에서 data를 copy 해서 모니터(i/o device) local buffer에 화면에 출력할 data를 담는다. -> 메인 cpu의 명령을 받은..

운영체제는 컴퓨터 하드웨어 윗단에 설치되는 소프트웨어이다. 좁은 의미의 운영체제 => 커널 넓은 의미의 운영체제 => 커널 + 시스템 유틸리티 운영체제의 목적은 주어진 자원을 효율적으로 관리하는 것이다. 그러나 너무 효율적으로만 자원을 관리하게 되면 자원 분배에 대한 형평성이 침해될 수 있으므로 운영체제는 형평성도 고려해서 자원을 분배해야 한다. 운영체제는 사용자에게 편리성을 제공해야 한다. 다중 사용자일 경우에 [보안 + 자원분배]를 더 신경 써줘야 한다. batch processing은 interactive 하지 못함. 시분할 방식은 interactive(상호작용 하는, 대화형의) 가능! 그러나 batch processing은 불가능하다. Time sharing => 범용 컴퓨터 Realtime OS..

운영 제체란? -> 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어이다. 운영체제 = 통치자(ex 대통령, 왕, 황제) 운영체제의 목표 컴퓨터 시스템을 편리하게 사용할 수 있는 환경을 제공 사용자/프로그램들이 각각 독자적 컴퓨터에서 수행되는 것 같은 환상 제공 하드웨어를 직접 다루는 복잡한 부분을 운영체제가 대행 컴퓨터 시스템의 자원을 효율적으로 관리 프로세서, 기억장치, 입출력 장치 등의 효율적 관리 항상 자원을 1/N으로 자원을 나누는 것이 효율적인 것이 아니다. 선택과 집중을 통해서 자원을 분배해야한다. [중요도가 높은 곳에 자원을 많이 투입] 해당 내용은 KOWC 반효경 교수님 강의를 듣고 작성되었습니다. 링크